제로부터 시작하는 코딩 생활

[모각코] CNN 본문

제 1회 모각코

[모각코] CNN

VacTEn 2022. 11. 4. 15:12

DNN의 단점

기존 DNN은 패턴이 복잡해지면 정확도가 떨어진다는 단점이 있다. 저번 MNIST 데이터셋을 예로 들자면 흑백데이터라 비교적 단순한 데이터셋이었다. 게다가 DNN은 스스로 데이터의 패턴을 단순화 시킨다는 단점도 존재한다. MNIST에서도 23*23 사이즈의 데이터를 1줄로 만든후  처리를 하였다. 사진 데이터의 각 픽셀은 주변 픽셀과의 연관성을 배제할 수 없는데 이를 1차원으로 해석한다는 것이다.

 

CNN ( Convolution Neural Network, 합성곱 신경망)

인간의 시신경 구조를 모방한 모델로 동일 데이터에 대해 여러 필터를 둘수도 있어 비전(vision) 분야에서 좋은 성능을 보인다.  DNN과 달리 공간정보를 그대로 가지고 작업을 수행하기에 이미지의 패턴을 분석하는데 매우 유용하다.

CNN Layer

CNN의 구조

CNN은 CNN layer - Pooling layer - Fully connected layer 의 구조를 이루고 있다.

CNN 구조

CNN layer(합성곱 계층) 

한계층에는 이미지의 채널 수만큼 필터가 존재하는데 각 필터와의 합성곱계산을 실행한다. 이때 Stride값만큼 움직이며 필터와 합성곱을 수행한다. 가장자리를 계산할때 계산을 위해 임의로 주의에 값이 빈 영역이 필요한데 이를 Padding이라한다.

CNN layer

Channels

N 개의 채널을 가진다 = N개의 필터를 적용시킨다

Pooling layer

각 색깔영역은 각 필터로 합성곱을 연산한결과들이다. 이를 필터당 한개의 값으로 통합하여주는 과정이 Pooling layer에서 일어난다.

이 과정후 앞서배운 dnn의 일종인 Fully Connected Layer를 통해 최종적으로 정보를 처리한다.

'제 1회 모각코' 카테고리의 다른 글

[모각코] RNN 순환신경망  (0) 2022.11.30
[모각코] MNIST 분류 모델 리뷰  (0) 2022.10.14
[모각코] DNN & Mnist  (0) 2022.10.08
[모각코] (Pytorch) Tensor 생성 과 연산  (2) 2022.09.30