CNN Backpropagation
이주열
 목표 : Conv Net의 Cost 함수를 최소화하는 파라미터 w, b 계산
따라서, Cost 함수에 대한 w 편미분, b 편미분을 구하는 것이 목표
 유의 사항 : 2차원 평면 상의 계산, 정확한 notation 그리고 chain rule 적용 이해 필요
※ Michael Nielsen 웹북(http://neuralnetworksanddeeplearning.com/)의 notation에 따름
𝜕𝐶
𝜕𝑤𝑙,𝑚
𝑛 = ?
𝜕𝐶
𝜕𝑏𝑗,𝑘
𝑛 = ?
따라서, 아래 두 편미분 값을 구하는 것이 본 슬라이드의 목적
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에 대한 변화량 계산이 필요함

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 레이어 계산
𝜕𝐶
𝜕𝑎𝑗,𝑘
𝑛 =
𝑙=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
𝜎′
𝑧𝑗,𝑘
𝑛
𝜕𝐶
𝜕𝑏𝑗,𝑘
𝑛 =
𝜕𝐶
𝜕𝑧𝑗,𝑘
𝑛
𝜕𝑧𝑗,𝑘
𝑛
𝜕𝑏𝑗,𝑘
𝑛 =
𝜕𝐶
𝜕𝑧𝑗,𝑘
𝑛 = 𝛿𝑗,𝑘
𝑛
4. Vanilla MLP와 비교
𝛿𝑗,𝑘
𝑛
=
𝑙=0
4
𝑚=0
4
𝛿𝑗−𝑙,𝑘−𝑚
𝑛+1
𝑤𝑙,𝑚
𝑛+1
𝜎′
𝑧𝑗,𝑘
𝑛
𝜕𝐶
𝜕𝑏𝑗,𝑘
𝑛 = 𝛿𝑗,𝑘
𝑛
𝜕𝐶
𝜕𝑤𝑙,𝑚
𝑛 =
𝑗=0
𝑁−5
𝑘=0
𝑁−5
𝑎𝑗+𝑙,𝑘+𝑚
𝑛−1
𝛿𝑗,𝑘
𝑛
1단계: Conv 레이어 계산
MLP Conv Net
2단계: Max Pooling 레이어 계산
n-1 레이어 n 레이어
𝑧𝑗,𝑘
𝑛
𝑧𝑗:𝑗+1,𝑘:𝑘+1
𝑛−1
𝜕𝐶
𝜕𝑧𝑗:𝑗+1,𝑘:𝑘+1
𝑛−1 =
𝜕𝐶
𝜕𝑧𝑗,𝑘
𝑛
0, if 𝑧𝑗,𝑘
𝑛
≠ 𝑧𝑗:𝑗+1,𝑘:𝑘+1
𝑛−1
(≡ 𝛿𝑗:𝑗+1,𝑘:𝑘+1
𝑛−1
)
(≡ 𝛿𝑗,𝑘
𝑛
)
End of Document

CNN(Convolutional Neural Nets) backpropagation

  • 1.
  • 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.