[AI Math] CNN

hyunsooo·2022년 9월 23일
0
  • 지금까지 배운 다층신경망(MLP)는 선형모델 + 활성함수로 이루어진 fully connected구조이다.
hi=σ(j=1pWijxj)h_i = \sigma(\sum_{j=1}^pW_{ij}x_j)

  • Convolution연산은 위와 달리 커널(kernel)을 입력벡터 상에서 이동하며 선형모델과 합성함수가 적용되는 구조이다.
hi=σ(j=1kVjxi+j1)h_i = \sigma(\sum_{j=1}^kV_{j}x_{i+j-1})

kk : 커널사이즈
VjV_j : 가중치 행렬

  • 가중치행렬이 ii에 상관없이 사이즈가 고정된 형태로 이동한다.

  • 이와 같은 특징 때문에 파라미터 사이즈를 대폭 줄일 수 있는 것이 특징이다.

  • Convolution 연산의 수학적 의미는 신호(signal)를 커널을 이용해 국소적으로 증폭 또는 감소시켜 정보를 추출,필터링 하는 것 이다.

  • Convolution 연산은 1차원뿐만 아니라 다양한 차원에서 계산이 가능하다.

  • 중요한 것은 커널의 값은 변하지 않는다는 점이다.

2차원 Convolution 연산

  • 커널을 x,yx,y방향으로 움직여가며 계산이 된다.

  • kernel과 성분곱을 통해 convolved feature를 얻을 수 있다.

  • 출력되는 feature의 크기를 예측할 수 있다.

OH=HKH+1OW=HKW+1O_H = H - K_H + 1\\ O_W = H - K_W + 1
  • 채널이 여러개인 2차원 입력의 경우 2차원 convolution을 채널 개수만큼 적용한다고 생각하면 된다.

  • 출력 채널을 늘리고 싶으면 커널의 수를 늘리면 된다.

convolution 연산의 역전파

  • convolution연산은 커널이 모든 입력데이터에 공통으로 적용되어 역전파 계산시에도 convolution 연산이 나오게 된다.

  • 역전파 단계에서 다시 커널을 통해 그레디언트가 전달되게 된다

δ1w1+δ2w2+δ3w3\delta_1w_1 + \delta_2w_2 + \delta_3w_3

δ:\delta : loss function에 대한 각각의 output의 미분값

profile
지식 공유

0개의 댓글