최근 수정 시각 : 2024-02-27 21:55:47

합성곱


이 문서는 토막글입니다.

토막글 규정을 유의하시기 바랍니다.


1. 정의2. 정리3. 활용 사례

파일:convolution_ex_1.gif
합성곱의 기하학적 표현.[1]

1. 정의

컨볼루션[2] / convolution /
합성곱에 관한 3Blue1Brown의 영상

함수 [math(f)]와 [math(g)]의 합성곱은 [math(f \ast g)]로 나타내며 다음과 같이 정의한다.
연속시간 도메인에서의 컨볼루션 정의
[math(\displaystyle {x(t) \ast h(t)} \equiv {\int_{-\infty}^{\infty}}x(\tau)\, h(t-\tau)\,{\rm d}\tau)]
이산시간 도메인에서의 컨볼루션 정의
[math(\displaystyle {x[n] \ast h[n]} \equiv \displaystyle\sum_{k=-\infty}^\infty x[k]\, h[n-k])]

컨볼루션을 직접 계산할 때는 한 신호를 고정시키고, 다른 신호는 y축 대칭 후 시간축에서 t만큼 평행이동한 것으로 나타낸 후, 시간변수 t가 음의 무한대부터 양의 무한대까지 이동하며 중첩된 영역의 두 함수값을 곱한 값의 적분(이산시간의 경우 시그마)을 계산하여 시간에 대한 함수로 나타내면 된다. 이는 고정시킨 함수가 필터 역할을 하면서 들어오는 입력신호를 가공하는 것으로 해석할 수 있다.

2. 정리

합성곱은 푸리에 변환에 대하여 일반적으로 다음과 같은 성질이 성립한다.
[math(\displaystyle y(t) = {x(t) \ast h(t)})]라 하면, [math(Y(j\omega) = X(j\omega)\, H(j\omega))]
[math(\displaystyle y[n] = {x[n] \ast h[n]})]이라 하면, [math(Y(e^{j\omega}) = X(e^{j\omega})\, H(e^{j\omega}))]

참고로 라플라스 변환, Z변환에 대해서도 성립한다. 역으로 라플라스 변환, Z변환에 대해 성립하면 푸리에 변환에 대해 성립하는 것은 자명한데, 이는 푸리에 변환과 이산 푸리에 변환이 각각 라플라스 변환, Z변환의 [math(s=j\omega)], [math(z=e^{j\omega})]인 특수한 경우이기 때문이다.

3. 활용 사례

컨볼루션 신경망 기법(CNN) 등에 응용되는 개념이다. 신호 및 시스템, 디지털 신호 처리에 많이 쓰인다.

컴퓨터 과학에서는 적분의 일반적인 정의[3]로 유도되는 이산공간에서의 컨볼루션 연산을 활용한다.

2018 수능 수학 가형 30번 문항에서 이것을 소재로 한 문제가 출제되었다. 2017 수능 30번과 함께 역대 최고난도로 꼽혔다.

포항공과대학교 2023학년도 학부 입학전형 면접 문제로 출제되었다. 앞장은 2차원 합성곱 신경망 문제가 나왔으며, 뒷장은 컨볼루션의 기하학적 정의를 이용한 문제가 나왔다.

독립인 두 연속확률변수 X, Y에 대하여 확률변수 X+Y의 확률밀도함수는 X, Y 각각의 확률밀도함수의 컨볼루션이다. 출처[4]
[1] 저 움짤이 그리는 ㅅ자 그래프는 삼각파 함수 [math({rm tri}(x))]이다. 파란색 그래프는 구형파 함수 [math({rm rect}(x))] 또는 [math({rm Pi}(x))]이다.[2] 정식 번역명칭은 합성곱이지만 이쪽이 더 많이 쓰인다.[3] 측도공간 위에 주어진 함수의 선형 범함수[4] 증명은 적률생성함수를 이용하면 된다.