作者geminitw (geminitw)
看板DataScience
標題Re: [問題] VAE在text generation的問題
時間Fri Aug 28 15:54:31 2020
※ 引述《somoskylin (八七booboo)》之銘言:
: 標題: [問題] VAE在text generation的問題
: 時間: Wed Jul 1 01:13:20 2020
: 推 geminitw: VAE 的 loss 不是 "設計" 出來的吧? 是推導而來的 07/02 23:
55
: → geminitw: VAE 是在找出 latent variable 的機率分佈, 可以用高斯 07/02 23:
56
: → geminitw: 也可以用其他的分佈, 也許 text 不適合用高斯 07/02 23:
57
: → seasa2016: 用高斯或其他的分佈和怎麼評估reconstruct這兩個不都可 07/03 01:
06
: → seasa2016: 以自己設計嗎? 07/03 01:
06
: → seasa2016: 推倒的機率式並沒有定義 07/03 01:
07
各位前輩好:
VAE 的 loss function, (前題為 p(t) 為 Gaussian, t: latent variable)
推導而來是由 下列的圖片所解釋, 不知我的理解是否有錯?
https://i.imgur.com/LZfIwC4.png
因為 p(x|t) 也是 Gaussian (mean/covariance 是 NN),
所以就可以得到上述的 VAE loss = Reconstruction loss + regularization,
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.123.245 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1598601275.A.48F.html
※ 編輯: geminitw (223.140.123.245 臺灣), 08/28/2020 16:10:16
※ 編輯: geminitw (223.140.123.245 臺灣), 08/28/2020 16:13:53
※ 編輯: geminitw (223.140.123.245 臺灣), 08/28/2020 16:14:17
1F:→ somoskylin: 我菜鳥,給你參考一下,KL divergence 是為了 p(z|x) 08/28 22:55
2F:→ somoskylin: 要跟 p(z)也就是 standard normal distribution 越接 08/28 22:55
3F:→ somoskylin: 近,同時 reconstruct 的期望值要越高 08/28 22:55
4F:→ somoskylin: 喔是q(z|x) 因為 p(z|x)難以計算,所以作者想了 reco 08/28 23:00
5F:→ somoskylin: gnition network q(z|x) 去估計 p(z|x) 08/28 23:00
6F:→ somoskylin: VAE的LOSS是從KL(q(z|x)|p(z|x))推出來的 08/28 23:07
7F:推 somoskylin: 而高斯只是可以把kl divergence 推導出用 mean 跟 var 08/28 23:14
8F:→ somoskylin: iance 組成的公式,是可以用其他的機率分佈,原論文有 08/28 23:14
9F:→ somoskylin: 用白努力的樣子 08/28 23:14
10F:→ yoyololicon: 這張圖片的推倒不是很好懂= = 08/29 00:16
11F:→ yoyololicon: 還是喜歡把p(x)拆成elbo和KL(q|p)的推倒法 08/29 00:17
12F:→ yoyololicon: 另外提一下,把gaussian直接簡化成l2 loss其實不太 08/29 00:22
13F:→ yoyololicon: 正確,因為沒有考慮到gaussian 的covariance 08/29 00:22
14F:→ yoyololicon: 很多公開的vae implementation 都直接使用l2 loss, 08/29 00:24
15F:→ yoyololicon: 基本上就是預設這個gaussian 的covariance 是1 08/29 00:24
16F:→ yoyololicon: 這其實有點高估 08/29 00:25
17F:→ yoyololicon: 我這邊說的gaussian是p(x|t)而不是posterior q(t|x) 08/29 00:26
18F:→ yoyololicon: 當然用bernoulli 當loss就不會有這問題 08/29 00:27