지역 마스크 합성곱으로 다중 순서 자동회귀 모델 구현
초록
**
LMConv은 표준 2차원 합성곱에 위치별 마스크를 적용해 임의의 픽셀 순서를 지원하는 기법이다. 하나의 파라미터 집합으로 여러 생성 순서를 학습·평가함으로써 전체 이미지 밀도 추정 성능을 향상시키고, 관측된 영역을 최대한 활용한 전역 일관성 이미지 완성을 가능하게 한다. CIFAR‑10 무조건 모델에서 2.89 bpd를 달성하였다.
**
상세 분석
**
본 논문은 기존 PixelCNN 계열이 하나의 고정된 순서(대개 좌상단→우하단 래스터 스캔)만을 모델링한다는 한계를 지적한다. 래스터 스캔은 이미지 완성·인페인팅과 같이 관측된 픽셀 위치가 임의일 때 충분한 컨텍스트를 제공하지 못한다. 이를 해결하기 위해 저자들은 Locally Masked Convolution (LMConv) 을 제안한다. LMConv은 전통적인 가중치 마스크가 아니라, im2col 단계에서 추출된 패치 행렬에 위치‑특정 마스크를 곱해 입력 패치를 직접 차단한다. 즉, 각 픽셀 위치마다 서로 다른 마스크를 적용함으로써 원하는 순서에 맞는 인과 관계를 강제한다.
핵심 아이디어는 다음과 같다.
- 순서‑조건 마스크 생성: 목표 순서 π에 따라 각 픽셀 (i, j)의 선행 픽셀 집합 Pa(x_{i,j})을 정의하고, 이를 기반으로 마스크 행렬 M을 만든다. M은 im2col 결과 X와 동일한 차원을 가지며, X ← M⊙X 로 연산한다.
- 단일 파라미터 공유: 모든 순서에 대해 동일한 필터 W와 바이어스 b를 사용한다. 마스크만 바뀌므로 메모리·연산 비용이 크게 증가하지 않는다.
- 병렬 조건부 계산: 마스크 적용 후 행렬 곱 W X을 수행하면, 한 번의 포워드 패스로 현재 순서에 대한 모든 조건부 확률을 동시에 얻을 수 있다. 이는 MADE와 유사한 효율성을 제공한다.
연산 측면에서 저자들은 두 가지 구현을 제시한다. 첫 번째는 자동 미분을 활용한 간단한 파이썬 구현(≈20줄)이며, 메모리 사용량이 다소 크다. 두 번째는 커스텀 백워드에서 im2col을 재계산하는 방식으로, 메모리 사용을 2.7배 절감하면서도 1.3배 정도의 속도 저하만 발생한다.
세 가지 순서 패턴을 실험에 사용하였다.
- 래스터 스캔: 기존 PixelCNN과 동일한 순서.
- S‑curve: 행을 번갈아 좌→우, 우→좌로 진행하는 지그재그 형태.
- Hilbert curve: 공간을 채우는 재귀적 곡선으로, 인접 픽셀을 연속적으로 생성한다.
다양한 순서를 학습함으로써 얻는 장점은 크게 두 가지다. 첫째, 블라인드 스팟(선행 픽셀에 접근하지 못하는 영역)을 최소화해 이미지 완성 시 전역 구조를 유지한다. 둘째, 여러 순서에 대한 로그우도 평균을 취해 베이지안 모델 평균 효과를 얻어 전체 데이터셋에 대한 밀도 추정 정확도를 높인다.
실험 결과는 설득력 있다. CIFAR‑10 무조건 모델에서 LMConv 기반 앙상블이 2.89 bpd를 기록했으며, 이는 기존 PixelCNN++(≈2.92 bpd)보다 개선된 수치다. 또한, 관측 마스크가 주어졌을 때 가장 많은 컨텍스트를 제공하는 순서를 선택하면, 이미지 인페인팅 품질이 크게 상승한다. 새로운 순서에 대한 일반화 실험에서도 모델이 기존에 보지 못한 순서에 대해 일정 수준의 성능을 유지함을 확인했다.
이 논문은 **“위치‑레벨 마스크”**라는 간단하지만 강력한 아이디어를 통해, 기존 CNN 기반 자동회귀 모델이 갖던 순서 의존성을 크게 완화한다. 구현 복잡도와 연산 비용이 크게 증가하지 않으면서도, 다중 순서 학습·추론이 가능해지는 점은 이미지 복원·완성·다중 뷰 생성 등 다양한 응용 분야에 직접적인 파급 효과를 가질 것으로 기대된다.
**
댓글 및 학술 토론
Loading comments...
의견 남기기