คำถามติดแท็ก variational-bayes

วิธีการผันแปรแบบเบย์โดยประมาณโดยประมาณปริพันธ์ว่ายากที่พบในการอนุมานแบบเบย์และการเรียนรู้ของเครื่อง โดยพื้นฐานแล้ววิธีการเหล่านี้ใช้เพื่อวัตถุประสงค์หนึ่งในสองประการ: การประมาณการกระจายหลังหรือการกำหนดขอบเขตความเป็นไปได้ของข้อมูลที่สังเกตได้

7
reparameterization trick สำหรับ VAEs ทำงานอย่างไรและทำไมจึงมีความสำคัญ
อย่างไรเคล็ดลับ reparameterizationสำหรับ autoencoders แปรผัน (VAE) ทำงานอย่างไร มีคำอธิบายที่เข้าใจง่ายและเข้าใจง่ายโดยไม่ทำให้คณิตศาสตร์ง่ายขึ้นหรือไม่? แล้วทำไมเราถึงต้องการ 'เคล็ดลับ'?

1
อนุมานความแปรปรวนเมื่อเทียบกับ MCMC: เมื่อเลือกหนึ่งมากกว่าอื่น ๆ ?
ฉันคิดว่าฉันเข้าใจความคิดทั่วไปของทั้ง VI และ MCMC รวมถึงรสชาติที่หลากหลายของ MCMC เช่นการสุ่มตัวอย่างของกิ๊บส์, Metropolis Hastings เป็นต้นบทความนี้ให้การอธิบายที่ยอดเยี่ยมของทั้งสองวิธี ฉันมีคำถามต่อไปนี้: หากฉันต้องการทำการอนุมานแบบเบย์ทำไมฉันถึงเลือกวิธีหนึ่งเหนืออีกวิธีหนึ่ง ข้อดีและข้อเสียของแต่ละวิธีคืออะไร? ฉันเข้าใจว่านี่เป็นคำถามที่ค่อนข้างกว้าง แต่ข้อมูลเชิงลึกใด ๆ จะได้รับการชื่นชมอย่างมาก

1
ความสัมพันธ์ระหว่าง Bayes ผันแปรและ EM
ฉันอ่านบางที่ว่าวิธี Variational Bayes เป็นลักษณะทั่วไปของอัลกอริทึม EM แท้จริงแล้วส่วนซ้ำ ๆ ของอัลกอริทึมนั้นคล้ายกันมาก เพื่อทดสอบว่าอัลกอริทึม EM เป็นเวอร์ชันพิเศษของ Variational Bayes ฉันลองทำสิ่งต่อไปนี้: YYYคือข้อมูลคือชุดของตัวแปรแฝงและคือพารามิเตอร์ ในแปรผัน Bayes เราทำให้สามารถสร้างประมาณดังกล่าวว่าที) ในกรณีที่ s นั้นง่ายกว่าและมีการแจกแจงที่เข้าใจง่ายΘ P ( X , Θ | Y ) ≈ Q X ( X ) Q Θ ( Θ ) QXXXΘΘ\ThetaP( X, Θ | Y) ≈ QX( X) QΘ( Θ …

2
วิธีลดน้ำหนัก KLD เทียบกับการสูญเสียการสร้างใหม่ในโปรแกรมเปลี่ยนเกียร์อัตโนมัติแบบแปรผัน
ในตัวอย่างโค้ดเกือบทั้งหมดที่ฉันเคยเห็น VAE ฟังก์ชั่นการสูญเสียมีการกำหนดไว้ดังนี้ (นี่คือรหัส tenorflow แต่ฉันเคยเห็นคล้ายกับ theano ไฟฉาย ฯลฯ มันสำหรับ convnet แต่ก็ไม่เกี่ยวข้องกันเกินไป เพียงแค่ส่งผลกระทบต่อแกนที่ต้องใช้เงินก้อน): # latent space loss. KL divergence between latent space distribution and unit gaussian, for each batch. # first half of eq 10. in https://arxiv.org/abs/1312.6114 kl_loss = -0.5 * tf.reduce_sum(1 + log_sigma_sq - tf.square(mu) - tf.exp(log_sigma_sq), axis=1) # …

1
ระบบเข้ารหัสอัตโนมัติแบบแปรปรวนคืออะไรและใช้งานการเรียนรู้อะไรบ้าง
ตามนี้และนี้คำตอบ autoencoders ดูเหมือนจะเป็นเทคนิคที่ใช้โครงข่ายประสาทเทียมสำหรับการลดมิติ ฉันต้องการทราบเพิ่มเติมว่าautoencoder แบบแปรผันคืออะไร(ความแตกต่าง / ประโยชน์หลัก ๆ ของมันมากกว่า autoencoders แบบดั้งเดิม) และสิ่งที่เป็นหน้าที่การเรียนรู้หลักที่อัลกอริทึมเหล่านี้ใช้

4
เมื่อใดที่ฉันควรใช้โปรแกรมสร้างรหัสอัตโนมัติแบบแปรปรวนเมื่อเทียบกับโปรแกรมสร้างรหัสอัตโนมัติ?
ฉันเข้าใจโครงสร้างพื้นฐานของโปรแกรมสร้างรหัสอัตโนมัติแบบแปรปรวนและโปรแกรมสร้างรหัสอัตโนมัติปกติ (กำหนดขึ้นได้) และคณิตศาสตร์ที่อยู่เบื้องหลัง แต่เมื่อใดและทำไมฉันจึงต้องการโปรแกรมสร้างภาพอัตโนมัติประเภทหนึ่ง สิ่งที่ฉันคิดได้ก็คือการแจกแจงก่อนหน้าของตัวแปรแฝงของโปรแกรมสร้างตัวแปรอัตโนมัติช่วยให้เราสามารถตัวอย่างตัวแปรแฝงแล้วสร้างภาพใหม่ ความได้เปรียบอะไรจากการสุ่มอัตโนมัติของตัวสร้างความแปรปรวนมากกว่าตัวกำหนดค่าอัตโนมัติ

1
"ความสามารถ" ของรูปแบบการเรียนรู้ของเครื่องคืออะไร?
ฉันกำลังศึกษานี้กวดวิชาในแปรผัน Autoencoders โดยคาร์ล Doersch ในหน้าสองมันระบุ: หนึ่งในเฟรมเวิร์กดังกล่าวที่ได้รับความนิยมมากที่สุดคือ Variational Autoencoder [1, 3] ซึ่งเป็นหัวเรื่องของบทช่วยสอนนี้ สมมติฐานของรุ่นนี้อ่อนแอและการฝึกอบรมนั้นรวดเร็วผ่านการ backpropagation VAE ทำการประมาณค่า แต่ข้อผิดพลาดที่แนะนำโดยการประมาณนี้มีขนาดเล็กมากซึ่งเป็นแบบจำลองความจุสูง ลักษณะเหล่านี้มีส่วนทำให้ความนิยมเพิ่มขึ้นอย่างรวดเร็ว ฉันเคยอ่านข้อเรียกร้องเหล่านี้เกี่ยวกับโมเดลความจุสูงมาแล้ว แต่ดูเหมือนว่าฉันจะไม่พบคำจำกัดความที่ชัดเจนสำหรับมัน ฉันยังพบคำถาม stackoverflow ที่เกี่ยวข้องนี้แต่สำหรับฉันคำตอบนั้นไม่น่าพอใจมาก มีคำจำกัดความสำหรับความสามารถของแบบจำลองหรือไม่? คุณวัดได้ไหม

3
สิ่งหนึ่งหมายความว่าอะไรจากการรวมเชิงตัวเลขมีราคาแพงเกินไป?
ฉันกำลังอ่านเกี่ยวกับการอนุมานแบบเบย์และฉันพบวลี "การรวมเชิงตัวเลขของความเป็นไปได้ที่จะมีราคาแพงเกินไป" ฉันไม่มีพื้นฐานด้านคณิตศาสตร์และฉันสงสัยว่าราคาแพงตรงนี้หรือไม่ มันเป็นเพียงในแง่ของพลังการคำนวณหรือมีอะไรมากกว่านั้น

1
การอนุมานแบบแปรผัน KL divergence ต้องการจริง
ถึง (เจียมเนื้อเจียมตัวมาก) ฉันเข้าใจของการอนุมานแปรผันหนึ่งพยายามที่จะใกล้เคียงกับไม่รู้จักกระจายโดยการหาการกระจายที่เพิ่มประสิทธิภาพต่อไปนี้:pppqqq KL(p||q)=∑xp(x)logp(x)q(x)KL(p||q)=∑xp(x)logp(x)q(x)KL (p||q) = \sum\limits_{x} p(x)log \frac {p(x)}{q(x)} เมื่อใดก็ตามที่ฉันลงทุนเวลาในการทำความเข้าใจกับการอนุมานความแปรปรวนฉันยังคงกดปุ่มสูตรนี้และไม่สามารถช่วย แต่รู้สึกว่าฉันไม่มีจุด ดูเหมือนว่าฉันจำเป็นต้องทราบเพื่อคำนวณด) แต่จุดทั้งผมไม่ทราบว่าการกระจายนี้พีpppKL(p||q)KL(p||q)KL(p||q)ppp มันเป็นจุดที่แน่นอนที่ทำให้ฉันดักฟังทุกครั้งที่ฉันพยายามอ่านบางสิ่งที่เปลี่ยนแปลง ฉันกำลังคิดถึงอะไร แก้ไข : ฉันจะเพิ่มความคิดเห็นพิเศษบางส่วนที่นี่อันเป็นผลมาจากคำตอบของ @wij ฉันจะพยายามให้แม่นยำยิ่งขึ้น ในกรณีที่ฉันสนใจดูเหมือนว่าสมเหตุสมผลอย่างสมบูรณ์ที่จะพิจารณาว่าต่อไปนี้ถือ; p(θ|D)=p(D|θ)p(θ)p(D)∝p(D|θ)p(θ)p(θ|D)=p(D|θ)p(θ)p(D)∝p(D|θ)p(θ)p(\theta | D) = \frac{p(D|\theta)p(\theta)}{p(D)} \propto p(D|\theta)p(\theta) ในกรณีนี้ผมจะรู้ว่าสิ่งที่สัดส่วนควรมีลักษณะเช่นเพราะผมจะได้เลือกแบบจำลองสำหรับและtheta) ฉันจะทำนั้นถูกต้องในการบอกว่าฉันก็ต้องไปรับการกระจายครอบครัว [ช่วยบอกเกาส์] ดังกล่าวว่าตอนนี้ฉันสามารถประมาณการด) มันให้ความรู้สึกเหมือนอยู่ในกรณีนี้ผมกำลังพยายามที่จะพอดีกับเกาส์ที่อยู่ใกล้กับที่ไม่ปกติtheta) ถูกต้องหรือไม่pppp(D|θ)p(D|θ)p(D|\theta)p(θ)p(θ)p(\theta)qqqKL(p(θ|D)||q)KL(p(θ|D)||q)KL(p(\theta|D) || q)p(D|θ)p(θ)p(D|θ)p(θ)p(D|\theta)p(\theta) ถ้าเป็นเช่นนั้นฉันรู้สึกว่าฉันสมมติว่าลูกหลานของฉันคือการแจกแจงแบบปกติและฉันแค่พยายามหาค่าที่เป็นไปได้สำหรับการกระจายนี้โดยคำนึงถึงความแตกต่างของKLKLKL

1
อะไรคือความแตกต่างระหว่าง VAE และ Stochastic Backpropagation สำหรับ Deep Generative Model?
อะไรคือความแตกต่างระหว่างการเข้ารหัสอัตโนมัติ Bay Variation BayesและStochastic Backpropagation สำหรับ Deep Generative Model ? การอนุมานในทั้งสองวิธีนำไปสู่ผลลัพธ์เดียวกันหรือไม่ ฉันไม่ได้ตระหนักถึงการเปรียบเทียบที่ชัดเจนระหว่างทั้งสองวิธีแม้จะมีผู้เขียนทั้งสองกลุ่มอ้างอิงซึ่งกันและกัน

2
KL ขาดทุนด้วยยูนิตเสียน
ฉันได้ใช้ VAE และฉันสังเกตเห็นการใช้งานที่แตกต่างกันสองทางออนไลน์ของความแตกต่างที่ไม่ซับซ้อนของ gaussian KL แบบไม่ระบุตัวตน ความแตกต่างดั้งเดิมตามที่นี่คือ หากเราถือว่าก่อนหน้านี้คือหน่วย gaussian เช่นและสิ่งนี้จะลดความซับซ้อนลงเหลือ และนี่คือที่ที่ความสับสนของฉันอยู่ แม้ว่าฉันจะพบ repos github ที่คลุมเครือไม่กี่อย่างกับการใช้งานข้างต้นสิ่งที่ฉันมักจะใช้คือ:KLL o s s= บันทึก(σ2σ1) +σ21+ (μ1-μ2)22σ22-12KLล.โอss=เข้าสู่ระบบ⁡(σ2σ1)+σ12+(μ1-μ2)22σ22-12 KL_{loss}=\log(\frac{\sigma_2}{\sigma_1})+\frac{\sigma_1^2+(\mu_1-\mu_2)^2}{2\sigma^2_2}-\frac{1}{2} μ2= 0μ2=0\mu_2=0σ2= 1σ2=1\sigma_2=1KLL o s s= - บันทึก(σ1) +σ21+μ212-12KLล.โอss=-เข้าสู่ระบบ⁡(σ1)+σ12+μ122-12 KL_{loss}=-\log(\sigma_1)+\frac{\sigma_1^2+\mu_1^2}{2}-\frac{1}{2} KLL o s s= -12( 2 บันทึก(σ1) -σ21-μ21+ 1 )KLล.โอss=-12(2เข้าสู่ระบบ⁡(σ1)-σ12-μ12+1) KL_{loss}=-\frac{1}{2}(2\log(\sigma_1)-\sigma_1^2-\mu_1^2+1) = -12( บันทึก(σ1) -σ1-μ21+ 1 )=-12(เข้าสู่ระบบ⁡(σ1)-σ1-μ12+1) =-\frac{1}{2}(\log(\sigma_1)-\sigma_1-\mu^2_1+1) …

1
Bayes ที่แปรผันรวมกับ Monte Carlo
ฉันกำลังอ่าน Bayes แปรปรวนและเมื่อฉันเข้าใจมันลงมาจากแนวคิดที่ว่าคุณประมาณ (โดยที่คือตัวแปรแฝงของโมเดลของคุณและข้อมูลที่สังเกต) ด้วยฟังก์ชัน , ทำให้ข้อสันนิษฐานที่เป็นตัวประกอบว่าโดยที่เป็นเซตย่อยของตัวแปรแฝง จากนั้นจะสามารถแสดงให้เห็นว่าปัจจัยที่เหมาะสมที่สุดคือ: p(z∣x)p(z∣x)p(z\mid x)zzzxxxq(z)q(z)q(z)qqqqi(zi)qi(zi)q_i(z_i)ziziz_iqi(zi)qi(zi)q_i(z_i)q∗i(zi)=⟨lnp(x,z)⟩z/i+const.qi∗(zi)=⟨ln⁡p(x,z)⟩z/i+const. q^*_i(z_i) = \langle \ln p(x, z)\rangle_{z/i} + \text{const.} ที่ไหนวงเล็บมุมแสดงความคาดหวังมากกว่าตัวแปรแฝงทั้งหมดยกเว้นเกี่ยวกับการกระจาย(z)ziziz_iq(z)q(z)q(z) ตอนนี้นิพจน์นี้มักถูกประเมินผลเชิงวิเคราะห์เพื่อให้คำตอบที่แน่นอนกับมูลค่าเป้าหมายโดยประมาณ อย่างไรก็ตามมันเกิดขึ้นกับฉันว่าเนื่องจากนี่เป็นความคาดหวังแนวทางที่ชัดเจนคือประมาณความคาดหวังนี้โดยการสุ่มตัวอย่าง นี่จะให้คำตอบโดยประมาณสำหรับฟังก์ชันเป้าหมายโดยประมาณ แต่มันทำให้เป็นอัลกอริธึมที่ง่ายมากบางทีสำหรับกรณีที่วิธีการวิเคราะห์ไม่เป็นไปได้ คำถามของฉันคือนี่เป็นวิธีการที่รู้จักหรือไม่? มันมีชื่อหรือไม่? มีเหตุผลว่าทำไมมันอาจทำงานได้ไม่ดีหรืออาจไม่ให้อัลกอริธึมแบบง่าย ๆ ?

2
การประมาณความไม่แน่นอนในปัญหาการอนุมานมิติสูงโดยไม่มีการสุ่มตัวอย่าง?
ฉันกำลังทำงานกับปัญหาการอนุมานมิติสูง (ประมาณพารามิเตอร์โมเดลปี 2000) ซึ่งเราสามารถทำการประมาณค่า MAP ได้อย่างมีประสิทธิภาพโดยการหาค่าสูงสุดของผู้บันทึกล็อกระดับโลกโดยใช้การเพิ่มประสิทธิภาพการไล่ระดับสีและอัลกอริทึมทางพันธุกรรม ฉันอยากจะประเมินความไม่แน่นอนเกี่ยวกับพารามิเตอร์ของแบบจำลองเพิ่มเติมนอกเหนือจากการค้นหาการประมาณค่า MAP เราสามารถคำนวณการไล่ระดับสีของ log-posterior ได้อย่างมีประสิทธิภาพเกี่ยวกับพารามิเตอร์ดังนั้นในระยะยาวเรามีเป้าหมายที่จะใช้ Hamiltonian MCMC ทำการสุ่มตัวอย่าง แต่ตอนนี้ฉันสนใจการประมาณการแบบไม่สุ่มตัวอย่าง วิธีเดียวที่ฉันรู้ก็คือการคำนวณค่าผกผันของ Hessian ในโหมดเพื่อประมาณหลังเป็นหลายตัวแปรปกติ แต่แม้มันจะดูเป็นไปไม่ได้สำหรับระบบขนาดใหญ่เช่นนี้เพราะแม้ว่าเราจะคำนวณ ∼4×106∼4×106\sim 4\times10^{6} องค์ประกอบของ Hessian ฉันแน่ใจว่าเราไม่พบสิ่งที่ตรงกันข้าม ใครช่วยแนะนำวิธีการแบบใดที่มักใช้ในกรณีเช่นนี้? ขอบคุณ! แก้ไข - ข้อมูลเพิ่มเติมเกี่ยวกับปัญหา ความเป็นมา นี้เป็นปัญหาผกผันที่เกี่ยวข้องกับการทดลองฟิสิกส์ขนาดใหญ่ เรามีตาข่ายสามเหลี่ยมสองมิติซึ่งอธิบายถึงเขตข้อมูลทางกายภาพบางส่วนและพารามิเตอร์แบบจำลองของเราคือค่าทางกายภาพของเขตข้อมูลเหล่านั้นในแต่ละจุดยอดของตาข่าย ตาข่ายมีประมาณ 650 จุดยอดและเราสร้างแบบจำลอง 3 เขตข้อมูลดังนั้นนั่นคือที่มาของพารามิเตอร์แบบจำลอง 2000 ของเรา ข้อมูลการทดลองของเรานั้นมาจากเครื่องมือที่ไม่ได้วัดเขตข้อมูลเหล่านี้โดยตรง แต่ปริมาณที่มีฟังก์ชั่นที่ไม่ใช่เชิงเส้นที่ซับซ้อนของเขตข้อมูล สำหรับเครื่องมือที่แตกต่างกันเรามีตัวแบบไปข้างหน้าซึ่งจะจับคู่พารามิเตอร์ของแบบจำลองกับการทำนายข้อมูลการทดลองและการเปรียบเทียบระหว่างการทำนายและการวัดทำให้เกิดความน่าจะเป็นบันทึก จากนั้นเราจะสรุปความเป็นไปได้ของการบันทึกจากเครื่องมือที่แตกต่างกันเหล่านี้และยังเพิ่มค่าบางอย่างก่อนบันทึกซึ่งใช้ข้อ จำกัด ทางกายภาพบางอย่างกับเขตข้อมูล ดังนั้นฉันจึงสงสัยว่า 'แบบจำลอง' นี้จัดอยู่ในหมวดหมู่อย่างเรียบร้อย - เราไม่มีทางเลือกว่าแบบจำลองคืออะไรมันถูกกำหนดโดยวิธีการใช้งานจริงของเครื่องมือที่รวบรวมข้อมูลการทดลองของเรา …

2
การใช้การอนุมานสุ่มสโทคาสต์กับ Bayesian Mixture of Gaussian
ฉันกำลังพยายามใช้โมเดล Gaussian Mixture ด้วยการอนุมานแปรปรวนแบบสุ่มต่อจากบทความนี้ นี่คือ pgm ของส่วนผสมแบบเกาส์เซียน ตามที่กระดาษ, อัลกอริทึมเต็มรูปแบบของการอนุมานสุ่มแปรผันคือ: และฉันยังคงสับสนอย่างมากเกี่ยวกับวิธีการขยายสู่ GMM ก่อนอื่นฉันคิดว่าพารามิเตอร์ความแปรปรวนในท้องถิ่นเป็นเพียงและอื่น ๆ เป็นพารามิเตอร์ระดับโลกทั้งหมด โปรดแก้ไขฉันหากฉันผิด ขั้นตอนที่ 6 หมายถึงอะไร ฉันควรทำอย่างไรเพื่อให้บรรลุเป้าหมายนี้QZqzq_zas though Xi is replicated by N times คุณช่วยฉันด้วยเรื่องนี้ได้ไหม ขอบคุณล่วงหน้า!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.