합성곱 신경망(CNN)란?
작은 필터(커널)를 입력 위에서 옮겨 가며 곱의 합을 계산하는 합성곱 층을 중심으로, 풀링 층 등을 쌓은 신경망. 같은 필터를 입력 전체에서 재사용하므로 완전 연결층에 비해 파라미터가 적고, 이미지의 윤곽이나 무늬 같은 국소적인 특징을 위치에 관계없이 추출할 수 있다. 이미지 인식, 물체 검출, 음성 처리 등에 사용된다.
일본어 명칭: 畳み込みニューラルネットワーク(CNN)
합성곱 신경망(CNN)은(는) AI 하드웨어·소프트웨어 스택, 머신러닝의 기초 등 2개 분야의 연습 문제 2개에 나와요.
분야: 머신러닝의 기초
합성곱 층의 계산
합성곱 층에서는 예를 들어 3×3 필터를 이미지의 왼쪽 위부터 일정한 간격(스트라이드)으로 옮기면서, 겹친 화소와 필터 가중치의 곱의 합을 계산하여 특성 맵을 만듭니다. 출력의 크기는 입력의 크기 N, 필터의 크기 F, 패딩 P, 스트라이드 S를 사용하여 (N + 2P − F) ÷ S + 1입니다. 하나의 층에서는 여러 필터를 사용하며, 각각이 세로 윤곽, 가로 윤곽, 색의 변화 등 서로 다른 특징을 추출합니다. 깊은 층일수록 눈이나 바퀴 같은 크고 복잡한 특징에 반응하게 됩니다.
자주 묻는 질문
합성곱 층의 계산은 수학의 합성곱과 같은가요?
많은 프레임워크에서는 필터를 뒤집지 않고 곱의 합을 취하는, 상호 상관이라고 불리는 계산을 합성곱이라고 부르고 있습니다. 필터의 가중치는 학습으로 정해지므로, 뒤집는지 아닌지는 모델의 성능에 영향을 주지 않습니다.
CNN은 이미지 이외에도 사용할 수 있나요?
사용할 수 있습니다. 음성 파형이나 시계열 데이터에는 1차원 합성곱, 동영상이나 의료용 입체 영상에는 3차원 합성곱이 사용됩니다. 이웃한 데이터 사이에 관계가 있는, 격자 모양으로 늘어선 데이터에 적합합니다.