인공지능을 좋아하는 곧미남

[Convolution Operation] Kernel, Channel 본문

인공지능 개발자의 기본 소양

[Convolution Operation] Kernel, Channel

곧미남 2021. 12. 22. 16:47

Convolution Operation에 관해 수식만 본다면, 직관적으로 이해하기가 어려울 수 있다.

 

그래서, 나는 Image Pixel Matrix를 간단하게 시각화하여 블로그에 기록을 남긴다.

 

우선, Convolution Operation은 Kernel 크기 만큼의 Map(Weight를 가지는)과 Input image나 feature를 합성곱 연산을 통해 이미지의 특징을 추출하는 과정입니다. 

 

Kernel 이란? n x m 크기의 행렬로 Input으로 들어오는 Image나 Feature(Width X Height 크기)를 왼쪽 상단부터 오른쪽 하단까지 순차적으로 Window Sliding 하는것인데요.

 

- Kernel 크기의 겹쳐지는 부분의 weight = K

 

- Image pixel이나 Feature value = I

 

두 Matrix K, I의 원소 곱을 모두 더한 값을 출력으로 하는 나타내는 것을 말합니다.

 

그림으로 이해하시면 좀 더 편합니다.

Channel 이란? Convolution 연산할때 Kernel 크기의 Channel의 수 만큼 Weight Map을 만들어 weight 연산을 합니다. 이때 Weight Map의 수와 같다고 할 수 있습니다. 따라서, Channel이 많으면 많을 수록 할당되는 Weight의 수가 많다고 생각할 수 있습니다.

 

이해가 되셨으면 좋겠습니다. 감사합니다. 부족한 부분은 댓글로 남겨주시면 답변드릴게요.

Comments