0Pricing
Deep Learning Academy · บทเรียน

ค่าความสูญเสียแบบปฏิปักษ์

การฝึกแบบมินิแมกซ์ในทางปฏิบัติ

ค่าความสูญเสียแบบปฏิปักษ์ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวสร้างกับตัวจำแนก: เกมการแข่งขัน
  2. ค่าความสูญเสียแบบปฏิปักษ์
  3. สร้าง DCGAN
  4. การยุบโหมดและเทคนิคทำให้เสถียร
← กลับไปที่ Deep Learning Academy