본문 바로가기
  • Let's go grab a data
Data/Talk

합성곱신경망 CNN (Convolutional Neural Network)

by pub-lican-ai 2017. 6. 2.
반응형

합성곱신경망 CNN (Convolutional Neural Network)


신경망으로 구성된 딥러닝 유형으로 특히 이미지의 사물 인식 분야, 음성 인식 분야에서 각광 받음

컬러 이미지와 같은 다차원 배열로 이루어진 데이터 처리 가능 (입력이 2차원)

일반적인 신경망은 이미지 데이터 그대로 처리하지만, CNN은 이미지에서 특징을 추출해 처리함


CNN의 단계

지역 수용 영역Local receptive fields -> 합성곱 Convolution -> 풀링 pooling


CNN의 특징 및 가정

지역 연결성Local connectivity 

2차원 데이터의 일부분이 다른 부분과 연관성이 있을 수 있다고 가정함



지역 수용 영역 단계 : 첫 번째 레이어의 영역에 해당하는 뉴런은 다음 레이어의 하나의 뉴런으로 표현됨

지역 연관성을 이용하는 이유는 일반적으로 이미지의 특징이 한데 모여있고 연관성이 강하기 때문이다.

예를 들어 얼굴에서 눈을 찾으려면 눈에 해당하는 픽셀이 비슷한 좌표에 모여 있어서 특성을 추출하기가 쉽다.


합성곱Convolution 단계

픽셀 영역별로 시프트를 해가면서 다음 레이어의 뉴런과 연결하는 작업

28x28픽셀의 이미지를 5x5영역으로 나누면 은닉레이어의 크기는 24x24픽셀이 된다.

은닉레이어의 각 뉴런은 편향값bias과 5x5의 가중치값을 가지고 있다. 

이 값들은 입력데이터마다 위치가 변경되어도 같은 특징을 인식한다

서로 공유하는 이유로 각각 공유가중치shared weights와 공유편향shared biases이라고 부른다.


합성곱 레이어는 여러개의 특징지도feature map를 가진다.

따라서 3개의 특징 지도를 가진다면 3x24x24로써 각각 5x5(25개)의 가중치 값*3과 1개 bias값 *3 해서 총 78개의 값만 있음녀 된다.


풀링 단계

3번째 풀링 레이어는 합성곱 레이어의 특징을 압축한 특징 지도를 형성한다.

일반적으로 합성곱 레이어의 2x2영역을 하나의 뉴런으로 만들어 3x12x12의 정보로 이루어질 수 있다.


마지막 출력 레이어는 최대값 풀링 레이어의 모든 뉴런과 완전 연결되어 출력 값이 어떤 클래스에 해당하는지 파악되는데 사용한다.


합성곱 신경망은 경사하강법gradient descent와 역전파backpropagation 알고리즘을 통해 학습 시킬 수 있다.


텐서플로 입문: 예제로 배우는 텐서플로, 에이콘


파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

반응형