Aiffel 그까이꺼 발표자료

주제무·2022년 6월 8일
0

CNN

convolutional neural network
이미지 인식 기초 Layer

Convolution Layer

합성곱 계층

vs Fully Connected Layer

Affine Layer
1. 직전 계층의 뉴런이 모두 연결되고 출력의 수는 임의로 결정할 수 있다.
2. 데이터의 형상이 무시되는 단점이 있다.

affinity (from the Latin, affinis, "connected with")
from wiki


Feature Map

CNN의 입출력 데이터

Kernel; filter, Window

For 합성곱 연산; Fused Muliply Add

커널의 각 값이 가중치가 된다. 편향을 더하면 우리가 알던 가중치합이 된다.

Padding

입력 데이터 주변을 0으로 채우는 것. 주로 출력 크기를 조절하기 위해서 쓰인다.

Stride

입력 데이터에 적용하는 윈도우 간격

3-D Input Data Convolution

RGB의 3채널 데이터 --> 커널도 3채널
출력은 채널을 갖지 않는 (row, col)

이 필터를 쌓아올리면 다음과 같이 된다.

Batch

데이터의 차원을 늘려 (데이터 수, 채널 수, 행, 열)로써 처리

Pooling Layer

풀링 계층
행, 열 공간을 줄이는 연산

이미지 인식에서는 주로 MaxPooling; 최대 풀링을 사용

특징

  1. 학습할 매개변수가 없다
  2. 입출력 데이터의 채널 수가 변하지 않는다.
  3. 입력의 변화에 영향을 적게 받는다.

Conv & MaxPooling 구현

im2col

  1. im2col --> 데이터 1열 전개; 4차원
  2. 커널을 세로로 1열 전개
  3. 행렬 곱
  4. reshape

구체적으로 와닿지는 않아도 핵심만 적어보면

batch size로 묶은 입력 데이터를 im2col을 이용해서 풀어놓고, 2차원으로 푼 커널들을 행렬곱해서 출력 데이터를 얻고 reshape한다.

0개의 댓글