위키득계정 ↗
기술

전치 합성곱

전치 합성곱기술
영문명
Transposed convolution
선형 관점
합성곱 행렬의 전치
대표 용도
특징 지도의 공간 확대
주의할 구분
전치와 역행렬은 다름
전치 합성곱은 합성곱의 선형 연산을 행렬로 나타냈을 때 그 전치에 대응하는 연산이다. 작은 특징 지도에서 더 큰 공간 형태의 출력을 만드는 데 쓰일 수 있다. 이름에 역방향 의미가 있어도 원래 입력을 복원하는 역연산과는 다르다.

행렬의 전치로 보기

편향과 활성화를 생략한 합성곱을 y=Cx라 쓰자. 전치 연산은 z를 Cᵀz로 보낸다. C가 m×n이면 입력 m개에서 출력 n개를 만드는 방향이다. 실제 층은 이 연결 구조의 가중치를 학습할 수 있다.

겹치는 기여를 더하기

C의 두 행이 (1,2,0), (0,1,2)라면 z=(3,4)에 대해 Cᵀz=(3,10,8)이다. 가운데 값 10에는 두 입력의 기여 6과 4가 더해졌다. 단순히 각 값을 복사해 칸을 늘리는 확대와 같은 규칙은 아니다.

원본 복원과 다른 이유

같은 C에서 x=(1,0,0)이면 Cx=(1,0)이다. 여기에 전치를 적용하면 (1,2,0)이 되어 원래 x와 다르다. 따라서 같은 필터를 쓰고 크기가 원래대로 돌아왔다는 사실만으로 내용도 복원됐다고 할 수 없다.

출력 길이의 설정

일차원에서 입력 길이 n, 간격 s, 양쪽 패딩 설정 p, 팽창 d, 필터 길이 k, 출력 보정 o를 쓰는 대표 규약의 길이는 (n-1)s-2p+d(k-1)+o+1이다. n=4, s=2, p=1, d=1, k=3, o=0이면 7이다. 보정 o를 1로 두면 8이지만, 길이 보정이 사라진 정보를 되찾아 주는 것은 아니다.

관련 문서

합성곱 층 / 합성곱 / 행렬 / 역행렬 / 최대 풀링 / 평균 풀링 / 인공 신경망