평행이동 대칭: 왜 하필 사인과 코사인인가
자주 하는 실수와 요약
자주 하는 실수
| 실수 |
바른 생각 |
나온 문제 |
| 같은 소리를 넣으면 효과는 언제 넣든 같은 결과를 낸다 |
서서히 키우기처럼 시작부터의 시간에 따라 규칙이 바뀌면 시불변이 아니다. 자르기처럼 크기에 따라 배율이 바뀌면 선형이 아니다 |
문제 1 |
| 모든 칸에 같은 꼴의 규칙이면 평행이동과 순서를 바꿔도 된다 |
뒤집기 x[−n] 처럼 규칙이 칸 번호 자체를 쓰면 기준점이 생겨 깨진다. 가장자리를 0으로 보면 가장자리 칸에서 깨진다 |
문제 2 |
| 평행이동을 따라가는 신경망이면 칸 하나 응답으로 전부를 알 수 있다 |
칸 하나 응답이 전부를 정하는 것은 선형일 때만이다. ReLU 를 끼우면 밀림은 따라가지만 응답을 더할 수 없다 |
문제 3 |
| 이웃끼리 평균을 내면 언젠가 고르게 된다 |
양옆만 평균 내면 칸마다 뒤집히는 물결의 고윳값이 −1이라 영원히 뒤바뀐다 |
문제 4 |
| 실수 cos 물결은 어느 원형 행렬에서나 고유벡터다 |
합성곱 커널이 대칭일 때만이다. 대칭이 아니면 고윳값이 복소수라 cos 물결이 같은 주파수의 물결로 밀린다 |
문제 5 |
| 가장자리가 있어도 물결이 고유벡터다 |
가장자리가 평행이동 대칭을 깨면 고유벡터는 평균·기울기·굽음처럼 다른 모양이 된다 |
문제 5 |
| 주성분 둘째·셋째 축의 모양이 계산마다 다르면 계산이 틀렸다 |
고윳값이 같은 물결 둘이 이루는 면 안에서는 어느 방향이든 답이다 |
문제 6 |
| 칸에서 이웃을 섞는 필터 둘은 순서를 바꾸면 결과가 다르다 |
물결마다 수 둘을 곱하는 일이라 순서와 상관없다. 두 합성곱 커널을 합성곱한 하나로 합칠 수 있다 |
문제 7 |
| 합성곱 정리로 계산하면 보통의 합성곱이 나온다 |
고리 위의 합성곱이 나온다. 결과 길이만큼 제로 패딩해야 끝이 처음으로 감기지 않는다 |
문제 8 |
| 격자를 촘촘하게 바꾸면 배운 합성곱 커널은 다른 일을 한다 |
무게가 물결 번호에 붙은 층은 격자가 바뀌어도 같은 물결에 같은 배율을 곱한다 |
문제 9 |
| 메아리는 어느 음이든 똑같이 키운다 |
메아리와 원래 소리가 어긋난 정도에 따라 1.5배에서 0.5배까지 달라진다 |
문제 10 |
| 두 칸 평균이 물결을 계단처럼 깨뜨린다 |
반 칸 밀린 물결을 칸에서 잰 것이다. 대칭인 합성곱 커널은 밀지 않는다 |
문제 11 |
| 노이즈를 줄이는 필터 하나면 어떤 노이즈 크기에도 맞는다 |
가장 좋은 배율의 경계는 노이즈 세기에 따라 움직인다 |
문제 12 |
요약
- 선형 시불변 연산: 선형이면서 평행이동과 순서를 바꿔도 되는 연산(AS = SA). 칸 하나에 대한 응답 h가 연산 전체를 정하고, 연산은 h로 원형 합성곱하는 꼴이다.
- 원형 행렬: 선형 시불변 연산의 행렬은 행마다 윗 행을 한 칸 민 꼴이다. 원형 행렬은 합성곱 커널이 무엇이든 같은 고유벡터, 물결 eₖ[n] = e2πikn/N를 갖는다. 물결은 평행이동 자체의 고유벡터이고, 커널은 고윳값 H[k]만 바꾼다. 사인·코사인은 평행이동 대칭이 고른 축이다.
- 합성곱 정리: 칸에서의 원형 합성곱은 물결 번호마다의 곱셈 Y[k] = H[k] X[k]이다. 고속 푸리에 변환과 함께 쓰면 긴 합성곱이 수백 배 빨라진다. 보통의 합성곱을 얻으려면 제로 패딩한다.
- 주파수 응답: 필터가 한 칸에 ω씩 도는 물결에 곱하는 복소수 H(ω) = Σ h[m] e−iωm. 크기는 높이 배율, 각도는 물결이 밀리는 양이다. 대칭인 합성곱 커널은 밀지 않고, 오래 울리는 합성곱 커널은 좁은 주파수 대역만 고른다.
- ML에서는 합성곱 층이 평행이동을 따라가고, 자리를 옮겨도 통계가 같은 데이터의 주성분은 물결이 되며, 푸리에 신경 연산자는 물결마다 곱하는 배율을 배우고, 위너 필터는 신호와 노이즈의 세기로 물결마다의 배율을 정한다.
flowchart LR
A["어느 자리에나 같은 규칙<br/>AS = SA, 선형"] --> B["칸 하나 응답 h 가 전부<br/>원형 합성곱"]
B --> C["행렬은 원형 행렬<br/>고유벡터 = 물결 eₖ"]
C --> D["합성곱 정리<br/>Y[k] = H[k] X[k]"]
C --> E["주파수 응답 H(ω)<br/>물결마다 배율과 밀림"]
막힌 곳
- 고리라는 약속을 빼고 가장자리가 있는 칸 신호를 다루면 평행이동 대칭이 깨진다. 그래도 사진이나 소리 한 토막에는 늘 가장자리가 있다. 가장자리 밖을 어떻게 이어 붙인다고 약속하면 다시 쓸모 있는 축을 얻을 수 있을까?
- 이 장의 대칭은 「한 칸 밀기」 하나였다. 그림을 90°씩 돌려도 같은 데이터, 지구 표면처럼 구 위에 놓여 어느 쪽으로 돌려도 같은 데이터라면, 그 대칭은 어떤 축을 고를까?
- ReLU 를 끼운 신경망은 밀림을 따라갔지만, 물결마다 수 하나를 곱하는 일로는 줄어들지 않았다. 비선형 신경망이 무엇을 먼저 배우는지도 물결의 말로 말할 수 있을까?