[청강] 딥러닝 5 - Convolutional Neural Network (CNN)

방선생·2026년 1월 18일

청강

목록 보기
5/19

한양대학교 박서연 교수님 - github.io

(한양대학교 박서연 교수님의 딥러닝 수업을 청강 하면서 정리한 내용을 바탕으로 교수님의 허락을 받고 작성하였습니다.)


Convolutional Neural Network (CNN)

CNN Code - GitHub


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

MaxPool2d — PyTorch 2.9 documentation

AvgPool2d — PyTorch 2.9 documentation

profile
AI & Robotics

0개의 댓글