지금까지 AI가 동작하는 원리에 대해 알아보았다.
그 과정을 간단히 요약해보자면,
1. 랜덤한 초기값의 예측 모델 생성
2. 손실함수 설정 후 초기값 예측모델에 대한 손실함수 산출
3. 경사하강법을 통한 최적의 w와 b 획득
이와 같다.
지금까지는 입력이 한개인 인공신경망에 대해 알아보았고, 이 신경망에서의 입력에 대한 그라디언트(편미분)를 구하여 최적의 파라미터를 획득하였다.
MSE 손실함수를 설정하고 2차함수 형태의 손실함수를 얻은 후 경사하강법을 진행하였다.
그러나 입력이 늘어나고, 신경망의 히든 레이어가 늘어날수록 모델의 파라미터는 증가하게 되어 수식적인 방법으로는 그라디언트를 구하기가 거의 불가능해진다.
복잡한 모델에서의 그라디언트는 어떻게 구할 수 있을까? 다음의 예시를 살펴보자.
입력이 x,y 두 개이고 출력이 f(x,y)인 수식이다. 이 수식을 계산하는 과정을 세분화해보면,
1. 2와 x를 곱한다
2. 곱해서 나온 2x에 100을 더한다
3. y를 제곱한다.
4. (2x+100)과 y의 제곱을 곱해준다.
수식이 계산되는 과정을 도식화해보면 이러하다. 이 프로세싱을 '순전파'라고 부른다.
이 순전파 과정을 반대로 진행시켜보자.
역단계별로 편미분을 각각 구해서 곱해주게 되고 끝까지 가서 입력 x,y 까지 가게 되면 각항은 약분되고 f(x,y)가 x,y에 대한 그라디언트가 구해짐을 확인할 수 있다.
각 단계에서 구한 그라디언트들을 곱하여 구한 최종 그라디언트와, 수식적으로 한번에 풀어낸 그라디언트가 같다는 것을 알 수 있다.
복잡한 신경망에서는 이러한 '역전파(Backpropagation)' 방식으로 그라디언트를 구하게 된다.
'딥러닝 기초이론' 카테고리의 다른 글
[딥러닝 기초이론4] 로지스틱 회귀 (logistic regression) (1) | 2024.03.13 |
---|---|
[딥러닝 기초이론3-2] 미니 배치 학습(mini-batch learning)과 텐서(Tensor) (4) | 2024.03.13 |
[딥러닝 기초이론3] 인간의 신경계를 모티브로 한 인공신경망 (6) | 2024.03.06 |
[딥러닝 기초이론2-1] 선형회귀 손실함수와 적절한 학습률 설정 (1) | 2024.03.06 |
[딥러닝 기초이론2] AI(Artificial Intelligence)의 판단 기준과 학습법 (5) | 2024.03.06 |