합성곱 계층
CNN의 합성곱 연산
기본 사항
입력데이터에 필터(커널)를 이동하면서 반복적으로 적용해 출력(특징맵) 생성
- 이동방향: 동일 차원에서는 낮은 인덱스에서 높은 인덱스 & 낮은 차원에서 높은 차원 (좌->우, 상->하)
- 필터는 입력데이터의 경계를 넘지 않음 (Only fully-overlapped)
스트라이드
합성곱은 차원별로 필터를 동일한 간격(Stride)으로 이동시키며 각각 실행
패딩 (Padding)
- 입력 이미지 둘레에 일정한 크기의 데이터를 덧붙이는 것
- 합성곱으로 인해 출력 크기가 작아지는 현상을 피하기 위한 방안
패딩과 스트라이드 고려 시의 출력 크기
패딩(P)은 출력을 증가, 스트라이드(S)는 출력 감소시키는 효과
합성곱 계층
합성곱 계층 구성
입력특징맵을 받아 내장 필터로 합성곱을 수행후에 출력특징맵 산출
필터는 여러 개 사용할 수 있으며, 각각 독립적으로 1개의 특징맵을 생성
-> 각 필터에 대해 생성된 특징맵은 출력특징맵의 채널로 사용됨.
-> 필터 하나당 채널 1개. 예) 필터 3개 == 채널 3개.
입력, 필터, 출력의 형상(차원) 크기
입력은 다차원 가능 (채널수 다수), 필터는 입력과 항상 동일 형상, 필터당 출력되는 출력의 채널은 항상 1개.
합성곱 계층의 신경망 표현
결국 필터가 학습대상
풀링(서브샘플링) 계층
풀링(서브샘플링) 계층의 도입 배경
- 풀링 계층은 특징맵의 공간 해상도를 축소
- 풀링은 서브 샘플링 (Subsampling)이라고도 부름
- 일부 특징의 이동, 잡음, 왜곡 현상 (shift, Noise & Distortion)에 대한 강인성(Invariance)을 향상시키는 부수적 효과도 있음
풀링(서브샘플링) 연산
풀링 연산은 특정 필셀 값을 주변의 요약 통계로 대치 (스트라이드 단위로 이동하며 실행)
합성곱과 유사하나 여러 차이가 있음
- 출력 특징맵의 크기를 줄이는 데 목적이 있음(Subsampling)
- 학습 파라미터가 없음
- 입력 특징맵과 출력 특징맵의 차원이 항상 동일
- 일반적으로 스트라이드(Stride)는 풀링영역(풀링윈도우)의 크기와 동일
주요 CNN 구조
주요 CNN 모델
주요 CNN 구조
*googlenet 임 오타