พื้นฐาน AI

เครือข่ายการสร้างเชิงปฏิปักษ์ (GAN) คืออะไร?

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

generative adversarial network (GAN) ฝึกสองเครือข่ายประสาทเทียมให้แข่งขันกัน ตัวสร้าง (generator) แปลงอินพุตแบบสุ่มหรือมีเงื่อนไขให้เป็นตัวอย่างสังเคราะห์ ตัวแยกแยะ (discriminator) พยายามแยกแยะตัวอย่างที่สร้างขึ้นจากตัวอย่างการฝึกที่เป็นจริง การตอบกลับของแต่ละเครือข่ายจะเปลี่ยนแปลงปัญหาการเรียนรู้ของอีกเครือข่ายหนึ่ง

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

ประเด็นสำคัญ

  • ตัวสร้างสร้างตัวอย่าง; ตัวแยกแยะเรียนรู้สัญญาณการตัดสินใจระหว่างของจริงและของสร้าง
  • การฝึกมุ่งหาจุดสมดุล แต่การเปลี่ยนคู่ต่อสู้สามารถทำให้เกิดความไม่เสถียร, การสั่น, หรือการล่มของโหมด
  • Conditional GAN ควบคุมการสร้างด้วยป้ายกำกับ, ข้อความ หรือบริบทอื่น
  • การประเมินควรทดสอบความถูกต้อง, ความครอบคลุม, การจดจำ และความเสี่ยงต่อการใช้งานต่อเนื่อง—not เพียงคุณภาพของภาพ
What is a Generative Adversarial Network (GAN)? diagram showing latent input, generator, synthetic sample, discriminator, real / fake loss, update both
เป้าหมายที่ขัดแย้งกันสร้างสัญญาณการเรียนรู้—และความไม่เสถียร

เกมปฏิปักษ์

สูตรดั้งเดิมเป็นเกม minimax ระหว่างผู้เล่นสองคน ตัวแยกแยะพัฒนาความสามารถในการแยกข้อมูลจริงจากข้อมูลที่สร้างขึ้น ในขณะที่ตัวสร้างพัฒนาการทำให้ตัวอย่างที่ตัวแยกแยะจัดเป็นของจริง ทั้งสองได้รับการฝึกด้วย backpropagation

หากตัวแยกแยะมีความแม่นยำเกินไป การตอบกลับต่อผู้สร้างอาจไม่มีประโยชน์ หากมันอ่อนเกินไป ผู้สร้างอาจใช้ทางลัดที่ง่ายได้ การฝึกจึงสลับการอัปเดตและปรับสมดุลความจุ, การสูญเสียและการตั้งค่าการเพิ่มประสิทธิภาพอย่างระมัดระวัง

การล่มของโหมดและความเสถียรของการฝึก

การล่มของโหมดเกิดขึ้นเมื่ออินพุตแฝงหลายค่าให้ผลลัพธ์ที่คล้ายกัน ทำให้ตัวอย่างดูสมเหตุสมผลแต่ครอบคลุมเพียงส่วนหนึ่งของการกระจายข้อมูล ความล้มเหลวอื่น ๆ รวมถึงการสั่น, การระเบิดของกราเดียนท์ และความไวต่อการเริ่มต้นแบบสุ่ม

เป้าหมาย Wasserstein, การลงโทษกราเดียนท์, การทำให้เป็นสเปกตรัม, การเปลี่ยนแปลงสถาปัตยกรรมและอัตราการอัปเดตที่ปรับแต่งสามารถเพิ่มความเสถียรได้ แต่ยังไม่ขจัดความจำเป็นในการตรวจสอบความหลากหลายและทำซ้ำการทดลองด้วยเมล็ดหลายค่า

การสร้างเชิงเงื่อนไขและการควบคุมแฝง

Conditional GAN ให้ข้อมูลป้ายกำกับหรือบริบทอื่นแก่ตัวสร้างและตัวแยกแยะ ทำให้สามารถสร้างคลาสหรือคุณลักษณะที่เจาะจงได้ สถาปัตยกรรมแบบสไตล์แยกแยะด้านการควบคุมแฝงในระดับความละเอียดต่าง ๆ และได้ผลิตภาพที่สมจริงอย่างมาก

ทิศทางแฝงอาจสอดคล้องกับแนวคิดของมนุษย์ แต่การแก้ไขคุณลักษณะหนึ่งอาจเปลี่ยนคุณลักษณะอื่น เนื่องจากข้อมูลการฝึกมีคุณลักษณะที่สัมพันธ์กัน การอ้างอิงถึงการควบคุมควรทดสอบในหลายอัตลักษณ์และบริบทที่หลากหลาย

การประเมิน, ความเป็นส่วนตัวและแหล่งที่ม

เมตริกเช่น Fréchet Inception Distance เปรียบเทียบการกระจายของฟีเจอร์ แต่พวกมันสืบทอดสมมติฐานจากโมเดลฟีเจอร์และอาจพลาดการจดจำหรือความล้มเหลวของกลุ่มย่อย การวิเคราะห์เพื่อนบ้านที่ใกล้ที่สุด, การทดสอบความครอบคลุมแบบ precision/recall และการตรวจสอบโดยมนุษย์ให้หลักฐานเสริมกัน

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

GAN, VAE และโมเดลการแพร่กระจาย

Variational autoencoders ปรับเป้าหมายแฝงที่อิงความน่าจะเป็นและมักแลกความคมของตัวอย่างเพื่อให้ได้พื้นที่แฝงที่มีโครงสร้าง โมเดลการแพร่กระจายเรียนรู้การย้อนกระบวนการเพิ่มสัญญาณรบกวนและกลายเป็นพื้นฐานที่นิยมสำหรับการสร้างภาพ

GAN ยังคงมีประโยชน์เมื่อความเร็วในการสุ่มแบบครั้งเดียว, การแมปภาพต่อภาพที่เฉพาะเจาะจง หรือการปรับใช้แบบกะทัดรัดเป็นปัจจัยสำคัญ วิธีที่เหมาะสมขึ้นอยู่กับคุณภาพ, ความหลากหลาย, ความหน่วง, ความเสถียรของการฝึกและการกำกับดูแล—not ว่าโครงสร้างใดเป็นรุ่นใหม่ที่สุด

เป้าหมายเชิงปฏิปักษ์และพลวัตการฝึก

เครือข่ายการสร้างเชิงปฏิปักษ์ฝึกตัวสร้างให้ผลิตตัวอย่างและตัวแยกแยะให้แยกแยะข้อมูลที่สร้างจากข้อมูลจริง ในเกม minimax ดั้งเดิม ตัวแยกแยะประมาณสัญญาณที่เกี่ยวข้องกับอัตราส่วนความหนาแน่นและตัวสร้างพยายามหลอกลวงมัน การฝึกสลับการอัปเดต ทำให้แต่ละเครือข่ายเรียนรู้ต่อสู้กับคู่ต่อสู้ที่เคลื่อนที่แทนที่จะเป็นการสูญเสียคงที่ หากตัวแยกแยะแข็งแรงเกินไป กราดิเอนต์ของตัวสร้างอาจไม่มีประโยชน์; หากอ่อนเกินไป คุณภาพของการสร้างจะค้างอยู่ ค่า loss เพียงอย่างเดียวไม่ได้สอดคล้องโดยตรงกับคุณภาพของตัวอย่าง

การล่มของโหมดเกิดขึ้นเมื่อผู้สร้างผลิตความหลากหลายจำกัดที่หลอกลวงตัวแยกแยะ การสั่น, ความไวต่อไฮเปอร์พารามิเตอร์, และการทำให้เป็นมาตรฐานที่ไม่เสถียรก็พบบ่อย เป้าหมาย Wasserstein, การลงโทษกราเดียนท์, การทำให้เป็นสเปกตรัม, การจับคู่ฟีเจอร์, สถิติ minibatch, และตารางการอัปเดตที่สมดุลอย่างระมัดระวังแก้ไขกลไกความล้มเหลวที่แตกต่างกัน Conditional GAN ใช้ป้ายกำกับ, ข้อความ หรือภาพเพื่อชี้นำผลลัพธ์; สถาปัตยกรรมแบบสไตล์แยกอิทธิพลแฝง คุณภาพและความครอบคลุมของชุดข้อมูลยังคงเป็นพื้นฐาน เพราะผู้สร้างทำซ้ำและผสานการกระจายที่เห็น

การประเมินและการใช้อย่างรับผิดชอบ

ประเมินความถูกต้องและความหลากหลายแยกกัน Fréchet Inception Distance เปรียบเทียบการกระจายของฟีเจอร์แต่ขึ้นกับขนาดตัวอย่าง, โมเดลฟีเจอร์, การเตรียมข้อมูล, และโดเมน; Inception Score ไม่เปรียบเทียบกับข้อมูลจริง Precision และ recall สำหรับโมเดลเชิงสร้าง, การวิเคราะห์เพื่อนบ้านที่ใกล้ที่สุด, การตรวจสอบการจดจำ, และการประเมินงานโดยมนุษย์ให้หลักฐานเพิ่มเติม สำหรับการสังเคราะห์ทางวิทยาศาสตร์หรือการแพทย์ ใช้เมตริกโดเมนและการตรวจสอบต่อเนื่อง เก็บชุดข้อมูลจริงที่แยกออกและเปรียบเทียบกับฐานการแพร่กระจายหรือออโต้รีเกรสซีฟที่มีการคำนวณและความละเอียดที่เทียบเท่า

GAN สามารถเพิ่มข้อมูล, แปลโดเมน, ซูเปอร์เรโซลูชันภาพ, สังเคราะห์สื่อ, และสนับสนุนการจำลองได้ แต่ข้อมูลสังเคราะห์อาจขยายอคติหรือรั่วไหลตัวอย่างการฝึก ตรวจสอบลิขสิทธิ์, ความยินยอม, ตัวตน, และแหล่งที่มา ปกป้องจากการแอบอ้างโดยไม่ได้รับความยินยอมและการใช้หลอกลวง, ทำเครื่องหมายหรือเซ็นผลลัพธ์ตามความเหมาะสม, และเก็บเมตาดาต้าการสร้าง ภาพที่เหมือนจริงไม่ใช่หลักฐานเอกสาร; ความไม่แน่นอนและที่มาของข้อมูลสังเคราะห์ต้องปรากฏชัดเมื่อผลลัพธ์มีผลต่อการตัดสินใจ

การปรับใช้และความสามารถทำซ้ำได้

บันทึกตัวสร้าง, ตัวแยกแยะ, ตัวเพิ่มประสิทธิภาพ, ชุดข้อมูล, เมล็ดสุ่ม, การตัดและการตั้งค่าการสุ่ม ตัวแปลงเป็นจำนวนเต็มหรือการส่งออกอาจเปลี่ยนการทำให้เป็นมาตรฐานและผลลัพธ์ ดังนั้นต้องตรวจสอบความถูกต้องของศิลปะที่ให้บริการ ตรวจสอบการกระจายของพรอมต์หรือเงื่อนไข, ตัวกรองความปลอดภัย, ความหลากหลายของผลลัพธ์, ความหน่วง, และรายงาน ใช้การจำกัดอัตราและการปกป้องตัวตนในระบบสาธารณะ การฝึก GAN เป็นการทดลองเพิ่มประสิทธิภาพที่เชื่อมโยงกัน: ภาพตัวอย่างที่เลือกไม่สามารถยืนยันความทนทาน, ความครอบคลุม หรือการไม่มีการจดจำได้ และโมเดลควรได้รับการประเมินบนการกระจายทั้งหมดของงานการสร้างที่ตั้งใจ

ตัวอย่างการทำงาน: ภาพข้อบกพร่องสังเคราะห์ด้วย GAN

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

ข้อมูลสังเคราะห์จะได้รับการยอมรับเฉพาะเมื่อการเรียกคืนในโลกจริงดีขึ้นโดยไม่เพิ่มการปฏิเสธเท็จหรือข้อผิดพลาดของกลุ่มย่อย การตั้งค่าการสร้างและแหล่งที่มาจะถูกแนบกับทุกภาพ และไฟล์สังเคราะห์จะไม่เข้าสู่ชุดทดสอบหรือคลังหลักฐานเป็นการตรวจสอบจริง ผู้ปฏิบัติการไม่สามารถใช้ตัวสร้างเพื่อสร้างบันทึกการตรวจสอบ ทีมงานเปรียบเทียบทางเลือกการแพร่กระจายและต้นทุนของการเก็บตัวอย่างจริงเพิ่มเติม, ตระหนักว่าลักษณะสมจริงไม่ใช่หลักฐานว่า GAN ได้จับกระบวนการล้มเหลวทางกายภาพ

หลักฐานการดำเนินการและความพร้อมใช้งาน

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

ก่อนการเปิดใช้งาน ให้กำหนดอำนาจสำหรับการปล่อย, ข้อยกเว้น, การเปลี่ยนแปลง, การย้อนกลับ, และการยกเลิก ใช้การเปิดตัวเป็นขั้นตอน, รักษาการสำรองที่ปลอดภัย, และตรวจสอบการเฝ้าระวังด้วยการฉีดความล้มเหลวโดยเจตนา เทเลเมตรีการดำเนินงานควรเปิดเผยคุณภาพอินพุต, พฤติกรรมเอาต์พุต, เวอร์ชันของโมเดลหรือกฎ, สถานะการพึ่งพา, การแทรกแซงของมนุษย์, และผลลัพธ์ที่ยืนยันโดยไม่เก็บข้อมูลที่ละเอียดอ่อนที่ไม่จำเป็น กำหนดเกณฑ์การแจ้งเตือนและเจ้าของการตอบสนอง, จากนั้นตรวจสอบหลักฐานในโลกจริงหลังการปรับใช้แทนที่จะสันนิษฐานว่าประสิทธิภาพออฟไลน์จะคงอยู่ ประเมินใหม่ทุกครั้งที่แหล่งข้อมูล, ผู้ใช้, โมเดล, ผู้จำหน่าย, นโยบาย, ฮาร์ดแวร์, หรือวัตถุประสงค์เปลี่ยนแปลง ระบบที่ดูแลต้องมีขั้นตอนการกู้คืนที่บันทึกไว้, การเรียนรู้จากเหตุการณ์, การลบและการเก็บรักษา, และจุดชัดเจนที่ควรปิดหรือแทนที่

คำถามที่พบบ่อย

GAN เข้าใจภาพที่มันสร้างหรือไม่?

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

ตัวอย่างที่สร้างโดย GAN ปลอดภัยต่อการใช้เป็นข้อมูลการฝึกหรือไม่?

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

อ้างอิงหลัก

นักบล็อกและโปรแกรมเมอร์ที่มีความเชี่ยวชาญใน Machine Learning และ Deep Learning หัวข้อ Daniel หวังที่จะช่วยให้ผู้อื่นใช้พลังของ AI สำหรับสิ่งที่ดี