출력층의 오차 업데이트
+ w2의 값 중 하나인 w31을 업데이트하는 과정 +
> t는 한 단계 앞, t + 1은 현재 단계의 계산을 의미.
> 맨 오른쪽 식은 Yout을 구하고 이를 w31에 대해 편미분하라는 의미입니다.
오차 공식
- 오차 Yout 안에는 두개 (y01, y02)의 출력 값이 있습니다. 오차는 평균 제곱 오차를 이용해 구합니다. y01, y02의 실제 값을 yt1, yt2라고 할 때, 다음과 같이 계산합니다.
즉 오차 Yout은 다음과 같이 구할 수 있습니다.
체인 룰
W31에 대해 오차를 편미분 하는 것은 합성 함수(함수 안에 또 다른 함수가 들어 있는 것을 의미) 미분 공식을 따릅니다. 즉, 체인 룰에 의해 다음과 같이 계산할 수 있습니다.
체인 룰 계산하기
- Yout = 오차 y01 + 오차 y02입니다. 이를 y01에 의해 편미분하면 y01과 관계없는 y02 부분은 상수가 되어 사라지고, 남은 것은 오차 y01을 y01에 대해 편미분 한것입니다. 여기서 오차 y01을 편미분 하면 결괏값은 y01 - yt1이 됩니다.
즉,
가중합3이 y01로 바뀌는 과정에는 활성화 함수3을 거치는 것을 알 수 있습니다. 가중합3이 활성화 함수3을 통해 y01이 됩니다. 그러면 y01을 가중합3에 대해 미분하라는 것은 y01을 배출한 활성화 함수3을 미분하라는 의미가 됩니다.
활성화 함수에는 여러 가지가 있지만, 그중에서 시그모이드 함수를 사용하겠습니다.
여기서 활성화 함수3의 값은 y01입니다. 따라서 활성화 함수3의 미분은 다음과 같습니다.
여기서 가중합3은 n1과 n2노드로부터 전달된 yh 값과 w2 값을 통해 만들어집니다.
+ 신경망에서 바이어스를 항상 1로 설정해놓은 이유?
활성화 함수로 사용되는 시그모이드 함수가 가장 안정된 예측을 하게 하는 바이어스 값이 1이기 때문입니다. 따라서 바이어스 값을 따로 계산하지 않고 1로 처리해 연산 속도를 높입니다.
따라서 정리하면 다음과 같다.
이제 앞서 정리한 것들을 이용해 주어진 식을 다시 한 번 정리하면 다음과 같습니다.
가중치 수정하기
앞서 구한 값을 w31에서 빼 주면 새로운 w31 값을 구할 수 있습니다. 따라서 출력층의 가중치를 업데이트하는 방법은 다음과 같다.
다음으로 넘어가기 전에 yh1 앞에 나오는 부분의 형태를 잘 기억해 두자.
이를 node3의 델타 식이라고 합니다.
은닉층의 오차 수정하기
- W1 중 하나인 w11 값을 업데이트하는 방법
다음과 같이 계산한다.
+ Yh 가 아니라 Yout을 사용하는 이유는 Yh는 은닉층 안에 위치해 있으므로 겉으로 드러나지 않기 때문이다. +
체인룰을 적용하면 다음과 같다.
여기서 2항과 3항은 이전과 같은 방법으로 계산된다.
은닉층의 오타 계산법
yh1에 대해 미분해야 합니다. yh1은 오차 y01과 오차 y02의 형성에 모두 관계가 있습니다. 따라서 오차 y01과 오차 y02의 편미분이 모두 계산되어야 합니다.
먼저 a 부분을 보겠습니다. 체인룰에 의해 다음과 같습니다.
a-1 부분을 다시 미분하면 체인 룰에 의해 다음과 같이 바뀝니다.
이는 ( y01 - yt1) * y01 * ( 1 - y0 ) 으로 된다.
a -2는 미분하면 w31이 남습니다.
따라서 정리하면 a는 아래와 같다.
앞의 값은 다음과 같이 간단하게 표시할 수 있다.
이제 b 부분을 보자.
체인룰에 의해 다음과 같이 변형된다.
을 정리하면 아래와 같아진다.
이제 1을 다시 정리하면 다음과 같다.
이걸 이용해 6절에 나온 은닉층의 오차 업데이트 식을 완성하면 다음과 같다.
델타식
- 두 식 모두 '오차 * out(1 - out)' 형태, 즉 델타식의 형태로 단순화할 수 있습니다.
- 은닉층의 가중치 업데이트를 식으로 표현하면 다음과 같습니다.
'이론 > 모두의 딥러닝' 카테고리의 다른 글
< 다섯째 마당 > 딥러닝 활용하기 (0) | 2023.02.17 |
---|---|
< 넷째 마당 > 딥러닝 기본기 다지기 (0) | 2023.02.15 |
< 심화 학습2 > 파이썬 코딩으로 짜 보는 신경망 (0) | 2023.02.08 |
< 셋째 마당 > 딥러닝의 시작, 신경망 (1) | 2023.02.05 |
<둘째 마당> 예측 모델의 기본 원리 (0) | 2023.02.03 |