글 수 9

신경망의 학습 과정, 경사하강법

조회 수 36 추천 수 0 2019.08.13 15:23:30


 

 

 

신경망은 예측값과 정답을 오차를 통해 학습합니다. 예를 들어, 모델의 출력이 10이고 정답이 9라면 1만큼의 오차가 발생합니다. 이를 최소로 하도록 가중치 파라미터를 변경합니다.

 

오차 함수는 보통 이차함수의 그래프로 나타낼 수 있습니다. 이때 접선의 기울기가 0인 가중치 w를 구하면 오차가 최소가됩니다. 이렇게 한 번에 계산하는 방식을 최소제곱법(least square method)라고 합니다.

 

하지만 신경망의 노드가 많아지면 최소제곱법을 적용하기 어렵습니다. 그래서 조금씩 그래프의 하단으로 이동하는 경사하강법(gradient descent)이 필수적입니다. 현재 가중치에서 미분한 기울기 방향으로 약간 수정합니다. 이를 계속 반복하면 오차가 최소가 되는 가중치를 얻습니다.

 

경사하강법 역시 문제가 있습니다. 다층신경망에서는 오차 함수에 모든 노드들이 연결되어 있습니다. 그래서 전체 식을 미분으로 계산하는데 시간이 엄청나게 걸립니다. 이를 해결하기 위해 오차역전파(backpropagation)를 사용합니다. 제일 마지막 출력 노드만 미분하고, 그 값을 뒤의 노드들로 전달하여 재사용합니다. 덕분에 훨씬 빠른 속도로 신경망을 학습할 수 있습니다.

 

정리하면 신경망의 학습은 최소제곱법->경사하강법->오차역전파의 순으로 발전했다고 보시면 됩니다.






엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
신경망의 학습 과정, 경사하강법 깊은바다 2019-08-13 36
신경망의 동작 방식 깊은바다 2019-07-19 50
머신러닝의 5가지 분류 깊은바다 2019-07-05 111
알파고의 창시자, 데미스 하사비스 깊은바다 2019-06-22 73
가짜뉴스를 만드는 인공지능? - GPT2와 언어모델 깊은바다 2019-06-03 84
중국이 인공지능 경쟁에서 유리한 이유 - AI 슈퍼파워 깊은바다 2019-05-20 132
딥러닝은 어떻게 정보를 저장할까 깊은바다 2019-05-05 126
딥러닝, 개념만 이해하기 깊은바다 2019-04-21 215
인공지능의 3가지 요소 깊은바다 2019-04-05 503