GAN พยายามจําลองการกระจายความน่าจะเป็น ดังนั้นจึงควรใช้ฟังก์ชันการสูญเสียที่แสดงถึงระยะห่างระหว่างการกระจายข้อมูลที่สร้างโดย GAN กับการกระจายข้อมูลจริง
คุณจะทราบความแตกต่างระหว่างการกระจาย 2 ฟังก์ชันในฟังก์ชันการสูญเสีย GAN ได้อย่างไร คําถามนี้จัดอยู่ในหัวข้อของการค้นคว้าข้อมูลและเสนอวิธีการต่างๆ มากมาย เราจะพูดถึงฟังก์ชันการสูญเสีย GAN ทั่วไป 2 ฟังก์ชันที่นี่ ซึ่งการทํางานทั้ง 2 แบบจะใช้ใน TF-GAN
- minimax Loss: ฟังก์ชันการสูญเสียที่ใช้ในบทความแนะนํา GAN
- การสูญเสีย Wassstein: ฟังก์ชันการสูญเสียเริ่มต้นสําหรับเครื่องมือ TF-GAN อธิบายเป็นครั้งแรกในบทความในปี 2017
นอกจากนี้ TF-GAN ยังใช้ฟังก์ชันการสูญเสียอื่นๆ อีกมากมาย
ฟังก์ชันการสูญเสีย 1 หรือ 2 อย่าง
GAN อาจมีฟังก์ชันการสูญเสีย 2 ฟังก์ชัน ฟังก์ชันหนึ่งสําหรับการฝึกโปรแกรมสร้างโปรแกรม และฟังก์ชันสําหรับการฝึกการเลือกปฏิบัติ ฟังก์ชันการสูญเสีย 2 รายการทํางานร่วมกันเพื่อ แสดงการวัดระยะทางระหว่างการกระจายความน่าจะเป็นได้อย่างไร
ในรูปแบบการสูญเสีย เราจะดูตรงนี้ โปรแกรมสร้างและการเลือกปฏิบัติจะสูญเสีย การวัดระยะทางระหว่างการกระจายความน่าจะเป็นแต่ละครั้ง แต่ในทั้ง 2 แผนนี้ โปรแกรมสร้างคําจะส่งผลต่อการวัดระยะทางได้เพียงคําเดียว ได้แก่ คําที่แสดงถึงการกระจายข้อมูลปลอม ดังนั้นระหว่างการฝึกทํางานได้ เราจะข้ามคําอื่นซึ่งแสดงถึงการกระจายข้อมูลจริง
ส่วนโปรแกรมสร้างและโปรแกรมแยกส่วนเสียจะดูแตกต่างกันในตอนท้าย แม้ว่าข้อมูลเหล่านั้นจะมาจากสูตรเดียว
การสูญเสีย Minimax
ในบทความที่แนะนํา GAN โปรแกรมสร้างจะพยายามลดฟังก์ชันต่อไปนี้ให้เหลือน้อยที่สุด
ในฟังก์ชันนี้:
D(x)
เป็นการประมาณ &$33 ของการประมาณความเป็นไปได้ที่อินสแตนซ์ข้อมูล x จริงเป็นของจริง- Ex คือค่าที่คาดไว้ของอินสแตนซ์ข้อมูลจริงทั้งหมด
G(z)
เป็นเอาต์พุตของตัวสร้างเมื่อให้เสียง zD(G(z))
เป็นเครื่องเป่าสําหรับความน่าจะเป็นที่อินสแตนซ์ปลอมมีจริง- Ez คือค่าที่คาดหวังของอินพุตแบบสุ่มทั้งหมดไปยังโปรแกรมสร้าง (ผลคือค่าที่คาดไว้มากกว่าอินสแตนซ์ปลอมที่สร้างขึ้นทั้งหมด G(z))
- สูตรมาจากเอนโทรปี-เอนโทรปีระหว่างการกระจายจริงกับการกระจายที่สร้างขึ้น
โปรแกรมสร้างจะไม่ส่งผลกระทบต่อข้อกําหนดของ log(D(x))
ในฟังก์ชันโดยตรง ดังนั้นสําหรับโปรแกรมสร้าง การลดการสูญเสียจะเท่ากับการย่อ log(1 -
D(G(z)))
ใน TF-GAN โปรดดู minimax_discriminator_loss และ minimax_generator_loss สําหรับการติดตั้งใช้งานฟังก์ชันการสูญเสียนี้
การสูญเสีย Minimax ที่แก้ไข
เอกสาร GAN ฉบับแรกแจ้งว่าฟังก์ชันการสูญเสียมินิแมชชีนข้างต้นอาจทําให้ GAN ค้างในช่วงต้นของการฝึกอบรม GAN เมื่องานเสร็จได้ง่าย บทความจึงแนะนําให้แก้ไขการสูญเสียโปรแกรมสร้างเพื่อให้โปรแกรมสร้างพยายามเพิ่มlog D(G(z))
ให้ได้มากที่สุด
ใน TF-GAN โปรดดู modified_generator_loss สําหรับการติดตั้งใช้งานการแก้ไขนี้
วาสเซอร์สไตน์
TF-GAN จะใช้ Wasserstein Lost ตามค่าเริ่มต้น
ฟังก์ชันการสูญเสียนี้ขึ้นอยู่กับการแก้ไขรูปแบบ GAN (เรียกว่า"Wasserstein GAN" หรือ "WGAN") ซึ่งตัวแยกประเภทไม่ได้แยกประเภทอินสแตนซ์ โดยเอาต์พุตแต่ละรายการจะระบุตัวเลข จํานวนนี้ต้องไม่น้อยกว่า 0 ขึ้นไป เราจึงใช้ 0.5 เป็นเกณฑ์ในการตัดสินว่าอินสแตนซ์จริงหรือปลอม การฝึกการแบ่งแยกทางปฏิบัติจะพยายามทําให้เอาต์พุตใหญ่ขึ้นสําหรับอินสแตนซ์จริงมากกว่าอินสแตนซ์ปลอม
เนื่องจากการเลือกปฏิบัติไม่สามารถแยกแยะระหว่างเรื่องจริงกับเรื่องสมมติได้ จึงไม่ทราบว่าอะไรเป็นการแบ่งแยก WGAN แทนที่จะเป็น "วิจารณ์" แทนที่จะเป็น "การเลือกปฏิบัติ" ความแตกต่างนี้มีทฤษฎีสําคัญ แต่สําหรับในทางปฏิบัติแล้ว เราสามารถรับรู้ได้ว่าอินพุตไปยังฟังก์ชันการสูญเสียไม่จําเป็นต้องเป็นความน่าจะเป็น
ตัวฟังก์ชันการสูญเสียเองนั้นค่อนข้างหลอกลวง
การสูญหายของวิกฤต: D(x) - D(G(z))
การเลือกปฏิบัติจะพยายามเพิ่มฟังก์ชันนี้ให้ได้สูงสุด กล่าวคือ พยายามเพิ่มความแตกต่างระหว่างเอาต์พุตในอินสแตนซ์จริงและเอาต์พุตบนอินสแตนซ์ปลอม
แพ้ Generator: D(G(z))
โปรแกรมสร้างนี้จะพยายามทํางานอย่างเต็มที่ กล่าวคือ จะพยายามขยายเอาต์พุตของการเลือกปฏิบัติสูงสุดสําหรับอินสแตนซ์ปลอม
ในฟังก์ชันเหล่านี้
D(x)
เป็นเอาต์พุตของนักวิจารณ์สําหรับอินสแตนซ์จริงG(z)
เป็นเอาต์พุตของตัวสร้างเมื่อให้เสียง zD(G(z))
เป็นเอาต์พุตของนักวิจารณ์สําหรับอินสแตนซ์ปลอม- เอาต์พุตของคําวิจารณ์ D ไม่ต้องอยู่ระหว่าง 1 ถึง 0
- สูตรที่ได้มาจากระยะทางในการย้ายโลก ระหว่างการกระจายที่แท้จริงและที่สร้างขึ้น
ใน TF-GAN โปรดดู wasserstein_generator_loss และ wasserstein_discriminator_loss สําหรับการใช้งาน
ข้อกำหนด
เหตุผลทางทฤษฎีสําหรับ Wasserstein GAN (หรือ WGAN) กําหนดให้น้ําหนักของ GAN ทั้งหมดต้องถูกตัดจึงจะอยู่ในช่วงที่แคบ
ข้อดี
Wasserstein GANs มีความเสี่ยงที่จะเกิดการติดขัดน้อยกว่า GAN ขนาดเล็กที่สุด และหลีกเลี่ยงปัญหาเกี่ยวกับการไล่ระดับสีที่สูญหายไป ระยะทางในการย้ายโลกยังมีประโยชน์ตรงที่ได้เป็นเมตริกที่แท้จริงอีกด้วย ซึ่งก็คือการวัดระยะทางในพื้นที่ของการกระจายความน่าจะเป็น เอนโทรปี-เอนโทรปีไม่ใช่เมตริกในกลุ่มนี้