최대 1 분 소요

컨볼루션 레이어 ( Convolution Layer)

정의 및 사용 이유

  • 컨볼루션 레이어 : 이미지를 필터를 통해 사이즈를 조정해 Activation Map을 생성

  • 사용 이유 : fully connected layer 로 영상을 처리할때 Parameter 가 너무 많아져서 Parameter를 줄이면서 양질의 결과가 나오는 Convolution layer 를 사용한다

    Convolution Layer


Conv2D 레이어

해당 레이어는 주로 영상 처리에 사용되며, 필터가 탑재되어 있다.

아래는 Conv2D 클래스 사용 예제이다.

Conv2D(32,(5,5),padding='valid', input_shape(28,28,1),activation ='relu')
  • 첫 번째 인자 : 컨볼루션 필터의 수
  • 두 번째 인자 : 컨볼루션 커널의 행, 열
  • padding : 경계처리 방법 (valid 유효한 영역만 출력, same 출력 과 입력 사이즈가 동일)
  • input_shape : 샘플 수를 제외한 입력 형태를 정의, 첫 레이어 일때만 정의 ( 흑백 1, RGB 3 )
  • activation : 활성화 함수 (relu, sigmoid, softmax)

Max Pooling, Average Pooling

  • 정의 : weight 없이 이미지 사이즈를 줄이는 과정
  • 사용 이유 : Convolution 으로 대체는 가능한데 Parameter가 필요없는 레이어들도 많기에 불필요한 Parameter를 지우기 위해 사용한다.


Convolutional Neural Networks


용어 정리

  • Kernel Size : 필터의 크기
  • Stride : 보폭이라는 의미, 필터를 적용하는 간격
  • Padding : 합성곱 연산전에 입력 데이터 주위에 특정 값을 채우는 것. 1폭짜리는 데이터 상하좌우 1픽섹을 특정한 값으로 삽입 (보통 0을 하나, 전체 패딩을 동일한 값으로 해야함)