CNN(Convolutional Nueral Network)
Convoultuin이란?
콘볼루션은 두 함수를 곱하고, 합한다는 뜻을 가지고 있는데요. 신호나 영상을 바탕으로 하는 함수를 통해, 과거, 현재, 그리고 미래의 값들을 생각해서 곱하고 합치는 연산이라고 할 수 있습니다. - 포스텍 2022 여름호
신호, 영상 등에서 자주 사용되는 연산입니다. 영상에서는 주변 픽셀들을 고려한 연산으로 사용됩니다.
구조(Structure)
기본적인 과정 예시입니다.
- Raw Image -> Convolution -> Subsampling -> Fully Connection
구체적인 과정 예시입니다.
- Raw Image -> Convolution -> Bias-add -> ReLU -> Max Pooling -> Reshape -> FC
FC전까지를 Covolutional Layer라고 합니다. 이 과정에서 feature extraction을 하게 됩니다.
특징
보통 FC의 파라미터 수가 전체 파라미터 수의 큰 비율을 차지합니다.
따라서 Convolution Layer를 늘리고 Fully Connected layer를 줄여야 총 Parameter 수가 줄게 됩니다.
그러기 위해 FC Layer를 없애는 방법도 있다고 합니다.
참고
https://aikorea.org/cs231n/convolutional-networks/
댓글