딥러닝 기초 (2)

gmlwlswldbs·2021년 10월 1일
0

스터디

목록 보기
6/19

📌역전파

  • 인공신경망에서의 학습 : 순전파와 역전파를 반복하며 오차를 최소화하는 가중치를 찾는 것
    1. 주어진 가중치로 출력값 계산 (순전파)
    2. "(기존 가중치) - (오차를 각 가중치로 미분하고 learning rate를 곱한 값)" (역전파 , 경사하강법)
    3. 1과 2를 허용 범위 내의 오차가 될 때까지 반복

💡 역전파 : 출력층에서 입력층 방향으로 오차를 전파시키면서 각 층의 가중치를 업데이트하며 오차를 최소화하는 것 (input 과 output 을 알고 있는 상태)

역전파 과정

  • 순전파 : 입력층 -> 출력층

  • 역전파 : 출력층 -> 입력층

  • 오차 계산에는 MSE (평균 제곱 오차) 사용

  • 활성화 함수는 시그모이드 함수 사용. z가 활성화 함수를 거치면 h 또는 o의 값이 된다.

    • 시그모이드 함수 (미분)

1. 순전파


(가중치는 원래 주어진 값)

계산을 통해 구한 각 인공뉴런의 결과값을 평균 제곱 오차를 통해 오차 계산 해준다.

2. 역전파

2.1 역전파 1단계

  • 경사하강법을 통해 가중치 업데이트 (α = 0.5 로 설정)

w5에 대한 가중치를 업데이트 하기 위해서 오차를 w5에 대해서 미분하기 위해 연쇄 미분 이용

시그모이드 함수 미분

가중치 업데이트 (0.45 -> 0.43)

같은 방법으로 w6(0.4 -> 0.38), w7(0.7 -> 0.69), w8(0.6 -> 0.59) 업데이트

2.2 역전파 2단계

1단계와 같은 방법으로 2단계도 업데이트 (대신 더 많은 값이 관계되어서 약간 복잡)

  • 전체식을 풀면 이런 식이 된다. 출력층의 Error를 인공뉴런 단까지 역전파하여 계산한다.

  • 순전파를 통해 오차 줄어 든 것 확인 (0.02397190 -> 0.02323634)

2.3 역전파의 한계

  • local minima problem : 랜덤한 초기값 설정으로 golbal minimum을 못찾고 local minima를 찾는 경사하강법의 한계를 그대로 가져간다.

0개의 댓글