합성곱: 이웃만 보는 MLP

자주 하는 실수와 요약

자주 하는 실수

실수 나온 문제 바로잡는 법
평균을 내도 갑자기 바뀐 곳이 그대로 보인다고 봄 1 합이 1인 커널은 경계를 커널 폭만큼 비탈로 흐린다. 바뀐 곳을 찾으려면 합이 0인 차이 커널을 쓴다
수학의 합성곱과 신경망의 합성곱이 같다고 봄 2 수학은 커널을 뒤집어 건다(x[i − j]). 신경망 라이브러리는 뒤집지 않는다(교차 상관). 좌우가 같은 커널만 결과가 같다
잡음을 걷는 커널 하나를 모든 잡음 수준에 씀 3 잡음이 클수록 넓고 합이 작은 커널이 맞다. 다른 수준의 커널은 아무것도 안 하느니만 못할 수 있다. 신경망은 잡음 수준을 알아야 한다
칸마다 따로 배우는 쪽이 늘 더 꼼꼼하다고 봄 4 자리마다 규칙이 같다면 공유한 쪽이 같은 데이터로 자리 수만큼 더 많이 배운다
이웃만 보면 「옮기면 옮겨진다」가 저절로 생긴다고 봄 5 그 성질은 같은 커널을 나눠 쓰는 데서 온다. 자리마다 다른 커널이면 깨진다
공유한 층의 매개변수에서 치우침을 빼먹음 6, 11 치우침을 단위마다 두는지 채널마다 두는지 확인하고 더한다
수용 영역 안의 칸이 모두 비슷하게 중요하다고 봄 7, 9 이론상 폭은 층 수에 비례하지만 실제로 기대는 폭은 층 수의 제곱근에 비례한다
다채널 층의 가중치를 셀 때 채널 수를 한 번만 곱함 8 커널 한 칸이 입력 채널 하나와 출력 채널 하나를 잇는다. k² × Cin × Cout
팽창 간격을 크게만 늘리면 된다고 봄 8 간격이 너무 빨리 커지면 수용 영역 안에 아무도 보지 않는 칸이 생긴다
1 × 1 합성곱은 이웃을 안 보니 쓸모가 없다고 봄 11 칸마다 같은 MLP 층이다. 채널끼리 섞는다
입출력 채널을 맞바꾸면 매개변수도 같다고 봄 12 가중치는 같지만 치우침은 출력 채널 수만큼이다
매개변수가 적으면 계산할 값도 적다고 봄 12 합성곱 출력은 칸마다 채널 수만큼 값이 있다. 첫 층 출력이 입력의 80배다

요약

이웃에 같은 비율을 곱해 더하는 계산이 합성곱이고, 곱하는 비율의 묶음이 커널이다. 그림을 흐리게 하던 블러도 종 모양 커널의 합성곱이었다. 커널을 바꾸면 고르는 대역과 방향이 바뀐다. 이웃 평균 [¼, ½, ¼]은 굵은 무늬를 남기고, [−1, 2, −1]은 가장 가는 무늬를 남기며, 윤곽을 찾거나 잡음을 걷는 커널도 비율 몇 개의 차이다. 커널을 가중치로 두면 학습으로 정할 수 있다. 모든 자리가 같은 커널을 쓰는 가중치 공유 덕분에 매개변수 수는 그림 크기와 상관없어지고, 입력을 옮기면 출력도 그만큼 옮겨져 한 자리에서 배운 것을 다른 자리에서도 쓴다. 커널을 층층이 쌓으면 출력 한 칸이 보는 수용 영역은 층 수에 비례해 넓어지지만, 실제로 기대는 폭은 층 수의 제곱근으로만 자란다. 칸마다 수가 여러 개면 채널로 다루며, 합성곱 층은 칸마다 이웃의 모든 채널 값을 펴서 같은 행렬을 곱하는, 이웃만 보는 MLP다.

flowchart LR
  K["블러<br/>종 모양 비율로 굵은 대역을 고른다"] -->|"비율을 배우면"| C
  A["MLP<br/>출력 칸마다 입력 전부에 따로 가중치"] --> B["이웃만 잇기<br/>k × k 이웃만 본다"]
  B --> C["가중치 공유 = 합성곱<br/>모든 자리가 같은 커널"]
  C --> D["채널<br/>칸마다 여러 특징, C_out(C_in·k² + 1)"]
  C --> E["층 쌓기<br/>수용 영역 1 + L(k − 1)"]
  E --> F["실제로 기대는 폭은 √L<br/>멀리 보기 어렵다"]
  C --> G["잡음 걷는 커널<br/>잡음 수준마다 다르다"]

막힌 곳

이제 그림 크기와 상관없는 적은 매개변수로 그림을 받아 그림을 내놓는 층을 만들 수 있다. 커널이 고르는 대역과 방향을 데이터에서 배우고, 같은 커널을 모든 자리에서 쓰니 한 자리에서 배운 것이 다른 자리에서도 통하고, 칸마다 여러 특징을 채널로 함께 다룬다.

그런데 잡음을 걷는 가장 좋은 커널은 잡음 크기마다 달랐다. 잡음이 옅으면 바로 옆 칸만 조금 섞는 좁은 커널이, 짙으면 거의 평평하게 넓은 커널이 좋았다. 넓고 평평한 커널은 굵은 무늬만 남기는 블러에 가깝다. 잡음이 짙을수록 그림의 가는 무늬는 믿을 것이 못 된다는 뜻일까? 그렇다면 잡음 크기마다 그림의 어느 대역이 살아 있고 어느 대역이 덮였을까? 수리공은 σ 를 3에서 0.02까지 줄여 가며 고쳤지만, 그 σ 들 사이에서 그림이 어떤 길을 따라 어떤 순서로 망가지는지는 아직 정확히 정해 두지 않았다. 그리고 짙은 잡음 속에서 굵은 무늬를 읽어야 한다면, 작은 커널을 쌓아서는 출력 한 칸이 기대는 폭이 층 수의 제곱근으로만 넓어지는 한계도 넘어야 한다.