<
BigGAN
>
上一篇

ALBERT : A Lite Bert For Self-Supervised Learning of Language Representations
下一篇

OpenCV 시작 겸 기본 클래스 정리

Abstract

최근 고해상도 생성모델이 성공적으로 진행중이지만, 이미지넷처럼 복잡한 데이터에서 다양한 샘플을 추출하는 것은 여전히 어렵다. 이를 위해 여태껏 시도했던 가장 큰 규모의 GAN을 학습시켰고 그런 규모에서의 불안전성에 대해 연구했다. 생성기에 orthogonal 정규화를 적용하여 입력의 분산을 줄여 샘플의 충실도와 다양성의 트레이드오프 관계를 제어할수 있는 ‘truncation trick’를 찾아내었다. 이 변화들은 조건부 이미지 합성에서 SOTA를 달성할수 있게 했다. 이미지넷 128에서 훈련하였고, 우리 모델은 166.5의 IS와 7.4의 FID를 달성하였다(기존의 최대치는 52.52와 18.65)

1. Introduction

2. BackGround

3. Scaling Up Gans

이 섹션에서, 우리는 더 큰 모델과 배치의 이점을 얻기 위해 GAN 학습을 확장하는 방법을 연구했다. 베이스라인은 힌지로스를 사용한 SA-GAN을 가져왔다. class-conditinal 배치노말이 포함된 G와 projection이 적용된 D에 클래스정보를 주었다. 최적화는 SA-GAN을 따랐고(생성기에 SN을 적용한), G당 D의 학습률을 반으로 줄이고 단계를 두번으로 늘렸다. 평가를 위해 감쇠 0.9999의 이동평균을 사용했다. 기존에 가우시안이나 세이비어 초기화가 아닌 Orthgonal 초기화를 사용하였다. 128에서 512개의 TPU코어로 학습되었고, 기기당이 아닌 모든 장치에 G단위로 배치노말 정보를 계산했다. 512해상도에서도 PG가 불필요한것을 알아냈다. 부록 C에 세밀하게 나와있다.

베이스라인 모델의 배치사이즈를 증가시키기 시작했고, 그 즉시 엄청난 이점을 발견했다. 테이블 1의 1~4번재 줄에서 단순히 배치사이즈만을 8배로 증사시키므로 SOTA의 IS를 46% 증가시킨것을보여준다. 이것은 각 배치가 더 많은 모드를 커버함으로 두 네트워크에 더좋은 경사를 제공하는것으로 추측한다. 여기서 주목 할 부작용은 더 적은 스텝에서 좋은 성능이 나오고, 점점 불안정해져 훈련이안되는 것이다. 섹션 4에서 이부분에 대해 분석했고, 이때문에 collapse 되기 전의 체크포인트의 점수를 사용하였다.

다음은 양쪽 모델의 각 채널을 50%증가시켜 거의 두배의 파라미터를 가지게 되었다. 이는 21%의 IS증가를 보였고, 데이터셋의 복잡성에 맞게 큰 모델을 사용했기 때문이라 생각했다. 깊이를 두배로 하는것은 개선을 이루지 못했고, 이것은 나중에 Residual block을 사용한 BigGAN-deep 모델에서 자세히 다룬다.

G의 CBN층에서 사용하는 임베딩 c가 많은 가중치를 가진것에 주목했다. 각임베딩에 대해 분리된 층을 갖는대신, 각 레이어의 gain과 편향을 선형투영하는 공유 임베딩을 사용했다. 이것은 계산량과 메모리사용을 감소시켰고 훈련속도를 37% 향상시켰다. 다음에 noize z 로부터 skip connection을 G의 초기화 층을 제외한 여러층에 추가하였다. 이것에 대한 직관은 G가 latent space 를 이용하여 다른 계층과 해상도에서 직접적인 영향을 미치게 하는 것이다. BigGAN에서 해상도당 하나의 묶음으로 z를 나누고 각 묶음을 조건부벡터 c 에 연결하고 이것을 배치노말에 투영한다. BigGAN-deep에서는 더 단순한 설계인 전체 z를 조건부벡터 c와 바로 연결했다. 기존의 연구들도 이것을 고려했었고, 우리는 그것을 살짝 수정한 것이다. 이것은 4%의 적당한 성능 향상과, 18%의 훈련속도 상승을 야기했다.

3.1 Traiding Off Variety and Fidelity With the Truncation Trick

잠재공간에서 역전파해야하는 모델과는 달리, GAN은 임의의 $p(z)$를 이용하나 대부분의 기존 모델들은 $\mathcal{N}(0,1)$ 혹은 $\mathcal{U}[-1,1]$에서 z를 추출한다. 우리는 이것에 의문을 제기하며 부록 E에 대안에 대해 탐구한 내용이 있다.

놀랍게도 우리는 전혀다른 분포를 사용해 가장 좋은 결과를 얻었다. $z \sim \mathcal{N}(0,I)$ 에서 truncated를 적용(허용 범위가 넘어가면 다시 샘플링)하면 IS와 FID를 매우 향상시킨다. 이것을 Truncation Trick이라 부르고, Figure2에 이것에 대해 증명했고 이는 다양성의 감소비용으로 샘플품질을 향상시킨다.

이 기법은 주어진 G에 대해 다양성과 퀄리티의 Tradd-off를 미세하게 조정해 선택할수 있게 한다. 특히 PR곡선같은 곡선을 구현해 다양한 임계값에 대해 FID와 IS를 계산 가능하다. IS는 모델의 다양성과 관련없기에 임계값을 줄이는것은 IS증가에 직접적인 영향을 미친다. FID는 다양성부족에 감점이 있지만 정밀도도 보상하기에 개선을 보이기는 하지만, 절단 임계값이 0에 가까워져 다양성이 감소하면 급격히 감소한다. 이 분포 변화는

훈련에서 보여진것보다 많은 latent분포에서의 샘플링으로 인한 분포이동은 많은 모델에서 문제를 일으킨다. 일부 대형 모델은 이것을 사용할 수 없는데, 사용시 saturation한 결과물을 만든다(조건이 열약한 모델에서). 이를 방지하기 위해 z의 전체공간이 좋은 출력샘플에 맵핑되도록 G를 부드럽게 조절해 절단에대한 편의성을 강화했다. 이를위해 직교정규화를 사용해 직접적으로 강제 직교상태를 만들었다.
\(R_\beta(W) = \beta\| W^TW-I\|^2_F\)

여기서 W는 가중치 매트릭스고 $\beta$는 하이퍼파라미터이다. 이 정규화는 종종 너무 제한적이 된다고 알려져있어서, 따라서 우리는 모델들이 원하는 스무스함을 주면서도 구속조건을 완화하도록 변형된 설계를 연구했다. 가장 잘 작동하는것은 정규화에서 diagonal term을 제거한것이고 필터간의 코사인유사도를 최소화하는 목적이지만 노름에 제한을 주진 않는다.

\[R_\beta(W) = \beta\| W^TW\odot(1-I)\|^2_F\]

위에서 1은 모든요소가 1인 행렬이다. $\beta$는 여러가지 시도후 $10^{-4}$를 사용했고, 이 작은 패널티가 우리 모델이 TT에 잘 작동될 가능성을 향상시키기 충분한 것을 알아냈다. 표1 전체에 걸쳐 16%의 모델에만 적용되던것이 적용후 60%의 모델에서 적용할 수 있었다.

3.2 Summary

우리는 현재 GAN 기법들이 모델의 크기와 학습시 배치사이즈를 확장하기 충분한 것을 알았다. PGGAN같은 명시적 멀티스케일을 사용하지 않고도 512해상도의 모델을 극적으로 개선하고 훈련 할 수 있었다. 이러한 개선에도 불구하고 우리모델은 훈련간 collapse를 겪고 사전중단을 사용해야한다. 뒤에 섹션에서는 이 안정적이던 설정이 스케일되었을때 불안정해지는 이유를 조사한다.

4. Analysis

4.1 Characterizing Instability : The Generator

조사된 많은 기존 작업들이 다양한 방면에서 GAN의 안전성을 연구했으나, 우리가 관찰한 불안정성은 소규모에선 문제가없고 대규모에서만 발생한다. 훈련시 collapse의 시작을 추정할수 있는 측정 기준을 찾기위해 가중치, 기울기 및 손실을 측정했다. 그중 3가지 가중치행렬의 표준편차가 가장 유용한 정보인 것을 알아냈다. 그것은 power iteration method를 확장한 SNGAN논문에서 사용된 특이값과 벡터까지 확장하는 Alrnoldi 반복법을 사용해 이용해 효율적으로 계산 할 수 있다. Figure3과 부록F에서 보면 명확한 패턴이 나타난다. 대부분 G는 잘 동작하는것을 보여주지만 몇몇 층은 잘못된 행동을하며 훈련내내 증가하고 붕괴시 폭발하는 곡선도 보인다. 이것의 원인을 알기 위해 G에 spectral explosion을 확인할수 있는 명시적인 조건을 연구했다. 각 가중치의 특이값$\sigma_0$을 고정값 $\sigma_{reg}$ 혹은 두번쨰 특이값 $\sigma_1$에 일정비율 r 을곱한값을 이용해 직접 정규화한다. 또는 $\sigma_0$를 대신하기위해 부분적 SVD 를 사용한다. W가 주어지면 첫 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 계속

4.3 Summary

우리는 안정성이 G 혹은 D 가 아닌 두가지의 상호작용에서 오는것을 알아냈다. 이상상태의 증상은 불안전성을 추적하고 확인하는데 사용할 수 있고, 적절한 조건은 교육에 필요하지만 궁극적으로 훈련붕괴를 막는데는 충분하지 않다. 현재 기법과 함게하면 붕괴가 훈련 후반에 발생하게 함으로 더 나은 성능을 달성할 수 있으며 이때 모델은 충분히 좋은 결과를 얻을 수 있다.

6. Conclusion

우리는 GAN이 다양한 범주의 이미지를 모델링링할때 스케일업으로 정확도와 다양성 모두에서 많은 이점을 얻음을 증명했다. 그 결과 우리 모델은 ImageNet GAN 모델에서 SOTA를 크게 향상시켰다. 또한 GAN의 훈련 방식에 대해 분석을 제시했고, 가중치의 특이값 관점에서 안정성을 표현하고, 안정성과 성능의 상호작용을 논했다.

Top
Foot