본문 바로가기
정보공유

[정보] CNN(Convolutional Neural Nets) backpropagation

by 날고싶은커피향 2017. 12. 9.
Understanding Convolutional Neural Nets Backpropagation.
by using the notations of Michael Nielsen's book (http://neuralnetworksanddeeplearning.com/)
많은 참고 하시기 바랍니다.

 

 

 

CNN(Convolutional Neural Nets) backpropagation from Jooyoul Lee

 

 

 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

반응형