More Related Content Similar to [GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기 (20) [GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기6. 사람을 따라서 만들자 : 뉴런
신경계를 구성하는 세포인 뉴런은
신호들을 받으면 종합한 뒤에 출력하기도 하고 안하기도 합니다.
7. 뉴런을 따라 만든 인공 뉴런 : Perceptron
𝑦 =
1 ( 𝑤1 𝑥1+ 𝑤2 𝑥2 + 𝜃 ≥ 0 )
0 ( 𝑤1 𝑥1+ 𝑤2 𝑥2 + 𝜃 < 0 ){
x1
𝑥1
𝑥2
𝑤1
𝑤2
𝑦
Bias
Input
Input
Activation
Function
𝜃
Weight
8. Perceptron 이 사용하는 활성 함수: 계단 함수
𝑆𝑡𝑒𝑝 𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛 (𝑦) =
1 (𝑥 ≥ 0 )
0 (𝑥 < 0 ){
뉴런처럼 정보의 합이 0을 넘을 때만 출력
9. 가장 간단한 AND 게이트 부터
𝑥1
𝑥2
𝑦
AND Gate 의 회로기호
𝑥1 𝑥2 𝑦
0 0 0
0 1 0
1 0 0
1 1 1
AND Gate 의 입출력
10. AND 게이트는 문제 없이 분리 가능
0 0
0 1
하나의 선으로 0 과 1을 분리할 수 있는 AND 게이트
13. 그럼 퍼셉트론 여러 개를 쌓아보자 : MLP
Input Layer
𝑥1
𝑥2
x11
Output Layer
𝑦 𝑦′
Hidden Layer
x11
𝑎2
𝑎1 𝑎1
′
𝑎2
′
𝑏00
(0)
𝑏01
(0)
𝑤10
(0)
𝑤11
(0)
𝑤20
(0)
𝑤21
(0)
𝑏00
(1)
𝑤10
(1)
𝑤20
(1)
14. MLP 로 XOR 게이트를 풀어보자
Input Layer
𝑥1
𝑥2
x1𝑏
Hidden Layer
NAND Gate
OR Gate
Output Layer
XOR Gate
MLP 로도 XOR 게이트를 만들어 낼 수 있다
15. Layer 의 개수에 따라 결정할 수 있는 영역
1 hidden layer 2 hidden layer 3 hidden layer
16. 답을 얻을 수 있는 건 알겠는데
MLP 는 어떻게 학습하는거지?
18. 던지는 것 마다 골인 사람은
벌써 학습 완료된 모델
매번 빗나가는 사람들은
학습 과정인 모델들
19. 공을 던졌을 때 안들어가면
어떻게 안들어갔는지 살펴보고
약간 반대방향으로 던지는 것 처럼
20. 계산한 값이 원래 답보다 크면
가중치를 조금 작게
원래 답보다 작으면
가중치를 조금 크게 조절해보자
22. 1. 오차함수를 정하고
2. ∇(𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡) 를 구해서
3. weight 를 업데이트 하자
𝑤 𝑛𝑒𝑤
= 𝑤 − 𝛾∇𝐶(𝑥)
23. 가장 기본적인 오차함수 : MSE
Minimum Squared Error =
1
𝑛
σ𝑖 ෝ𝑦𝑖 − 𝑦𝑖
2
𝑦0
𝑦1
𝑦2
𝑦3
𝑦4
ෞ𝑦0
ෞ𝑦1
ෞ𝑦2
ෞ𝑦3
ෞ𝑦4
# 각 정답과 예상값의 차이를 제곱해서 평균내는 방법
24. 가장 기본적인 오차함수 : ACE
Averaged Cross Entropy Error = −
1
𝑛
σ𝑖 𝑦𝑖 𝑙𝑜𝑔 ෝ𝑦𝑖
𝑦0 𝑦1
𝑦2
𝑦3 𝑦4
log(ෞ𝑦0)
log(ෞ𝑦1)
log(ෞ𝑦2)
log(ෞ𝑦3)
log(ෞ𝑦4)
# 정답이 One-hot 인코딩 되어 있는 경우에만 사용가능
25. 𝑤+
= 𝑤 − 𝜂 ∗
𝜕𝐸
𝜕𝑤
학습을 수학적으로 표기하면
learning rate :
한번에 얼마나 학습할지
gradient :
어떤 방향으로 학습할지
32. 𝜕𝐸𝑡𝑜𝑡
𝜕𝑤10
(1) =
𝜕𝐸𝑡𝑜𝑡
𝜕𝑎20
𝜕𝑎20
𝜕𝑧20
𝜕𝑧20
𝜕𝑤10
(1)
𝐸𝑡𝑜𝑡 =
1
2
𝑡𝑎𝑟𝑔𝑒𝑡 𝑦1 − 𝑎20
2
+ 𝑡𝑎𝑟𝑔𝑒𝑡 𝑦2 − 𝑎21
2 𝜕𝐸𝑡𝑜𝑡
𝜕𝑎20
= 𝑡𝑎𝑟𝑔𝑒𝑡 𝑦1 − 𝑎20 ∗ −1 + 0
𝑎20 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑧20)
𝜕𝑎20
𝜕𝑧20
= 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧20 ∗ 1 − 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧20
𝑧20 = 𝑤10
(1)
𝑎10 + 𝑤20
(1)
𝑎20
𝜕𝑧20
𝜕𝑤10
(1)
= 𝑎10 + 0
𝑤10
(1)
𝑦1𝑧20 𝑎20
0.4
0.207 0.609
0.3
0.518
𝑧10 𝑎10
먼저 𝑤10
(1)
을 학습시키자
𝜕𝐸𝑡𝑜𝑡
𝜕𝑎20
𝜕𝑎20
𝜕𝑧20
𝜕𝑧20
𝜕𝑤10
(1)
33. 𝑤10
(1)
𝑦1𝑧20 𝑎20
0.4
0.207 0.609
0.3
0.518
𝑧10 𝑎10
𝜕𝐸𝑡𝑜𝑡
𝜕𝑤10
(1) =
𝜕𝐸𝑡𝑜𝑡
𝜕𝑎20
𝜕𝑎20
𝜕𝑧20
𝜕𝑧20
𝜕𝑤10
(1)
= − 𝑡𝑎𝑟𝑔𝑒𝑡 𝑦1 − 𝑎20 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧20 ∗ 1 − 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧20 ∗ 𝑎10
= − 0.3 − 0.609 ∗ 0.609 ∗ 1 − 0.609 ∗ 0.518
= 0.0381
𝑤10
1 +
= 𝑤 − 𝜂 ∗
𝜕𝐸𝑡𝑜𝑡
𝜕𝑤10
1 = 0.4 − 0.5 ∗ 0.0381 = 0.380
𝑤10
1
이 전체 에러에 미치는 영향은 0.0381, 갱신한 𝑤10
1 +
값은 0.380
38. 𝑤10
(1)
𝑦1𝑧20 𝑎20
0.4
0.207 0.609
0.3
0.518
𝑧10 𝑎10𝑤10
(0)
𝑥1
0.5
0.15
0.075
𝜕𝐸𝑡𝑜𝑡
𝜕𝑤10
(0) = (
𝜕𝐸1
𝜕𝑎10
+
𝜕𝐸2
𝜕𝑎10
)
𝜕𝑎10
𝜕𝑧10
𝜕𝑧10
𝜕𝑤10
(0)
𝜕𝐸1
𝜕𝑎10
=
𝜕𝐸1
𝜕𝑎20
𝜕𝑎20
𝜕𝑧20
𝜕𝑧20
𝜕𝑎10
= − 𝑡𝑎𝑟𝑔𝑒𝑡 𝑦1 − 𝑎20 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧20 ∗ 1 − 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧20 ∗ 𝑤10
(1)
= − 0.3 − 0.609 ∗ 0.609 ∗ 1 − 0.609 ∗ 0.4
= 0.0294
# 𝑎10 가 𝐸1 에 미치는 영향은 0.0294
39. 𝑤11
(1)
𝑦2𝑧21 𝑎21
0.5
0.209 0.621
0.9
0.518
𝑧10 𝑎10𝑤10
(0)
𝑥1
0.5
0.15
0.075
𝜕𝐸𝑡𝑜𝑡
𝜕𝑤10
(0) = (
𝜕𝐸1
𝜕𝑎10
+
𝜕𝐸2
𝜕𝑎10
)
𝜕𝑎10
𝜕𝑧10
𝜕𝑧10
𝜕𝑤10
(0)
𝜕𝐸2
𝜕𝑎10
=
𝜕𝐸2
𝜕𝑎21
𝜕𝑎21
𝜕𝑧21
𝜕𝑧21
𝜕𝑎10
= − 𝑡𝑎𝑟𝑔𝑒𝑡 𝑦2 − 𝑎21 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧21 ∗ 1 − 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑧21 ∗ 𝑤11
(1)
= − 0.9 − 0.621 ∗ 0.621 ∗ 1 − 0.621 ∗ 0.5
= − 0.0328
# 𝑎10 가 𝐸2 에 미치는 영향은 -0.0328
45. 그런데 학습이 잘 안되는걸?
원인
1. 잘못된 활성화 함수
2. 잘못된 초기값 설정
3. 불안정한 학습과정
49. 𝜕𝑦
𝜕𝑤3
=
𝜕𝑦
𝜕𝑧3
𝜕𝑧3
𝜕𝑎3
𝜕𝑎3
𝜕𝑤3
= 1 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑′ 𝑎3 ∗ 𝑧2
𝜕𝑦
𝜕𝑤2
=
𝜕𝑦
𝜕𝑎3
𝜕𝑎3
𝜕𝑧2
𝜕𝑧2
𝜕𝑎2
𝜕𝑎2
𝜕𝑤2
= 1 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑′
𝑎3 ∗
𝑤3 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑′ 𝑎2 ∗ 𝑧1
𝜕𝑦
𝜕𝑤1
=
𝜕𝑦
𝜕𝑎2
𝜕𝑎2
𝜕𝑧1
𝜕𝑧1
𝜕𝑎1
𝜕𝑎1
𝜕𝑤1
= 1 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑′
𝑎3 ∗ 𝑤3 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑′
𝑎2 ∗
𝑤2 ∗ 𝑠𝑖𝑔𝑚𝑜𝑖𝑑′ 𝑎1 ∗ 𝑥1
𝑥
𝑤1
𝑦
𝑤2
𝑤3
𝑎3
𝑧3
𝑎2
𝑧2
𝑎1
𝑧1
𝑎3 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑧3)
𝑧3 = 𝑎2 ∗ 𝑤3
𝑦 = 𝑧3
𝑎2 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑧2)
𝑧2 = 𝑎1 ∗ 𝑤2
𝑎1 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑧1)
𝑧1 = 𝑥 ∗ 𝑤1
50. 𝑆′ (𝑥) : (0 , ¼] – 최대점 ¼, 0 에서 수평
S’ 의 최대점이 ¼ 이기 때문에
곱할 때 마다 ¼ 로 값들이 줄어들어서
3번 이상 S’ 가 반복 되면
𝜕𝑧
𝜕𝑎
가 거의 0 이 되어
학습이 불가능하게 됩니다
51. 새로운 함수 : Tanh Function
𝑇𝑎𝑛ℎ(𝑥) =
𝑒2𝑥+ 1
𝑒2𝑥−1
𝑇′ (𝑥) =1 − tanh2(x)
(0 , 1] – 최대점 1, 0 에서 수평
52. 새로운 함수 : Tanh Function
𝑇′ (𝑥) =1 − tanh2(x)
(0 , 1] – 최대점 1, 0 에서 수평
새 함수 Tanh 는 Sigmoid 와
비슷하게 생겼고
도함수의 최대값도 1이라는
점에서 사용할 만 합니다
53. 새로운 함수 : ReLU Function
𝑅𝑒𝐿𝑈(𝑥) = max 0, 𝑥
Rectified Linear Unit
𝑅′(𝑦) =
1 (𝑥 ≥ 0 )
0 (𝑥 < 0 ){
54. 새로운 함수 : ReLU Function
𝑅′(𝑦) =
1 (𝑥 ≥ 0 )
0 (𝑥 < 0 ){
ReLU 는 학습이 빠르고
미분값이 0, 1 두개 중 하나이기
때문에 컴퓨팅 자원을 덜 소모해서
가장 일반적으로 쓰는 함수입니다
59. 잘못된 초기값 해결방법
Activation Function Initialization Code
Sigmoid Xavier
np.random.randn(n_input, n_output)
/ sqrt(n_input)
ReLU He
np.random.randn(n_input, n_output)
/ sqrt(n_input / 2)
1. Gaussian 으로 초기화 하고
2. 인풋개수의 제곱근으로 나누면 Xavier Initialization
3. 인풋개수의 절반의 제곱근으로 나누면 He Initialization
60. 잘못된 초기값 해결방법
Activation Function Initialization Code
Sigmoid Xavier
np.random.randn(n_input, n_output)
/ sqrt(n_input)
ReLU He
np.random.randn(n_input, n_output)
/ sqrt(n_input / 2)
Sigmoid 사용할 땐 Xavier ,
ReLU 사용할 땐 He 를 사용하면 좋습니다
63. 이런 현상을 해결하기 위해서
각 활성함수의 출력 값을
정규화합니다
𝑥
𝑤1 𝑤1
′
𝑤2
𝑤3
𝑂𝑢𝑡 𝑂𝑢𝑡′
𝑤2
′
𝑤3
′
𝐵𝑁
𝐵𝑁
𝐵𝑁
65. 그런데 테스트할 때는
얼만큼 옮겨야 Output 값이
좋을지 알 수 없잖아요?
𝑥
𝑤1 𝑤1
′
𝑤2
𝑤3
𝑂𝑢𝑡 𝑂𝑢𝑡′
𝑤2
′
𝑤3
′
𝐵𝑁
𝐵𝑁
𝐵𝑁
66. 그래서 트레이닝 하는 과정에서
옮긴 정도를 저장해 놓고
테스트할 때 재사용해야 합니다
𝑥
𝑤1 𝑤1
′
𝑤2
𝑤3
𝑂𝑢𝑡 𝑂𝑢𝑡′
𝑤2
′
𝑤3
′
𝐵𝑁
𝐵𝑁
𝐵𝑁
71. 이제부턴 데이터 전체를
읽은 뒤 학습하지 말고
조금씩 읽은 뒤
조금씩 학습해 볼까요?
10000
Data
Gradient
Descent
Stochastic
Gradient
Descent
2500
Data
2500
Data
2500
Data
2500
Data
74. 𝑤+
= 𝑤 − 𝜂 ∗
𝜕𝐸
𝜕𝑤
학습에서 변할 수 있는 부분은
Learning Rate 랑 Gradient 부분
이 부분들을 적절히 변화시켜보자
83. - 1 to 0 : 10개- 0 to 1 : 10개
MLP 의 문제점
한 칸씩만 움직였는데
변화하는 인풋값이 20개
91. 64 X 64
Convolution
Layer
32 X 32
Pooling
Layer
32 X 32
Convolution
Layer
16 X 16
Pooling
Layer
Fully-Connected
layer
64 X 64
Input
CNN 기본 구조
93. 생선 그림을 가지고 CNN 과정을 살펴 봅시다
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
94. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 2 1 1 1 1 1 1 1 1 1 1 2 0 0 0
0 0 0 3 1 1 1 1 1 1 1 1 1 1 3 0 0 0
0 0 0 3 0 0 1 0 0 0 0 1 0 0 3 0 0 0
0 0 0 2 1 0 0 0 0 0 0 0 0 1 2 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 1 2 0 0 0 0 2 1 0 0 0 0 0
0 0 0 0 0 1 2 0 0 0 0 2 1 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0
0 0 0 2 1 0 1 1 1 1 1 1 0 1 2 0 0 0
0 0 0 3 0 0 1 2 1 2 2 1 0 0 3 0 0 0
0 0 0 3 0 0 2 1 2 1 1 2 0 0 3 0 0 0
0 0 0 3 0 0 1 1 1 1 1 1 0 0 3 0 0 0
0 0 0 3 0 0 1 0 1 0 0 1 0 0 3 0 0 0
0 0 0 3 0 0 1 1 0 0 0 0 0 0 3 0 0 0
0 0 0 3 0 0 2 2 0 0 0 0 0 0 3 0 0 0
0 0 0 2 1 0 2 2 0 0 0 0 0 0 3 0 0 0
0 0 0 1 1 1 1 1 0 0 0 0 0 1 2 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0
0 1 0
0 1 0
0 1 1 1 1 1 1 1 0
0 3 1 1 1 1 1 3 0
0 3 1 1 0 1 1 3 0
0 1 1 1 0 1 1 1 0
0 0 1 2 0 2 1 0 0
0 1 1 1 1 1 1 1 0
0 3 1 2 2 2 1 3 0
0 3 0 2 2 2 0 3 0
0 3 0 1 1 1 0 3 0
0 3 1 2 0 0 0 3 0
0 1 1 1 0 0 1 2 0
0 0 1 1 1 1 1 0 0
0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Convolution Max Pooling
Convolution : 세로 필터
95. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 2 1 1 1 1 1 1 1 1 1 1 2 0 0 0
0 0 0 3 1 1 1 1 1 1 1 1 1 1 3 0 0 0
0 0 0 3 0 0 1 0 0 0 0 1 0 0 3 0 0 0
0 0 0 2 1 0 0 0 0 0 0 0 0 1 2 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 1 2 0 0 0 0 2 1 0 0 0 0 0
0 0 0 0 0 1 2 0 0 0 0 2 1 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0
0 0 0 2 1 0 1 1 1 1 1 1 0 1 2 0 0 0
0 0 0 3 0 0 1 2 1 2 2 1 0 0 3 0 0 0
0 0 0 3 0 0 2 1 2 1 1 2 0 0 3 0 0 0
0 0 0 3 0 0 1 1 1 1 1 1 0 0 3 0 0 0
0 0 0 3 0 0 1 0 1 0 0 1 0 0 3 0 0 0
0 0 0 3 0 0 1 1 0 0 0 0 0 0 3 0 0 0
0 0 0 3 0 0 2 2 0 0 0 0 0 0 3 0 0 0
0 0 0 2 1 0 2 2 0 0 0 0 0 0 3 0 0 0
0 0 0 1 1 1 1 1 0 0 0 0 0 1 2 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 0
0 3 1 1 1 1 1 3 0
0 3 1 1 0 1 1 3 0
0 1 1 1 0 1 1 1 0
0 0 1 2 0 2 1 0 0
0 1 1 1 1 1 1 1 0
0 3 1 2 2 2 1 3 0
0 3 0 2 2 2 0 3 0
0 3 0 1 1 1 0 3 0
0 3 1 2 0 0 0 3 0
0 1 1 1 0 0 1 2 0
0 0 1 1 1 1 1 0 0
0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Convolution Max Pooling
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 2 3 2 2 2 3 3 2 2 2 3 2 1 0 0
0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0
0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0
0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0
0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0
0 0 1 1 1 0 1 1 2 2 2 1 0 1 1 1 0 0
0 0 1 1 1 1 1 2 1 1 1 1 1 1 1 1 0 0
0 0 1 1 1 0 1 1 2 2 2 1 0 1 1 1 0 0
0 0 1 1 1 1 1 2 1 1 1 1 1 1 1 1 0 0
0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0
0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0
0 0 1 1 1 1 2 2 1 0 0 0 0 1 1 1 0 0
0 0 1 1 1 1 2 2 1 0 0 0 0 1 1 1 0 0
0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0
0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 1 2 3 3 3 2 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 2 3 2 3 2 3 2 0
0 1 1 0 0 0 1 1 0
0 1 1 1 0 1 1 1 0
0 0 1 1 0 1 1 0 0
0 1 1 1 0 1 1 1 0
0 1 1 2 2 2 1 1 0
0 1 1 2 2 2 1 1 0
0 1 1 0 0 0 1 1 0
0 1 1 2 1 0 1 1 0
0 1 1 1 0 0 1 1 0
0 0 1 2 3 3 1 0 0
0 0 0 0 0 0 0 0 0
0 0 0
1 1 1
0 0 0
Convolution : 가로 필터
96. 1 0 1
0 1 0
1 0 1
0 1 2 2 2 2 2 1 0
0 2 3 3 2 3 3 2 0
0 2 2 1 0 1 2 2 0
0 1 3 1 0 1 3 1 0
0 0 1 2 0 2 1 0 0
0 1 3 2 2 2 3 1 0
0 2 2 3 5 3 2 2 0
0 2 2 5 3 3 2 2 0
0 2 2 2 1 1 2 2 0
0 2 2 2 1 0 2 2 0
0 1 3 2 1 1 3 2 0
0 0 1 3 2 2 3 1 0
0 0 0 1 2 2 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 2 1 2 1 2 2 1 2 1 2 1 1 0 0
0 0 1 1 2 2 0 2 1 1 2 0 2 2 1 1 0 0
0 0 2 2 3 1 3 1 2 2 1 3 1 3 2 2 0 0
0 0 2 1 2 1 0 1 0 0 1 0 1 2 1 2 0 0
0 0 1 2 1 1 0 0 0 0 0 0 1 1 2 1 0 0
0 0 1 0 3 0 1 0 0 0 0 1 0 3 0 1 0 0
0 0 0 1 0 3 0 1 0 0 1 0 3 0 1 0 0 0
0 0 0 0 1 1 2 1 0 0 1 2 1 1 0 0 0 0
0 0 0 0 1 1 2 1 0 0 1 2 1 1 0 0 0 0
0 0 0 1 0 3 0 1 0 0 1 0 3 0 1 0 0 0
0 0 1 0 3 0 2 0 2 1 1 2 0 3 0 1 0 0
0 0 1 2 1 2 0 3 0 2 2 0 2 1 2 1 0 0
0 0 2 1 2 0 3 0 5 2 2 3 0 2 1 2 0 0
0 0 2 1 2 2 0 5 0 3 3 0 2 2 1 2 0 0
0 0 2 1 2 0 2 0 3 1 1 2 0 2 1 2 0 0
0 0 2 1 2 1 0 2 0 1 1 0 1 2 1 2 0 0
0 0 2 1 2 1 1 1 1 0 0 0 0 2 1 2 0 0
0 0 2 1 2 1 2 2 1 0 0 0 0 2 1 2 0 0
0 0 1 2 1 2 2 2 1 0 0 0 0 2 1 2 0 0
0 0 1 0 3 1 2 1 1 0 0 0 1 1 2 1 0 0
0 0 0 1 0 3 0 1 0 0 0 1 0 3 0 1 0 0
0 0 0 0 1 0 3 1 2 2 2 1 3 0 1 0 0 0
0 0 0 0 0 1 0 2 1 1 1 2 0 1 0 0 0 0
0 0 0 0 0 0 1 1 2 2 2 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Convolution Max Pooling
Convolution : 지느러미 필터
97. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 2 1 1 1 1 1 1 1 1 1 1 2 0 0 0
0 0 0 3 1 1 1 1 1 1 1 1 1 1 3 0 0 0
0 0 0 3 0 0 1 0 0 0 0 1 0 0 3 0 0 0
0 0 0 2 1 0 0 0 0 0 0 0 0 1 2 0 0 0
0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 1 2 0 0 0 0 2 1 0 0 0 0 0
0 0 0 0 0 1 2 0 0 0 0 2 1 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0
0 0 0 2 1 0 1 1 1 1 1 1 0 1 2 0 0 0
0 0 0 3 0 0 1 2 1 2 2 1 0 0 3 0 0 0
0 0 0 3 0 0 2 1 2 1 1 2 0 0 3 0 0 0
0 0 0 3 0 0 1 1 1 1 1 1 0 0 3 0 0 0
0 0 0 3 0 0 1 0 1 0 0 1 0 0 3 0 0 0
0 0 0 3 0 0 1 1 0 0 0 0 0 0 3 0 0 0
0 0 0 3 0 0 2 2 0 0 0 0 0 0 3 0 0 0
0 0 0 2 1 0 2 2 0 0 0 0 0 0 3 0 0 0
0 0 0 1 1 1 1 1 0 0 0 0 0 1 2 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 0
0 3 1 1 1 1 1 3 0
0 3 1 1 0 1 1 3 0
0 1 1 1 0 1 1 1 0
0 0 1 2 0 2 1 0 0
0 1 1 1 1 1 1 1 0
0 3 1 2 2 2 1 3 0
0 3 0 2 2 2 0 3 0
0 3 0 1 1 1 0 3 0
0 3 1 2 0 0 0 3 0
0 1 1 1 0 0 1 2 0
0 0 1 1 1 1 1 0 0
0 0 0 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0
0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0
0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Convolution Max Pooling
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0
0 0 1 1 1 2 0 1 1 1 2 0 1 2 1 0 0 0
0 0 1 1 1 1 2 0 1 1 1 2 0 2 2 1 0 0
0 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0
0 0 0 2 1 0 0 0 0 0 0 0 1 0 1 1 0 0
0 0 0 0 3 0 0 0 0 0 0 1 0 1 0 1 0 0
0 0 0 0 0 3 0 0 0 0 1 0 1 0 1 0 0 0
0 0 0 0 0 1 2 0 0 0 1 1 0 1 0 0 0 0
0 0 0 0 1 0 1 1 0 0 0 2 1 0 0 0 0 0
0 0 0 1 0 1 0 1 0 0 0 0 3 0 0 0 0 0
0 0 1 0 1 0 2 0 1 1 0 0 0 3 0 0 0 0
0 0 1 1 0 2 0 2 0 1 2 0 0 1 2 0 0 0
0 0 1 1 1 0 2 0 3 1 1 2 0 1 1 1 0 0
0 0 1 1 1 1 0 3 0 2 2 0 1 1 1 1 0 0
0 0 1 1 1 0 1 0 2 0 1 2 0 1 1 1 0 0
0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0
0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0
0 0 1 1 1 1 2 1 0 0 0 0 0 1 1 1 0 0
0 0 0 2 1 0 1 2 1 0 0 0 0 1 1 1 0 0
0 0 0 0 3 0 0 1 1 0 0 0 1 0 1 1 0 0
0 0 0 0 0 3 0 0 0 0 0 1 0 1 0 1 0 0
0 0 0 0 0 0 3 1 1 1 1 0 1 0 1 0 0 0
0 0 0 0 0 0 0 2 1 1 1 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 0 0
0 1 2 2 1 2 2 2 0
0 2 1 1 0 0 1 1 0
0 0 3 0 0 1 1 1 0
0 0 1 2 0 2 1 0 0
0 1 1 2 1 0 3 0 0
0 1 2 2 3 2 1 2 0
0 1 1 3 2 2 1 1 0
0 1 1 1 1 0 1 1 0
0 2 1 2 1 0 1 1 0
0 0 3 1 1 1 1 1 0
0 0 0 3 1 1 1 1 0
0 0 0 0 1 1 1 0 0
1 0 0
0 1 0
0 0 1
Convolution : 대각선 필터
100. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0
0 0 0 0 0 1 1 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 2 2 3 3 3 3 0 0 0 0 0 0 0
0 0 0 1 1 3 3 3 3 3 3 0 0 0 0 0 0 0
0 0 0 2 2 3 3 3 3 3 3 0 0 0 0 0 0 0
0 0 0 2 2 2 2 3 3 3 3 0 0 0 0 0 0 0
0 0 0 1 1 1 1 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0
0 0 0 1 1 1 1 3 3 3 3 1 1 1 1 0 0 0
0 0 0 2 2 2 2 3 3 3 3 2 2 2 2 0 0 0
0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0
0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0
0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0
0 0 1 3 3 3 0 0 0
0 1 3 3 3 3 0 0 0
0 2 3 3 3 3 0 0 0
0 1 1 3 3 3 0 0 0
0 0 0 3 3 3 0 0 0
0 0 0 3 3 3 0 0 0
0 0 0 3 3 3 0 0 0
0 2 2 3 3 3 2 2 0
0 3 3 3 3 3 3 3 0
0 2 2 2 2 2 2 2 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0
0 0 0 0 1 1 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 2 2 3 3 3 3 0 0 0 0 0 0 0 0
0 0 1 1 3 3 3 3 3 3 0 0 0 0 0 0 0 0
0 0 2 2 3 3 3 3 3 3 0 0 0 0 0 0 0 0
0 0 2 2 2 2 3 3 3 3 0 0 0 0 0 0 0 0
0 0 1 1 1 1 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 3 3 3 3 0 0 0 0 0 0 0 0
0 0 1 1 1 1 3 3 3 3 1 1 1 1 0 0 0 0
0 0 2 2 2 2 3 3 3 3 2 2 2 2 0 0 0 0
0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0
0 0 3 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0
0 0 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0
0 0 1 3 3 0 0 0 0
0 1 3 3 3 0 0 0 0
0 2 3 3 3 0 0 0 0
0 1 1 3 3 0 0 0 0
0 0 0 3 3 0 0 0 0
0 0 0 3 3 0 0 0 0
0 0 0 3 3 0 0 0 0
0 2 2 3 3 2 2 0 0
0 3 3 3 3 3 3 0 0
0 2 2 2 2 2 2 0 0
0 0 0 0 0 0 0 0 0
MLP - 총 38 pixel 변화
Pooling - 총 12 pixel 변화
변화 pixel 수
약 70% 감소
이미지가 1칸 이동할 때
105. 12 X 12
Convolution
Layer
6 X 6
Pooling
Layer
4 X 4
Convolution
Layer
2 X 2
Pooling
Layer
4 X 1
Fully-Connected
layer
15 X 15
Input
4 ∗ 4
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
3 ∗ 3
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑙 − 1 𝑙 𝑙 + 1 𝐿, 𝑙 +2
107. 𝐿, 𝑙 +2𝑙 + 1
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑤 𝑙+1
가 전체 Cost 에
어떤 영향을 미치는지 알아야
갱신이 가능하겠죠?
108. 𝐿, 𝑙 +2𝑙 + 1
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝜕𝐶
𝜕𝑤 𝑙+1 를 구하는 것이
목적이라는 것
잊지마세요
109. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑙+1
= 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
110. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑜𝑝
𝑙+1 = 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑧 𝐿
은 Fully Connected Layer 를
거친 뒤 최종 값 입니다
111. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑜𝑝
𝑙+1 = 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
은 MaxPooling Layer 를
거친 뒤 값 입니다
112. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑜𝑝
𝑙+1 = 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑛𝑏 𝑎00
𝑙+1
은 MaxPooling Layer
에 대상이 되는 수들의 집합을
나타내는 표기법 입니다
113. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑜𝑝
𝑙+1 = 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1 𝑎 𝑜𝑝
𝑙+1은 𝑧 𝑜𝑝
𝑙+1이 활성화 함수를
거치고 난 뒤의 값입니다
이번 예제에서는 계산의 편의를
위해 항등함수를 사용합니다
114. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑜𝑝
𝑙+1 = 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑧 𝑜𝑝
𝑙+1은 𝑎 𝑚′ 𝑛′
𝑙
이 3 ∗ 3 𝑐𝑜𝑛𝑣 𝑙𝑎𝑦𝑒𝑟
를 거치고 난 뒤의 값입니다
115. 𝐿, 𝑙 +2𝑙 + 1
𝑎 𝑜𝑝
𝑙+1 = 𝑓(𝑧 𝑙+1
) ∶ 𝑓 𝑥 = 𝑥
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝐿
𝜕𝑎 𝐿
𝜕𝑧 𝐿
𝜕𝑧 𝐿
𝜕 𝑎 𝑙+1
𝜕 𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑎 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑧 𝑙+1
𝜕𝑤 𝑙+1
𝑧 𝐿 =
𝑞
𝑤 𝑞
𝑙+2 𝑎 𝑞
𝑙+1
𝑎 𝑜′ 𝑝′
𝑙+1
= 𝑚𝑎𝑥 𝑛𝑏(𝑎 𝑜𝑝
𝑙+1)
𝑛𝑏 𝑎00
𝑙+1
= 𝑎00
𝑙+1
, 𝑎01
𝑙+1
, 𝑎10
𝑙+1
, 𝑎11
𝑙+1
𝑧 𝑜𝑝
𝑙+1 =
𝑎=0
𝐴−1
𝑏=0
𝐵−1
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑜+𝑎)(𝑝+𝑏)
𝑙
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑤 𝑙+1
를 학습하려면 𝑤 𝑙+1
이 Cost 에
얼마나 영향을 미치는지
𝜕𝐶
𝜕𝑤 𝑙+1 구해야 합니다
116. 𝐿, 𝑙 +2𝑙 + 1
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝑟
𝐿
𝜕𝑎 𝑟
𝐿
𝜕𝑧 𝑟
𝐿
𝜕𝑧 𝑟
𝐿
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1
𝜕𝑎 𝑜𝑝
𝑙+1
𝜕𝑎 𝑜𝑝
𝑙+1
𝜕𝑧 𝑜𝑝
𝑙+1
𝜕𝑧 𝑜𝑝
𝑙+1
𝜕𝑤 𝑜𝑝
𝑙+1
𝜕𝑧 𝑟
𝐿
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1 =
𝜕 σ 𝑜′ 𝑝′ 𝑤 𝑜′ 𝑝′
𝑙+2
𝑎 𝑜′ 𝑝′
𝑙+1
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1 = 𝑤 𝑜′ 𝑝′
𝑙+2
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1
𝜕𝑎 𝑜𝑝
𝑙+1 =
𝜕max[𝑎 𝑙+1]
𝜕𝑎 𝑜𝑝
𝑙+1 =
1, 𝑖𝑓 𝑎 𝑜𝑝
𝑙+1
= max(𝑎)
{ 0, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝜕𝑧 𝑜𝑝
𝑙+1
𝜕𝑤 𝑜𝑝
𝑙+1 =
𝜕 σ 𝑎 σ 𝑏 𝑤 𝑎𝑏
𝑙+1
𝑎(𝑚′+𝑎)(𝑛′+𝑏)
𝑙
𝜕𝑤 𝑜𝑝
𝑙+1
=
𝑎
𝑏
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑚′+𝑎)(𝑛′+𝑏)
𝑙
= 𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑎 𝑟
𝐿
∗ −1
𝜕𝐶
𝜕𝑎 𝑟
𝐿
2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝑎 𝑚′ 𝑛′
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝜕𝐶
𝜕𝑤 𝑙+1 을 구하기 위해서는 아래의 요소들을
하나씩 구해서 곱하기만 하면 됩니다
117. 2 ∗ 2
𝑀𝑎𝑥𝑃𝑜𝑜𝑙𝑖𝑛𝑔 𝑈𝑛𝑖𝑡
𝑖𝑛𝑑𝑒𝑥 − 𝑜′, 𝑝′
𝐿, 𝑙 +2𝑙 + 1
𝑧 𝐿
𝑎 𝑜′ 𝑝′
𝑙+1
1 ∗ 4 ∶ 𝑤 𝑙+2
𝑊𝑒𝑖𝑔ℎ𝑡 𝑀𝑎𝑡𝑟𝑖𝑥
3 ∗ 3 ∶ 𝑤 𝑙+1
𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐹𝑖𝑙𝑡𝑒𝑟
𝑖𝑛𝑑𝑒𝑥 − 𝑜, 𝑝
𝜕𝐶
𝜕𝑤 𝑙+1 =
𝜕𝐶
𝜕𝑎 𝑟
𝐿
𝜕𝑎 𝑟
𝐿
𝜕𝑧 𝑟
𝐿
𝜕𝑧 𝑟
𝐿
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1
𝜕 𝑎 𝑜′ 𝑝′
𝑙+1
𝜕𝑎 𝑜𝑝
𝑙+1
𝜕𝑎 𝑜𝑝
𝑙+1
𝜕𝑧 𝑜𝑝
𝑙+1
𝜕𝑧 𝑜𝑝
𝑙+1
𝜕𝑤 𝑜𝑝
𝑙+1
𝑎 𝑚′ 𝑛′
𝑙
= − 𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑎 𝑟
𝐿 ∗ 𝑤 𝑜′ 𝑝′
𝑙+2
∗
𝑎
𝑏
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑚′+𝑎)(𝑛′+𝑏)
𝑙
𝑧 𝑜𝑝
𝑙+1, 𝑎 𝑜𝑝
𝑙+1
𝑤+ = 𝑤 − 𝜂 ∗
𝜕𝐸
𝜕𝑤
= 𝑤 + 𝜂 ∗ 𝑡𝑎𝑟𝑔𝑒𝑡 − 𝑎 𝑟
𝐿
∗ 𝑤 𝑜′ 𝑝′
𝑙+2
∗
𝑎
𝑏
𝑤 𝑎𝑏
𝑙+1
𝑎(𝑚′+𝑎)(𝑛′+𝑏)
𝑙
127. Detect Model : OverFeat
NewYork Univ - 2014
영상을 키워가면서
단일 크기의 윈도우로
계속 판별해서 알아내기
128. Detect Model : OverFeat
NewYork Univ - 2014
영상을 키워가면서
판별하기 때문에
객체의 크기 변화에 대응 가능
130. Detect Model : OverFeat
NewYork Univ - 2014
동일 객체로 추정되는 사각형들을 합치기
133. Detect Model : R-CNN
UC Berkeley - 2014
Input Region Proposals
(Selective Search)
classifier
Compute
Regions
DOG
CAT
Classify
# 객체를 먼저 찾는
과정을 추가
135. R-CNN 에서 개선 가능한 곳은
Region proposal, Classifier
두 군데
137. Detect Model : Fast R-CNN
Microsoft - 2015
Region Proposals
(Selective Search)
Compute
Regions
classifier
Classify
DOG
CAT
convolution
& pooling
R-CNN 과 달라진 부분
중복 구역 제거
계산 시간 단축
140. Detect Model : Faster R-CNN
Microsoft - 2015기존의 Region Proposal 과정을 개선한
Region Proposal Network 층을 추가
Region Proposal Network
141. R-CNN Fast R-CNN Faster R-CNN
Time per image 50 secs 2 secs 0.2 secs
SpeedUp 1x 25x 250x
mAP 66.00% 66.90% 66.90%
R-CNN benchmark
Faster R-CNN 의 경우 초당 5 frame 의 연산이 가능하지만
Real-Time Image Detection 이 가능하진 않습니다