[Boostcamp AI Tech] AI Math 9강

이성범·2022년 1월 23일
0

Boostcamp AI Tech

목록 보기
9/49

CNN 첫걸음

이번 강에서는 CNN의 기초에 대하여 학습을 진행했다. CNN은 이미지, Sequence 데이터(음성, 텍스트, 시계열, 영상 등) 등 다양한 데이터에 활용되고 있는 딥러닝 모델의 한 종류로, 이미 많이 활용되고 있는 알고리즘이기 때문에 기본 원리에 대한 이해는 필수라고 할 수 있다. 이번 강의를 통해서 CNN에 대한 기초를 완벽히 다지기 위해 노력했다.

00. 공부 내용

  • Convolution 연산에 대하여 공부
  • Convolution 연산의 역전파에 대하여 공부

01. Convolution 연산

  • 지금까지 우리가 배운 MLP 구조는 위와 같이 각 뉴런들이 선형모델과 활성화함수로 모두 연결된 Fully Connected 구조였다.
  • 따라서 MLP의 경우 1개의 Layer에 대한 파라미터의 수는 입력벡터의 차원 X 노드의 개수(W의 차원의 수) + bias(노드의 개수)라고 볼 수 있다.

  • Convolution 연산은 위와 같이 Kernel을 입력벡터 상에서 움직여 가면서 활성화함수가 적용되는 구조이다.(동일한 커널안에서 가중치를 공유한다고 볼 수 있다.)

  • Convolution 연산은 연속형 or 이산형 확률 변수에 따라서 위와 같은 수식으로 전개되며, 신호를 커널을 이용해 국소적으로 증폭 또는 감소시켜서 정보를 추출 또는 필터링 한다는 수학적 의미를 지닌다.
  • 또한 커널은 정의역 내에서 움직여도 변하지 않고(translation invariant) 주어진 신호에 국소적(local)으로 적용한다.

  • CNN의 Convolution 연산은 데이터의 차원에 따라서 위와 같은 수식으로 전개된다.

  • 채널이 여러개인 2차원 입력의 경우를 예를 들면 위와 같은 2차원 Convolution 연산을 거쳐서 stride 1을 기준으로 인풋벡터의 사이즈 - 커널의 사이즈 + 1의 크기를 가지는 아웃풋 feature map이 생성되게 된다.
  • 따라서 CNN의 경우 1개의 Layer에 대한 파라미터의 수는 커널의 사이즈 X 입력벡터에 차원의 수 X 커널의 개수 + bias(커널의 개수)라고 볼 수 있다. (CNN1D의 경우 커널의 사이즈는 i, CNN2D의 경우 커널의 사이즈는 i x j, CNN3D의 경우 커널의 사이즈는 i x j x k)

02. Convolution 연산의 역전파

  • Convolution 연산은 위와 같은 수식으로 역전파가 계산된다.

  • Convolution 연산의 역전파에서 중요한 점은, 결국 Convolution 연산은 커널이 모든 입력데이터에 공통으로 적용되기 때문에 역전파를 계산할 때도 위와 같이 Convolution 연산의 형태로 그레디언트가 계산된다는 것이다.
profile
Machine Learning Engineer at Konan Technology

0개의 댓글