작성자 - 이건희 ([email protected])

본 요약문은 모두의 연구소 슬로우페이퍼 7기의 마지막 시간을 위한 논문 요약입니다. 본 논문은 인간의 개념으로 해석 가능한 latent direction을 찾는 방법을 제시하며, 방법론을 StyleGAN 및 BigGAN에 적용하는 방법을 제시합니다. 본문에서는 StyleGAN에 적용하는 방법에 대해서만 다루었습니다. 추후 BigGAN에 적용한 방법도 요약하여 업데이트 예정입니다. @

https://www.youtube.com/watch?v=jdTICDa_eAI&t=13s

GAN에서 해석가능한 컨트롤(interpretable controls)을 찾아내는 것이 목표입니다. 별다른 비용없이 말이죠.

GAN 네트워크는 2014년 Ian Goodfellow가 제안한 개념입니다. 아주 간단히 말하자면, 사람도 속아넘어갈만한 결과물을 만들어 내는 딥러닝 네트워크 입니다. 처음 발표 된 이후 많은 연구자들에 의해 발전되고 있습니다. StyleGAN 같은 최신 GAN 네트워크로 생성된 사람 이미지는 아주 사실적입니다. 그런데 아무리 사실적인 이미지를 생성하는 딥러닝 모델을 개발하긴 했지만, 사람이 쉽게 제어하기는 어려웠던 모양입니다.

본 논문은 GAN의 제어를 좀 더 쉽게 간편하게 하기 위한 방법을 제시합니다. 해석가능한 컨트롤(interpretable controls)는 사람의 언어로 척도를 나타낼 수 있는 컨트롤입니다.

https://www.youtube.com/watch?v=BIZg_PPuj_0

Generative Adversarial Networks - The Story So Far

간으로 불리우는 신은 이미지를 만들 때, 잠재공간(latent space)로 부터 무작위로 무언가를 생성하는 듯 하다.

간으로 불리우는 신은 이미지를 만들 때, 잠재공간(latent space)로 부터 무작위로 무언가를 생성하는 듯 하다.

게임 <검은사막 모바일> 에서 캐릭터 커스터마이징을 할 떄, 척도로 구분될 수 있는 해석가능한 컨트롤들

게임 <검은사막 모바일> 에서 캐릭터 커스터마이징을 할 떄, 척도로 구분될 수 있는 해석가능한 컨트롤들

그렇다면 컨트롤은 어떻게 만들 수 있는 것일까요? 결론부터 말하자면 generator의 input으로 사용되는 latent vector가 속한 latent space에서 적절한 latent direction을 찾아내 그것의 크기를 조절하는 방법을 사용합니다.

Background

먼저 GAN의 기본적인 구조에 대해 짚고 넘어가겠습니다.

$$ ⁍ $$

$G(\bold{z})$ 는 GAN 네트워크에서 Generator(생성) 네트워크 부분을 의미합니다. 학습이 완료된 모델을 사용하는 경우, generator만 살펴보면 되기에 Discriminator에 대한 부분은 생략하였습니다. 그렇다면 $I = G(\bold z)$ 는 generator는 벡터 $\bold z$를 input으로 하여 RGB 이미지 $I$를 생성하는 것이라 할 수 있습니다.

한편 $\bold{z}$ 는 latent space상의 확률분포 $p(\bold{z})$에서 샘플링 된 latent vector입니다. 즉 위 수식은, latent space의 한 점이 generator에 의해 생성되는 이미지를 나타낸다고 할 수 있습니다. 설명하기 그나마 쉬운 예를 들어 다시 설명해 보겠습니다.

Latent Space

제가 학교를 다니던 시절에는 애국조회라는 것이 있었습니다. 매주 첫날 아침마다 전교생이 운동장에 오와 열을 맞춰 (줄을 맞춰) 학생들로 그리드를 맞춰 서서 교장선생님의 말씀을 듣는둥 마는 둥 하며 점심시간 급식 메뉴에 대해 생각하던 시간이죠.

90년대, 2000년대 초? 애국조회를 하던 사진.

90년대, 2000년대 초? 애국조회를 하던 사진.

그 당시 풍경은 위 사진과 같았습니다. 학년별, 이름순 또는 키 순서 대로 학생들이 질서 정연하게 그리드를 만들어 서 있었습니다. 이 풍경을 하늘에서 바라본다면 어떨까요? 이것은 마치 선생님들의 입맛에 맞게 운동장이라는 2D 공간에 임의의 두 방향 벡터를 축으로 하여 학생들을 배치한 것으로 볼 수 있습니다.

운동장에 오와 열을 맞춰 그리드 형태로 서있는 학생들

운동장에 오와 열을 맞춰 그리드 형태로 서있는 학생들

위 2D 좌표계를 따라 $x$축을 따라 왼쪽으로 가면 1학년들이 있을 것이고, 중간에는 2학년, 오른쪽엔 3학년이 줄 서 있을 것으로 예측할 수 있습니다. $y$축은 가나다 순으로 정렬되어있다 하면, y축을 따라 맨 위로 올라가서 한명 붙잡고 이름이 뭐냐고 물어보면 '강', '김' 씨 성을 가진 이름을 수 있을 것입니다. 선생님의 입맛에 따라 아주 잘 배치된 학생들입니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/591f122f-27be-4d12-9315-d88489d3a09c/_2020-09-02__5.21.43.png