Convolution : 예전에 나온 개념 / 두 개의 함수를 섞어주는 operator로 정의

같은 이미지에 따라서 적용하는 커널에 따라 이미지가 다르게 나온다

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5da7c7b9-2394-4357-b8c7-b21bbd016c34/스크린샷_2021-08-11_오전_10.20.27.png

여러 개의 convolution 을 가지는 채널을 feature map이라고 함

Input 채널과 output 채널의 Feature map을 을 알면 중간에 어떠한 feature map을 사용했는지 알 수 있다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/08c40d29-b1b8-4af4-80af-1fcefd85fc8c/스크린샷_2021-08-11_오전_10.22.00.png

여러 개의 convolution을 쌓는다.

이 연산을 정의하는데 필요한 파라미터의 숫자에 focus를 두기 ! ← 커널사이즈 5*5 * input채널 수 3 * output채널 수 4를 곱하면 됨 !

convolution과 pooling layer가 해주는 것 : 이미지에서 유용한 정보를 추출 !

fully connected layer : decision making 예를 들어 분류나 회귀

최근에 fully connected layer가 줄어드는 추세 → fully connected 연산을 할 때 파라미터 수가 급격하게 늘어나기 때문 / 아래의 그림을 보면 이해할 것임

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fe69e05a-399c-4008-a29a-61a6f2b89ae2/스크린샷_2021-08-11_오후_12.27.42.png

그래서 요즘의 Trend는 Conv layer를 deep하게 가져가고 fully connected layer 수를 줄이는 추세

결론적으로 연산의 목적은 파라미터의 수를 줄이면서 deep하게 쌓아가는 것. → 1x1 layer도 많이 사용한다 ← 차원을 줄이기 위해 !

shape 계산식 : ( (n + 2p - k)/s ) + 1

https://seongkyun.github.io/study/2019/01/25/num_of_parameters/