CNN

기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 05:08 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

🖼️ CNN (Convolutional Neural Network)

CNN 또는 '합성곱 신경망'은 딥러닝 모델의 한 종류로, 인간의 시신경이 이미지를 처리하는 방식을 모방하여 설계되었습니다. 특히 이미지와 같은 그리드(Grid) 형태의 데이터를 처리하는 데 매우 뛰어난 성능을 보여, 컴퓨터 비전 분야의 핵심 기술로 사용됩니다.


🧱 CNN의 핵심 구성 요소

CNN은 크게 두 부분으로 나뉩니다: 이미지의 특징을 추출하는 '합성곱 층(Convolutional Layer)'과, 추출된 특징을 기반으로 이미지를 분류하는 '완전 연결 층(Fully Connected Layer)'.

  • 합성곱 층 (Convolutional Layer)

> * `필터(Filter)` 또는 `커널(Kernel)`이라는 작은 행렬을 사용하여, 이미지 위를 이동하면서 합성곱 연산을 수행하여 '특징 맵(Feature Map)'을 생성합니다. 필터는 이미지의 엣지, 질감, 색상 등 특정 시각적 특징을 감지하는 역할을 합니다.

  • 풀링 층 (Pooling Layer)

> * 특징 맵의 크기를 줄여(Down-sampling), 연산량을 감소시키고 중요한 특징만 남기는 역할을 합니다. (예: Max Pooling, Average Pooling)

  • 완전 연결 층 (Fully Connected Layer)

> * 합성곱과 풀링을 통해 추출된 최종 특징 맵을 1차원 벡터로 펼친 후, 이를 입력으로 받아 이미지를 최종적으로 어떤 클래스(예: 고양이, 개)로 분류할지 결정합니다.


🤔 CNN은 왜 이미지 처리에 강한가?

  • 지역적 특징 학습 : 필터를 통해 이미지의 전체가 아닌 일부 영역의 특징을 먼저 학습하고, 이를 조합하여 전체를 이해하는 방식으로 동작하여 효율적입니다.
  • 파라미터 공유 : 하나의 필터가 이미지의 모든 위치에 동일하게 적용되므로, 일반적인 신경망(DNN)에 비해 학습해야 할 파라미터의 수가 훨씬 적어 학습 효율이 높습니다.
  • 공간적 구조 유지 : 이미지의 2차원 공간 정보를 유지하면서 특징을 학습하므로, 객체의 위치가 변하더라도 잘 인식할 수 있습니다.

💡 기술사 핵심 Point

  • CNN은 이미지 분류(Image Classification), 객체 탐지(Object Detection), 이미지 분할(Image Segmentation) 등 컴퓨터 비전의 거의 모든 분야에서 핵심적인 역할을 합니다.
  • 대표적인 CNN 아키텍처로는 `LeNet`, `AlexNet`, `VGGNet`, `GoogLeNet`, `ResNet` 등이 있으며, 이 모델들의 발전 과정을 이해하는 것이 중요합니다.
  • CNN은 2차원 이미지뿐만 아니라, 1차원 시계열 데이터나 3차원 비디오 데이터 분석에도 응용될 수 있습니다.