Fully Connected Neural Network
- 이전 layer에 있는 모든 피쳐가 다음 layer의 모든 피쳐들에 영향을 준다
- 한계점 : Weight Matrix가 여러개여도 Stretch input vectors into column이 한 개임
- 이미지의 경우 공간 정보가 없어져버리는 issue가 생김 -> CNN 등장 이유
Convolutional Neural Network (CNN)
- filter를 적용하여 공간 정보를 보존함
- 보통 Image의 depth와 filter의 마지막 Dimension의 크기를 같게함
- filter를 적용하여 나온 값들을 activation map이라고함
- filter size만큼 생성됨 (각 activation map마다 정보가 다름)
- filter를 적용했을 때 output dimension의 크기 계산
- filter를 계속 진행할 경우 dimension이 점점 작아짐
- 정보의 소실이 계속 이러나게됨 -> Padding
Pooling
- Padding를 통해 Convolutional layer를 진행하게 되면 정보의 소실은 줄였지만, 너무 dimension이 커짐 → 최소한의 정보의 소실을 통해 핵심 의미 정보만 추출
![]()
![]()
Benefits of leveraging Pooling Layer
- makes a model to be robust to small translations
- context를 배울 수 있음 → 노이즈를 어느정도 해결할 수 있음
- the model to be more generalizable → It can prevent overfitting
Convolutional Neural Network for Natural Language Processing
Convolutional Neural Network for Natural Language Processing Paper
- CNN은 sequence of words를 image처럼 처리함
- 단어간의 관계를 파악할땐 유용하지만, long-term dependency를 파악할때는 적절하지 않음
- text는 순서가 중요하지만, CNN은 순서를 구분하지 않음
What is Convolutional Neural Network — CNN (Deep Learning)
Conv2d — PyTorch 2.9 documentation