Neural Network의 연산 과정
Convolution Neural Network
convolution연산은 다양한 차원에서 계산이 가능하다.
1 demension
2 demension
3 demension
2 demension상에서의 Convolution연산 과정
입력 크기를(H,W), 커널 크기를(K(H), K(W)), 출력 크기를(O(H), O(W))라 하였을 때 출력의 크기는 다음과 같다.
3 demension상에서의 Convolution연산 과정
입력 크기를(C,H,W), 커널 크기를(C, K(H), K(W))라 하였을 때 출력의 크기는 (1,O(H), O(W))이다.
만약, 입력 커널의 수가 C개면 다음과 같다.
입력 크기를(H,W,C), 커널 크기를(K(H), K(W), C)라 하고 커널의 수를 C개라 하면 출력의 크기는 (O(H), O(W), C)이다.
convolution 연산은 커널이 모든 입력데이터에 공통으로 적용되기 때문에 역전파를 계산할 때도 convolution 연산이 나오게 된다.
convolution 연산의 역전파의 수식
convolution 연산의 역전파 예시로 이해하기
위와 같은 convolution의 연산이 주워져 있다고 생각하자
kernel은 input상에서 움직이면서 각각의 output을 도출을 하게 된다.
(이때, stride를 1을 주게 되면 총 3번을 움직이게 되어 output이 3개가 도출이 된다.)
이에 따라 식을 도출해 보게 되면 다음과 같다.
이때, 컨볼루션 층에 전체 손실에 대한 편미분값인 (δ1, δ2, δ3)이 역전파 되었으므로 이를 Chain rule을 통하여 w1, w2, w3에 대한 편미분 값을 구할 수 있다. convolution층의 마지막 도출이 되는 값을 L로 두고 식을 세워나가 보면 다음과 같다.
즉, 위와 같은 형태로써 미분된 (δ1, δ2, δ3)값으로 convolution연산을 해 준 형태와 같은 형태가 나오는 것을 볼 수 있다.
Naver BoostCamp AI Tech - edwith 강의