3 개의 요점
✔️ CGAN의 생성 부분에 변분 추론을 도입한 새로운 GAN프레임워크를 개발
✔️ 질적, 양적 평가에 있어서 기존 기술과 비교하여 제안된 새 기법이 우수한 것으로 판명됨
✔️ 입력 문장이 긴 경우에도 그 문장의 의미를 정확히 반영한 이미지를 생성하는 데 성공
참고 1 : GAN(생성적 적대 신경망)
현재 GAN이라는 심층 생성기술을 통해 실제 같은 정밀도를 가진 가상 이미지를 만들 수 있습니다. 그러나, GAN에도 문제는 있습니다. 이미지를 만들 수는 있지만 인간이 의도하는 이미지를 생성하는 것은 어렵습니다.
지금 존재하는 GAN의 대부분은 인간의 의지와 상관없이 이미지를 생성합니다.
생성 이미지 제어를 목적으로 제안된 기법은 크게 두 가지 존재합니다. 하나는 자연언어를 기반으로 하는 이미지 생성이고, 다른 하나는 Conditional-GAN(CGAN)로 대표되는 이미지 클래스 라벨 기반의 이미지 생성입니다.
그러나 자연어를 직접 이용하는 방법은 문장 이해의 측면에서 어려움이 있으며, 예를 들어, "This bird is red and brown in color, with a stubby beak"같이 단조로운 문장에서만 목적에 맞는 이미지를 생성할 수 있습니다.
클래스 레이블을 이용하는 CGAN은 입력 노이즈와 레이블의 데이터 구조 불일치 문제보다는 출력 이미지가 왜곡되어 버리는 문제가 발생하고 있습니다.
본 연구에서는 생성 이미지의 잠재변수 획득에 변분추론을 도입함으로써 현재의 문제를 해결하고, 어느 정도 인간의 의도를 반영한 이미지를 생성할 수 있는 새로운 GAN프레임워크 Variational Conditional GAN(VCGAN)를 제안했습니다.
제안된 방법
변분 추론
본 논문에서 핵심이 되는 기술입니다. 변분 추론이란 한마디로 말하면, 확률분포를 근사적으로 구하는 방법입니다.
일반적으로 확률 분포는 최대 가능성 등의 방법을 사용하여 구합니다만, 확률 분포가 복잡한 형태로 되어 버리면 수치해석으로 푸는 것은 거의 불가능합니다.
그 문제를 해결하기 위해 원래의 확률 분포를 단순화한 별도의 확률 분포를 정의하고, 그 분포를 원래의 확률 분포에 가깝게 근사치로 구하는 방법이 변분 추론입니다.
이상의 내용을 수식으로 표현하면 다음과 같이 됩니다.
본 연구에서는 '변분 추론'을 도입하여 클래스 라벨을 기반으로 한 이미지 생성 시, 조건부 최대우도추정시 우도함수의 최대화 문제 부분을 위와 같이 대체하여, 이미지 생성기의 잠재변수 확률 분포를 구하도록 학습을 진행합니다.
(※) 우도 : 우도(likelihood)란 이미 주어진 표본 x들에 비추어 봤을 때 모집단의 모수 θ에 대한 추정이 그럴듯한 정도를 가리킵니다. 머신러닝에서는 주로 조건부 우도를 최대화하는 방식으로 학습을 합니다. 입력값 X와 모델의 파라미터 θ가 주어졌을 때 정답 Y가 나타날 확률을 최대화하는 θ를 찾는 것입니다. 우리가 가지고 있는 데이터가 학습 과정에서 바뀌는 것은 아니므로 X와 Y는 고정된 상태입니다. 모델에 X를 넣었을 때 실제 Y에 가장 가깝게 반환하는 θ를 찾아내는 것이 관건이라고 볼 수 있겠습니다. 최대우도추정 기법으로 추정한 모수는 일치성(consistency)과 효율성(efficiency)이라는 좋은 특성을 가지고 있습니다. 일치성이란 추정에 사용하는 표본의 크기가 커질수록 진짜 모수 값에 수렴하는 특성을 가리킵니다. 효율성이란 일치성 등에서 같은 추정량 가운데서도 분산이 작은 특성을 나타냅니다. 이러한 이유로 머신러닝에서는 모수를 추정할 때 최대우도추정 기법을 자주 사용합니다. 하지만 최대우도추정은 관측치(표본)에 큰 영향을 받기 때문에 이를 보완하는 다양한 기법들이 제안되고 있습니다.
|
문제 설정
궁극적으로는 다음 수식을 목적 함수로 하여, 이 우도함수를 최대화시킬 수 있도록 학습을 진행합니다.
프레임워크
본 연구에서 제안된 VCGAN 프레임워크는 다음 그림으로 나타낼 수 있습니다.
이 그림을 참조하면서 VGGAN 프레임워크를 간단히 알아보면,
1. 먼저 Encoder 네트워크에서 노이즈 φ, 라벨 c를 받고 그들을 잠재변수 z로 인코딩합니다.
2. Decoder 네트워크에서 잠재변수 z가 주어진 실제 이미지 x의 분포를 학습하도록 설계되어 있습니다.
3. Discriminator 네트워크에서는 1,2 Encoder-Decoder 네트워크(본 연구에서 제안된 방법, 변분 추론에 의한 프레임 워크)에 의해 생성된 이미지와 실제 이미지와의 판별을 진행합니다.
실험 결과
이어서, 프레임워크를 실제 이미지에 적용한 결과를 기술하고 있습니다.
본 연구에서 사용한 데이터는 다음의 표에 나타난 바와 같이 CIFAR10, FASHION-MNIST, CUB, Oxford Flower의 4 종류입니다.
실제로 사용된 이미지의 예는 다음과 같습니다. 왼쪽이 CIFAR10, 오른쪽이 FASHION-MNIST입니다.
제안된 프레임워크를 평가하는 지표로서 Inception score(IS), Frechet Inception distance(FID)를 사용했습니다. 또한 성능 평가를 위한 기존 방법으로 DCGAN, LSGAN, AC-GAN, WGAN, WGAN-GP, CVAE-GAN, SNHGAN-Proj를 사용했습니다.
아래는 이러한 기술에 대한 성능 비교 결과입니다. 이 표를 보시면 두 가지 지표 모두에서 제안된 방법이 가장 뛰어난 것을 확인할 수 있습니다.
다음으로, 제안된 방법을 사용하여 클래스 라벨 기반 이미지 생성의 결과 평가를 실시했습니다. 다음 그림은 CIFAR10에서 클래스 라벨과 노이즈 양쪽 모두를 입력한 경우에 생성된 이미지를 비교하고 있습니다.
위에서 아래로 순차적으로 아래의 기법들을 적용한 결과입니다.
(a) CVAE
(b) Concat-CGAN
(c) CBN-CGAN
(d) CVAE-GAN
(e) VCGAN
이 결과를 보면, VGGAN이 가장 선명한 이미지를 생성한 것을 확인할 수 있습니다.
마지막으로, 여기 VCGAN을 이용하여 문장보다 그 문장의 의미를 반영한 이미지를 만드는 것을 시도하고 있습니다. 문장을 이미지로 변환하는 경우 클래스 조건에 기반한 태스크와는 달리 문장을 조건부 벡터로 변환해야 합니다. 이번에는 VCGAN에 입력하기 전에 hybrid character-level convolutional-recurrent network을 이용하여 문장을 1024차원으로 압축했습니다.
그 결과는 다음 그림과 같습니다.
이 결과를 보면, 긴 문장이라도 그 문장의 의미를 반영한 이미지가 생성되는 것을 알 수 있습니다.
결론
본 연구에서는 이미지 생성 시 변분 추론을 도입하여, 입력된 클래스 라벨의 의도를 반영한 더욱 다양하고 선명한 이미지를 생성하는 새로운 GAN프레임워크를 제안했습니다. 기존 방법과 비교하여 클래스 라벨을 기반으로 생성하는 데 있어서 최고의 성능을 보여주는 것을 확인할 수 있었습니다. 또한 문장보다 그 의미를 정확히 반영한 이미지를 만드는 데 성공하고 있습니다. 앞으로는 한 문장에서, 그 문장의 의미를 반영한 다양한 이미지들을 생성할 수 있을 것이라 예상하고 있습니다.
Variational Conditional GAN for Fine-grained Controllable Image Generation
Mingqi Hu, Deyu Zhou, Yulan He
accepted by ACML 2019
'AI · 인공지능 > AI 칼럼' 카테고리의 다른 글
메타 학습의 단점을 극복? CACTUs의 등장 (0) | 2020.01.08 |
---|---|
알리바바, 고객 서비스 만족도를 대화 로그로 예측 (0) | 2020.01.07 |
일본의 AI사업을 견인하는 인기 기업 랭킹 5선 [2020년판] (0) | 2020.01.06 |
단어의 삽입/삭제를 이용한 새로운 문장생성 기법이 등장 (0) | 2020.01.03 |
AI학습을 더 인간 답게? 학습 경험을 살린 MTL학습법의 등장! (0) | 2020.01.01 |
3차원 모션 추정! 이미지 속 인간의 움직임을 3차원으로 재현! (0) | 2019.12.31 |
훈련 데이터에 없는걸 만든다고!? 최신식 GAN : COCO-GAN (0) | 2019.12.28 |
Minecraft에서 강화학습?! 데이터셋 'MineRL'의 탄생 (0) | 2019.12.27 |