딥러닝_합성곱 신경망 (Convolutional Neural Network, CNN)

2021. 8. 26. 01:40Deep Learning

https://untitledtblog.tistory.com/150

 

[머신 러닝/딥 러닝] 합성곱 신경망 (Convolutional Neural Network, CNN)과 학습 알고리즘

1. 이미지 처리와 필터링 기법 필터링은 이미지 처리 분야에서 광범위하게 이용되고 있는 기법으로써, 이미지에서 테두리 부분을 추출하거나 이미지를 흐릿하게 만드는 등의 기능을 수행하기

untitledtblog.tistory.com

CNN 구조

이미지데이터를 다룰 때 CNN이 사용된다. 행렬형태로 데이터를 입력받아 정보 손실이 적기 때문이다. 또한 필터들을 모수화 (parameterization)할 수 있을 정도의 model parameter만 필요하며, CNN의 마지막 fully-connected layer는 원본 이미지가 아닌 풀링 계층을 통해 축소된 이미지를 처리하기 때문에 fully-connected layer의 가중치 또한 크게 줄어든다.

 

convolution layer + pooling layer로 특징을 추출하고Fully-connected layer로 클래스를 분류해 입출력 데이터의 형상을 유지한다.

 

1. convolution layer (합성곱 계층)

2X2X1 형태의 이미지 생성

  • n개의 채널은 n개의 필터를 갖게된다.
  • CNN에서 학습의 대상은 filter parameter 이다.
  • stride는 필터의 이동량을 의미한다.
  • 그림에서 볼 수 있듯이 합성곱을 거치면 이미지의 크기가 축소된다. 이 문제를 해결하기 위해 입력이미지의 외각에 지정된 픽셀만큼 특정값(0)으로 추가하는 padding을 이용한다. 

 

zero-padding 적용하기

 

2. pooling layer

합성곱 데이터의 출력데이터를 입력데이터로 받는다.

max-pooling

  • 학습대상 파라미터가 없다.
  • 행렬의 크기가 감소하는 역할을 해 overfitting를 방지할 수 있다.
  • 채널 수는 변화하지 않는다.

'Deep Learning' 카테고리의 다른 글

딥러닝_Softmax Classification  (0) 2021.08.21
딥러닝_Binary Classification  (0) 2021.08.20
딥러닝_Linear Regression Implementation  (0) 2021.08.19