Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【深度學習】07 生成模式和 GAN

【深度學習】07 生成模式和 GAN

2022 政大應數「數學軟體應用」深度學習課程 07

[email protected]

May 23, 2022
Tweet

Other Decks in Technology

Transcript

  1. 數學軟體應⽤ 457 Autoencoder encoder decoder z latent vector x m

    >> k k維 x m維 於是, z 可以取代 x (或者說 z 是 x 的 一個 presentation) Autoencoder 是輸入什 麼, 就輸出什麼的函數。 感覺很奇怪, 原來是中間我 們會⽤⼀層比較⼩的 維 神經元。 這⼀層的輸出就是我們準 備當特徵向 的。 k
  2. 數學軟體應⽤ 462 VAE (Variational AutoEncoder) 我們想辦法找每個數的平均 值和變異數 (or 標準差) 神秘編碼

    laten vector 每個數字是符合某常態分布的, 這樣我們容易掌控! 這要怎麼 做到?
  3. 數學軟體應⽤ 463 VAE (Variational AutoEncoder) encoder z x k維 m維

    μ σ 在 encoder 後做點手腳。 laten vector 其實這層還有 加 noise 其實就是要函數 學習機去學平均 值和變異數!
  4. 數學軟體應⽤ 464 Deepfake 可以⽤ Autoencoder 就做出來 encoder A decoder A

    encoder B decoder B ⽤ autoencoder 就 可以做到 deepfake
  5. 數學軟體應⽤ 465 Deepfake 可以⽤ Autoencoder 就做出來 encoder A decoder B

    ⽤ encoder A 做出 的 latent vector, 送 進 decoder B 之 中。
  6. 數學軟體應⽤ 467 LeCun 認為 GAN 是深度學習最有潛⼒的 model There are many

    interesting recent development in deep learning… The most important one, in my opinion, is adversarial training (also called GAN for Generative Adversarial Networks). “ —Yan LeCun (楊⽴昆), 2016 ”
  7. 數學軟體應⽤ 468 GAN 的架構 ⽣成器 generator Noise 鑑別器 discriminator GAN

    是兩個神經網路, ⼀個叫⽣成器、⼀個叫 鑑別器, 相互對抗! G D z G(z) x 1 真的 0 假的 or
  8. 數學軟體應⽤ 472 Progressive GAN ⽣成明星照片 Karras-Aila-Laine-Lehtinen NVIDIA 團隊很有名的⽂章 當初⽤現在基本上沒有在⽤的 Theano,

    Python 2, ⽽ 且只有單 GPU Progressive Growing of GANs for Improved Quality, Stability, and Variation Karras 等 NVIDIA 團隊 (ICLR 2018) “Progressive Growing of GANs for Improved Quality, Stability, and Variation” Progressive GAN https://arxiv.org/abs/1710.10196
  9. 數學軟體應⽤ 477 Pix2pix: 簡單畫畫就產⽣很真實的相片 * 來自 Isola, 朱俊彦等人的原始論文 (2017) Pix2pix

    把衛星圖變地圖。 Isola, 朱俊彦等人 (CVPR 2017) “Image-to-Image Translation with Conditional Adversarial Networks” Pix2Pix https://arxiv.org/abs/1611.07004
  10. 數學軟體應⽤ 481 CycleGAN: 讓⼈驚呆的魔法 朱俊彦等人 (ICCV 2017) “Unpaired Image-to-Image Translation

    using Cycle-Consistent Adversarial Networks” CycleGAN https://arxiv.org/abs/1703.10593
  11. 數學軟體應⽤ 482 CycleGAN: 讓⼈驚呆的魔法 G
 ⽣成器 F
 ⽣成器 Domain A

    Domain B 鑑別器 B 鑑別器 A CycleGAN 資料「不需要」配對! 於是有無限可能... 比如 “Cycle GAN” 般的機 器翻譯!
  12. 數學軟體應⽤ 500 如果可以找到這樣的函數... f ̂ y 1 ̂ y 2

    ̂ y n 於是她就有個代表向 ̂ y = [ ̂ y 1 , ̂ y 2 , …, ̂ y n]
  13. 數學軟體應⽤ 501 每個⼈就有個「代表向 」 假設 是公司內四位同仁的照片。 x 1 , x

    2 , x 3 , x 4 f(x 1 ) f(x 2 ) f(x 3 ) f(x 4 ) f ̂ y 1 ̂ y 2 ̂ y n 看和哪個 距離最⼩!
  14. 數學軟體應⽤ 503 還有個立即的好處 我們可以規定, 什麼才叫「夠像」。就是定義⼀個數 , 如果 τ d(f(x), f(x

    i )) < τ 就判定是這個⼈。所以, 我們也可以知道, 這個⼈判斷這個⼈ 不是公司內部的⼈。
  15. 數學軟體應⽤ 506 從⽂字的 Word Embedding 得到的靈感... CNN ̂ y 1

    ̂ y 2 ̂ y n Dense Output (Softmax) 砍掉最後⼀ 層就可以! 做「正常」的⼈臉辨識, 然後砍掉最後⼀層!
  16. 數學軟體應⽤ 507 也可以直接就訓練判斷是否為同⼀個⼈ CNN ̂ y 1 ̂ y 2

    ̂ y n 砍掉最後⼀ 層就可以! CNN ̂ y 1 ̂ y 2 ̂ y n 0
  17. 數學軟體應⽤ 508 更好的是⽤ Triplet Loss CNN ̂ y 1 ̂

    y 2 ̂ y n CNN ̂ y 1 ̂ y 2 ̂ y n CNN ̂ y 1 ̂ y 2 ̂ y n 越近越好 越遠越好 注意訓練時還是需要做 labeling
  18. 數學軟體應⽤ 509 更好的是⽤ Triplet Loss F. Schroff, D. Kalenichenko, J.

    Philbin (Google). FaceNet: A Unified Embedding for Face Recognition and Clustering. arXiv preprint arXiv:1503.03832. CNN ̂ y 1 ̂ y 2 ̂ y n CNN ̂ y 1 ̂ y 2 ̂ y n Positive Sample Negative Sample
  19. 數學軟體應⽤ 510 更⼀般化就是 Contrastive Learning f θq g θk Target

    的部份 Sample 的部份 q k 神經網路可以⼀樣、也可以不⼀樣。 要有 negative samples 是為預防 collapse 的發⽣。
  20. 數學軟體應⽤ 513 我可以完全不做 labeling 嗎? 以上的想法, 我們可以⽤較少的 labeling (⼤約 1%),

    就可以訓練出很 好的 model。但是, 我可以不做 labeling 就來訓練嗎? 可以的, 就是把 ⼀張圖做各種惡搞, 不是, 轉換。也就是⼤家稱為 augmentation 的動 作。 旋轉 裁切 調亮度、顏⾊
  21. 數學軟體應⽤ 514 Self-Supervised Learning Contrastive learning 去學 representation 時, 我們只⽤少

    labeling, 甚⾄不⽤ labeling。不管如何, 我們並沒有告訴神經網路, 任 何⼀個 representation 是什麼, 因此, 這是非監督式的學習。 但認真想想, 電腦其實是「⾃⼰訓練⾃⼰」, 所以 Yann LeCun 說這應 該叫... self-supervised learning LeCun
  22. 數學軟體應⽤ 515 Self-Supervised Learning We believe that self-supervised learning is

    one of the most promising ways to build such background knowledge and approximate a form of common sense in AI systems. “ —Yan LeCun (楊⽴昆)/Ishan Misra, 2021 ” Self-supervised Learning: The Dark Matter of Intelligence https://ai.facebook.com/blog/self-supervised- learning-the-dark-matter-of-intelligence/
  23. 數學軟體應⽤ 516 Non-Contrastive Learning 實作的時候, 會發現為了 negative samples, 有些技術上的問題 (雖然

    也不算很⼤), 比如會⽤到很多記憶體、計算資源。於是⼤家想, 我們可 以不要 negative samples, 但是⼜不會 collapse 嗎? f θq g θk q k x x+ P φ 預測