《Must Have 텐초의 파이토치 딥러닝 특강》에서 재미있는 글을 선별해 연재해보겠습니다.
3. 오차 역전파에서 가중치 업데이트 과정
이제부터 가중치가 업데이트되는 과정을 직접 유도하겠습니다. 오차 역전파를 설명하면서 적지 않은 미분수식을 사용합니다. 그래서 미분에 익숙하지 않은 분께는 어려울 수 있습니다. 한 번 읽고 도저히 무슨 말인지 모르겠다고는 생각이 드시는 분은 ‘가중치는 가중치에 대한 손실의 기울기 만큼만 이동시킨다’라고만 기억하고 넘어가주세요.
우선 오차 역전파 알고리즘의 큰 흐름을 그림으로 확인해봅시다.
이번에는 실제로 오차가 역전파되는 과정을 구해봅시다. 먼저 손실 함수 L을 다음과 같이 정의하겠습니다.
이 손실 함수를 신경망의 출력값 y로 미분하면 다음과 같이 됩니다.
출력층의 출력값 y는 은닉층의 출력 a1과 a2로 표현할 수 있습니다. 또한 미분의 연쇄 법칙을 이용하면 손실을 입력층의 가중치로 미분한 결과를 손쉽게 얻을 수 있습니다. 단, 활성화 함수 F를 반드시 고려해야 합니다. 활성화 함수로는 시그모이드 함수를 사용했으므로 먼저 시그모이드 함수를 미분하겠습니다. 다음 그림은 시그모이드 함수의 도함수입니다.
이제 가중치를 수정하겠습니다.