AI 용어집 · 기초 · 컴퓨터 비전
CNN 합성곱 신경망, Convolutional Neural Network
CNN(합성곱 신경망)은 이미지처럼 격자 모양으로 놓인 데이터에서 작은 창(필터)을 조금씩 옮겨 가며 무늬를 찾아내는 인공 신경망이다. 사진 속 물체를 알아보는 기술의 바탕으로 널리 쓰였다.
어떻게 작동하나
CNN의 핵심은 합성곱 층이다. 작은 필터가 이미지 위를 한 칸씩 미끄러지며, 각 위치에 특정 무늬(가로선, 모서리 등)가 있는지 점수를 매긴다. 이어서 풀링 단계가 이 결과를 듬성듬성 요약해 크기를 줄이고, 물체 위치가 조금 달라져도 비슷하게 인식하도록 돕는다. 이런 층을 여러 번 쌓으면 앞쪽 층은 선·모서리를, 뒤쪽 층은 눈·바퀴처럼 더 복잡한 모양을 알아본다. 마지막 분류 층이 모은 특징을 바탕으로 '고양이', '자동차' 같은 결과를 낸다.
왜 중요한가
이미지의 모든 픽셀을 한꺼번에 연결하면 계산해야 할 파라미터가 너무 많아진다. CNN은 같은 필터를 이미지 전체에 돌려 쓰기 때문에 훨씬 적은 파라미터로 효율적으로 배운다. 덕분에 사진 분류, 얼굴 인식, 의료 영상 판독, 자율주행 카메라 인식 같은 분야가 크게 발전했다. 딥러닝이 대중에게 알려진 계기도 상당 부분 이미지 인식에서의 CNN 성공이었다.
알아 둘 점
요즘 이미지 분야에서는 트랜스포머 기반 모델도 많이 쓰이지만, CNN은 가볍고 빠르다는 장점 때문에 스마트폰 같은 온디바이스 AI에서 여전히 자주 쓰인다. 두 방식을 섞은 모델도 많다. CNN은 가까이 있는 픽셀 사이의 관계를 잘 잡는 대신, 멀리 떨어진 부분 사이의 관계는 층을 많이 쌓아야 파악한다. 또 학습 데이터와 많이 다른 이미지에는 엉뚱하게 반응할 수 있다.
예시
스마트폰 사진첩이 사진을 '음식', '반려동물', '풍경'처럼 자동으로 분류하거나, 카메라 앱이 얼굴을 찾아 초점을 맞추는 기능에는 CNN 계열 모델이 흔히 쓰인다. 공장에서 제품 사진을 찍어 흠집을 찾아내는 불량 검사 시스템도 대표적인 활용 예다.