AI 101

āļ­āļ°āđ„āļĢāļ„āļ·āļ­āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ Generative Adversarial (GAN)

mm

เครือข่าย Generative Adversarial (GANs) เป็นประเภทของสถาปัตยกรรมเครือข่ายประสาทเทียมที่สามารถสร้างข้อมูลใหม่ที่สอดคล้องกับรูปแบบที่ได้เรียนรู้มา GANs สามารถใช้ในการสร้างภาพของใบหน้ามนุษย์หรือวัตถุอื่นๆ เพื่อทำการแปลข้อความเป็นภาพ เพื่อแปลงภาพหนึ่งให้เป็นอีกภาพหนึ่ง และเพื่อเพิ่มความละเอียดของภาพ (ซูเปอร์เรโซลูชัน) เป็นต้น เนื่องจาก GANs สามารถสร้างข้อมูลใหม่ทั้งหมดได้ จึงอยู่ที่จุดเริ่มต้นของระบบ AI ระบบ และการวิจัยที่ทันสมัยมากมาย แต่เกี่ยวกับวิธีการทำงานของ GANs อย่างไร มาทำความเข้าใจเกี่ยวกับวิธีการทำงานของ GANs และดูการใช้งานหลักๆ ของมัน

การกำหนดรูปแบบโมเดลและ GANs

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

โมเดลการสร้างข้อมูลที่แตกต่างกันมีวิธีการสร้างข้อมูลและคำนวณการกระจายตัวของความน่าจะเป็นที่แตกต่างกัน ตัวอย่างเช่น โมเดล Naive Bayes ทำงานโดยการคำนวณการกระจายตัวของความน่าจะเป็นสำหรับคุณลักษณะข้อมูลเข้าและชั้นเรียนที่สร้างขึ้น เมื่อโมเดล Naive Bayes ทำการคาดการณ์ มันจะคำนวณชั้นเรียนที่น่าจะเป็นไปได้มากที่สุดโดยการนำความน่าจะเป็นของตัวแปรต่างๆ มารวมกัน โมเดลการสร้างข้อมูลที่ไม่ใช่การเรียนรู้ลึกอื่นๆ ได้แก่ โมเดลการผสมของการกระจายตัวแบบปกติ และการกระจายตัวแบบ Latent Dirichlet Allocation (LDA) โมเดลการสร้างข้อมูลที่ใช้การเรียนรู้ลึก ได้แก่ Restricted Boltzmann Machines (RBMs) Variational Autoencoders (VAEs) และ GANs เช่นกัน

เครือข่าย Generative Adversarial ถูกเสนอครั้งแรกโดย Ian Goodfellow ในปี 2014 และได้รับการปรับปรุงโดย Alec Redford และนักวิจัยอื่นๆ ในปี 2015 ซึ่งนำไปสู่สถาปัตยกรรมมาตรฐานสำหรับ GANs GANs จริงๆ แล้วเป็นเครือข่ายสองตัวที่เชื่อมต่อกัน GANs ประกอบด้วย สองส่วน ได้แก่ โมเดลการสร้างและโมเดลการแยกแยะ ซึ่งเรียกว่า generator และ discriminator

สถาปัตยกรรม GAN

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

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

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

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

กระบวนการฝึกอบรม GAN

มาทำความเข้าใจเกี่ยวกับ กระบวนการฝึกอบรม ทั้งหมด สำหรับการสร้างภาพสมมุติ

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

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

มีลูปการให้ข้อมูลย้อนกลับแบบสองทางที่เกิดขึ้น โดยโมเดลการแยกแยะจะได้รับข้อมูลย้อนกลับเกี่ยวกับภาพที่แท้จริง ในขณะที่โมเดลการสร้างจะได้รับข้อมูลย้อนกลับเกี่ยวกับการทำงานของมันจากโมเดลการแยกแยะ

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

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

การประยุกต์ใช้ GANs

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

การสร้างตัวอย่างใหม่สำหรับเซตข้อมูล

GANs สามารถใช้ในการสร้างตัวอย่างใหม่สำหรับเซตข้อมูลภาพที่ง่ายๆ หากคุณมีตัวอย่างการฝึกอบรมเพียงไม่กี่ตัวอย่างและต้องการตัวอย่างเพิ่มเติม GANs สามารถใช้ในการสร้างข้อมูลการฝึกอบรมใหม่สำหรับเครื่องจำแนกภาพ โดยสร้างตัวอย่างการฝึกอบรมใหม่ที่มีมุมและทิศทางที่แตกต่างกัน

การสร้างใบหน้ามนุษย์ที่ไม่ซ้ำกัน

หญิงในภาพนี้ไม่มีอยู่จริง ภาพนี้ถูกสร้างขึ้นโดย StyleGAN ภาพ: Owlsmcgee via Wikimedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

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

การแปลภาพต่อภาพ

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

การแปลข้อความเป็นภาพ

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

การแก้ไขและซ่อมแซมภาพ

GANs สามารถใช้ในการแก้ไขภาพที่มีอยู่ GANs สามารถลบสิ่งรบกวน เช่น ฝนหรือหิมะ ออกจากภาพได้ แต่ก็สามารถใช้ในการ ซ่อมแซมภาพเก่าหรือภาพที่เสียหาย ได้

ซูเปอร์เรโซลูชัน

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

āļ™āļąāļāļšāļĨāđ‡āļ­āļāđāļĨāļ°āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļĄāļ­āļĢāđŒāļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļāđƒāļ™ Machine Learning āđāļĨāļ° Deep Learning āļŦāļąāļ§āļ‚āđ‰āļ­ Daniel āļŦāļ§āļąāļ‡āļ—āļĩāđˆāļˆāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļœāļđāđ‰āļ­āļ·āđˆāļ™āđƒāļŠāđ‰āļžāļĨāļąāļ‡āļ‚āļ­āļ‡ AI āļŠāļģāļŦāļĢāļąāļšāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ”āļĩ