본문 바로가기
AI/딥러닝

신경망이 학습되어지는 메커니즘(순전파,역전파,경사하강법)이란?

by 남오공 2022. 4. 29.
728x90

 

신경망이 학습되는 이미지

신경망의 학습은 어떻게 이루어지는 걸까?

  1. 데이터가 입력이 되어지면 신경망의 각 층에서 가중치와 활성화 함수 연산을 반복적으로 수행한다.(*순전파)
  2. 위에 계산된 과정들을 반복한 후 출력 층에서 계산되어진 값을 출력한다.
  3. 손실 함수를 사용하여 예측값과 실제값의 차이를 계산한다.
  4. *경사하강법과 *역전파를 통해서 각 가중치를 갱신한다
  5. 위 과정을 원하는 값이 나올 때 까지 반복한다.

 

*순전파(Forward Propagation)란?

뉴럴 모델에서 입력층부터 은닉층, 출력층까지 순서대로 변수들을 계산하고 값을 내보내는 과정을 의미한다.

 

*손실 함수란(Loss function)?

신경망은 손실 함수를 최소화 하는 방향으로 가중치를 갱신하는데 입력 데이터를 신경망에 넣어 순전파를 거쳐 출력층을 통과 한 값이 도출이 되면 그때 출력되어진 값과 데이터의 타겟값을 손실 함수에 넣어 손실을 계산하는 과정을 말한다.

이러한 손실함수 값이 높다는 의미는 모델의 성능이 그만큼 안좋다는 뜻이기에 손실함수의 값을 낮추기 위해 모델링을 한다. 

 

손실함수는 대표적으로 회귀문제에서의 MSE, RMSE, MAE가 있으며

이진 분류에서는 binary crossentropy 다중 분류에서는 categorical_entropy, sparse_categorical_crossentropy가 있다

 

*역전파(Backward Propgation)란?

손실의 정보를 순전파와는 다른 방향(출력층에서 시작하여 입력층으로 전달)으로 전달하는 하여 각 가중치를 얼마나 업데이트를 해야하는지를 구하는 알고리즘을 의미한다.  신경망은 매 반복마다 손실을 줄이는 방향으로 가중치를 업데이트 하는데 이러한

순전파 - 손실함수 - 역전파를 통하여 학습하는 과정을 이터레이션이라고 하며 10번을 반복하여 학습했다면 이터레이션 =10 이라 한다. 

이때 손실을 줄이기 위해서 가중치를 수정해야하는데 그러한 수정 방법이 *경사하강법이다.

경사하강법은 아래와 같이 간단히 적고 다음 페이지에 상세하게 글을 적도록 하겠다. 

 

경사하강법(Gradient Descent)란?

간단히 말해 미분값을 빼는 것을 경사하강법이라고 말하며 이와 반대로 미분값을 더하는 것을 경사상승법이라 한다.

경사상승/하강법은 극의 값에 도달하면 미분값이 0이 되므로 더 이상 업데이트가 되지 않아 움직임이 멈추며 

이걸 AI에서는 목적함수 최적화가 자동으로 끝났음을 의미한다. 

 

 

 

댓글