본문 바로가기
Machine Learning

DL #4 : 딥러닝 학습 Gradient Descent, Back Propagation (경사하강법, 오차역전파)

by 무적물리 2020. 5. 21.

경사하강법 (Gradient Descent)


경사하강법은 오차가 작아지도록 최적화 하는 방법입니다. 오차가 낮아지는 방향으로 이동할 목적으로 현재 위치를 미분하는데, 미분을 통해서 기울기가 큰 방향을 찾아 탐색합니다. 이로써, 주어진 기준을 가장 잘 만족하는 것을 선택합니다. 경사하강법의 원리는 함수를 최소화하는 x, y 지점의 경사(기울기)가 0이 되도록 만드는 방법입니다. 우리가 고등학교 때 배운 바와 같이 Local minima 이던지 Global minimum 이던지 최소화 지점의 기울기는 0 입니다.


경사하강법 원리

∂(x, y)/∂x = 0 ,  ∂(x, y)/∂y = 0  


가중치 업데이트

w+ = w - LearningRate * ∂e/∂w

e : error

w : weight


신경망 학습방법

Stochastic Gradient Descent : SGD (확률적 경사하강법)


경사하강법을 위해서 오차 함수의 가중치가 업데이트 되어야 합니다. 가중치 업데이트 방식은 Learning Rate(학습률)와 기울기(Gradient)를 곱한 값을 기존 가중치에서 빼서 새로운 가중치로 설정하는 방식입니다. 신경망 학습에서는 데이터 일부를 뽑은 미니 배치를 이용해 가중치를 반복해서 업데이트하는 확률적 경사하강법(Stochastic Gradient Descent : SGD)이 사용됩니다.


오차 역전파 (Back Propagation)


오차 역전파는 다층신경망(Multilayer) 및 Feed Forward 신경망에서 사용되는 알고리즘 입니다. 오차 역전파는 가중치를 갱신하는 방향이 신경망의 처리 방향인 Feed Forward와 반대되기 때문에 Back Propagation이라고 합니다. 실제 출력이 y, 예측 출력이 d라고 한다면 오차 e는 y-d 입니다. 오차 역전파는 오차에 비례하여 가중치를 갱신하고 그 다음 은닉층의 가중치를 갱신하며 뒤에서 부터 순차적으로 가중치를 갱신합니다.


Back Propagation 장단점

장점 : 안정적인 결과 도출

단점 : 느린 속도


장점은 안정적인 결과를 얻을 수 있다는 것이고 단점은 많은 계산량에 따라 속도가 느리다는 것입니다. Back Propagation의 특징은 개개의 가중치를 조절하는 방법이라는 것과 중간 계측 뉴런의 특징을 변화시키며 모델을 학습시킨다는 것입니다.


오차 역전파 알고리즘 성능 개선 방법


모델이 깊어지면 깊어질수록 Back Propagation을 통해서 가중치를 업데이트하는 속도가 느려지면 Local minima에 빠질 수 있습니다. 모델 성능 향상 방법으로는 ReLU 활성함수를 사용하며 Dropout을 사용하는 방법이 있습니다.


신경망 학습 개선 방법

활성화 함수 : ReLU

모델 학습 : Dropout



마치며

이번 포스팅에서는 신경망을 학습시키는 방법인 경사하강법에 대해 알아보았습니다. 경사하강법을 사용해서 신경망 모델 뒤쪽부터 가중치를 업데이트하며 모델을 학습시키는 방법을 Back Propagation이라고 합니다. 이는 모델이 깊어지면 깊어질수록 학습률이 떨어지기 때문에 ReLU와 Dropout을 사용해서 모델을 학습시키면 성능을 개선할 수 있습니다.


댓글