clear_uncertainty

네이버 부스트캠프 모각공 캠페인 8일차 - CNN 첫걸음 본문

네이버 부스트캠프 - AI Tech 3rd/핵심만 담은 AI 수학 지식

네이버 부스트캠프 모각공 캠페인 8일차 - CNN 첫걸음

SOidentitiy 2021. 11. 17. 21:53
728x90

 

모든 설명 및 자료의 출처는 네이버 부스트코스의 <[부스트캠프  AI Tech 3기] Pre-Course>입니다.

(https://www.boostcourse.org/onlyboostcampaitech3/joinLectures/329424)

 

<핵심만 담은 AI 수학지식>

CNN 첫걸음

 

Convolution 연산 이해하기

 

지금까지 배운 다층신경망(MLP)는 각 뉴런들이 선형모델과 활성함수로 모두 연결된(fully connected) 구조였습니다.

여기서 문제는 각 성분 h(i)에 대응하는 가중치 행 W(i)가 필요하다는 것이였습니다.

 

Convolution 연산은 이와 달리 커널을 입력벡터 상에서 움직여가면서 선형모델과 합성함수가 적용되는 구조입니다.

V에 해당하는 것이 커널(kernel)입니다.

활성화 함수를 제외한 Convolution 연산도 선형변환에 속합니다.

Convolution 연산의 수학적인 의미는

신호(signal)를 커널을 이용해 국소적으로 증폭 또는 감소시켜서 정보를 추출 또는 필터링하는 것입니다.

Convolution을 수식으로만 이해하는 것은 매우 어렵습니다.

CNN에서 사용하는 연산은 엄밀히 말하면 사실 convolution 이 아니고 cross-correlation이라 부릅니다.

커널은 정의역 내에서 움직여도 변하지 않고(translation invariant) 주어진 신호에 국소적(local)으로 적용합니다.

 

다양한 차원에서의 Convolution

 

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

 

2차원 Convolution 연산 이해하기

 

2D-Conv 연산은 이와 달리 커널을 입력벡터 상에서 움직여가면서 선형모델과 합성함수가 적용되는 구조입니다.

입력크기를 (H,W), 커널 크기를 (K_H,K_W), 출력 크기를 (O_H,O_W)라고 하면 출력 크기는 아래와 같이 계산합니다.

 

채널이 여러개인 2차원 입력의 경우 2차원 Convolution 을 채널 개수만큼 적용한다고 생각하면됩니다.

 

텐서를 직육면체 블록으로 이해하면 좀 더 이해하기 쉽습니다.

 

Convolution 연산

 

Convolution 연산의 역전파 이해하기

 

Convolution 연산은 커널이 모든 입력데이터에 공통으로 적용되기 때문에 역전파를 계산할 때도  Convolution 연산이 됩니다.

 

 

 #부스트캠프 #aitech #부스트캠프aitech3기 #모각공 #네이버커넥트 #네이버커넥트재단


출처

 

[부스트캠프 AI Tech 3기] Pre-Course

 

728x90