오늘도 ChatGPT에게 먼저 질문했다.
이제는 답변을 정리해서 쓰기로 했다.
좋은 답을 내놓긴 하지만 장황하게 대답하는 경우가 많아서.
- CNNs are inspired by the visual cortex of animals, which is responsible for processing visual information.
- They consist of multiple convolutional layers that extract features from the input images.
- The output of each convolutional layer is passed through a non-linear activation function.
- Pooling layers are often used to reduce the spatial dimensionality of the feature maps.
- The use of convolutional layers, which allows for the automatic extraction of relevant features from images
- traditional neural networks used fully connected layers, which required the input data to be flattened into a 1-dimensional vector, losing the spatial information in the process. This made it difficult to handle images and other high-dimensional data
- which apply a set of filters to the input image, extracting features such as edges, corners, and textures
- can learn increasingly complex features and relationships in the data
- allowing for higher accuracy and faster training times
- their purpose is to automatically extract relevant features from the input image.
- consists of a set of filters (also called kernels or weights), each of which is a small matrix that is applied to a specific region of the input image
- The filter slides across the input image, computing the dot product between itself and the region of the image it is currently positioned over
재정리 해보자.
Convolution 연산은 커널(Kernel)을 입력 벡터 상에서 움직이며 선형 모델, 활성 함수가 적용된다.
수학적 의미는 신호(signal)를 커널을 이용해 국소적으로 증폭 또는 감소시켜 정보 추출, 필터링 하는 것.
1차원뿐만 아니라 다양한 차원에서 계산가능하다.
정의역 내에서 움직여도 변하지 않고(Translation Invariant
) 국소적으로(Local
) 적용
f: 커널, g: 입력
입력크기 커널 크기 , 출력 크기
→ ,
채널이 여러 개인 경우 커널의 채널 수와 입력의 채널 수가 같아야 한다.
커널이 모든 입력에 공통 적용되기 때문에 역전파 계산할 때도 convolution 연산을 한다. (Discrete 일 때도 성립한다.)
위에선 수학적으로 접근했다면
이제는 단순하게 정리해보겠다.
CNN은 convolution layer, pooling layer, and fully connected layer로 구성된다.
Kernel이 Input을 Stride만큼 옆으로 가며 Feature를 뽑는다.
EX)
Stride : Kernel의 step size를 결정한다.
Padding : Input의 spatial dimensions을 보존하기 위해 사용한다.
Parameters 수 계산해보기
참고 자료