데이터 과학

손실함수와 역전파 본문

인공지능/기초 인공신경망

손실함수와 역전파

티에스윤 2023. 5. 22. 16:10

오류역전파(Backpropagation)는 인공신경망에서 가중치(weight)와 편향(bias)을 업데이트하기 위해 사용되는 알고리즘입니다. 이 알고리즘은 손실함수(loss function)의 기울기(gradient)를 계산하여 역방향으로 전파합니다. 

그리고, 이러한 역전파 수식을 사용하여 가중치와 편향을 조정하면서 최적화 과정을 진행합니다.

손실함수의 역전파 수식은 다음과 같이 나타낼 수 있습니다. 오류역전파는 기본적으로 미분(chain rule)을 사용하여 계산됩니다. 다음은 출력층과 은닉층에 대한 역전파 수식입니다.

1. 출력층(Output Layer):
출력층의 뉴런은 활성화 함수를 거쳐 출력값을 계산합니다. 이를 식으로 나타내면 다음과 같습니다.

z = w * a + b
y = f(z)

여기서, z는 출력층의 입력값, w는 가중치, a는 이전 층의 출력값, b는 편향, y는 출력값, f는 활성화 함수입니다.

손실함수를 L이라고 할 때, 출력층의 가중치와 편향의 변화율은 다음과 같이 계산할 수 있습니다.

∂L/∂w = ∂L/∂y * ∂y/∂z * ∂z/∂w
∂L/∂b = ∂L/∂y * ∂y/∂z * ∂z/∂b


2. 은닉층(Hidden Layer):
은닉층에서는 출력층과 마찬가지로 입력값을 받아 활성화 함수를 거쳐 출력값을 계산합니다.
이를 식으로 나타내면 다음과 같습니다.

z = w * a + b
a = f(z)


여기서, z는 은닉층의 입력값, w는 가중치, a는 이전 층의 출력값, b는 편향, f는 활성화 함수입니다.

은닉층의 가중치와 편향의 변화율은 다음과 같이 계산할 수 있습니다.

∂L/∂w = (∂L/∂z) * (∂z/∂w) = (∂L/∂a) * (∂a/∂z) * (∂z/∂w)
∂L/∂b = (∂L/∂z) * (∂z/∂b) = (∂L/∂a) * (∂a/∂z) * (∂z/∂b)


오류역전파를 적용할 때, 출력층에서 시작하여 은닉층까지 역방향으로 위의 수식을 사용하여 기울기를 계산하고, 이를 이용하여 가중치와 편향을 업데이트합니다. 이 과정을 반복하여 신경망의 학습을 진행합니다.

'인공지능 > 기초 인공신경망' 카테고리의 다른 글

인공신경망 학습순서  (1) 2024.06.05
인공신경망에서 함수  (1) 2024.03.31
chatGPT 원리  (0) 2023.05.17
테일러 급수를 이용한 인공신경망  (0) 2023.05.16
기초인공신경망 - 미분 개요  (0) 2023.04.03