합성곱, 컨볼루션, 콘볼루션
이거 신시의 (신호,signal의?) convolution과 CNN의 (이미지,image의?) convolution을 별도의 page로 나누는 게 좋을텐데. 핵심 idea는 일치하나 둘은 너무도 달라서. pagename TBD ...
image_convolution?
NN > CNN 의 convolution은
{
이미지,image를 주로? 항상? 다루며
용어들은 대략
stride { 번역들: 보폭, }
kernel ~= filter ...
필터,filter > image_filter
flatten
padding
featuring
feature_map
채널,channel - 역시 통신의 채널과는 좀 다른
pooling - max pooling, average pooling, stochastic pooling, ... 최대 풀링 / 평균 풀링 / 확률 풀링 ...
...
종류는
LeNet
GoogLeNet
AlexNet
VGGNet
...
}
수학백과 '5. 이산 합성곱' 분류에 의하면
정수 수열 두 개 a,b에 대해
이런? chk
2023-03-19
discrete_convolution
continuous_convolution
을 sub로 할까?
각각 syn.이
= discrete-time_convolution
= continuous-time_convolution
인지 chk
암튼 discrete convolution은 다음 무한합이며 //
infinite_sum
여기서
: coefficients
: basic signals
이다. 즉 signal을 basic signals의
가중합,weighted_sum으로 나타낼 수 있다.
이것을
sifting property of the unit sample이라 한다.
특히 DT LTI system의 특성상, 출력(
응답,response)을 구할 때 위 식의
를
로 바꾼 것과 같다.
같은 식을
convolution operator로 표기하면
이다.
다시 말해
ex 1.
이면
- identity system.
ex 2.
이면
- a shift.
정의:
의
convolution은
정의: If
and
are defined on
then the
convolution of
with
is the function defined by
for
(O'Neil AEM Def. 3.6)
The Convolution Theorem:
Equivalently,
The
inverse transform version of the convolution theorem:
(Thm 3.5-)
TBW:
이산함수의 합성곱 이산합성곱
합성곱의 성질 properties
{
(생각)
convolution은 하나를 fix하고 다른 하나를 move하게 되는데,
commutative property (
교환법칙,commutativity) 때문에,
어떤 것을 fix하고 어떤 것을 move할지 잘 정하면 계산이 간단해질 듯?
}
1. mathworld 요약 (merge later) ¶
함수
가 shift해서 다른 함수
위에 얼마나 겹쳤는지(overlap)를 나타내는 적분?
동사형은 convolve인가 보다... Wolfram language 함수이름이 Convolve. Convolute는 아니고?
추상적으로, 유한한
범위,range 위로(over) 두 함수
의
합성곱은
그런데 무한한 범위에서 구할 경우가 많은데(??) (원문: Convolution is more often taken over an infinite range,)
이하생략.
3. Links ko; tmp ¶
tmp; for intuition:
dkeemin.com(https://dkeemin.com/%EC%BB%A8%EB%B3%BC%EB%A3%A8%EC%85%98convolution-%EC%A0%95%EC%9D%98%EB%A5%BC-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%B4%EB%B3%B4%EC%9E%90/)
4. Links en ¶
다른 예.
(1,2,3)*(4,5,6)은,
(1,2,3)은 그래로 두고
(4,5,6)은 뒤집어서 (6,5,4)로 하여 한 칸씩 오른쪽으로 이동하면서 위아래 항목들을 곱하여 더한... ('pairwise product') 다음과 같이.
1 2 3
6 5 4 -> 1·4=4
1 2 3
6 5 4 -> 1·5+2·4=13
1 2 3
6 5 4 -> 1·6+2·5+3·4=28
1 2 3
6 5 4 -> 2·6+3·5=27
1 2 3
6 5 4 -> 3·6=18
그래서 결과는 (4,13,28,27,18)이다.
넘파이,NumPy에선
np.convolve((1, 2, 3), (4, 5, 6))
하면 결과가
array([4, 13, 28, 27, 18])
로 나온다.
이동평균,moving_average도 이것의 예이다.
△ 모양의 수열(?)과 convolve? convolute? 하면 데이터를 부드럽게(smooth out)하는 결과가 나온다.
그리고 저 분포가 저렇게 uniform하지 않고 가운데가 종 모양으로 볼록한 가우스 분포 형태를 띠면 그게 바로 Gaussian_blur.
5. convolution vs cross-correlation ¶
6. convolution vs autocorrelation ¶