본문바로가기
[인공지능, 수학으로 타파] 가상 세계의 나를 만들어주는 '합성곱' 이해하기
수학동아 2021.09.22 17:03 조회 119

 

 

Mathematics for AI #16

가상 세계의 나를 만들어주는 '합성곱' 이해하기!

 

 

*출제자의 한 마디*

 

합성곱은 이미지와 영상을 분석하는 인공신경망에서 주로 쓰이며 추천 시스템이나 영상 분류 및 의료영상 분석, 자연어 처리 등에서 필수적으로 사용되고 있습니다..  

 

--------------

 

가상 세계의 나를 만들어주는 '합성곱' 이해하기!

 

메타버스라는 용어를 들어본 적 있으신가요? 메타 버스는 3차원 가상 세계를 뜻하며 요즘 많은 사람의 관심을 받고 있습니다. 가상 세계에서 사용자는 자신을 표현하는 존재를 통해 소통합니다. 바로 디지털 캐릭터인 아바타로 말이죠.

 

 

 

 

  그럼 아바타는 어떻게 만들까요? 과거에는 이미 만 들어진 캐릭터를 그대로 활용하거나 사람이 컴퓨터에서 가상 캐릭터를 일일이 마우스로 수정했습니다. 이와 달리 최근에는 얼굴 사진을 입력하면 아바타를 자동으로 만들어주는 가상 세계 플랫폼이 생겨났습니다. 또 사진이나 동영상 중심의 소셜미디어는 사용자가 ‘더 멋진 나’를 만들수 있도록 뷰티필터를 제공하고 있으며 수백만 명의 사람들이 실시간으로 사용하고 있죠. 

 

  이런 기술에는 수학이 중요하게 쓰입니다. 이미지를 여러 박스가 쌓인 격자로서 인식하면, 그 격자 안의 수치들을 함수로 표현할 수 있습니다. 그다음에 우리가 원하는 형태로 바꾸어주는 ‘필터’를 사용해 연산을 수행하면 원하는 이미지를 얻습니다. 이때 쓰이는 연산이 바로 ‘합성곱(Convolution)’입니다.

 

 

 

  합성곱은 두 함수의 특징을 모두 가질 수 있도록 합성시키는 연산의 한 종류입니다. 예를 들면 자연에서 서로 다른 두 개의 파도가 서로 마주보며 진행한다고 상상해봅시다. 두 개의 파도는 겹쳐지면서 새로운 모양을 나타냅니다. 겹쳐지는 파도는 이전의 두 개의 파도 모양 을 모두 반영하면서도 새로운 형태로 나타나죠.

 

 

         

                               

 

--------------

 

 

문제

구간 0≤x≤1에서 함수 f =1과 함수 g =1-x의 합성곱 f *g인 함수 h를 계산하고 그래프로 나타내보자.

 

 

 

 

풀이에 필요한 SageMath 코딩 명령어

 

 

① 구간 0 ≤x ≤1에서 함수 f = 1과 함수 g = 1-x 를 정의한다.

 

f = piecewise([[(0,1),1]]) g = piecewise([[(0,1),1-x]])

 

 

② 함수 f 와 함수 g의 합성곱 함수 h = f *g 를 계산한다.

 

h = f.convolution(g)

 

 

③ 함수 h의 그래프를 나타낸다.

 

plot(h)

 

-끝-

 

 

첫 댓글의 주인공이 되어 보세요!
  • 폴리매스 문제는 과학기술진흥기금 및 복권기금의 재원으로 운영되고, 과학기술정보통신부와 한국과학창의재단의 지원을 받아 수행된 성과물로 우리나라의 과학기술 발전과 사회적 가치 증진에 기여하고 있습니다.

  • ☎문의 02-6749-3911