看板 DataScience 關於我們 聯絡資訊
※ 引述《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://www.ptt.cc/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
somoskylin: 我菜鳥,給你參考一下,KL divergence 是為了 p(z|x) 08/28 22:55
somoskylin: 要跟 p(z)也就是 standard normal distribution 越接 08/28 22:55
somoskylin: 近,同時 reconstruct 的期望值要越高 08/28 22:55
somoskylin: 喔是q(z|x) 因為 p(z|x)難以計算,所以作者想了 reco 08/28 23:00
somoskylin: gnition network q(z|x) 去估計 p(z|x) 08/28 23:00
somoskylin: VAE的LOSS是從KL(q(z|x)|p(z|x))推出來的 08/28 23:07
somoskylin: 而高斯只是可以把kl divergence 推導出用 mean 跟 var 08/28 23:14
somoskylin: iance 組成的公式,是可以用其他的機率分佈,原論文有 08/28 23:14
somoskylin: 用白努力的樣子 08/28 23:14
yoyololicon: 這張圖片的推倒不是很好懂= = 08/29 00:16
yoyololicon: 還是喜歡把p(x)拆成elbo和KL(q|p)的推倒法 08/29 00:17
yoyololicon: 另外提一下,把gaussian直接簡化成l2 loss其實不太 08/29 00:22
yoyololicon: 正確,因為沒有考慮到gaussian 的covariance 08/29 00:22
yoyololicon: 很多公開的vae implementation 都直接使用l2 loss, 08/29 00:24
yoyololicon: 基本上就是預設這個gaussian 的covariance 是1 08/29 00:24
yoyololicon: 這其實有點高估 08/29 00:25
yoyololicon: 我這邊說的gaussian是p(x|t)而不是posterior q(t|x) 08/29 00:26
yoyololicon: 當然用bernoulli 當loss就不會有這問題 08/29 00:27