- 딥러닝
- SPP-Net
- Optimizer
- overfeat
- Convolution 종류
- image classification
- object detection
- deep learning
- LeNet 구현
- Weight initialization
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
목록딥러닝 (21)
I'm Lim
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..
Paper Ruder, Sebastian. "An overview of gradient descent optimization algorithms." arXiv preprint arXiv:1609.04747 (2016). 논문이 가지는 의미 다양한 optimization 기법을 통해 어떠한 이유로 optimization이 발전해왔는지에 대해 고찰해볼 수 있다. 또한, 어떤 optimization 기법을 사용해야 될지에 관한 직관을 키울 수 있다. 1. Adaptive Gradient (AdaGrad) AdaGrad Optimizer는 기존의 learning rate 파라미터를 가변적으로 조절함으로써 성능을 개선시키기위해서 고안되었다. 자세히 말하자면, 많이 업데이트되는 파라미터의 learning rate는..
Paper Ruder, Sebastian. "An overview of gradient descent optimization algorithms." arXiv preprint arXiv:1609.04747 (2016). 논문이 가지는 의미 다양한 optimization 기법을 통해 어떠한 이유로 optimization이 발전해왔는지에 대해 고찰해볼 수 있다. 또한, 어떤 optimization 기법을 사용해야 될지에 관한 직관을 키울 수 있다. 1. Momentum Gradient Descent 글에서도 설명했다시피 BGD, SGD, Mini-batch GD는 local minimum이나 saddle point를 잘 빠져나오지 못한다. 이는 다시말해 손실함수가 global minimum으로 도달하지 못해..
Global Minimum loss function에서 loss 값이 가장 작은 지점. 이 지점에 도달하는 것이 딥러닝 학습의 최종 목표이다. Local Minimum Global Minimum이 아닌 극소점. 이것이 문제가 되는 이유는 딥러닝에서는 Gradient Descent를 이용하여 가중치 업데이트를 하는데 ($\theta = \theta - \eta * J(\theta)$; BGD) 극소점에서는 모든 가중치들의 기울기 값이 0이 되므로 더이상 가중치를 업데이트 시키지 못하기 때문이다. Saddle Point - Paper : Dauphin, Yann N., et al. "Identifying and attacking the saddle point problem in high-dimensional..