더북(TheBook)

역전파

다층 퍼셉트론에는 역전파(back propagation, ‘backward propagation of errors’의 줄임말)라는 개념이 있다. 역전파는 기울기를 계산하고, 정확한 입력을 정확한 결과에 매핑(mapping)한다.

역전파는 두 단계, 즉 전파(propagation) 단계와 가중치 업데이팅 단계가 있다. 이는 네트워크의 모든 뉴런에서 일어난다.

의사코드(pseudocode)로 본다면(입력 레이어 한 개, 히든 레이어 한 개, 출력 레이어 한 개를 가정) 다음과 같다.

네트워크에서 가중치를 초기화한다(임의의 값)

while(처리할 샘플)

for 각각의 샘플 x

예측값 = neural_output(network, x)

실제값 = actual_output(x)

출력 노드상 오차는 (예측값 - 실제값)이다

 

backwardpass:

히든 레이어에서 출력 레이어 사이의 가중치를 계산한다

입력 레이어에서 히든 레이어 사이의 가중치를 계산한다

네트워크 가중치를 업데이트한다

훈련 데이터에 대해 모든 분류가 정확할 때까지 반복

최종 네트워크를 돌려준다

 

전파가 일어나고 훈련이 네트워크를 통해 입력되고 출력이 활성화된다. 그러면 역전파의 출력이 활성화되고 모든 출력의 델타와 훈련패턴의 목적에 따라 네트워크의 히든 레이어를 생성한다.

두 번째 단계에서 출력의 델타와 입력의 활성화 값을 곱하여 가중치가 업데이트된다. 백분율은 가중치를 빼서 계산한다. 두 번째 부분은 네트워크의 모든 가중 축색돌기를 위한 것이다.

백분율은 학습률(learning rate)이라고 한다. 비율이 높을수록 학습이 빠르며, 낮은 비율을 사용하면 학습의 정확성이 좋다.

Note 이 책을 통해 신경망의 수학적 개념을 이해하기는 힘들 것이다. 이 책은 머신 러닝을 빠르게 이해하고 실습해보는 데 초점을 맞춘 책이므로 머신 러닝과 실습이 어떻게 작동하는지에 대한 일반적인 내용만을 다룬다. 입력과 출력 레이어, 퍼셉트론, 전방과 역전파에 대한 주요 개념은 간단하지만 훌륭한 토대를 제공할 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.