- deep learning
- SPP-Net
- Weight initialization
- 딥러닝
- overfeat
- Convolution 종류
- object detection
- image classification
- LeNet 구현
- Optimizer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
목록전체 글 (56)
I'm Lim
Paper Ioffe, Sergey, and Christian Szegedy. "Batch normalization: Accelerating deep network training by reducing internal covariate shift." International conference on machine learning. PMLR, 2015. Abstract 이전 레이어의 파라미터 값들 ( $ W, b $ )이 변하면, 현재 레이어 입력의 분포도 변한다. 이는 learning rate를 작게, weight initialization을 굉장히 예민하게 요구함으로써 학습속도를 늦춘다. 심지어, activation value가 saturation region으로 빠지게 만들 위험도 커진다. 이 현상을..
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..
Paper Ruder, Sebastian. "An overview of gradient descent optimization algorithms." arXiv preprint arXiv:1609.04747 (2016). 논문이 가지는 의미 다양한 optimization 기법을 통해 어떠한 이유로 optimization이 발전해왔는지에 대해 고찰해볼 수 있다. 또한, 어떤 optimization 기법을 사용해야 될지에 관한 직관을 키울 수 있다. 1. Adaptive momentum Estimation Optimizer (Adam) AdaGrad 계열 Optimizer 정리에서 사용하였던 $g_t$를 다시 정의 해보면 $g_t = \nabla_{\theta_t} J(\theta_{t,i})$이다. Adam..