Day 1 - Section 5 오차 역전파법의 정리
4617 단어 심층 학습
이 공부의 위치
심층 학습 Day 1
Section 0 신경망의 전체 이미지
Section 1 입력층~중간층
Section 2 활성화 함수
Section 3 출력 레이어
Section 4 기울기 강하법
Section 5 오차 역전파법 ← ← 이것
강의
오차 역전파법
각각의 처리 장소에서 미분한다.
미분된 값을 이전 층에서 사용한다.
오차 역전파법
각각의 처리 장소에서 미분한다.
미분된 값을 이전 층에서 사용한다.
미분된 값을 연쇄율로 곱한다.
오차 함수
입력 1: 출력 레이어의 값 y
입력 2: 정답 값 d
출력: 오차 E
수식 $\frac{\partial E}{\partial y}$
출력층의 활성화 함수
입력 1: 총 입력 u
출력; 활성화 함수 처리 후 값 y
수식 $\frac{\partial y}{\partial u}$
가중치 계산
입력 1: 입력 데이터 값 x
입력 2: 가중치 w
출력 : 위의 곱셈의 합계 u
수식 $\frac{\partial u}{\partial w}$
오차 E를 가중치 w로 편미분 한 미분 값
최종적으로 구한 미분값
\begin{align}
\frac{\partial E}{\partial w}
= \frac{\partial E}{\partial y}\frac{\partial y}{\partial u}\frac{\partial u}{\partial w}
\end{align}
전술 한 바와 같이 간접적으로 미분 값을 계산할 수있다.
각각의 미분값은 인간이 미리 계산해 둔다.
구현 연습
1_3_stochastic_gradient_descent.ipynb
주어진 소스는
순전파 : ReLU 함수
역전파: 시그모이드 함수의 도함수
가 되어 있어 함수가 불통일이었으므로, 순전파를 시그모이드 함수로 변경해 실행했다.
학습이 진행됨에 따라 급속하게 오차가 작아지는 모습을 확인할 수 있다.
확인 테스트
이미 수행한 계산 결과를 보유한 소스 코드의 위치
z1: 이전 레이어의 출력값
delta2 : 오차 함수 MSE를 미분 한 값 유지
grad['W2']: 이하의 3개의 값을 곱한 값을 유지
1. delta2의 값
2. 항등함수를 미분한 값 1(y = u2보다)
3. u2를 W2로 미분한 값 z1(u2=W2 z1 + b2보다)
(유지라고 해도, 1회의 가중치 갱신으로 일시적으로 유지할 뿐. 다음의 에포크에서의 가중치 갱신시는 모두 재계산한다.)
두 개의 공란에 해당하는 소스 코드의 위치
수식 $\frac{\partial E}{\partial y}\frac{\partial y}{\partial u}$ 의 소스 코드
$\frac{\partial y}{\partial u}$ 는 1이므로 위의 수식 전용 소스 코드는 보이지 않지만
강하게 말하면 다음 소스 코드.
수식 $\frac{\partial E}{\partial y}\frac{\partial y}{\partial u}\frac{\partial u}{\partial w_{ji}^2}$ 의 소스 코드
모범 해답에 의하면, 위에 붙인 자신의 2개의 해답은 둘 다 부정해라는 것이지만,
사실일까.
forward 함수를 읽으면 다음과 같이 중간층이 2층으로 되어 있다.
이 질문은 $w_{ji}^{(2)}$ 즉 2층째의 가중치의 기울기를 요구하는 소스 코드를 찾는다.
그러나, 왠지 모범 해답은 1층째의 가중치의 기울기를 요구하는 소스 코드를 가리키고 있다.
만약 1층명의 가중의 기울기를 요구하는 경우, 수식은 이하일 것.
\frac{\partial E}{\partial y}
\frac{\partial y}{\partial u2}
\frac{\partial u2}{\partial z1}
\frac{\partial z1}{\partial u1}
\frac{\partial u1}{\partial w_{ji}^{(1)}}
수료 테스트~연습 문제~
문제 4(시그모이드 함수의 미분)
이것은 암기하는 것이 가장 빠르다.
f'(z)=f(z)(1-f(z))
계산에서도 구할 수 있다.
f(z)=\frac{1}{1+e^{-z}}\\
$1+e^{-z} = t$ 이면 $f(z) =\frac{1}{t}\Rightarrow\frac{\partial f(z)}{\partial t}=-t^ {-2}=-\frac{1}{t^2}$
$e^{-z} = s$로 설정하면 $1+s=t\Rightarrow\frac{\partial t}{\partial s}=1$
$-z=u$ 로 설정하면 $e^u=s\Rightarrow\frac{\partial s}{\partial u}=e^u$
또한 $\frac{\partial u}{\partial z}=-1$
\begin{align}
\frac{\partial f(z)}{\partial z}
&=
\frac{\partial f(z)}{\partial t}
\frac{\partial t}{\partial s}
\frac{\partial s}{\partial u}
\frac{\partial u}{\partial z}
\\
&=
\biggl(-\frac{1}{t^2}\biggr)
\times
1
\times
e^u
\times
(-1)
\\
&=
\frac{e^{-z}}{(1+e^{-z})^2}
\\
&=
\frac{1}{1+e^{-z}}
\frac{1+e^{-z}-1}{1+e^{-z}}
\\
&=
\frac{1}{1+e^{-z}}
\Biggl(
1-
\frac{1}{1+e^{-z}}
\Biggr)
\\
&=
f(z)(1-f(z))
\end{align}
문제 5(계산 그래프에서의 역전파)
오른쪽의 빨간색 선의 값은 $1$이고 중앙 아래의 검은색 선은 $20$이므로, 중앙의 빨간색 선은 $1\times 20=20$
가운데 빨간색 선은 $20$이고 왼쪽 위 검정색 선은 $3$이므로 왼쪽 빨간색 선은 $20\times 3=60$
참고
빨간 책의 5.3.2 곱셈 노드의 역 전파
Reference
이 문제에 관하여(Day 1 - Section 5 오차 역전파법의 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/amateur2020/items/76d2650611612b38efb0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이미 수행한 계산 결과를 보유한 소스 코드의 위치
z1: 이전 레이어의 출력값
delta2 : 오차 함수 MSE를 미분 한 값 유지
grad['W2']: 이하의 3개의 값을 곱한 값을 유지
1. delta2의 값
2. 항등함수를 미분한 값 1(y = u2보다)
3. u2를 W2로 미분한 값 z1(u2=W2 z1 + b2보다)
(유지라고 해도, 1회의 가중치 갱신으로 일시적으로 유지할 뿐. 다음의 에포크에서의 가중치 갱신시는 모두 재계산한다.)
두 개의 공란에 해당하는 소스 코드의 위치
수식 $\frac{\partial E}{\partial y}\frac{\partial y}{\partial u}$ 의 소스 코드
$\frac{\partial y}{\partial u}$ 는 1이므로 위의 수식 전용 소스 코드는 보이지 않지만
강하게 말하면 다음 소스 코드.
수식 $\frac{\partial E}{\partial y}\frac{\partial y}{\partial u}\frac{\partial u}{\partial w_{ji}^2}$ 의 소스 코드
모범 해답에 의하면, 위에 붙인 자신의 2개의 해답은 둘 다 부정해라는 것이지만,
사실일까.
forward 함수를 읽으면 다음과 같이 중간층이 2층으로 되어 있다.
이 질문은 $w_{ji}^{(2)}$ 즉 2층째의 가중치의 기울기를 요구하는 소스 코드를 찾는다.
그러나, 왠지 모범 해답은 1층째의 가중치의 기울기를 요구하는 소스 코드를 가리키고 있다.
만약 1층명의 가중의 기울기를 요구하는 경우, 수식은 이하일 것.
\frac{\partial E}{\partial y}
\frac{\partial y}{\partial u2}
\frac{\partial u2}{\partial z1}
\frac{\partial z1}{\partial u1}
\frac{\partial u1}{\partial w_{ji}^{(1)}}
수료 테스트~연습 문제~
문제 4(시그모이드 함수의 미분)
이것은 암기하는 것이 가장 빠르다.
f'(z)=f(z)(1-f(z))
계산에서도 구할 수 있다.
f(z)=\frac{1}{1+e^{-z}}\\
$1+e^{-z} = t$ 이면 $f(z) =\frac{1}{t}\Rightarrow\frac{\partial f(z)}{\partial t}=-t^ {-2}=-\frac{1}{t^2}$
$e^{-z} = s$로 설정하면 $1+s=t\Rightarrow\frac{\partial t}{\partial s}=1$
$-z=u$ 로 설정하면 $e^u=s\Rightarrow\frac{\partial s}{\partial u}=e^u$
또한 $\frac{\partial u}{\partial z}=-1$
\begin{align}
\frac{\partial f(z)}{\partial z}
&=
\frac{\partial f(z)}{\partial t}
\frac{\partial t}{\partial s}
\frac{\partial s}{\partial u}
\frac{\partial u}{\partial z}
\\
&=
\biggl(-\frac{1}{t^2}\biggr)
\times
1
\times
e^u
\times
(-1)
\\
&=
\frac{e^{-z}}{(1+e^{-z})^2}
\\
&=
\frac{1}{1+e^{-z}}
\frac{1+e^{-z}-1}{1+e^{-z}}
\\
&=
\frac{1}{1+e^{-z}}
\Biggl(
1-
\frac{1}{1+e^{-z}}
\Biggr)
\\
&=
f(z)(1-f(z))
\end{align}
문제 5(계산 그래프에서의 역전파)
오른쪽의 빨간색 선의 값은 $1$이고 중앙 아래의 검은색 선은 $20$이므로, 중앙의 빨간색 선은 $1\times 20=20$
가운데 빨간색 선은 $20$이고 왼쪽 위 검정색 선은 $3$이므로 왼쪽 빨간색 선은 $20\times 3=60$
참고
빨간 책의 5.3.2 곱셈 노드의 역 전파
Reference
이 문제에 관하여(Day 1 - Section 5 오차 역전파법의 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/amateur2020/items/76d2650611612b38efb0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
f'(z)=f(z)(1-f(z))
f(z)=\frac{1}{1+e^{-z}}\\
\begin{align}
\frac{\partial f(z)}{\partial z}
&=
\frac{\partial f(z)}{\partial t}
\frac{\partial t}{\partial s}
\frac{\partial s}{\partial u}
\frac{\partial u}{\partial z}
\\
&=
\biggl(-\frac{1}{t^2}\biggr)
\times
1
\times
e^u
\times
(-1)
\\
&=
\frac{e^{-z}}{(1+e^{-z})^2}
\\
&=
\frac{1}{1+e^{-z}}
\frac{1+e^{-z}-1}{1+e^{-z}}
\\
&=
\frac{1}{1+e^{-z}}
\Biggl(
1-
\frac{1}{1+e^{-z}}
\Biggr)
\\
&=
f(z)(1-f(z))
\end{align}
Reference
이 문제에 관하여(Day 1 - Section 5 오차 역전파법의 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/amateur2020/items/76d2650611612b38efb0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)