합성곱 신경망

위키백과, 우리 모두의 백과사전.
둘러보기로 가기 검색하러 가기

합성곱 신경망(Convolutional neural network, CNN)은 시각적 영상을 분석하는 데 사용되는 다층의 피드-포워드적인 인공신경망의 한 종류이다. 딥 러닝에서 심층 신경망으로 분류되며, 시각적 영상 분석에 주로 적용된다. 또한 공유 가중치 구조와 변환 불변성 특성에 기초하여 변이 불변 또는 공간 불변 인공 신경망 (SIANN)으로도 알려져 있다. 영상 및 동영상 인식, 추천 시스템, 영상 분류, 의료 영상 분석 및 자연어 처리 등에 응용된다.

합성곱 신경망은 정규화 된 버전의 다층 퍼셉트론이다. 다층 퍼셉트론은 일반적으로 완전히 연결된 네트워크, 즉 한 계층의 각 뉴런이 다음 계층의 모든 뉴런에 연결되는 신경망 구조이다. 이와 같이 네트워크가 완전 연결된 경우 주어진 데이터에 과적합 되는 경향이 있다. 일반적인 정규화를 위해 최적화 함수에 특정 척도를 추가하는 방법이 흔이 쓰이지만, CNN은 정규화를 위한 다른 접근 방식을 취한다. 데이터에서 계층적 패턴을 활용하고 더 작고 간단한 패턴을 사용하여 더 복잡한 패턴을 표현함으로써 정규화와 같은 효과를 내는 것이다. 따라서 합성곱 신경망의 연결 구조의 복잡성은 유사한 기능의 다층 퍼셉트론에 비해 극단적으로 낮다.

합성곱 신경망은 뉴런 사이의 연결 패턴이 동물 시각 피질의 조직과 유사하다는 점에 영감을 받았다. 개별 피질 뉴런은 수용장(receptive field)으로 알려진 시야의 제한된 영역에서만 자극에 반응한다. 상이한 뉴런의 수용 필드는 전체 시야를 볼 수 있도록 부분적으로 중첩된다.

합성곱 신경망을 이용한 영상 분류는 다른 영상 분류 알고리즘에 비해 상대적으로 전처리를 거의 사용하지 않는다. 이는 신경망이 기존 알고리즘에서 수작업으로 제작된 필터를 학습한다는 것을 의미한다. 기존 영상 분류 알고리듬에서 설계자가 영상의 특징들을 미리 이해해 알고리듬을 만드는 과정이 없는 것이 합성곱 신경망의 주요한 장점다.

합성곱 신경망은 크게 합성곱층(Convolution layer)과 풀링층(Pooling layer)으로 구성된다.