본문 바로가기

머신러닝, 딥러닝

합성곱 연산

합성곱 계층에서의 합성곱 연산을 처리한다. 합성곱 연산은 이미지 처리에서 말하는 필터 연산에 해당된다. 아래 예를 살펴보자.

위의 그림과 같이 합성곱 연산은 입력 데이터에 필터를 적용한다. 이 예에서 입력 데이터는 세로 * 가로 방향의 형상을 가졌고, 필터 역시 세로 * 가로 방향의 차원을 가진다.

데이터와 필터의 형상을 ( “높이, height “ , “ 너비 , width “ )로 표기하며 구한다. ( 이 계산을 단일 곱셈-누산, fused multiply-add, FMA 이라고 한다. ) 그리고 그 결과를 출력의 해당 장소에 저장한다.

이 과정을 모든 장소에서 수행하면 합성곱 연산의 출력이 완성된다.

맨 위의 그림이라면, 왼쪽 위 원소부터 오른쪽으로 스캔해가며,

1*2 + 2*0 + 3*1 + 0*0 + 1*1 + 2*2 + 3*1 + 0*0 + 1*2 =15 의 연산 결과를 수행한다.

완전연결 신경망에는 가중치 매개변수와 편향이 존재하는데, CNN에서는 필터의 매개변수가 그동안의 “ 가중치 “ 에 해당한다. 그리고 CNN에도 편향이 존재한다. 위의 그림은 필터를 적용하는 단계까지만 보여준 것이고, 편향까지 포함하면 결과값에 편향을 더하면 된다.

예를 들어 위의 그림에서 편향이 “ 3 “이라면, 출력값은 “ 18, 19, 9, 18 “ 이 된다.

'머신러닝, 딥러닝' 카테고리의 다른 글

스트라이드, Stride  (0) 2020.01.20
패딩, Padding  (0) 2020.01.20
기울기  (0) 2020.01.20
편미분  (0) 2020.01.20
수치 미분 ( numerical differentiation )  (0) 2020.01.20