MLP(Multi-Layer Perception)
Forward Propagation in DNN
Generalized form : y = actv func(weight * 전 단계의 y + bias)
Backpropagation in DNN
- weight update를 위한 dw를 구한다.
- dw를 구하기 위해서는 dz와 dyL-1(input)
- dz를 구하기 위해서는 흘러 들어온 error(input gradient) * actv func의 미분값
- input gradient를 구하기 위해서는 현재 layer의 W * dz
- dw = error(1) * input(xi)
= error(2) * f' * weight * input(xi)
- L번째의 dy = weight * 그전 Layer의 dz
위의 식으로 계산한 dW와 db를 가지고 weight update를 수행한다.
Hyperparameters & parameters
Hyperparameters :
- learning rate
- 얼만큼 training 반복할 건지 (epochs)
- hidden layer의 개수
- hidden unit의 개수
- actc func
- layer type Ex) fully connected or convolution
이 중에서 hidden layer와 hidden unit과 activation function, layer type이 Network architecture라고 불린다. 혹은 Model architecture
Parameters :
- W
- b
Random Initialization
small random number로 초기화 한다.
-> actv func에 따라 0으로 초기화하면 x
Ex) tanh , ReLU -> weight가 0에서 벗어나지 x
sigmoid -> weight matrix의 한 column이 항상 같은 값을 가질 것 => suboptimal 한 weight 값을 가질 것