시스템구조

컨볼루션 신경망_CNN(Convolution Neural Network)

스윙스윙 2021. 11. 18. 22:16

▣ 컨볼루션 신경망_CNN(Convolution Neural Network)

합성곱 신경망(Convolutional Neural Network)은 딥러닝의 가장 대표적인 방법임
주로 이미지 인식에 많이 사용됨. 이미지를 작은 특징에서 복잡한 특징으로 추상화하는 것임.

일반적인 인공신경망 모델(Fully connected layer로 이루어진)은 1차원 형태의 입력형태로 한정 됨. 하지만 컬러 사진의 데이터는 3차원 데이터 형태임. 3차원으로 된 사진데이터를 FC(Fully Connected) 신경망으로 학습시키려면 2, 3차원의 데이터를 1차원으로 평면화 시켜야 함. 이렇게 될 경우 이미지 공간 정보 유실로 인한 정보 부족으로 인공 신경망이 특징을 잘 추출하지 못하고 학습이 비효율적으로 이루어 질 수 있음
이미지 공간 정보를 유지한 상태로 학습이 가능하게 만든 모델이 바로 CNN(Convolutional Neural Network)임

 

 

  • 각 레이어의 입출력 데이터의 형상을 유지
  • 이미지의 공간 정보를 유지하면서 인접 이미지와의 특징을 효과적으로 인식
  • 복수의 필터로 이미지의 특징을 추출하고 학습
  • 필터를 공유 파라미터로 사용하기 때문에, 일반 인공 신경망과 비교하여 학습 파라미터가 적음

- 스트라이드(Strid)

: 지정된 간격으로 필터를 순회하는 간격을 의미


- 패딩(Padding)

Convolution 레이어에서 Filter와 Stride에 작용으로 Feature Map 크기는 입력데이터 보다 작음

Convolution 레이어의 출력 데이터가 줄어드는 것을 방지하는 방법이 패딩임

패딩은 입력 데이터의 외각에 지정된 픽셀만큼 특정 값으로 채워 넣는 것을 의미함(보통 패딩 값은 0)

- 피처맵(Feature Map)

: Convolution Layer의 입력 데이터를 필터가 순회하며 합성곱을 통해서 만든 출력이며 액티베이션 맵(Activation Map)

 


2021년 85번

정답 : 2번

원본 이미지가 5*5 크기의 행렬

3*3크기의 필터행렬이 합성곱 연산에 적용하는 경우

3*3의 Feature Map이 나옴