ค่าความสูญเสียแบบปฏิปักษ์
การฝึกแบบมินิแมกซ์ในทางปฏิบัติ
ค่าความสูญเสียแบบปฏิปักษ์ เป็นบทเรียน Deep Learning Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Deep Learning Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
ฟังก์ชันสูญเสียขับเคลื่อนผู้เล่นทั้งสอง
ผู้เล่น GAN ทุกตัวเรียนรู้จากฟังก์ชันสูญเสียที่ให้คะแนนว่าทำงานได้ดีเพียงใด ฟังก์ชันสูญเสียทั้งสองผลักไปคนละทิศทาง ซึ่งเป็นสิ่งที่ทำให้การฝึกเป็นแบบปฏิปักษ์
เกมมิน-แมกซ์
การฝึก GAN เป็นเกมมิน-แมกซ์: ตัวจำแนกพยายามเพิ่มคะแนนของตนให้สูงที่สุด ขณะที่ตัวสร้างพยายามลดคะแนนนั้นให้ต่ำที่สุด ไม่มีฝ่ายใดชนะได้อย่างสมบูรณ์
เอนโทรปีไขว้แบบทวิภาค
GAN ส่วนใหญ่ใช้เอนโทรปีไขว้แบบทวิภาควัดผลการทำนายแต่ละครั้ง ซึ่งเป็นฟังก์ชันสูญเสียมาตรฐานสำหรับการตัดสินใจว่าเป็นของจริงหรือของปลอม
criterion = nn.BCELoss()ตัวจำแนกกับข้อมูลจริง
ขั้นแรก ตัวจำแนกจะเห็นภาพจริงและควรระบุว่าเป็นของจริงฟังก์ชันสูญเสียของจริงจะผลักผลลัพธ์เหล่านั้นให้เข้าใกล้ป้ายกำกับ 1
out_real = D(real)
loss_real = criterion(out_real, ones)ตัวจำแนกกับของปลอม
ถัดมา ตัวจำแนกจะตัดสินภาพที่สร้างขึ้นและควรระบุว่าเป็นของปลอมฟังก์ชันสูญเสียของปลอมจะผลักผลลัพธ์เหล่านั้นให้เข้าใกล้ป้ายกำกับ 0
out_fake = D(fake.detach())
loss_fake = criterion(out_fake, zeros)เหตุใดจึงใช้ detach กับของปลอม
เมื่ออัปเดตตัวจำแนก คุณจะเรียกใช้ detach กับของปลอม เพื่อไม่ให้เกรเดียนต์ไหลย้อนกลับไปยังตัวสร้างในขั้นตอนนี้
fake.detach()ฟังก์ชันสูญเสียของตัวสร้าง
ตัวสร้างต้องการให้ของปลอมถูกติดป้ายว่าเป็นของจริง ดังนั้นฟังก์ชันสูญเสียของตัวสร้างจึงเปรียบเทียบคำตัดสินของตัวจำแนกที่มีต่อของปลอมกับป้ายกำกับ 1
out = D(fake)
loss_g = criterion(out, ones)เคล็ดลับแบบไม่อิ่มตัว
การบอกให้ตัวสร้างเพิ่มความเป็นของจริง แทนที่จะเพียงลดความเป็นของปลอม จะทำให้เกรเดียนต์ในช่วงแรกแรงขึ้น นี่คือฟังก์ชันสูญเสียแบบไม่อิ่มตัว
สองการอัปเดต หนึ่งรอบ
การฝึกแต่ละรอบมีการอัปเดตสองครั้ง ได้แก่ อัปเดตตัวจำแนกจากฟังก์ชันสูญเสียรวมก่อน แล้วจึงอัปเดตตัวสร้างจากฟังก์ชันสูญเสียของตนเอง ลำดับและจังหวะเวลามีความสำคัญ
เป้าหมายที่เคลื่อนที่อยู่เสมอ
เนื่องจากโครงข่ายทั้งสองเปลี่ยนแปลงในทุกขั้นตอน แต่ละฝ่ายจึงไล่ตามเป้าหมายที่เคลื่อนที่อยู่เสมอ นี่คือเหตุผลที่ค่าฟังก์ชันสูญเสียของ GAN แกว่งไปมาแทนที่จะลดลงอย่างราบรื่น
ฟังก์ชันสูญเสียไม่ใช่ความแม่นยำ
ใน GAN ฟังก์ชันสูญเสียที่ลดลงไม่ได้หมายความว่าภาพจะดีขึ้น คุณควรประเมินคุณภาพด้วยการดูตัวอย่าง ไม่ใช่ดูเพียงตัวเลขของฟังก์ชันสูญเสีย 👀
ตรวจสอบอย่างรวดเร็ว
มีรายละเอียดหนึ่งที่ทำให้ผู้เริ่มต้นหลายคนสับสน
สรุปทบทวน: ฟังก์ชันสูญเสียแบบปฏิปักษ์
คุณได้เห็นเกมมิน-แมกซ์: เอนโทรปีไขว้เป็นแนวทางให้ผู้เล่นทั้งสอง ของปลอมถูกตัดการเชื่อมต่อสำหรับผู้ตัดสิน และตัวอย่างต่างหาก ไม่ใช่ฟังก์ชันสูญเสีย ที่แสดงความก้าวหน้าที่แท้จริง 🎯
คำถามที่พบบ่อย
บทเรียน “ค่าความสูญเสียแบบปฏิปักษ์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ค่าความสูญเสียแบบปฏิปักษ์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Deep Learning Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Deep Learning Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ค่าความสูญเสียแบบปฏิปักษ์”
การฝึกแบบมินิแมกซ์ในทางปฏิบัติ คุณปฏิบัติ Deep Learning Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Deep Learning Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Deep Learning Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ค่าความสูญเสียแบบปฏิปักษ์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Deep Learning Academy นี้ได้ไหม
ได้ บทเรียน Deep Learning Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวสร้างกับตัวจำแนก: เกมการแข่งขัน
- ค่าความสูญเสียแบบปฏิปักษ์
- สร้าง DCGAN
- การยุบโหมดและเทคนิคทำให้เสถียร