(C1,H1,W1)크기의 입력이 들어오고 (C2,H2,W2)크기의 출력이 나오는 Convolutional layer에서 커널의 크기가 (kh,kw)라 할 때 Convolution연산의 종류에 따라 파라미터 수, 연산량을 알아보자.
Convolution
일반적인 Convolution의 경우 weight 파라미터의 크기는 (C2,C1,kh,kw)이다. (C1,kh,kw) 크기의 커널이 Convolution연산을 하여 (1,H2,W2)의 출력을 내고 이 과정이 C2회 반복되어 concate된다.
파라미터 크기 (C2,C1,kh,kw)
연산량 O(C1khkw∗H2W2∗C2)
Depthwise Convolution
채널 방향으로 Convolution이 일어나지 않아 연산량을 줄일 수 있다. mobile net에서 쓰였다.
파라미터 크기 (C2,1,kh,kw)
연산량 O(khkw∗H2W2∗C2)
Pointwise Convolution
채널 방향으로만 Convolution을 하는 방식이다. convmixer에서 depthwise convolution과 함께 쓰였다.
파라미터 크기 (C2,C1,1,1)
연산량 O(C1∗H2W2∗C2)