본문 바로가기
AI · 인공지능/AI 뉴스

CNN의 처리에 대해 애니메이션으로 해설하는 「Animated AI」

by 두우우부 2023. 10. 26.
반응형

 
 
기계 학습 분야에서 널리 사용되는 '컨볼루션 신경망(CNN)'에 대해 애니메이션으로 해설한 'Animated AI'라는 사이트가 있습니다. 글로 설명하기 어려운 동작을 시각적으로 알기 쉽게 소개하고 있어서 추천합니다.

Animated AI
https://animatedai.github.io/

Animated AI

I'm creating animations and instructional videos about neural networks. Check out my Patreon and YouTube channel! Convolution The Basic Algorithm Watch the companion YouTube video: Fundamental Algorithm of Convolution in Neural Networks. Padding Companion

animatedai.github.io



컨볼루션 신경망은 이미지 같은 입력 데이터에 필터를 통한 가중치를 부여하여 데이터의 모양을 쉽게 인식할 수 있도록 하는 방법 중 하나입니다. 자세한 내용은 아래의 글에서 참고하세요.

[알기쉬운 AI - 33] CNN이란 어떤 것인가?

[알기쉬운 AI - 33] CNN이란 어떤 것인가?

생물의 눈은 어떻게 눈앞의 경치를 인식하고 있을까요? 눈에 닿는 빛을 처리하는 시신경의 구조에 주목하여 만들어진 뉴럴 네트워크 모델 중 CNN( Convolutional Neural Network )이라는 것이 있습니다.

doooob.tistory.com


Animated AI에서는 컨볼루션 처리의 기본적인 동작과 컨볼루션 처리에 의해 출력 데이터의 사이즈가 작아지는 문제를 조정하는 「패딩」처리, 필터의 이동 간격 「스트라이드」등의 토픽에 대해 애니메이션 gif가 표시되어, 각각의 토픽을 해설하는 YouTube 동영상 링크도 있습니다.

예를 들어, 기본 동작을 보여주는 애니메이션은 다음과 같습니다.



기본적인 동작을 해설하는 YouTube 영상입니다.
Fundamental Algorithm of Convolution in Neural Networks - YouTube



안쪽에 놓여있는 큐브가 입력 데이터입니다. 데이터를 격자 형태로 분할하고, 각각의 점(픽셀)이 가지는 특징이 수치화되어 있습니다.



앞에 놓인 큐브가 필터입니다. 입력 데이터의 일부(예를 들어 3×3의 범위)를 잘라내어, 각각의 필터가 가지는 숫자를 입력 데이터의 숫자에 곱하여 가중치를 줍니다. 가중치를 적용하여 각 픽셀의 색상과 모양과 같은 방대한 특징을 쉽게 인식합니다.



특정 범위를 필터링하고 하나의 범위가 끝나면 한 칸 옆으로 이동하여 다음 범위를 필터링... 이라는 것을 반복하여 모든 범위를 처리합니다. 이때 범위의 이동 간격이 보폭입니다.



하나의 필터로 처리를 마치면 다음 필터로 다시 처리. 이것을 반복합니다.



데이터를 처리하면 출력 후 데이터가 원래 데이터보다 작아집니다. 이를 방지하기 위해 원래 데이터 주위에 '0'과 같은 값을 가진 픽셀을 추가하여 크기를 조정합니다. 이것이 "패딩"이라고 불리는 기술입니다.



필터를 거는 범위를 1칸 어긋나는 것이 스트라이드 1, 2칸 어긋나는 것이 스트라이드 2입니다. 이것을 애니메이션으로 나타낸 것이 아래의 gif 이미지


이 외에, 「깊이 방향의 분리 가능 컨볼루션」이라는 수법이나, 「픽셀 셔플」이라고 불리는 수법에 대해서도 해설하고 있습니다.

반응형