by using the notations of Michael Nielsen's book (http://neuralnetworksanddeeplearning.com/)
많은 참고 하시기 바랍니다.
1. CNN Backpropagation 이주열
2. 목표 : Conv Net의 Cost 함수를 최소화하는 파라미터 w, b 계산 따라서, Cost 함수에 대한 w 편미분, b 편미분을 구하는 것이 목표 유의 사항 : 2차원 평면 상의 계산, 정확한 notation 그리고 chain rule 적용 이해 필요 ※ Michael Nielsen 웹북(http://neuralnetworksanddeeplearning.com/)의 notation에 따름 𝜕𝐶 𝜕𝑤𝑙,𝑚 𝑛 = ? 𝜕𝐶 𝜕𝑏𝑗,𝑘 𝑛 = ? 따라서, 아래 두 편미분 값을 구하는 것이 본 슬라이드의 목적
3. 1단계: Conv 레이어 계산 1. n 레이어 w와 z의 관계 풀기 N N 5 n-1 레이어 n 레이어 𝑎𝑗,𝑘 𝑛 = 𝜎 𝑙=0 4 𝑚=0 4 𝑤𝑙,𝑚 𝑛 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 + 𝑏𝑗,𝑘 𝑛 𝑎𝑗,𝑘 𝑛 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 𝑧𝑗,𝑘 𝑛 ≡ 𝑙=0 4 𝑚=0 4 𝑤𝑙,𝑚 𝑛 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 + 𝑏𝑗,𝑘 𝑛 𝑎𝑗,𝑘 𝑛 = 𝜎 𝑧𝑗,𝑘 𝑛 𝛿𝑗,𝑘 𝑛 ≡ 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 𝑧𝑗,𝑘 𝑛 𝜕𝐶 𝜕𝑤𝑙,𝑚 𝑛 = 𝑗=0 𝑁−5 𝑘=0 𝑁−5 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 𝜕𝑧𝑗,𝑘 𝑛 𝜕𝑤𝑙,𝑚 𝑛 = 𝑗=0 𝑁−5 𝑘=0 𝑁−5 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 𝑤𝑙,𝑚 𝑛 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 = 𝜕𝐶 𝜕𝑎𝑗,𝑘 𝑛 𝜕𝑎𝑗,𝑘 𝑛 𝜕𝑧𝑗,𝑘 𝑛 = 𝜕𝐶 𝜕𝑎𝑗,𝑘 𝑛 𝜎′ 𝑧𝑗,𝑘 𝑛 왜 j = 0, …, N-5, k = 0, ..., N-5 인가? n-1 레이어에서 n 레이어 매핑이 conv로 인해 줄어들어 있음 즉, n 레이어는 0부터 N-5까지의 픽셀만 존재 C(cost ftn)에 대한 한 지점의 w 변화량은 해당 w가 관여하는 모든 z의 C에 대한 변화량 계산이 필요함
4. 5 n 레이어 n+1 레이어 𝑎𝑗,𝑘 𝑛 5 𝑧𝑗−𝑙,𝑘−𝑚 𝑛+1 𝑤𝑙,𝑚 𝑛+1 𝜕𝐶 𝜕𝑎𝑗,𝑘 𝑛 = 𝑙=0 5−1 𝑚=0 5−1 𝜕𝐶 𝜕𝑧𝑗−𝑙,𝑘−𝑚 𝑛+1 𝜕𝑧𝑗−𝑙,𝑘−𝑚 𝑛+1 𝜕𝑎𝑗,𝑘 𝑛 = 𝑙=0 4 𝑚=0 4 𝜕𝐶 𝜕𝑧𝑗−𝑙,𝑘−𝑚 𝑛+1 𝑤𝑙,𝑚 𝑛+1 2. n 레이어 a와 n+1 레이어 z의 관계 풀기 왜 l = 0, …, 4, m = 0, ..., 4 인가? n 레이어 한 지점의 a는 n+1 레이어의 5X5개 z에 기여함 따라서, C(cost ftn)에 대한 n 레이어 a의 변화량은 n 레이어의 a가 영향을 주는 n+1 레이어 모든 z의 C에 대한 변화량 계산이 필요함 1단계: Conv 레이어 계산
5. 𝜕𝐶 𝜕𝑎𝑗,𝑘 𝑛 = 𝑙=0 4 𝑚=0 4 𝜕𝐶 𝜕𝑧𝑗−𝑙,𝑘−𝑚 𝑛+1 𝑤𝑙,𝑚 𝑛+1 3. 정리 1단계: Conv 레이어 계산 𝜕𝐶 𝜕𝑤𝑙,𝑚 𝑛 = 𝑗=0 𝑁−5 𝑘=0 𝑁−5 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 = 𝜕𝐶 𝜕𝑎𝑗,𝑘 𝑛 𝜎′ 𝑧𝑗,𝑘 𝑛 𝜕𝐶 𝜕𝑤𝑙,𝑚 𝑛 = 𝑗=0 𝑁−5 𝑘=0 𝑁−5 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 𝛿𝑗,𝑘 𝑛 𝛿𝑗,𝑘 𝑛 ≡ 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 𝛿𝑗,𝑘 𝑛 = 𝑙=0 4 𝑚=0 4 𝜕𝐶 𝜕𝑧𝑗−𝑙,𝑘−𝑚 𝑛+1 𝑤𝑙,𝑚 𝑛+1 𝜎′ 𝑧𝑗,𝑘 𝑛 = 𝑙=0 4 𝑚=0 4 𝛿𝑗−𝑙,𝑘−𝑚 𝑛+1 𝑤𝑙,𝑚 𝑛+1 𝜎′ 𝑧𝑗,𝑘 𝑛 𝜕𝐶 𝜕𝑏𝑗,𝑘 𝑛 = 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 𝜕𝑧𝑗,𝑘 𝑛 𝜕𝑏𝑗,𝑘 𝑛 = 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 = 𝛿𝑗,𝑘 𝑛
6. 4. Vanilla MLP와 비교 𝛿𝑗,𝑘 𝑛 = 𝑙=0 4 𝑚=0 4 𝛿𝑗−𝑙,𝑘−𝑚 𝑛+1 𝑤𝑙,𝑚 𝑛+1 𝜎′ 𝑧𝑗,𝑘 𝑛 𝜕𝐶 𝜕𝑏𝑗,𝑘 𝑛 = 𝛿𝑗,𝑘 𝑛 𝜕𝐶 𝜕𝑤𝑙,𝑚 𝑛 = 𝑗=0 𝑁−5 𝑘=0 𝑁−5 𝑎𝑗+𝑙,𝑘+𝑚 𝑛−1 𝛿𝑗,𝑘 𝑛 1단계: Conv 레이어 계산 MLP Conv Net
7. 2단계: Max Pooling 레이어 계산 n-1 레이어 n 레이어 𝑧𝑗,𝑘 𝑛 𝑧𝑗:𝑗+1,𝑘:𝑘+1 𝑛−1 𝜕𝐶 𝜕𝑧𝑗:𝑗+1,𝑘:𝑘+1 𝑛−1 = 𝜕𝐶 𝜕𝑧𝑗,𝑘 𝑛 0, if 𝑧𝑗,𝑘 𝑛 ≠ 𝑧𝑗:𝑗+1,𝑘:𝑘+1 𝑛−1 (≡ 𝛿𝑗:𝑗+1,𝑘:𝑘+1 𝑛−1 ) (≡ 𝛿𝑗,𝑘 𝑛 )
8. End of Document
'정보공유' 카테고리의 다른 글
[정보] [야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버 (0) | 2017.12.09 |
---|---|
[정보] 기계학습 / 딥러닝이란 무엇인가 (0) | 2017.12.09 |
[정보] [세미나] 특이점이 온다 (0) | 2017.12.09 |
[정보] 카카오스토리 웹팀의 코드리뷰 경험 (0) | 2017.12.09 |
[정보] AlphaGo 알고리즘 (0) | 2017.12.09 |
[정보] 알파고 (바둑 인공지능)의 작동 원리 (0) | 2017.12.07 |
[정보] 도서 리뷰 - 그로스 해킹 (0) | 2017.12.07 |
[정보] 도서리뷰 - 디자인 씽킹, 경영을 바꾸다 (0) | 2017.12.07 |