ทำความเข้าใจกับฟังก์ชั่นการสูญเสียของ GAN


17

ฉันกำลังพยายามทำความเข้าใจเกี่ยวกับฟังก์ชั่นการสูญเสีย GAN ตามที่ระบุไว้ในการทำความเข้าใจกับเครือข่ายผู้ให้คำปรึกษาทั่วไป (โพสต์บล็อกที่เขียนโดย Daniel Seita)

ในการสูญเสียข้ามเอนโทรปีมาตรฐานเรามีเอาต์พุตที่ทำงานผ่านฟังก์ชั่น sigmoid และการจำแนกเลขฐานสองเป็นผลลัพธ์

เซียต้าระบุ

ดังนั้นสำหรับ [แต่ละจุดข้อมูลและป้ายกำกับเราจะได้ฟังก์ชันการสูญเสียต่อไปนี้ ...x1

H((x1,Y1),D)=-Y1เข้าสู่ระบบD(x1)-(1-Y1)เข้าสู่ระบบ(1-D(x1))

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

คำตอบ:


6

จุดเน้นของคำถามนี้

"... เราจะประมวลผลข้อมูลจากการแจกแจงที่แท้จริงและข้อมูลจากตัวแบบกำเนิดในการวนซ้ำเดียวกันได้อย่างไร?

การวิเคราะห์สิ่งพิมพ์พื้นฐาน

ในหน้าอ้างอิงทำความเข้าใจกำเนิดเครือข่ายขัดแย้ง (2017) , แดเนียลผู้สมัครระดับปริญญาเอก Sieta อย่างถูกต้องอ้างอิงกำเนิดขัดแย้งเครือข่าย Goodfellow, Pouget-Abadie ร์ซาเสี่ยว, Warde-ลี่ย์ Ozair, Courville และ Bengio, มิถุนายน 2014 "เราเสนอกรอบการทำงานใหม่สำหรับการประเมินโมเดลทั่วไปผ่านกระบวนการที่เป็นปฏิปักษ์ซึ่งเราได้ฝึกอบรมทั้งสองโมเดลพร้อมกัน ... " บทความต้นฉบับนี้กำหนดสองโมเดลที่กำหนดเป็น MLPs (Multilayer Perceptrons)

  • รุ่นทั่วไป, G
  • แบบจำลองที่จำแนกได้ D

แบบจำลองทั้งสองนี้ได้รับการควบคุมในลักษณะที่รูปแบบหนึ่งแสดงความคิดเห็นเชิงลบต่ออีกรูปแบบหนึ่ง

  • G ได้รับการฝึกฝนให้จับการกระจายข้อมูลของชุดตัวอย่างที่ดีพอที่จะหลอกลวง D.
  • D ได้รับการฝึกฝนให้ค้นพบว่าอินพุตนั้นเป็น mocks ของ G หรือชุดตัวอย่างสำหรับระบบ GAN

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

Probabilistically, การหลอกลวง D หมายถึงการเพิ่มความน่าจะเป็นที่ D จะสร้างผลบวกปลอมให้มากที่สุดและเชิงลบที่ผิดพลาดเช่นเดียวกับการจัดหมวดหมู่ที่ถูกต้องแต่ละครั้ง 50% ในวิทยาการสารสนเทศนี่เป็นการบอกว่าขีด จำกัด ของข้อมูล D มีของ G เข้าใกล้ 0 เมื่อ t เข้าใกล้อนันต์ มันเป็นกระบวนการของการเพิ่มเอนโทรปีของ G จากมุมมองของ D ดังนั้นคำว่าข้ามเอนโทรปี

การบรรจบกันของความสำเร็จเป็นอย่างไร

เนื่องจากฟังก์ชั่นการสูญเสียทำซ้ำจากการเขียนในปี 2560 ของ Sieta ซึ่งเป็นคำถามของ D ซึ่งออกแบบมาเพื่อลดการข้ามเอนโทรปี (หรือสหสัมพันธ์) ระหว่างการแจกแจงทั้งสองเมื่อนำไปใช้กับคะแนนเต็มชุดสำหรับสถานะการฝึกอบรมที่กำหนด

H((x1,Y1),D)=1D(x1)

มีฟังก์ชั่นการสูญเสียแยกต่างหากสำหรับ G ที่ออกแบบมาเพื่อเพิ่มค่าเอนโทรปีของค่าไขว้ ขอให้สังเกตว่ามีสองระดับของเมล็ดการฝึกอบรมในระบบ

  • เกมเคลื่อนไหวในเกมที่มีผู้เล่นสองคน
  • จากตัวอย่างการฝึกอบรม

เหล่านี้สร้างการวนซ้ำแบบวนซ้ำด้วยการวนซ้ำด้านนอกดังนี้

  • การฝึกอบรมของ G ดำเนินการโดยใช้ฟังก์ชั่นการสูญเสียของกรัม
  • รูปแบบการป้อนข้อมูลจำลองถูกสร้างขึ้นจาก G ที่สถานะปัจจุบันของการฝึกอบรม
  • การฝึกอบรมวิธีการ D โดยใช้ฟังก์ชั่นการสูญเสียของ D
  • ทำซ้ำถ้าเอนโทรปีของการไขว้ยังไม่ขยายใหญ่พอ D สามารถแยกแยะได้

ในที่สุดเมื่อ D แพ้เกมเราก็บรรลุเป้าหมายของเราแล้ว

  • G กู้คืนการกระจายข้อมูลการฝึกอบรม
  • D ถูกลดความไม่มีประสิทธิภาพ ("ความน่าจะเป็น 1/2 ทุกๆที่")

เหตุใดจึงจำเป็นต้องมีการฝึกอบรมพร้อมกัน

หากทั้งสองรุ่นไม่ได้รับการฝึกฝนในแบบไปมาเพื่อจำลองการเกิดพร้อมกันการบรรจบกันในระนาบฝ่ายตรงข้าม (การทำซ้ำรอบด้านนอก) จะไม่เกิดขึ้นกับการแก้ปัญหาเฉพาะที่อ้างถึงในเอกสารปี 2014

ข้อมูลมากกว่านี้

นอกเหนือจากคำถามแล้วสิ่งต่อไปที่น่าสนใจในบทความของ Sieta ก็คือ "การออกแบบฟังก์ชั่นการสูญเสียของเครื่องกำเนิดไฟฟ้าไม่ดี" สามารถนำไปสู่ค่าการไล่ระดับสีไม่เพียงพอที่จะนำพาเชื้อสายและผลิตสิ่งที่เรียกว่าอิ่มตัว ความอิ่มตัวเป็นเพียงการลดลงของสัญญาณความคิดเห็นที่นำโคตรในการถ่ายทอดกลับไปสู่เสียงอึกทึกที่เกิดจากการปัดเศษจุดลอยตัว คำนี้มาจากทฤษฎีสัญญาณ

ฉันแนะนำให้ศึกษาบทความปี 2014 โดย Goodfellow et alia (นักวิจัยที่มีประสบการณ์) เพื่อเรียนรู้เกี่ยวกับเทคโนโลยี GAN มากกว่าหน้า 2017


3

เริ่มกันที่จุดเริ่มต้นกันดีกว่า GANs เป็นแบบจำลองที่สามารถเรียนรู้การสร้างข้อมูลที่คล้ายกับข้อมูลที่เราให้

เมื่อทำการฝึกอบรมแบบจำลองทั่วไปนอกเหนือจาก GAN ฟังก์ชั่นการสูญเสียที่ง่ายที่สุดที่จะเกิดขึ้นอาจเป็น Mean Squared Error (MSE)

กรุณาให้ฉันยกตัวอย่าง ( Trickot L 2017 ):

ตอนนี้สมมติว่าคุณต้องการสร้างแมว คุณอาจยกตัวอย่างรุ่นของแมวเฉพาะในรูปถ่าย ฟังก์ชั่นการสูญเสียที่คุณเลือกหมายความว่าแบบจำลองของคุณจะต้องจำลองแมวแต่ละตัวให้ถูกต้องเพื่อหลีกเลี่ยงการถูกลงโทษ

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

อย่างไรก็ตามฟังก์ชั่นใดที่ไม่สนใจพิกเซลที่เป็นรูปธรรมและมุ่งเน้นไปที่การตรวจจับแมวในภาพถ่าย?

นั่นคือเครือข่ายประสาท นี่คือบทบาทของผู้เลือกปฏิบัติใน GAN งานของ discriminator คือการประเมินว่าภาพมีความน่าเชื่อถือได้อย่างไร

เอกสารที่คุณอ้างถึงการทำความเข้าใจกับเครือข่ายผู้ให้คำปรึกษาทั่วไป (Daniel S 2017) แสดงรายการข้อมูลเชิงลึกที่สำคัญสองประการ

Major Insight 1: ฟังก์ชันการสูญเสียของ discriminator คือฟังก์ชัน cross entropy loss

Major Insight 2: ทำความเข้าใจว่าการอิ่มตัวของการไล่ระดับสีอาจจะส่งผลเสียต่อการฝึกซ้อมหรือไม่ การอิ่มตัวของการไล่ระดับสีเป็นปัญหาทั่วไปเมื่อการไล่ระดับสีน้อยเกินไป (เช่นศูนย์) เพื่อทำการเรียนรู้ใด ๆ

เพื่อตอบคำถามของคุณเราจำเป็นต้องอธิบายเพิ่มเติมเกี่ยวกับข้อมูลเชิงลึกที่สำคัญที่สอง

ในบริบทของ GANs การไล่ระดับสีอาจเกิดขึ้นเนื่องจากการออกแบบฟังก์ชั่นการสูญเสียของเครื่องกำเนิดไฟฟ้าไม่ดีดังนั้น "ความเข้าใจที่สำคัญ" นี้ ... ขึ้นอยู่กับการทำความเข้าใจการแลกเปลี่ยนระหว่างฟังก์ชั่นการสูญเสียต่าง ๆ สำหรับเครื่องกำเนิด

การออกแบบที่นำมาใช้ในกระดาษช่วยแก้ปัญหาฟังก์ชั่นการสูญเสียโดยมีฟังก์ชั่นที่เฉพาะเจาะจงมาก (เพื่อแยกแยะระหว่างสองคลาส) วิธีที่ดีที่สุดในการทำเช่นนี้คือการใช้ cross entropy (Insight 1) ในขณะที่โพสต์บล็อกพูดว่า:

Cross-Entropy เป็นฟังก์ชั่นการสูญเสียที่ยอดเยี่ยมเนื่องจากมันถูกออกแบบมาเพื่อเร่งการเรียนรู้และหลีกเลี่ยงความเข้มของการไล่ระดับสีเมื่อถึงตัวแยกประเภทที่ถูกต้อง

ดังที่ได้อธิบายไว้ในความคิดเห็นของบล็อกโพสต์:

ความคาดหวัง [ในฟังก์ชั่นเอนโทรปีของการข้าม] มาจากผลรวม หากคุณดูคำจำกัดความของความคาดหวังสำหรับตัวแปรสุ่มแบบแยกคุณจะเห็นว่าคุณต้องรวมค่าที่เป็นไปได้ที่แตกต่างกันของตัวแปรสุ่มโดยชั่งน้ำหนักแต่ละค่าด้วยความน่าจะเป็น ตรงนี้ความน่าจะเป็นเป็นเพียง 1/2 เท่านั้นและเราสามารถปฏิบัติต่อพวกมันได้ว่ามาจากเครื่องกำเนิดหรือผู้แยกแยะ


คำถามไม่ได้ถามสิ่งที่ง่ายที่สุดที่จะใช้เป็นฟังก์ชั่นการสูญเสียสำหรับ ANNs รายละเอียดของคณิตศาสตร์ไม่ชัดเจนสำหรับ @tryingtolearn และการอ้างถึงนักเรียนที่จบการศึกษาโดยไม่ได้ชี้แจงใด ๆ
FauChristian

1

คุณสามารถรักษารวมกันของ zอินพุตและxอินพุตเป็นตัวอย่างเดียวและคุณประเมินว่า discriminator ดำเนินการจำแนกประเภทของแต่ละรายการได้ดีเพียงใด

นี่คือเหตุผลที่โพสต์ในภายหลังแยกเดี่ยวyเข้าไปE(p~data)และE(z)- พื้นคุณมีความคาดหวังที่แตกต่างกัน ( ys) สำหรับแต่ละของปัจจัยการผลิต discriminator และคุณจะต้องวัดทั้งสองอย่างในเวลาเดียวกันในการประเมินวิธีการที่ดี discriminator มีประสิทธิภาพ

นั่นเป็นเหตุผลที่ฟังก์ชั่นการสูญเสียคิดว่าเป็นการรวมกันของทั้งการจัดประเภทในเชิงบวกของการป้อนข้อมูลจริงและการจัดหมวดหมู่เชิงลบของการป้อนข้อมูลเชิงลบ

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