iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

GAN是一種X話吧?

GAN是一種很厲害的技術,可以透過GAN生成以假亂真的圖片。
為非監督式學習。

簡介

GAN分為Generator與Discriminator,Generator分別生成圖片,而Discriminator為圖片做評分,可以把它想像成老師與學生,學生一開始什麼都不懂,經過老師的評分後,學生一次又一次的進步,老師也一次又一次的嚴格。

Generator

負責生成圖片

input

一組Vecotr

Output

一張圖片

Discriminator

負責打分數

input

一張圖片

Output

一個分數

Generator一定要和Discriminator一起訓練嗎?

我們可以想像成Autoencoder的Decoder,就可以囉~
那甚麼是Autoencoder呢?簡單來說就是輸入一張圖片,Encoder會把圖片變成一段code,而Decoder會把code還原成圖片,而這個圖片與Encoder的輸入越接近越好。

Conditional GAN

Generator

剛剛的GAN吃一段code生成圖片,不能決定生成甚麼樣子的圖片,而Conditional GAN可以生成你想要的圖片,比如說,你輸入一段文字(一隻小雞)還有一個Vector,那麼GAN就會生成像是小雞的圖片囉。

Discriminator

這邊的Discriminator與上面的GAN不同,這邊還要輸入Generator的輸入,因為這樣才能知道Generator的輸出是否正確,比如說,你說我想要生成一隻小雞,但是Generator輸出一隻豬,但這隻豬非常真實,那Discriminator照理來說會給它很高分,因為它很真實,但這其實不是我們想要的,因此要輸入Generator的輸入,讓Discriminator知道到底Generator的輸出與輸入是否有匹配到。

Cycle GAN

Cycle是循環的意思,因此可想而之,Cycle GAN是一種循環的GAN。

簡介

A domain 轉到 B domain,B domain再轉回A domain,輸入與輸出越接近越好(Cycle consistency)
在做轉換時,可能會把資訊隱藏起來,例如轉換空拍圖變成衛星照時,有些黑點消失了,但轉換回來後,黑點又出現了。


截圖從CycleGAN, a Master of Steganography這篇論文中提取

結論

今天大約介紹了GAN的想法與做法,明天來實作GAN。

參考資料

Hung-yi Lee:GAN Lecture 3 (2018): Unsupervised Conditional Generation


上一篇
Day 3 CNN如何實現
下一篇
Day 5 GAN如何實現
系列文
Machine Learning與軟工是否搞錯了什麼?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言