DMLP와 CNN의 비교
- DMLP: 완전 연결 구조로 높은 복잡도를 가짐, 학습이 매우 느리고 과적합 우려
- CNN: 컨볼루션 연산을 이용한 부분연결(희소 연결) 구조로 복잡도를 낮춤, 좋은 특징 추출
CNN 특징
- 격자 구조(영상, 음성 등)를 갖는 데이터에 적합
- 수용장(receptive field)은 인간시각과 유사
- 가변 크기의 입력 처리 가능
CONV: 학습에 의해 결정된 복수의 커널들(혹은 필터들)에 대응되는 특징들을 추출하는 층
- 각 층의 입출력의 특징형상 유지(특징맵)
- 영상의 공간 정보를 유지하면서 공간적으로 인접한 정보의 특징을 효과적으로 인식
- 각 커널(필터)은 파라미터를 공유함으로써 완전 연결 신경망 대비 학습 파라미터가 매우 적음
POOL: 추출된 영상의 특징을 요약하고 강화하는 층
가변 크기의 데이터 다루기
- 완전 연결 신경망은 특징 벡터의 크기가 달라지면 연산 불가능
- CNN은 가변 크기를 다룰 수 있는 강점
컨볼루션(합성곱) 연산은 해당하는 요소끼리 곱하고 결과를 모두 더하는 선형 연산으로, 영상에서 특징을 추출하기 위한 용도로 사용됨(=공간 필터)
는 커널(혹은 필터), 는 입력, 는 출력(특징 맵)
Padding
- 가장자리에서 영상의 크기가 줄어드는 효과 방지
- 각 층의 입출력의 특징 형상 유지
- zero padding을 가장 많이 씀
가중치 공유(묶인 가중치)
- 모든 노드가 동일한 커널 사용, 즉 가중치를 공유하므로 매개변수 수가 적어짐
- 모델 복잡도가 크게 낮아짐
다중 특징 맵 추출
- 커널의 값에 따라 커널이 추출하는 특징이 달라짐
- 하나의 커널만 사용하면 너무 빈약한 특징이 추출됨
- 실제로는 수십~수백 개의 커널을 사용
특징 학습
- 커널을 사람이 설계하지 않고 학습으로 찾음
- DMLP와 마찬가지로 오류 역전파로 커널을 학습
큰 보폭(stride)에 의한 다운샘플링
- 일반적으로 보폭이 이면, 개 마다 하나씩 샘플링하여 커널 적용
- 2차원 영상의 경우 특징 맵이
채널이 k개인 3차원 격자 구조
일전 크기의 블록을 통합하여 하나의 대푯값으로 대체하는 연산으로, 보폭을 크게 하면 다운샘플링 효과가 있다.
최대값 풀링(Max Pooling)
- 지정된 블록 내의 원소들 중에서 최대값을 대푯값으로 선택
평균값 풀링(Average Pooling)
- 블록 내의 원소들의 평균값을 대푯값으로 사용
컨볼루션층 → 활성함수(ReLU) → 풀링층
다중 커널을 사용하여 다중 특징 맵 추출