본문 바로가기
Computer Science/Artificial Intelligence

[인공지능] 5장 Training Multi-layer preceptron

by na1-4an 2023. 10. 1.

1. 지금까지 배운 것

  - feedforward의 목표: 함수 f로 근사화하는 것. 즉, y = f(x, θ ) 매핑하는 것.

                                      바이어스나 가중치를 학습 시켜 목표를 이룸.

2. 델타( δ )

  - 델타를 아래와 같이 정의하겠다.

  - 가장 마지막 노드의 델타는 아래와 같다.

  - 나머지 노드들의 델타는 아래와 같다. 

      가장 마지막 노드에서 부터 델타를 계산한다. 마지막에서 두번째 델타의 값은 

      = (시그모이드 미분에 z^(N-1)을 넣은 값)* (마지막 델타)*(마지막과 그 전 레이어 사이의 가중치)

 

이미지 출처: https://doomed-lab.tistory.com/41

3. 역전파 학습 과정

작은 값으로 가중치 초기화.
    while not stop:
        stop = TRUE
        for 모든 학습 입력 벡터에 대해
            forwardpass()로 output 찾기
            target과 output으로 손실 찾기
            if output이 허용구간에 있지 않으면, stop = FALSE
            backwardpass()
            가중치 업데이트
    여기까지가 하나의 Epoch

4. Stopping point

  • 에포크 간 손실의 평균 변화가 특정 값 이하일 때.(ex. 허용 오차가 0.01인 경우)
  • 훈련 샘플의 출력과 원하는 값 사이의 차이가 특정 값 이하일 때.
  • 미리 정해진 에포크 수가 완료될 때