Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 어렵다
- 피보나치수열
- 피보나치
- ssac
- 인공지능
- 머신러닝
- 퍼셉트론
- 분할정복
- 트리
- 인공지는
- 오차역전파법
- 힙
- 병합정렬
- 자료구조
- memoization
- 밑시딥
- 다이나믹프로그래밍
- dp
- 메모이제이션
- AIFFEL
- 아직
- 딥러닝
- Image Classification
- 힙구조
- tree
- 스티커
- 역전파
- 알고리즘
- 우선순위큐
Archives
- Today
- Total
딥러닝 for Deep Learning
밑.시.딥. Chapter5. 오차역전파법(Backpropagation) 본문
역전파
덧셈 노드의 역전파
z = x + y의 미분은 아래의 식과 같이 계산할 수 있다.
두 식의 결과는 모두 1이다. 이를 계산 그래프로 표현하면,
역전파 때는 상류에서 전해진 미분에 1을 곱해 하류로 보낸다. (오른쪽에서 왼쪽으로)
즉, 덧셈 노드를 만나면 입력값을 그대로 다음 노드로 보낸다. (gradient distributor)
예를 들어, 상류에서 1.3이란 값이 흘러오면,
그대로 내려보낸다.
곱셈 노드의 역전파
z = xy의 미분은 아래의 식과 같이 계산할 수 있다.
그럼 계산 그래프로 함 그려보자. (내가 그리는건 아님)
위 그래프에서 보이는 것처럼
곱셈 노드 역전파는 상류의 값에 순전파 때의 입력 신호들을 '서로 바꾼 값'을 곱해서 하류로 내려보낸다.
(gradient switcher)
예를 들어, 상류에서 1.3이라는 값이 들어올 때 곱셈 노드를 만나면,
과일 쇼핑의 예
단순한 계층 구현
곱셈 계층
backward()에서는 상류에서 넘어온 미분(dout)에 순전파 때의 값을 '서로 바꿔' 곱한 뒤 흘려 보낸다.
- 순전파
- 역전파
덧셈 계층
- 순전파
- 역전파
자료출처:
밑바닥부터 시작하는 딥러닝 1 - 사이토 고키 저
'지하에서부터 시작하는 딥러닝' 카테고리의 다른 글
밑.시.딥. Chapter8. 딥러닝 (0) | 2021.09.01 |
---|---|
밑.시.딥. Chapter2. 퍼셉트론(Perceptron) (0) | 2021.07.13 |
밑.시.딥. 2 - 4장 word2vec 속도개선 part2 (0) | 2021.02.14 |
5장 오차역전파법 part2 (0) | 2021.01.26 |