반응형
Index
Backpropagation (역전파)
- Backpropagation is way of computing gradient efficiently to update millions of network parameters // gradient를 효율적으로 계산하는 방법
- 아래의 수식처럼 최종 Cost를 여러 layer에 거쳐 chain rule을 이용해 미분해보면, 미적분과 같이 어려운 계산없이 x,y,y^과 같이 이미 가지고 있거나, Feedfoward 단계에서 계산된 값들의 선형결합(곱셈,덧셈)으로 gradient가 계산됨을 알 수 있는데, 이것이 Backpropagation 이다.
Vanishing gradient problem
- Deep neural network를 학습하다보면 (특히 layer의 개수가 많은경우), front layer 로 갈수록 gradient 값이 급격히 줄어들어(0에 매우 가까워짐) 학습이 잘 안되는 문제가 있다.
- gradient가 0에 가깝다는 것은 parameter 의 update가 매우 느리거나 되지 않는 다는것을 의미한다.
- vanishing gradient 가 발생하는 이유는 아래 수식과 같이 backpropagation 으로 계산된 gradient 값에 0~1사이의 값이 여러번 곱해지기 때문이다. (Sigmoid 케이스)
- Vanishing gradient 문제를 해결하기 위해 ① 새로운 모델(ResNet, LSTM 등..)을 개발하거나 ② Dropout, Batch normalization 등의 기법들이 적용되거나 ③ Activation function으로 ReLU와 같은 함수를 사용하는 등 다양한 방법들이 있다. 이것들에 대해서는 추후 포스팅에서 다룰예정
반응형
'Study > DL' 카테고리의 다른 글
CNN - 1편 (CNN의 구조) (0) | 2023.06.29 |
---|---|
Dropout 과 Batch Normalization (0) | 2023.06.29 |
활성화함수(Activation function)와 Optimizer (0) | 2023.06.29 |
비용함수(Cost function)와 경사하강법(Gradient Descent) (0) | 2023.06.29 |
Deep Neural Network, Perceptron, MLP (0) | 2023.06.28 |
댓글