KL ขาดทุนด้วยยูนิตเสียน


10

ฉันได้ใช้ VAE และฉันสังเกตเห็นการใช้งานที่แตกต่างกันสองทางออนไลน์ของความแตกต่างที่ไม่ซับซ้อนของ gaussian KL แบบไม่ระบุตัวตน ความแตกต่างดั้งเดิมตามที่นี่คือ หากเราถือว่าก่อนหน้านี้คือหน่วย gaussian เช่นและสิ่งนี้จะลดความซับซ้อนลงเหลือ และนี่คือที่ที่ความสับสนของฉันอยู่ แม้ว่าฉันจะพบ repos github ที่คลุมเครือไม่กี่อย่างกับการใช้งานข้างต้นสิ่งที่ฉันมักจะใช้คือ:

KLล.โอss=เข้าสู่ระบบ(σ2σ1)+σ12+(μ1-μ2)22σ22-12
μ2=0σ2=1
KLล.โอss=-เข้าสู่ระบบ(σ1)+σ12+μ122-12
KLล.โอss=-12(2เข้าสู่ระบบ(σ1)-σ12-μ12+1)

=-12(เข้าสู่ระบบ(σ1)-σ1-μ12+1)
ยกตัวอย่างอย่างเป็นทางการในKeras autoencoder กวดวิชา คำถามของฉันคืออะไรฉันหายไปไหนระหว่างสองสิ่งนี้ ความแตกต่างที่สำคัญคือการลดลงของปัจจัยที่ 2 ในคำล็อกและไม่ยกกำลังการแปรปรวน ฉันได้ใช้ความสำเร็จในการวิเคราะห์กับสิ่งที่คุ้มค่า ขอบคุณล่วงหน้าสำหรับความช่วยเหลือใด ๆ !

คำตอบ:


7

โปรดสังเกตว่าด้วยการแทนที่ด้วยในสมการสุดท้ายคุณจะกู้คืนก่อนหน้า (เช่น ) ทำให้ฉันคิดว่าในกรณีแรกตัวเข้ารหัสถูกใช้เพื่อทำนายความแปรปรวนในขณะที่ตัวที่สองมันถูกใช้เพื่อทำนายค่าเบี่ยงเบนมาตรฐานσ1σ12เข้าสู่ระบบ(σ1)-σ12เข้าสู่ระบบ(σ1)-σ12

สูตรทั้งสองมีความเท่าเทียมกันและไม่มีการเปลี่ยนแปลงวัตถุประสงค์


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

0

ฉันเชื่อว่าคำตอบนั้นง่ายกว่า ใน VAE คนมักจะใช้การกระจายปกติหลายตัวแปรที่มีความแปรปรวนเมทริกซ์แทนความแปรปรวน 2 ที่ดูสับสนในรหัส แต่มีรูปแบบที่ต้องการΣσ2

ที่นี่คุณจะได้รับความแตกต่างของ KL สำหรับการแจกแจงปกติหลายตัวแปร: การได้รับการสูญเสีย KL divergence สำหรับ VAE

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.