목록GAN (18)
Deep Learning study
오늘의 논문은 memoryGAN이다. 서울대학교 김건희 교수님연구실의 논문인데 정말 음.. 어렵고, 어려운만큼 잘 이해해보려고 노력했던 논문이다. 논문에 들어가기에 앞서, 읽기전에 이 글을 먼저 읽거나 해당 논문을 읽고 이것을 읽으면 많은 도움이 될 것이다. GAN에관한 논문에는 항상 문제점을 가지고 시작한다. 여기서도 마찬가지로 GAN의 학습에있어서의 두가지 이슈를 가지고 시작하게 된다. GAN은 다수의 클래스나 데이터의 군집(cluster)를 임베딩하기위해서 continuous latent distribution만을 사용하기 때문에 서로다른 클래스들 사이의 구조적인 불연속을 다룰 수 없다. GAN의 discriminator는 과거에 generator가 생성해낸 sample들을 쉽게 잊어버린다. 이러한..
오늘은 infoGAN에 대해서 정리해보도록 하자. InfoGAN은 기존의 GAN에 정보(information) 이론을 가지고 확장시킨다. 기존의 GAN모델이 entangled(얽혀있는) representation들을 학습해왔는데, InfoGAN에서는 disentangled(엉킨것이 풀어진) representation들을 학습하는 방법을 제시한다. 이게 무슨 말 이냐면 , 일반적인 GAN은 input에서 noise에 대한 아무런 제약이 없으므로 noise에 대한 정보를 알 수 없다. 즉, noise input 에서 어느부분이 어떤 representation을 조절하는지를 알기 힘들다. 하지만 이것을 disentangle하게 , 다시말하면 해석가능하게(어느부분이 의미를 가지도록) 만들어 핵심적인 repres..
오늘은 DCGAN에 대해서 알아보도록 하자 . 이 논문은 읽는데 딱히 어려웠던 점은 없고 생각보다 쉽게 읽어 내려갈 수 있었다. 새로운 이론이나 그에따른 증명 보다는 네트워크의 구조적 측면이나 , 방대한 실험과 경험을 통한 결과물들을 보여주기 때문이다. 이 논문에서 소개할 것들에대해서 알아보자. 1. DCGAN이라는 Convolutional GAN을 이용하여 대부분의 상황에서 안정적인 학습을 가능하게 만들었다. 2. 학습된 discriminator를 이미지 분류에 사용했을때 , 다른 unsupervised 알고리즘과 견줄만한 성능을 보여주었다. 3. GAN이 학습한 filter들을 시각적으로 보여주고, 특정한 filter들이 특정한 object들을 표현하는것을 학습하는것을 보여준다. 4. generato..
오늘은 Cycle GAN에 대해서 알아보자 ! 보통 image-to-image translation모델을 학습시킬때 training data 로 input image와 output image의 pair를 사용하게 된다. 예를들면 모네의 사진을 실제 사진처럼 바꾸는 모델을 만들려고한다면, 모네의 그림과 모네의 그림의 배경이 되는 풍경 사진이 pair로 존재해야한다. 하지만 translation에서, 대다수의 경우에는 짝이 지어진 training data를 구하기는 매우 힘들다. 그래서 이 논문에서 paired example 없이 source domain(X)에서 target domain(Y)으로 image를 변환(translate)하는 방법을 소개한다. 즉 이논문의 목표는 G(X)의 image distri..
인공지능 수업의 프로젝트로.. Face aging 모델을 만들어 보려 한다. 논문이 사실 특별한 내용이 있는것은 아니고 생각보다 간단하다. 일단 본론으로 들어가기 전에 conditional GAN부터 조금 알아보자. Conditional Generative Adversarial Nets 원래 GAN은 임의의 노이즈를 input으로 주면 generator도 역시 임의의 값을 생성해 낸다. 즉, 어떠한 output을 가져올지는 모른다는 말이다. 그래서 이 논문에서 하고자 하는것은, 노이즈와 함께 임의의 condition을 같이 주어 output을 원하는 방향으로 뽑아내보자 하는것이다. 방법은 간단하다. input 에 condition에 해당하는 y를 concat하여 Discriminator 와 Generat..
오늘 정리할 논문은 StarGAN이다. 인공지능수업에서 한 프로젝트에서 이 논문을 참고했었는데, 다시금 한 번 읽어보고 정리를 하려한다. 이 논문에서는 현존하는 접근방식들은 두가지이상의 도메인을 다루는데 있어서 제한된 scalability 와 robustness가 있다고한다. 이유인 즉슨, 모든 domain에 대해서 독립적인 모델들이 만들어져야했기 때문이다. 그래서 제안한 것이 StarGAN구조이다. 단 하나의 모델을 가지고 여러가지의 domain들에대해 image-to-image translation을 다루는 것을 수행한다. 동시에 다른 domain을 가진 dataset들을 동시에 학습시킬수있다. (mask vector method) 위의 사진들은 Celeb A 의 데이터셋을 Multi-domain i..
오늘은 입대한 이래로 처음으로 읽어본 논문을 정리해보려고 한다. 이 논문은 captcha solver 를 GAN을 이용해 구현한 내용이다. 흔히 captcha는사이트 회원가입을할때 많이 볼 수 있을것이다. captcha 는 사람과 프로그램을 구별하기 위한 방법으로 위의 사진과 같은 형태를 가지고 있다. text를 프로그램이 인식하기 힘들도록 글자를 서로 overlap 시킨다던가 사이에 선을 그어놓고나 , 글자를 왜곡시키고 노이즈가 있는 배경을 사용하는 등의 방법을 사용한다. 이 논문에 따르면 이전에도 머신러닝을 사용한 captcha solver에 대한 연구들이 있었지만, 사람의 손을 많이 타고 (데이터 라벨링, 데이터 수집, 전처리 등..) 많은 데이터를 수집해야하는 등의 불편함이 있었다고한다.이런 말을..
저번에 흥미를 가져 읽어보았던 Generative Adversarial Nets에 대해 정리를 해봐야겠다. 수식은 최대한 생략하고.. 바탕이되는 내용과 이해중심으로? 이 논문을 찾아보게된 이유는 공부를하다 문득 Colorization이라는것을 보게되었는데 너무 재미있어보여서 찾다 찾다보니 여기까지 오게된것같다. 먼저 논문을 보면서 GAN에 딸린 Adversarial 이란 것에 의문을 많이 가졌었는데, GAN을 구조를 모르기때문에 '상반된' 이라는 것이 무엇을 의미하는지 감이오지 않았기 때문에 그랬던것 같다. Adversarial이라고 쓰는 이유를 살펴보자면 GAN에서는 Generator(G) 와 Discriminator(D) 라는 상반된? 대립적인? 모델을 사용하기 때문이다. 말 그대로 Generator..