SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
蔡炎⿓ 政治⼤學應⽤數學系
GAN
Deep Learning
1
轟動登場
2
3
強化學習 ⽣成對抗模式 (GAN)
VAE
膠囊
標準 NN CNN RNN
4
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
5
原創者 Ian Goodfellow, 之前
最著名的是和他博⼠時期兩位
⽼師 Yoshua Bengio 和
Aaron Courville 寫了號稱
Deep Learning 聖經的書。
6
Generative Adversarial Networks
https://arxiv.org/abs/1406.2661
Ian Goodfellow 等⼈ (NIPS 2014)
7
Ian Goodfellow 的 GAN 教學 (NIPS 2016)
https://youtu.be/AJVyzd0rqdc
8
The GAN Zoo
https://github.com/hindupuravinash/
the-gan-zoo
9
⽣成器
generator
Noise
鑑別器
discriminator
真的 or 假的
2
DEMO
10
11
朱俊彦等⼈ (ECCV 2016)
“Generative Visual Manipulation on the Natural Image Manifold”
iGAN
https://arxiv.org/abs/1609.03552
12
⼈⼈都是⼤畫家!
https://youtu.be/9c4z6YsBGQ0
13
Karras 等 NVIDIA 團隊 (ICLR 2018)
“Progressive Growing of GANs for Improved Quality, Stability, and Variation”
Progressive GAN
https://arxiv.org/abs/1710.10196
14
這攏係假ㄟ啦 (1024x1024 明星照)
15
Isola, 朱俊彦等⼈ (CVPR 2017)
“Image-to-Image Translation with Conditional Adversarial Networks”
Pix2Pix
https://arxiv.org/abs/1611.07004
16
* 來⾃ Isola, 朱俊彦等⼈的原始論⽂ (2017)
Pix2pix 把衛星圖變地圖。
17
* 來⾃ Isola, 朱俊彦等⼈的原始論⽂ (2017)
Pix2pix 隨⼿畫畫變街景。
18
* Christopher Hesse 依原論⽂做出
Pix2pix 線上版。
https://affinelayer.com/pixsrv/
19
朱俊彦等⼈ (ICCV 2017)
“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”
CycleGAN
https://arxiv.org/abs/1703.10593
20
全世界的⼈都驚呆了的⾺變斑⾺。
https://youtu.be/9reHvktowLY
21
CycleGAN 作者⾃⼰提到的失敗例⼦。
22
Goodfellow 也關注的變臉 (魏澤⼈⽼師)。
https://youtu.be/Fea4kZq0oFQ
3
Generative
Models
23
24
What I cannot create, I do not understand.
”“ —Richard Feynman
重點 ⽣成模式
25
G

⽣成器
⽣出圖、照⽚、⽂字
z
latent vector
特徵向量/本徵向量
26
我們想找
到 G!
這聽起來很合理, ⽽且也⾃
然。但仔細想想其實不⼀定
是個容易的問題...
27
對於⼀組向量,
我怎知它該⽣
什麼出來?
難點 1
28
向量 z 可能代表⼀個類
別 (⽐如說狗), 那有很多
可能圖⽚都是「正確」
的...
難點 2
29
常常是我們選好了 z, 就要學⼀個機率分布, 然後我們就
可以從這個機率分布適當的抽樣出來 x。
這樣會⽐較簡單也實
在是件懸疑的事...
30
好在在深度學習許多新的
⽅式中, 事情⽐我們想像
中還要簡單!
31
⽣成器Noise
⽣出圖、照⽚、⽂字
亂亂做!
(保證⽣出「正確格式」的東⻄就好)
⽅法⼀
32
⽅法⼆
AutoEncoder
33
encoder decoderz
latent vector
x
m >> k
k維
x
m維
於是, z 可以取代 x (或者說 z 是 x 的
⼀個 presentation)
重點 AutoEncoder
34
encoder zx
以後我們基本上可以⽤
⽐較⼩的 z 來取代⽐較
⼤的 x。
重點 AutoEncoder
35
更有意思的可能是, 我
們是不是可以⽤我們⾃
⼰隨便取的 z, ⽣出⼀
些有意思的 x?
decoderz x
36
答案是不太⾏
隨便⽣兩個 laten vectors, 數學上距離很近,
但⽣出來的東⻄不⼀定有什麼關係。
⽩話⽂是 z 差不多就是亂數, 我們無以掌控。
37
所以有了 VAE
Variational AutoEncoder
重點 VAE
38
神秘編碼 laten vector 每個數字是符合某常態分
布的, 這樣我們容易掌控!
我們想辦法找每個數的平
均值和變異數 (or 標準差)
重點 VAE
39
encoder zx
k維
m維
μ
σ
在 encoder 後做點⼿腳。
laten vector
其實這層還有
加 noise
4
Discriminative
Models
40
41
Discriminative
真實的
⽣成的
1
0
真的
假的
通常判斷器⽐⽣成器還要複雜
5
GAN
42
43
⽣成器
generator
Noise
鑑別器
discriminator
真的 or 假的
再⼀次, GAN 是兩個神經網路,
⼀個⽣成、⼀個判斷, 相互對抗!
z
x
G
D
G(z)
44
希望
接近 1
希望
接近 0
接近 1
⽣成器 G 判斷器 D
D, G ⼤對抗!
45
真實世界的 distribution
我們 model 出來的 distribution
向量 z 的 distribution
常被⽤到的分布
46
插播: 可愛的 log
log 是遞增
函數。
1
47
插播: 可愛的 log
log 把可怕的乘法變可
愛的加法!
2
48
Ex∼pdata
[log D(x)]
Ez∼pz
[log(1 − D(G(z)))]
判斷器 D
這兩個都越⼤越好。
1
2
49
Ez∼pz
[log(1 − D(G(z)))]
想辦法變⼩騙過 D!
2
⽣成器 G
50
⽣成對抗
min
G
max
D
V (D, G) = Ex∼pdata
[log D(x)] + Ez∼pz
[log(1 − D(G(z)))]
51
過程: 每個 minibatch
判斷器 D ⽣成器 G
訓練 訓練
52
D∗
G(x) =
pdata(x)
pdata(x) + pg(x)
optimal discriminator
這可以證明
53
學習過程
* 來⾃ Ian Goodfellow 等⼈ GAN 的原始論⽂ (2014)
D
pg
Pdata
⼀開始 G 就被下⾺威!
54
學習過程
* 來⾃ Ian Goodfellow 等⼈ GAN 的原始論⽂ (2014)
學成的時後 D 無法區分哪個是真的!
D
pgPdata
=
6
GAN的困難點
55
56
很難訓練
很難達成
Nash equilibrium!
57
有種種調校法
但是我們沒有要細講。
Feature Matching
One-sided Label Smoothing
Batch Normalization
58
WGAN
Wasserstein GAN
Arjovsky-Chintala-Bottou (PMLR 2017)
https://arxiv.org/abs/1701.07875
59
WGAN
Wasserstein GAN
令⼈拍案叫絕的 Wasserstein GAN
https://zhuanlan.zhihu.com/p/25071913
60
聽說 Soumith Chintala 來, 參加 GAN ⽐賽的同學
61
Wasserstein Distance (Earth Move Distance)
62
原始 paper 建議不要⽤
有調到 momentum 的
optimizer, ⽐如說
RMSprop。
63
WGAN
就是穩!
7
CycleGAN
64
65
G

⽣成器
F

⽣成器
Domain
A
Domain
B
鑑別器
B
鑑別器
A
CycleGAN
66
資料「不需要」配對!
於是有無限可能...
67
多個 domains 互轉的
StarGAN 也很值得注意!
Choi 等⼈ (CVPR 2018 )
“StarGAN: Unified Generative Adversarial Networks for Multi-Domain
Image-to-Image Translation”
https://arxiv.org/abs/1711.09020

Contenu connexe

Tendances

【DL輪読会】Incorporating group update for speech enhancement based on convolutio...
【DL輪読会】Incorporating group update for speech enhancement  based on convolutio...【DL輪読会】Incorporating group update for speech enhancement  based on convolutio...
【DL輪読会】Incorporating group update for speech enhancement based on convolutio...Deep Learning JP
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat ModelsDeep Learning JP
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)Hideo Terada
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learningDeep Learning JP
 
よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理Masatoshi Yoshida
 
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔Preferred Networks
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−Deep Learning JP
 
スペクトログラム無矛盾性に基づく独立低ランク行列分析
スペクトログラム無矛盾性に基づく独立低ランク行列分析スペクトログラム無矛盾性に基づく独立低ランク行列分析
スペクトログラム無矛盾性に基づく独立低ランク行列分析Kitamura Laboratory
 
[DLHacks]XLNet を動かして可視化してみた
[DLHacks]XLNet を動かして可視化してみた[DLHacks]XLNet を動かして可視化してみた
[DLHacks]XLNet を動かして可視化してみたDeep Learning JP
 
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情NVIDIA Japan
 
Artificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural NetworksArtificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural NetworksThe Integral Worm
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化Yusuke Uchida
 
KDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
KDD'17読み会:Anomaly Detection with Robust Deep AutoencodersKDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
KDD'17読み会:Anomaly Detection with Robust Deep AutoencodersSatoshi Hara
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
Brief intro : Invariance and Equivariance
Brief intro : Invariance and EquivarianceBrief intro : Invariance and Equivariance
Brief intro : Invariance and Equivariance홍배 김
 
[DL輪読会]Attentive neural processes
[DL輪読会]Attentive neural processes[DL輪読会]Attentive neural processes
[DL輪読会]Attentive neural processesDeep Learning JP
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?Masanao Ochi
 
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3Preferred Networks
 

Tendances (20)

【DL輪読会】Incorporating group update for speech enhancement based on convolutio...
【DL輪読会】Incorporating group update for speech enhancement  based on convolutio...【DL輪読会】Incorporating group update for speech enhancement  based on convolutio...
【DL輪読会】Incorporating group update for speech enhancement based on convolutio...
 
Journal Club: VQ-VAE2
Journal Club: VQ-VAE2Journal Club: VQ-VAE2
Journal Club: VQ-VAE2
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理よくわかるフリストンの自由エネルギー原理
よくわかるフリストンの自由エネルギー原理
 
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
 
スペクトログラム無矛盾性に基づく独立低ランク行列分析
スペクトログラム無矛盾性に基づく独立低ランク行列分析スペクトログラム無矛盾性に基づく独立低ランク行列分析
スペクトログラム無矛盾性に基づく独立低ランク行列分析
 
[DLHacks]XLNet を動かして可視化してみた
[DLHacks]XLNet を動かして可視化してみた[DLHacks]XLNet を動かして可視化してみた
[DLHacks]XLNet を動かして可視化してみた
 
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
Physics-ML のためのフレームワーク NVIDIA Modulus 最新事情
 
Artificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural NetworksArtificial Intelligence: Artificial Neural Networks
Artificial Intelligence: Artificial Neural Networks
 
実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
KDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
KDD'17読み会:Anomaly Detection with Robust Deep AutoencodersKDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
KDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
Brief intro : Invariance and Equivariance
Brief intro : Invariance and EquivarianceBrief intro : Invariance and Equivariance
Brief intro : Invariance and Equivariance
 
[DL輪読会]Attentive neural processes
[DL輪読会]Attentive neural processes[DL輪読会]Attentive neural processes
[DL輪読会]Attentive neural processes
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3
 

Plus de Yen-lung Tsai

Deep Learning and Design Thinking
Deep Learning and Design ThinkingDeep Learning and Design Thinking
Deep Learning and Design ThinkingYen-lung Tsai
 
Recurrent Neural Network 遞迴式神經網路
Recurrent Neural Network 遞迴式神經網路Recurrent Neural Network 遞迴式神經網路
Recurrent Neural Network 遞迴式神經網路Yen-lung Tsai
 
手把手打開Python資料分析大門
手把手打開Python資料分析大門手把手打開Python資料分析大門
手把手打開Python資料分析大門Yen-lung Tsai
 
與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習Yen-lung Tsai
 
深度學習實作上的各種卡關
深度學習實作上的各種卡關深度學習實作上的各種卡關
深度學習實作上的各種卡關Yen-lung Tsai
 
人工智慧不是魔法,是數學
人工智慧不是魔法,是數學人工智慧不是魔法,是數學
人工智慧不是魔法,是數學Yen-lung Tsai
 
[數學、邏輯與人生] 05 數,三聲數
[數學、邏輯與人生] 05 數,三聲數[數學、邏輯與人生] 05 數,三聲數
[數學、邏輯與人生] 05 數,三聲數Yen-lung Tsai
 
[數學軟體應用] 05 HTML+CSS
[數學軟體應用] 05 HTML+CSS[數學軟體應用] 05 HTML+CSS
[數學軟體應用] 05 HTML+CSSYen-lung Tsai
 
[數學、邏輯與人生] 03 集合和數學歸納法
[數學、邏輯與人生] 03 集合和數學歸納法[數學、邏輯與人生] 03 集合和數學歸納法
[數學、邏輯與人生] 03 集合和數學歸納法Yen-lung Tsai
 
[數學、邏輯與人生] 01 基本邏輯和真值表
[數學、邏輯與人生] 01 基本邏輯和真值表[數學、邏輯與人生] 01 基本邏輯和真值表
[數學、邏輯與人生] 01 基本邏輯和真值表Yen-lung Tsai
 
03 串起你的數據
03 串起你的數據03 串起你的數據
03 串起你的數據Yen-lung Tsai
 
Markdown可以做什麼
Markdown可以做什麼Markdown可以做什麼
Markdown可以做什麼Yen-lung Tsai
 
01 jupyter 第一課
01 jupyter 第一課01 jupyter 第一課
01 jupyter 第一課Yen-lung Tsai
 
[數學、邏輯與人生] 00 課程簡介
[數學、邏輯與人生] 00 課程簡介[數學、邏輯與人生] 00 課程簡介
[數學、邏輯與人生] 00 課程簡介Yen-lung Tsai
 
數學軟體應用課程 00 - 課程介紹
數學軟體應用課程 00 - 課程介紹數學軟體應用課程 00 - 課程介紹
數學軟體應用課程 00 - 課程介紹Yen-lung Tsai
 
用 GeoGebra 玩數學
用 GeoGebra 玩數學用 GeoGebra 玩數學
用 GeoGebra 玩數學Yen-lung Tsai
 

Plus de Yen-lung Tsai (18)

Deep Learning and Design Thinking
Deep Learning and Design ThinkingDeep Learning and Design Thinking
Deep Learning and Design Thinking
 
Recurrent Neural Network 遞迴式神經網路
Recurrent Neural Network 遞迴式神經網路Recurrent Neural Network 遞迴式神經網路
Recurrent Neural Network 遞迴式神經網路
 
手把手打開Python資料分析大門
手把手打開Python資料分析大門手把手打開Python資料分析大門
手把手打開Python資料分析大門
 
與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習與高中生談人工智慧與深度學習
與高中生談人工智慧與深度學習
 
深度學習實作上的各種卡關
深度學習實作上的各種卡關深度學習實作上的各種卡關
深度學習實作上的各種卡關
 
人工智慧不是魔法,是數學
人工智慧不是魔法,是數學人工智慧不是魔法,是數學
人工智慧不是魔法,是數學
 
[數學、邏輯與人生] 05 數,三聲數
[數學、邏輯與人生] 05 數,三聲數[數學、邏輯與人生] 05 數,三聲數
[數學、邏輯與人生] 05 數,三聲數
 
[數學軟體應用] 05 HTML+CSS
[數學軟體應用] 05 HTML+CSS[數學軟體應用] 05 HTML+CSS
[數學軟體應用] 05 HTML+CSS
 
[數學、邏輯與人生] 03 集合和數學歸納法
[數學、邏輯與人生] 03 集合和數學歸納法[數學、邏輯與人生] 03 集合和數學歸納法
[數學、邏輯與人生] 03 集合和數學歸納法
 
[數學、邏輯與人生] 01 基本邏輯和真值表
[數學、邏輯與人生] 01 基本邏輯和真值表[數學、邏輯與人生] 01 基本邏輯和真值表
[數學、邏輯與人生] 01 基本邏輯和真值表
 
03 串起你的數據
03 串起你的數據03 串起你的數據
03 串起你的數據
 
Markdown可以做什麼
Markdown可以做什麼Markdown可以做什麼
Markdown可以做什麼
 
02 和電腦對話
02 和電腦對話02 和電腦對話
02 和電腦對話
 
01 jupyter 第一課
01 jupyter 第一課01 jupyter 第一課
01 jupyter 第一課
 
[數學、邏輯與人生] 00 課程簡介
[數學、邏輯與人生] 00 課程簡介[數學、邏輯與人生] 00 課程簡介
[數學、邏輯與人生] 00 課程簡介
 
數學軟體應用課程 00 - 課程介紹
數學軟體應用課程 00 - 課程介紹數學軟體應用課程 00 - 課程介紹
數學軟體應用課程 00 - 課程介紹
 
Days on Jupyter
Days on JupyterDays on Jupyter
Days on Jupyter
 
用 GeoGebra 玩數學
用 GeoGebra 玩數學用 GeoGebra 玩數學
用 GeoGebra 玩數學
 

生成對抗模式 GAN 的介紹