GAN คืออะไร

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

กรณีการใช้งานของเครือข่ายปฏิปักษ์ทั่วไปมีอะไรบ้าง

สถาปัตยกรรม GAN มีแอปพลิเคชันอยู่หลายตัวในอุตสาหกรรมต่างๆ เราจะยกตัวอย่างบางส่วนเอาไว้ด้านล่าง

สร้างภาพ

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

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

สร้างข้อมูลการฝึกฝนสำหรับโมเดลอื่นๆ

ในแมชชีนเลิร์นนิง (ML) การเพิ่มข้อมูลจะเพิ่มชุดการฝึกฝนแบบเทียมโดยการสร้างสำเนาชุดข้อมูลที่แก้ไขแล้วโดยใช้ข้อมูลที่มีอยู่

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

กรอกข้อมูลที่ขาดหายไป

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

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

สร้างโมเดล 3 มิติจากข้อมูล 2 มิติ

GAN สามารถสร้างโมเดล 3 มิติจากภาพถ่าย 2 มิติหรือภาพที่สแกนได้ ตัวอย่างเช่น ในด้านการดูแลสุขภาพ GAN จะผสมผสานรังสีเอกซ์และการสแกนร่างกายอื่นๆ เพื่อสร้างภาพอวัยวะที่สมจริงสำหรับการวางแผนและจำลองการผ่าตัด


 

เครือข่ายปฏิปักษ์ทั่วไปมีการทำงานอย่างไร

ระบบเครือข่ายปฏิปักษ์ทั่วไปประกอบด้วยนิวรัลเน็ตเวิร์กเชิงลึกสองเครือข่าย ได้แก่ เครือข่าย Generator และ เครือข่าย Discriminator เครือข่ายทั้งสองฝึกฝนในเชิงที่เป็นปฏิปักษ์กัน โดยเครือข่ายหนึ่งจะพยายามสร้างข้อมูลใหม่ และอีกเครือข่ายหนึ่งจะพยายามคาดเดาว่าผลลัพธ์นั้นเป็นข้อมูลปลอมหรือข้อมูลจริง

ในทางเทคนิคแล้ว GAN มีการทำงานดังนี้ สมการทางคณิตศาสตร์ที่ซับซ้อนเป็นพื้นฐานของกระบวนการคำนวณทั้งหมด แต่ต่อไปนี้จะเป็นภาพรวมที่ไม่ซับซ้อนนัก

  1. นิวรัลเน็ตเวิร์กแบบ Generator จะวิเคราะห์ชุดการฝึกและระบุคุณลักษณะของข้อมูล
  2. นอกจากนี้ นิวรัลเน็ตเวิร์กแบบ Discriminator ยังวิเคราะห์ข้อมูลการฝึกฝนเบื้องต้นและแยกความแตกต่างระหว่างคุณลักษณะกันอย่างอิสระ
  3. Generator จะแก้ไขคุณลักษณะข้อมูลบางอย่างโดยการเพิ่มสัญญาณรบกวน (หรือการเปลี่ยนแปลงแบบสุ่ม) ให้กับคุณลักษณะบางอย่าง
  4. Generator จะส่งข้อมูลที่ถูกแก้ไขไปยัง Discriminator
  5. Discriminator จะคำนวณความน่าจะเป็นที่เอาต์พุตที่สร้างขึ้นจะเป็นของชุดข้อมูลดั้งเดิม
  6. Discriminator จะให้คำแนะนำแก่ Generator เพื่อลดการสุ่มค่าแทนข้อมูลของเวกเตอร์สัญญาณรบกวนในรอบถัดไป

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


 

ตัวอย่างการฝึกฝน GAN

เรามาทำความเข้าใจข้อมูลข้างบนจากตัวอย่างของโมเดล GAN ในการแปลภาพเป็นภาพกัน

ลองพิจารณาว่าภาพที่ป้อนเป็นใบหน้ามนุษย์ที่ GAN พยายามจะแก้ไข ตัวอย่างเช่น คุณลักษณะอาจเป็นรูปร่างของตาหรือหู สมมติว่า Generator เปลี่ยนภาพจริงโดยเพิ่มแว่นกันแดดเข้าไป Discriminator จะได้รับชุดภาพ ภาพคนจริงๆ บางส่วนสวมแว่นกันแดด และภาพที่สร้างขึ้นบางส่วนที่ได้รับการดัดแปลงให้มีแว่นกันแดดด้วย

หาก Discriminator สามารถแยกความแตกต่างระหว่างของปลอมและของจริงได้ Generator ก็จะอัปเดตพารามิเตอร์เพื่อสร้างภาพปลอมที่ดียิ่งขึ้น หาก Generator สร้างภาพที่หลอก Discriminator ทาง Discriminator จะอัปเดตพารามิเตอร์ของตน การแข่งขันซึ่งกันและกันจะทำให้ทั้งสองเครือข่ายพัฒนาขึ้นจนกว่าจะถึงจุดสมดุล

เครือข่ายปฏิปักษ์ทั่วไปมีกี่ประเภท

มีโมเดล GAN หลายประเภท ขึ้นอยู่กับสูตรทางคณิตศาสตร์ที่ใช้ และวิธีที่ Generator และอ Discriminator โต้ตอบกัน

ต่อไปเราจะแสดงให้เห็นถึงโมเดลที่ใช้กันทั่วไปบางรุ่น แต่รายการยที่มียังไม่ครอบคลุมทั้งหมด นอกจากนี้ GAN ยังมีประเภทอื่นๆ อีกมากมาย เช่น StyleGAN, CycleGAN และ DiscoGAN ที่ช่วยแก้ปัญหาประเภทต่างๆ

Vanilla GAN

คือโมเดล GAN พื้นฐานที่สร้างรูปแบบข้อมูลโดยมีการตอบรับเพียงเล็กน้อยหรือไม่มีเลยจากเครือข่าย Discriminator โดยทั่วไปแล้ว Vanilla GAN ต้องการการปรับปรุงสำหรับกรณีการใช้งานจริงส่วนใหญ่

GAN แบบมีเงื่อนไข

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

ตัวอย่างเช่น หากมีการสร้างรูปภาพ เงื่อนไขอาจเป็นป้ายกำกับที่อธิบายเนื้อหารูปภาพนั้น การปรับสภาพช่วยให้ Generator สามารถสร้างข้อมูลที่ตรงตามเงื่อนไขเฉพาะได้

GAN แบบสังวัตนาการ

ด้วยการตระหนักถึงพลังของนิวรัลเน็ตเวิร์กแบบสังวัตนาการ (CNN) ในการประมวลผลภาพ นิวรัลเน็ตเวิร์คแบบสังวัตนาการของ GAN ​​(DCGAN) จึงผสานรวมสถาปัตยกรรม CNN เข้ากับ GAN

การใช้งาน DCGAN ทำให้ Generator สามารถใช้การโน้มน้าวใจแบบทรานสโพสเพื่อเพิ่มการกระจายข้อมูล และผู้แยกแยะยังใช้เลเยอร์การโนโวลูชันเพื่อจัดประเภทข้อมูล นอกจากนี้ DCGAN ยังแนะนำแนวปฏิบัติทางสถาปัตยกรรมเพื่อทำให้การฝึกอบรมมีเสถียรภาพมากขึ้นอีกด้วย

GAN ที่มีความละเอียดสูง

GANS ที่มีความละเอียดสูง (SRGAN) มุ่งเน้นไปที่การขยายขนาดภาพความละเอียดต่ำให้เป็นความละเอียดสูง เป้าหมายคือการปรับปรุงภาพให้มีความละเอียดสูงขึ้นในขณะที่รักษาคุณภาพของภาพและรายละเอียดเอาไว้ด้วย

Laplacian Pyramid GAN (LAPGAN) จะจัดการกับความท้าทายในการสร้างภาพที่มีความละเอียดสูงโดยแบ่งปัญหาออกเป็นขั้นตอนต่างๆ GAN เหล่านี้จะใช้วิธีการแบบลำดับชั้น โดยมี Generator และ Discriminator หลายรายที่ทำงานในระดับหรือความละเอียดของภาพที่แตกต่างกัน กระบวนการจะเริ่มต้นด้วยการสร้างภาพความละเอียดต่ำที่ปรับปรุงคุณภาพผ่านขั้นตอน GAN แบบโปรเกรสซีฟ

AWS จะสนับสนุนข้อกำหนดเครือข่ายที่สร้างความขัดแย้งของคุณได้อย่างไร

Amazon Web Services (AWS) นำเสนอบริการมากมายเพื่อรองรับข้อกำหนดของ GAN ของคุณ

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

Amazon Bedrock เป็นบริการที่มีการจัดการเต็มรูปแบบ คุณสามารถใช้บริการนี้เพื่อเข้าถึงโมเดลพื้นฐาน (FM) หรือนิวรัลเน็ตเวิร์กเชิงลึกที่ได้รับการฝึกฝนจาก Amazon และบริษัทสตาร์ทอัพด้านปัญญาประดิษฐ์ (AI) ชั้นนำ FM เหล่านี้พร้อมใช้งานผ่าน API ดังนั้นคุณสามารถเลือกจากตัวเลือกต่างๆ เพื่อค้นหาโมเดลที่ดีที่สุดสำหรับความต้องการของคุณ คุณสามารถใช้โมเดลเหล่านี้ได้ในแอปพลิเคชัน GAN ของคุณเอง การใช้งาน Amazon Bedrock จะทำให้คุณสามารถพัฒนาและปรับใช้แอปพลิเคชัน AI ช่วยสร้างที่ปรับขนาดได้ เชื่อถือได้ และปลอดภัยยิ่งขึ้น และคุณไม่จำเป็นต้องจัดการโครงสร้างพื้นฐาน

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

เริ่มต้นใช้งานเครือข่ายปฏิปักษ์ทั่วไปบน AWS โดยสร้างบัญชีวันนี้

ขั้นตอนต่อไปบน AWS

ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที

ลงชื่อสมัครใช้งาน 
เริ่มต้นการสร้างในคอนโซล

เริ่มต้นสร้างในคอนโซลการจัดการของ AWS

ลงชื่อเข้าใช้