0815 모각코 4회차
목표 - GAN의 한계와 DCGAN
0. GAN의 한계
GAN은 대표적인 생성 모델로 이미지 생성에서 아주 좋은 성능을 보인다. 그러나 모든 기술이 그렇듯 GAN 또한 한계점을 가지고 있다. GAN은 이론적으로는 fixed solution으로 수렴하는 것이 보장되어 있지만 실제 적용은 이론적 가정이 깨지면서 생기는 불안정한 구조적 단점을 보이곤 한다. 그 중 mode-collapse이 대표적이다. Mode-collapse는 generator와 discriminator 중 하나가 너무 학습이 잘 돼서 다른 하나의 학습이 진행되지 않는 것을 말한다. GAN은 generator와 discriminator가 대결하며 학습하는 구도인 만큼 학습이 불안정하다는 단점이 있다. Discriminator와 generator가 서로 균형 있게 훈련을 주고 받아야 하는데 두 모델 간 실력차가 발생하는 경우 훈련이 한 쪽에 치우쳐 궁극적으로 성능이 제약된다. 예를 들어 generator가 정말 진짜 같은 가짜 데이터를 생성한다면 discriminator는 이를 항상 구별할 수 없을 것이고, discriminator는 더 이상 학습을 진행할 수 없는 것이다. GAN의 훈련 성능을 높이기 위해 다양한 연구를 진행하고 있는데, 대표적인 것이 DCGAN(Deep Convolutional GAN)이다.DCGAN이 세상에 나온 이후로 대다수의 GAN 구조는 전부 어떤 식으로든 DCGAN 구조를 사용했다고 할 수 있다.
1. DCGAN에 대하여

DCGAN은 GAN에 지도학습에서 이미 폭 넓게 적용되던 CNN을 사용하는 것으로 비지도학습 적용을 위해 fully connected DNN 대신 CNN(Convolutional Neural Networks) 기법으로 신경망을 구성했다. Supervised Learning에 CNN을 이용한 것은 Computer vision application에 큰 반향을 일으켰다. 그 반면 비지도학습에 CNN을 이용하는 것은 아주 적은 관심을 받았는데, DCGAN paper은 지도학습에서의 CNN의 성공과 비지도학습 간의 격차를 줄이는 데 큰 역할을 했다. CNN은 전체 데이터의 특정 부분에 대한 주요 특징 값을 추출하는 Convolutional layer와 추출한 특징 중 제일 중요한 값만 추려내는 Polling layer가 교차하면서 이루어진다. 이때 이미지와 같은 부분의 특징을 읽어내는 성능이 탁월하여 학습이 잘 된다는 장점을 GAN의 이미지 생서에 적용한 것이다. 각 층 해당 뉴런의 입력 대비 출력을 얼마나 반영할지 결정하는 함수인 활성화함수의 적절한 선택이 중요한데, GAN을 위해서 leaky_ReLU 함수를 사용하여 분류자의 학습 효율을 높였다.
DCGAN 논문이 기여한 바는 다음과 같다. 대부분의 상황에서 언제나 안정적으로 학습이 되는 Convolutional GAN 구조를 제안했다는 점, DCGAN으로 학습된 Generator가 벡터 산술 연산이 가능한 성질을 갖고 이것으로 semantic 수준의 sample genration을 해볼 수 있다는 점, DCGAN이 학습한 filter들을 시각화하여 보여주고 특정 filter들이 이미지의 특정 물체를 학습했다는 걸 보여주었다는 점, 이렇게 학습된 Dicriminator가 다른 비지도 학습 알고리즘과 비교하여 비등한 이미지 분류 성능을 보였다는 점 총 네 가지로 볼 수 있다.
2. DCGAN의 활용 사례
DCGAN은 GAN의 학습에 대한 문제점을 상당 부분 극복해내면서 주목을 받았으며 latent vector를 이용한 이미지의 산술적 연산을 가능하게 했다. DCGAN의 등장으로 성능이 향상된 GAN을 통해 더 완벽한 가짜 데이터를 만들어내는 모델이 연구됨에 따라 GAN의 활용 범위 역시 더욱 넓어지고 있다. 특히 2017년 워싱턴대학교 연구팀은 영상 합성에 GAN을 적용하여 만든 오바마 전 미국 대통령의 가짜 영상을 공개해 화제가 되기도 했다. 오바마의 얼굴을 만들어낸 latent vector에서 입술에 해당하는 부분만 벡터 연산을 통해 산술적으로 대체해주면 얼마든지 창조적으로 얼굴을 조작할 수 있는 것이다.
페이스북에서 개발한 Real-eye-opener가 GAN의 대표적 사례다. Real-eye-opener은 눈을 감은 사진에 가짜 눈을 생성하여 눈을 뜨고 있는 사진으로 만들어주는 기술이다. 입모양을 생성해 오바마 전 대통령의 연설 영상에 합성한 것과 마찬가지로 이번에는 원하는 눈 모양을 latent vector에 반영하여 눈 모양이 대체된 새로운 얼굴 전체를 생성하는 것이다.
참고
https://www.samsungsds.com/kr/insights/gan.html
https://jaejunyoo.blogspot.com/2017/02/deep-convolutional-gan-dcgan-1.html