합성곱 신경망

합성곱 신경망(콘볼루션 신경망, Convolutional neural network, CNN)은 시각적 영상을 분석하는 데 사용되는 다층의 피드-포워드적인 인공신경망의 한 종류이다. 필터링 기법을 인공신경망에 적용하여 이미지를 효과적으로 처리할 수 있는 심층 신경망 기법으로 행렬로 표현된 필터의 각 요소가 데이터 처리에 적합하도록 자동으로 학습되는 과정을 통해 이미지를 분류하는 기법이다.[1]

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

영향 편집

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

특성 편집

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

구조 편집

합성곱 신경망은 크게 합성곱층(Convolution layer)과 풀링층(통합 계층, Pooling layer), 완전하게 연결된 층(fully connected layer)들로 구성된다. 그리고 분류연산이라는 행렬 곱 연산을 준비한다.

우선 기존 사진의 정보를 가진 신경망에 합성곱층과 풀링층을 완전하게 연결된 층 이전에 추가하여 원본 이미지에 필터링 기법을 적용한다. 이어 해당 이미지에 분류연산을 수행시킨다. 이를 통해 합성곱층이 이미지에 분류연산이 하고자 하는 필터를 씌울 수 있다. 여기서 다시 풀링 계층은 각 이미지의 국소적인 부분을 하나의 대표적인 스칼라 값으로 변환하여 행렬 곱 연산으로 인해 커진 이미지 크기를 줄이는 등의 기능을 수행한다.[2]

같이 보기 편집

각주 편집