Broccoli's House

#6-(1) 합성곱 신경망(CNN) : 소개 및 구조 본문

공부/딥러닝

#6-(1) 합성곱 신경망(CNN) : 소개 및 구조

김콜리 2018. 3. 16. 23:28

※ 이 글의 내용은 O'REILLY의 <밑바닥부터 시작하는 딥러닝> 책을 기반으로 한다.




합성곱 신경망(CNN) : 소개 및 구조



  • 합성곱 신경망
 - 합성곱 신경망 : 합성곱 신경망(CNN : Convolutional Neural Network)은 음성 인식이나 이미지 인식 에서 주로 사용되는 신경망의 한 종류이다. 다차원 배열 데이터를 처리하도록 구성되어 있어, 컬러 이미지와 같은 다차원 배열 처리에 특화되어 있다. 따라서 이미지 인식 분야에서 딥러닝을 활용한 기법은 대부분 CNN을 기초로 한다. 



 - 일반 신경망의 경우, 이미지 데이터를 그대로 처리한다. 즉, 이미지 전체를 하나의 데이터로 생각해서 입력으로 받아들이기 때문에, 이미지의 특성을 찾지 못하고 위와 같이 이미지의 위치가 조금만 달라지거나 왜곡된 경우에 올바른 성능을 내지 않는다. 그러나 합성곱 신경망(CNN)은 이미지를 하나의 데이터가 아닌, 여러 개로 분할하여 처리한다. 이렇게 하면 이미지가 왜곡되더라도 이미지의 부분적 특성을 추출할 수 있어 올바른 성능을 낼 수 있다. 



  • CNN의 구조


 - 합성곱 신경망의 경우에도 여태까지의 신경망과 마찬가지로 여러 계층을 조합하여 만들어진다. 다만 일반적인 신경망과는 다르게, 합성곱 계층(Convolutional Layer)와 풀링 계층(Pooling Layer)이 추가된다(풀링 계층은 생략 가능하다). 

 - CNN의 특징 중 하나는, 합성곱 계층과 풀링 계층이 추가되긴 하였지만 출력과 가까운 층에서는 여태껏 사용했던 'Affine-ReLU' 계층 구성을 사용할 수 있다는 것이다. 또한 마지막 계층에서는 'Affine-Softmax' 조합을 그대로 사용한다. 위의 구조가 일반적인 CNN에서 흔히 볼 수 있는 구성이다.


Comments