본문 바로가기
Python

4일째 4.1 각 층의 신호 전달 구현 & 델타 규칙

by 통컨이 2020. 8. 18.
728x90

신경망의 지도 학습

1. 신경망의 가중치 wi를 적당한(?) 값으로 초기화 설정

2. 입력값과 출력값 yj을 입력

3. 입력값과 가중치를 이용하여 계산(곱하여 합하기) dj 값을 구함

4. 계산된 값 dj와 출력값 yj의 오차 ej를 계산  ei = di - yi

5. 이 오차가 최소가 되도록 신경망의 가중치 wj를 조절

 $$\bigtriangleup w_{ij}  =  \alpha e_i x_j$$

 

6. 전체 데이터에 대하여 2~5 단계를 반복합니다.

 

가중치 조정 규칙?

두 노드 간의 가중치는

입력 노드의 값 xj와 오차 ej에 비례하여 조정한다...

 

가중치 Wij 는 노드 j에서 노드 i로 들어가는 가중치 입니다... 매우 주의

 

$$w_{ij}\leftarrow   w_{ij}  +  \alpha e_i x_j$$

$$\alpha = 학습률(0 < \alpha \leqq 1) $$

 

학습률:
가중치를 얼마나 바꿀 것인지를 조정하는 역할

값이 크면 정답에 접근하는 속도가 빠르지만, 정답 근처에서 왔다 갔다 하는 경우가 있고

값이 작으면 정답에 접근하는 속도가 느려질 수 있음

 

$$w_{11}\leftarrow   w_{11}  +  \alpha e_1 x_1$$

$$w_{12}\leftarrow   w_{12}  +  \alpha e_1 x_2$$

$$w_{13}\leftarrow   w_{13}  +  \alpha e_1 x_3$$

$$w_{13} : 입력 노드 3에서 출력 노드 1로 연결되는 가중치임을 유의$$

 

epoch

전체 학습 데이터를 한 번씩 모두 학습시킨 횟수

 

참고문헌:

밑바닥부터 시작하는 딥러닝(한빛미디어, 사이토 고키 지음, 개앞맵시 옮김)

딥러닝 첫걸음(한빛미디어, 김성필 저)