스물두줄

컴퓨터시스템응용기술사 · 개념서 · 인공지능 및 머신러닝

CNN

설명 영상 CNN 합성곱 신경망 설명 · 2:36

왜 배우는가: CNN은 이미지·영상 인식의 기본 구조로, 실무에서 영상 분류·검출·의료영상 분석에 널리 쓰인다. 합성곱·풀링·완전연결 층의 역할은 기술사 시험에서 용어형과 논술형 모두에 반복해서 나온다.

출제 이력: 제128회 1교시 7번, 제111회 1교시 6번

1. 한 줄 정의와 핵심 키워드

CNN은 합성곱 연산으로 입력의 공간적 특징을 추출해 분류·인식하는 심층 신경망이다.

  • 합성곱 신경망
  • 합성곱 층(Convolution Layer)
  • 필터(커널)
  • 특성 맵(Feature Map)
  • 풀링(Pooling)
  • 패딩(Padding)
  • 스트라이드(Stride)
  • 완전연결 층(Fully Connected Layer)

2. 개념 풀이

쉬운 말로 하면, CNN은 사진을 작은 돋보기로 조금씩 훑어 모서리·질감 같은 특징을 찾고, 그 특징을 모아 무엇인지 맞히는 모델이다. 사진을 한 줄로 펼쳐 학습하는 일반 신경망과 달리, 가까운 픽셀끼리의 관계를 그대로 보존한다.

정식 정의는 다음과 같다. 합성곱 신경망(Convolutional Neural Network, CNN)은 시각적 영상을 분석하는 데 쓰는 다층 피드포워드 인공신경망으로, 필터링 기법을 신경망에 적용해 필터의 각 요소를 학습으로 얻는다.

핵심 용어는 다음과 같다.

합성곱 층은 필터를 입력의 일부 영역에 곱하고 더해 특성 맵을 만드는 층이다. 필터 하나가 특성 맵 하나를 만든다. 입력의 채널 수와 필터의 채널 수는 같아야 한다.

필터(커널)는 가중치와 절편을 묶은 것이며, 밀집층의 뉴런에 해당한다. 자주 쓰는 크기는 설계에 따라 달라진다.

특성 맵은 합성곱 층이나 풀링 층의 출력 배열이다.

풀링 층은 가중치 없이 특성 맵의 가로·세로 크기를 줄인다. 최대 풀링과 평균 풀링이 대표적이다.

패딩은 입력 주위를 0 등으로 채우는 것이다. 출력 크기를 조정하고, 층을 거듭해도 크기가 1로 줄지 않게 한다.

스트라이드는 필터가 이동하는 간격이다. 스트라이드를 키우면 출력 크기가 작아진다.

3. 등장 배경과 필요성

완전연결 신경망은 영상을 평평한 픽셀 배열로 펼쳐 처리한다. 이 방식은 이웃 픽셀의 공간 구조와 지역 관계를 잘 잡아내지 못한다. 입력이 커질수록 매개변수 수도 급증해 과적합이 생기기 쉽다.

CNN은 이 문제를 두 가지로 풀었다. 첫째, 필터를 입력 전체에 공유해 매개변수 수를 줄였다. 둘째, 작은 영역(수용 영역)만 연결해 지역 패턴을 포착하게 했다.

또 CNN은 저수준 특징(모서리, 선)에서 고수준 특징(객체 부분, 의미 개념)으로 층마다 계층적으로 특징을 학습한다. 이 구조 덕분에 위치가 바뀌어도 같은 특징을 찾는 성질(변환 불변성)을 얻는다.

이 배경은 영상 분류, 객체 검출, 얼굴 인식 같은 시각 과제에서 CNN이 널리 쓰이는 이유가 된다.

CNN의 본질은 지역 연결과 가중치 공유로 매개변수를 줄이면서 공간 구조를 보존하는 데 있다.

4. 구성요소·원리·절차

CNN은 입력 영상에서 국소 특징을 뽑는 합성곱층(Convolution Layer), 비선형성을 주는 활성화 함수(ReLU), 특징 맵 크기를 줄이는 풀링층(Pooling Layer), 최종 분류를 맡는 완전연결층(Fully Connected Layer)과 소프트맥스(Softmax)로 구성된다. 층을 쌓는 기본 골격은 다음과 같다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기