1. 지금까지 배운 것
- feedforward의 목표: 함수 f로 근사화하는 것. 즉, y = f(x, θ ) 매핑하는 것.
바이어스나 가중치를 학습 시켜 목표를 이룸.
2. 델타( δ )
- 델타를 아래와 같이 정의하겠다.
- 가장 마지막 노드의 델타는 아래와 같다.
- 나머지 노드들의 델타는 아래와 같다.
가장 마지막 노드에서 부터 델타를 계산한다. 마지막에서 두번째 델타의 값은
= (시그모이드 미분에 z^(N-1)을 넣은 값)* (마지막 델타)*(마지막과 그 전 레이어 사이의 가중치)
3. 역전파 학습 과정
작은 값으로 가중치 초기화.
while not stop:
stop = TRUE
for 모든 학습 입력 벡터에 대해
forwardpass()로 output 찾기
target과 output으로 손실 찾기
if output이 허용구간에 있지 않으면, stop = FALSE
backwardpass()
가중치 업데이트
여기까지가 하나의 Epoch
4. Stopping point
- 에포크 간 손실의 평균 변화가 특정 값 이하일 때.(ex. 허용 오차가 0.01인 경우)
- 훈련 샘플의 출력과 원하는 값 사이의 차이가 특정 값 이하일 때.
- 미리 정해진 에포크 수가 완료될 때
'Computer Science > Artificial Intelligence' 카테고리의 다른 글
[인공지능] SP03. Shallow neural networks (0) | 2023.10.18 |
---|---|
[인공지능] 6장/ 7장/ 8장 (2) | 2023.10.17 |
[인공지능] 4장 Learning: Gradient descent algorithm (2) | 2023.10.01 |
[인공지능] 3장 Solving non-linear problems (0) | 2023.10.01 |
[인공지능] 2장 Perceptron (0) | 2023.09.19 |