밑바닥부터 시작하는 딥러닝
Ch5. 오차 역전파법
아꿈사
Cecil
4장 신경망 학습
손실 함수를 지표로, 수치 미분을 통한
손실 함수의 값이 작아지도록 가중치를 업데이트
수치 미분은 간단하나, 시간이 많이 걸림
Cost(1)
Soft-Max
+
Cross
Entropy
X(2)
신경망 학습을 위한 계산량
W1(3) W2(2)
코스트 * 미분 횟수: (X * W1 * W2 + 1) * 2(W1 + W2)
배치학습일때
* Batch_size!!
오차 역전파 법
(Backward propagation of errors)
가중치 매개 변수의 기울기를 효율적으로 계산
오차 역전파 법을 쉽게 이해하기 위해
계산 그래프를 이용합니다
계산 그래프 예제
문제 1: 1개에 100원인 사과를 2개 샀을때,
지불금액은? 단, 소비세 10%
조금 더 복잡하게
문제 2: 사과 2개, 귤 3개를 구입
사과는 100원, 귤은 150원, 소비세 10%
계산 그래프를 이용한 풀이 흐름
1. 계산 그래프 구성
2. 왼쪽에서 오른쪽으로 계산 수행 (순전파)
장점: 국소적 계산을 통해 전체 답을 찾음
계산 그래프를 사용하는 이유
1. 작은 문제에 집중하여 복잡한 문제를 단순화
2. 역전파를 통한 미분을 효율적으로 계산 가능
우리가 구하고자 하는 것
가중치 매개 변수의 변화에 따른 출력값의 변화
ex) 사과 값의 변화가 최종 금액에 미치는 영향
사과 값 계산 역전파
국소적 미분의 전달을 통해 전체 미분을 구함
사과값 계산: f(x) = t
소비세 계산: g(t) = z
전체 계산: g(f(x)) = z
연쇄 법칙
계산 그래프의 역전파
국소적 미분 값을 곱하여 전달
합성함수의 미분은 각 함수의 미분의 곱으로 표현 가능
전체 미분: g(f(x)) = z
사과값 미분: f(x) = t
소비세 미분: g(t) = z
연쇄 법칙과 계산 그래프
덧셈 노드의 역전파
z = x + y
곱셈 노드의 역전파
z = x * y
ReLU 함수의 역전파
y = x (x > 0)
0 (x <= 0)
Sigmoid 함수의 역전파
순전파
역전파
Sigmoid 간소화 버전
역전파의 행렬 연산(Affine)
내적을 위해 차원의
원소 수를 일치 시켜야 함
역전파 배치용 행렬 연산
soft-max with loss 계층
다음 층으로 역전파
-시그마tlogy
s가 합(exp) * 원래 exp
soft-max with loss 계층
코드..
Cost(1)
Soft-Max
+
Cross
Entropy
X(2)
결국.. 줄어든 계산량
W1(3) W2(2)
코스트 * 미분 횟수: (X * W1 * W2 + 1) * 2(W1 + W2) * 2
References
•사이코 고키, 밑바닥부터 시작하는 딥러닝(이복연 옮
김). 서울시 마포구 양화로 한빛미디어, 2017.

밑바닥부터시작하는딥러닝 Ch05