- Convolution 종류
- image classification
- deep learning
- 딥러닝
- LeNet 구현
- overfeat
- Weight initialization
- SPP-Net
- Optimizer
- object detection
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Today
- Total
목록Deep Learning/Weight Initialization (6)
I'm Lim
Paper He, Kaiming, et al. "Delving deep into rectifiers: Surpassing human-level performance on imagenet classification." Proceedings of the IEEE international conference on computer vision. 2015. Kaiming He initialization Xavier Initialization의 가정 중 하나는 activation function이 linear여야한다는 것이다. 이는 ReLU에서 성립되지 않는다. 따라서, Kaiming He는 이를 해결하기 위해서 ReLU activation function에 맞는 He iniitalization을 고안하였다. Ka..
Paper Glorot, Xavier, and Yoshua Bengio. "Understanding the difficulty of training deep feedforward neural networks." Proceedings of the thirteenth international conference on artificial intelligence and statistics. JMLR Workshop and Conference Proceedings, 2010. Xavier Initialization 논문에서 나온 Random Initialization의 문제점은 다음 그림과 같다. 보이다시피, 학습이 시작되자마자 마지막 레이어가 0으로 수렴해버린다. 저자는 이 현상이 마지막 레이어의 bias 값이..
Lecun Initialization Random Initialization은 극단적인 경우에 모든 가중치 값들이 1이 되거나 -1이 될 수 있다. 이것을 방지하면 되지 않을까라는 생각에서 나온 것이 Lecun Initialization이다. 즉, $Z_i = \Sigma {X_j W_j}$에서 $Z_i$의 범위를 -1에서 1로 만들어 줄 수 있다면 Saturation 영역에 빠지지 않기 때문에 Random initialization의 문제를 해결할 수 있을 것이라고 예상한 것이다. $Z_i = \Sigma {X_j W_j}$에서 $Z_i$의 범위를 -1에서 1로 만들기 위해서는 가중치를 i 레이어의 노드의 개수를 나눠주면 된다. 이 i 레이어의 노드의 개수를 $fan_{in}$라 한다. 이 말을 정리하..
Random Initialization Zero Initialization은 Activation function을 ReLU, tanh로 설정하면 가중치 업데이트가 전혀 이루어지지 않는 것을 볼 수 있다. 또한, Sigmoid로 설정시 업데이트가 되긴하지만 그 값이 매우 미미하여 학습이 잘 안될뿐만 아니라, 마지막 레이어를 제외하면 모두 같은 값으로 가중치가 업데이트 되기때문에 노드를 여러개 두는 것에 대한 의미가 퇴색된다. (표현력의 제한) 이를 해결하기위해 어떻게 가중치 초기화를 시키는게 좋을까? 매우 간단한 방법은 가중치를 정규분포로 초기화하는 것이다. 이를 Random Initialization이라 한다. Random Initialization의 문제점 다음과 같은 딥러닝 모델이 있다고 가정하자. ..
Zero Initialization Zero Initialization은 딥러닝 모델의 가중치 초기화 방법 중 하나이고, 가중치와 편향값의 초기 값을 모두 0으로 설정한다. Zero Initialization의 문제점 흔히 알려져있는 Zero Initialization의 문제점은 모든 가중치의 값이 동일하게 업데이트 된다는 것이다. ( $S_i = \Sigma W_i * X_i$ ) 그러나, Softmax를 통과하고 Cross Entropy를 거친 딥러닝 모델의 Back Propagation 연산과정을 직접 진행하면서 몇가지의 의문점이 생겼다. Zero initialization 의문점 다음은 출력층에 Softmax를 사용하고, Loss function으로 Cross Entropy를 가지는 딥러닝 모델의..
Weight Initialization 가중치 초기화는 딥러닝을 학습 시킬 때 중요한 요소 중 하나이다. 1. 보통 딥러닝 모델을 학습시킬 때는 경험적으로 학습시키는 경우가 많은데, 이럴 경우 기준점이 있어야한다. 2. 실제 모델 학습할 때, 표현의 다양성에 영향을 끼칠 수 있다. Zero Initialization Activation function이 모두 ReLU이고, Fully Connected Layer를 모델링하였다고 가정하자. 이때, Weight 값들을 모두 0으로 초기화하면 어떤 현상이 발생할까? 순전파로 이동하면서 모두 같은 출력 값을 가지게 될 것이다. ( $y_i = \sigma (w_1 * x_1 + w_2 * x_2 + ...$)) 따라서, 역전파시 동일한 backpropagatio..