미술관에 GAN 딥러닝 실전 프로젝트-데이비드 포스터(박해선 역)

 

 

텐서플로 2.0이 업데이트된 이후로 텐서플로와 함께 케라스의 관심이 크다. 케라스가 텐서플로와 통합되었기 때문이다. CNN, RNN이 넘어 이제는 GAN이 주목받고 있다. 오토인코더(AutoEncoders), 생성적 적대 신경망(Generative Adversarial Networks,GAN)가 이 책의 주된 키워드이다. 

 

GAN이란 두 개의 네트워크로 구성된 심층 신경망 구조이다. 한 신경망과 또 다른 신경망이 서로 겨루고 있는 구조이므로 적대적이라는 의미가 이름에 포함된다. 이 신경망은 2014년 몬트리올 대학의 Ian Goodfellow와 Yoshua Bengio를 포함한 여러 연구자들의 논문에 소개되었다. 페이스북의 인공지능 연구 책임자인 Yann LeCun의 경우 GAN을 머신러닝 분야에서 지난 10년 간 가장 흥미로운 아이디어라고 일컸다.

 

데이터의 특징을 모방하는 학습을 할 수 있어 GAN의 능력은 어마어마하다. 두 개의 신경망은 각각 제너레이터(Generator)라는 새로운 데이터 인스턴스를 생성하는 신경망과 이를 진짜인지 가짜인지 평가하는 디스크리미네이터(Discriminator)로 이뤄져있다. 디스크리미네이터의 목표는 실제 데이터의 인스턴스를 살펴봐 그것이 진짜인지 알아내는 것이다. 반면 제너레이터는 디스크리미네이터에게 전달하는 새로운 데이터를 계속해서 생성하는데, 제너레이터 입장에서 생성한 가짜 데이터가 진짜인것처럼 보여는 것이 목표이다. 이러한 과정해서 서로의 능력은 계속적으로 향상되고 일종의 제로섬 게임으로 서로 반대되는 목적함수 및 손실함수로 최적화를 시도한다. 

 

이번 책에서는 이러한 GAN과 오토인코더, 인코더-디코더 모델, 월드 모델을 배워보며, 기계 스스로 그림을 그리고, 글을 쓰고, 음악을 작곡하고, 게임을 하는 딥러닝 생성 모델을 재현해본다.

 

주요내용으로는 다음과 같다.

  • 변이형 오토인코더가 사진 속 얼굴 표정을 어떻게 바꾸는지 알아보기
  • 스타일을 변경하는 CycleGAN과 음악을 생성하는 MuseGAN을 사용한 GAN 예제
  • 텍스트를 생성하는 순환 생성 모델을 만들고 어텐션을 사용하여 모델 성능 향상시키기
  • 생성 모델이 어떻게 강화학습 환경에서 작업을 완수하려는 에이전트를 돕는지 이해하기
  • 트랜스포머(BERT, GPT-2), ProGAN, StyleGAN 같은 이미지 생성 모델의 구조 살펴보기

전체적인 도서 구성자체가 딥러닝에 대해 어느정도 알고있는 중급자를 위한 도서이다. 따라서 이러한 부분에 있어 책의 진입장벽은 다소 높을 수도 있으나 1장과 2장에 걸쳐 생성 모델과 딥러닝에 대해 배우기 때문에 큰 부담은 없을것이라 본다. 또한 RNN, LSTM을 프로젝터 형태로 배우기 때문에 더욱더 흥미롭게 배울 수 있다.

 

코드 구성과 설명도 쉽고 친절하다. 그림 그리기 AI 프로젝트의 경우 다운샘플링, 업샘플링등으로 Unet, ResNet등을 구성해 CycleGAN으로 그림을 그리는 과정까지 친절하게 나타내어 있다. 코드에 기초한 설명과 직관적인 구성이 마음에 든다.

 

원서에서도 이미 많은 호평을 받은 도서인 만큼 번역서 또한 훌륭하게 번역이 되어 출간이 된 것 같다. 최근들어 딥러닝의 기초를 넘어 중급자 수준까지 국내 도서로 요구하고 있어 그만큼 기대에 부응하는 도서라고 본다.

 

많은 독자들이 이 책을 통해 GAN, 오토인코더등에 익숙해지길 바란다.

+ Recent posts