GAN網絡介紹

來自於看youtubee上李宏毅的GAN的課程的一些筆記

  1. Generator的basic idea:輸入的這個向量會對應輸出圖片中的一個特徵;Generator是一個神經網絡,不是一個function
    在這裏插入圖片描述

  2. discriminator也是一個神經網絡,輸入一個圖像,輸出一個數值,值越大代表生成的更真實
    在這裏插入圖片描述

  3. GAN的思想有點向自然界中的獵物和捕食者,兩者都在不斷進化。也可以理解爲學生和老師,學生先隨機畫,老師以前看過很多其他的真實的圖片,然後每次對學生畫的圖片給出一些點評和意見。

  4. 這樣就產生了兩個基本的問題,generator爲什麼不自己學,discriminator爲什麼不自己做(在13.,14去解決這個問題)

  5. GAN的步驟:第一步先訓練discriminator,讓discriminator能夠分辨出哪些圖片是生成的,哪些是真實的;第二部是訓練generator,其實用的是generator和discriminator的一個連接的打大的網絡,作用是讓generator生成在discriminator那裏可以得高分的圖片在這裏插入圖片描述
    在這裏插入圖片描述

  6. 原始的GAN的僞碼:不過最後面一行應該是有問題的,要把減號換成加號
    在這裏插入圖片描述

  7. GAN的好處:可以生成大家沒看過的圖片

  8. 機器學習的作用是找到一個從X到Y的函數f,但用regression的時候,輸出是數值,當用classification的時候,輸出是一個class,當用structured learning的時候,輸出可能是sequence、matrix、graph、tree;常見的structured learning 有machine translation、chat-bot、speech recognition

  9. Zero-shot learning 指的是我們之前沒有這個類別的訓練樣本。但是我們可以學習到一個映射X->Y。如果這個映射足夠好的話,我們就可以處理沒有看到的類了。 比如,我們在訓練時沒有看見過獅子的圖像,但是我們可以用這個映射得到獅子的特徵。一個好的獅子特徵,可能就和貓,老虎等等比較接近,和汽車,飛機比較遠離。感性認識的話,雖然我們不知道這東西叫獅子,但是我們可以說出他和誰誰誰像。(生物學家第一次看到鴨嘴獸的感覺。)
    One-shot learning 指的是我們在訓練樣本很少,甚至只有一個的情況下,依舊能做預測。如何做到呢?可以在一個大數據集上學到general knowledge(具體的說,也可以是X->Y的映射),然後再到小數據上有技巧的update。相關的名詞還有 transfer learning , domain adaption。其實Zero/One-shot learning都屬於transfer learning,要點在於先學到好的X->Y的關係,希望能應用到其他問題上。

  10. structured learning的挑戰性:‘’
    在這裏插入圖片描述
    在這裏插入圖片描述

  11. GAN結合了structured learning兩種常見的方法
    在這裏插入圖片描述

  12. VAE算法,減緩auto-encoder不能生成沒有見過的東西的問題(在訓練的時候就給他加噪聲,讓Auto-encoder能夠在噪聲的時候也可以運行的沒有問題)
    在這裏插入圖片描述

  13. 如果都讓generator去學的話,會想要最小化像素之間的距離,但是這種思路是有問題的
    在這裏插入圖片描述
    在顯示情況中,我們可能希望相鄰的像素之間接近一點,但是這一點單純用一個generator是很難學出來的,往往一個GAN網絡可以解決的問題如果用一個Auto-encoder去做的話會需要一個更深的神經網絡才能學到這種特性
    在這裏插入圖片描述

  14. Discriminator爲什麼不可以自己產生輸出:對於generator來說很難catch the relation between the components。但是discriminator可以做到(top-down evalution),所以我們可以做下面的:但是如果沒有discriminator的時候,discriminator只能獲取高分的數據,而且低分的數據也很重要,儘量要讓discriminator可以分辨出其實很逼真的低分低分數據
    在這裏插入圖片描述
    以下就是怎麼只用discriminator做,其實就是graphical model

在這裏插入圖片描述在這裏插入圖片描述

  1. generator和discriminator的優缺點:
    在這裏插入圖片描述
    有了generator之後,就解決了argmax()的問題
    在這裏插入圖片描述