태그 보관물: GANs

NIPS 2016 GAN Tutorial Summary

nips_2016_gan_report

OpenAI 의 이안 굿펠로우(Ian Goodfellow)가 NIPS 2016의 GAN 튜토리얼을 요약한 리포트를 만들어서 Arxiv 에 등록하였습니다. 생성 모델(generative model)이 인기를 끄는 이유와 어떻게 작동하는지, GAN(Generative Adversarial Network)이 다른 모델과 다른 점과 GAN이 작동하는 상세 내용을 다룹니다. 또 최근 GAN 연구 동향과 최신 모델도 함께 다루고 있어 놓치기 아까운 리포트인 것 같습니다!

GAN & PixelCNN

뉴럴 네트워크를 사용해 이미지를 생성해 내는 몇가지 방법 중 최근 GAN(Generative Adversarial Networks)와 PixelCNN 에 관한 새로운 페이퍼와 코드가 공개되어서 소개해 드립니다.

GAN 에 관련된 페이퍼로는 이안 굿펠로우(Ian Goodfellow), 요수아 벤지오(Yoshua Bengio) 교수 등이 쓴 Generative Adversarial Networks와 인디코, 페이스북의 서미스 친탈라(Soumith Chintala) 가 쓴 Unsupervised representation learning with deep convolutional generative adversarial networks 등을 시작으로 여러편이 나왔던 것 같습니다. 최근에 버클리 대학의 AI 리서치랩(BAIR)에서 GAN 을 사용하여 이미지 대 이미지 변환을 만드는 pix2pix 의 페이퍼와 토치 코드를 공개하였습니다. 이 코드의 텐서플로우 버전이 나올지 기대됩니다.

pix2pix

출처: pix2pix 페이퍼

PixelCNN 은 딥마인드 팀이 내 놓은 Pixel Recurrent Neural Networks 와 역시 딥마인드 팀이 작성한 Conditional Image Generation with PixelCNN Decoders 가 있습니다. PixelRNN 과 PixelCNN 에 대한 텐서플로우 구현은 김태훈님의 pixel-rnn-tensorflow 레파지토리가 잘 알려져 있습니다. OpenAI 의 안드레이 카패시(Andrej Karpathy) 등이 최근에 PixelCNN 을 보완한 PixelCNN++ 의 페이퍼와 텐서플로우 코드를 공개하였습니다. 이 페이퍼는 ICLR 2017 에 등록되어 있습니다. PixelCNN++ 에 대해 좀 더 자세한 내용이 확인되면 다시 포스팅하겠습니다.

OpenAI’s first paper – Improved Techniques for Training GANs

openapi-gan-mnist.png

피처 매칭(feature matching)을 사용한 반감독 학습에서의 불완전한 이미지(좌측), 미니배치 식별(minibatch discrimination) 방식을 이용하여 생성한 MNIST 원본과 거의 구분할 수 없는 이미지(우측). (출처: OpenAI 페이퍼)

OpenAI의 첫번째 페이퍼 ‘Improved Techniques for Training GANs‘가 arXiv에 공개되었습니다. GANs(Generative Adversarial Networks)에 관한 이 페이퍼에서는 반감독(semi-supervised) 학습을 사용하여 MNIST, CIFAR-10 등의 분류 정확도를 높이는 것과 사람이 구분할 수 없을 정도로 실제와 비슷한 이미지를 만들어 냈다고 합니다. 코드는 깃허브에 공개되었고 텐서플로우와 씨아노(Theano)를 이용하여 작업되었습니다.