포스테키안

2022 여름호 / 지식더하기 ①

2022-07-15 222

합성곱, 콘볼루션(Convolution)

 

합성곱, 또는 콘볼루션이라는 말을 들어본 적 있으신가요? 이름만 들어서는 우리가 배우던 곱셈과는 약간 다른 성질을 가지고 있는 것 같은데요. 콘볼루션Convolution은 신호 처리, 딥러닝, 미분방정식의 해법 찾기 등 다양한 분야에서 폭넓게 사용되는 연산입니다. 오늘은 이러한 중요성을 가진 콘볼루션을 소개해 보고자 합니다.

합성곱이라는 용어에서 그 의미를 짐작할 수 있듯이, 콘볼루션은 두 함수를 곱하고, 합한다는 뜻을 가지고 있는데요. 신호나 영상을 바탕으로 하는 함수를 통해, 과거, 현재, 그리고 미래의 값들을 생각해서 곱하고 합치는 연산이라고 할 수 있습니다. 이해를 돕기 위해 더 자세한 예를 생각해 봅시다. 우리가 종을 치는 상황을 생각해 보면, 종을 친 후에 소리가 바로 그치지 않고, 계속해서 진동하며 소리가 납니다. 두 번의 종을 각각 한 번은 강하게, 다른 한 번은 약하게 쳤다고 생각하고 이 상황을 그래프로 묘사해 보면, 다음과 같이 시간과 소리의 크기를 변수로 하는 그래프를 생각해 볼 수 있습니다.

위의 그래프의 시간 축에서 볼 수 있는 t1, t2는 각각 종을 때리기 시작한 시간이며, 그래프는 콘볼루션 연산을 이해하기 위해 실제와 다르게 간단한 형태로 표현했습니다. 만약 위와 같은 형태로 그래프가 나타났다면, 최종적으로 우리가 들은 소리는 어떻게 표현될까요? t2라는 시간 이후로 소리가 서로 중첩되기 때문에 소리의 크기는 종을 한 번 쳤을 때보다 더 커지게 될 것입니다.

즉, 최종적인 소리의 크기 그래프는 위 그래프의 파란색 선과 같이 나타납니다. 이 예시는 종을 친 세기와 소리의 크기라는 두 함수가 콘볼루션 된 경우라고 할 수 있습니다. 함수 f와 g의 콘볼루션은 수식적으로 다음과 같이 정의됩니다.

수식은 다음과 같은 3가지 단계로 자세히 설명할 수 있습니다. 첫째, 두 함수 중 하나를 반전Reverse시킵니다. 그러면 g(-τ)라는 함수가 만들어집니다. 둘째, 반전한 함수를 t만큼 전이shift시킵니다.

t만큼 이동시켰으므로, g(t-τ)가 됩니다. 셋째, 변형시킨 함수 g를 f와 곱하고 그 결과를 모두 더해줍니다. 위의 식에서의 콘볼루션은 연속함수에 대해 정의된 연산입니다. 콘볼루션이라는 연산은 이산함수에 대해서도 정의할 수 있는데요. 이산함수는 함수의 변수가 연결되지 않은 함수입니다. 예를 들어 x = 1, 2, 3에 대해서만 정의된 함수는 이산함수라고 할 수 있는 것이죠. 이산함수에서 콘볼루션은 함수 f와 g가 있을 때 다음과 같이 정의됩니다.

그렇다면 콘볼루션은 어떤 성질을 가지고 있을까요? 대표적인 성질로는 교환법칙Commutative Law, 결합법칙Associative Law, 그리고 분배법칙Distributive Law이 있습니다.

자세한 증명과정이 궁금하다면 추가로 검색해 보길 바랍니다. 이렇게 콘볼루션의 정의, 그리고 성질까지 알아보았는데요, 이러한 콘볼루션은 구체적으로 어디에 활용되는 것일까요? 콘볼루션의 식을 살펴보면 함수 f, g를 이용하는데, f와 g를 신호, 행렬, 이미지, 필터와 같은 다양한 형태로 나타내어 콘볼루션 하면 주어진 신호, 행렬, 이미지를 우리가 나타내고 싶어 하는 형태의 함수로 표현할 수 있습니다. 딥러닝 및 영상 처리 관점에서 더 자세히 살펴봅시다. 다음과 같은 오리 이미지와 2차원 행렬을 콘볼루션 하면, 오리 이미지가 복사되어 다음과 같은 출력값이 나오게 됩니다.

콘볼루션은 식 자체는 간단하지만 다양한 분야에 활용되는 연산입니다. 특히 신호 처리나 딥러닝 등을 전공하는 사람에게는 가장 중요하고, 기본이 되는 개념이라고 할 수 있는데요. 관련 분야에 관심이 있는 학생들은 아래의 참고 문헌과 함께 콘볼루션에 대해서 더 공부해 보는 것을 추천해 드립니다!

 

 

1.「콘볼루션(convolution, 합성곱)」, 2018.6.14.  https://blog.naver.com/sallygarden_ee/221291514981

2.「Convolution(합성곱)의 원리와 목적」, 2021.8.3. https://supermemi.tistory.com/104

3.「Convolution」, 『위키피디아』, https://en.wikipedia.org/wiki/Convolution

 

글 / 무은재학부 21학번 27기 알리미  김도영