Glow: 더 나은 가역 생성 모델
OpenAI는 가역 생성 모델인 Glow를 소개했습니다. 이 모델은 가역 1x1 컨볼루션을 활용해 고해상도 이미지를 합성합니다. 이 아키텍처는 기존의 flow 기반 모델을 단순화하여 정확한 잠재 변수 추론, 효율적인 병렬 샘플링, 그리고 데이터 조작을 위한 의미론적 특징 발견을 가능하게 합니다.
Flow 기반 생성 모델의 장점
- Exact Inference and Likelihood: VAEs와 달리 근사적인 잠재 변수 추론을 제공하고, GAN은 인코더가 전혀 없으며, 가역 모델은 정확한 잠재 변수 추론과 데이터의 정확한 로그 가능도 최적화를 허용합니다.
- Efficient Parallelism: 자동회귀 모델(예: PixelCNN)은 가역이지만, 합성을 병렬화하기 어렵습니다. Glow는 추론과 합성 모두에서 효율적으로 병렬화할 수 있습니다.
- Manipulatable Latent Space: 가역 모델은 데이터 포인트를 직접 표현할 수 있는 잠재 공간을 제공하여, 기존 데이터 포인트의 보간 및 의미 있는 수정이 용이합니다. 이는 데이터 분포에 대한 완전한 지원이 없을 수 있는 GAN보다 더 견고합니다.
- Memory Efficiency: RevNet의 원리를 기반으로, 가역 신경망에서의 그래디언트 계산은 깊이에 비례하는 선형 메모리가 아니라 일정한 메모리만 필요합니다.
기술적 기여 및 아키텍처
Glow는 모델을 단순화하고 새로운 가역 연산을 도입함으로써 RealNVP 아키텍처를 개선합니다.
가역 1x1 컨볼루션
Glow의 주요 기여는 고정된 순열을 학습된 1x1 컨볼루션 연산으로 교체한 것입니다. 이전 모델에서는 채널별 마스킹이 데이터를 섞기 위해 경직된 순열에 의존했습니다. 채널 순열은 선형 변환의 특수한 경우이므로, Glow는 입력과 출력 채널 수가 동일한 1x1 컨볼루션을 사용해 최적의 순열을 학습합니다. 이러한 가중치는 무작위 회전 행렬로 초기화되며 LU 분해를 이용해 효율적으로 최적화됩니다.
아키텍처 단순화
- Removal of Checkerboard Masking: Glow는 전체 아키텍처를 단순화하기 위해 RealNVP에서 사용된 체커보드 마스킹 레이어를 제거합니다.
- Activation Normalization: 모델은 배치 정규화 대신 활성화 정규화 레이어를 사용합니다. 이 레이어는 데이터 의존적 초기화를 통해 활성화를 이동 및 스케일링하며, 이를 통해 모델은 크기를 확장하고 미니배치 크기가 1인 경우에도 작동할 수 있어 대형 이미지 처리에 필요합니다.
성능 및 결과
Glow는 여러 벤치마크에서 RealNVP에 비해 비트/차원 기준으로 상당한 정량적 향상을 보여줍니다:
| 데이터셋 | RealNVP | Glow |
|---|---|---|
| CIFAR-10 | 3.49 | 3.55 |
| Imagenet 32x32 | 4.28 | 4.09 |
| Imagenet 64x64 | 3.98 | 3.81 |
| LSUN (bedroom) | 2.72 | 2.38 |
| LSUN (tower) | 2.81 | 2.46 |
| LSUN (church outdoor) | 3.08 | 2.67 |
이미지 합성 및 잠재 조작
30,000개의 고해상도 얼굴 데이터셋으로 학습한 Glow는 NVIDIA 1080 Ti GPU에서 약 130ms 안에 256×256 샘플을 생성할 수 있습니다. 연구자들은 잠재 변수의 표준 편차를 온도 0.7로 스케일링하면 샘플 품질이 종종 향상된다는 것을 발견했습니다.
Glow는 완벽한 인코더를 가지고 있기 때문에 비지도 속성 조작에 사용할 수 있습니다. 특정 속성(예: 금발 머리)이 있는 이미지와 없는 이미지를 인코딩하고 평균 잠재 벡터 간 차이를 계산하면 "조작 벡터"가 생성됩니다. 이 벡터를 임의의 입력 이미지의 잠재 표현에 추가하면 초기 학습 단계에서 라벨이 필요 없이 해당 속성을 수정할 수 있습니다.
규모 및 향후 연구
1억 개 이상의 파라미터를 가진 모델을 학습하기 위해 OpenAI는 5대의 머신으로 구성된 클러스터에서 각 머신당 8개의 GPU를 장착한 Horovod를 활용했으며, 메모리 관리를 위해 그래디언트 체크포인팅을 사용했습니다.
팀이 확인한 향후 연구 방향은 다음과 같습니다:
- Likelihood Competitiveness: 흐름 기반 모델을 VAEs 및 자동회귀 모델과 결합하여 로그 가능도 성능을 맞추면서 효율적인 샘플링을 유지합니다.
- Computational Efficiency: 현재 고해상도 이미지에 필요한 깊이(
600개의 컨볼루션 레이어)와 파라미터 수(200M)를 줄이기 위해 셀프 어텐션 아키텍처 또는 점진적 학습을 탐구합니다.