GAN คืออะไร? คุณควรใช้อย่างไรและทำไม!



บทความนี้ครอบคลุมคำอธิบายโดยละเอียดของ 'GAN คืออะไร' พร้อมข้อ จำกัด และความท้าทายที่ครอบคลุมกระบวนการฝึกอบรมและใช้กรณีการใช้งาน

Generative Adversarial Networks หรือ GAN เป็นวิธีการสร้างแบบจำลองโดยกำเนิดโดยใช้ การเรียนรู้เชิงลึก เพื่อฝึกโมเดลอย่างชาญฉลาดในการสร้างข้อมูลโดยใช้แนวทางโมเดลย่อย ในบทความนี้เราจะพยายามทำความเข้าใจ“ GAN คืออะไร” โดยละเอียด หัวข้อต่อไปนี้ครอบคลุมในบทความนี้:

Generative Models คืออะไร?

Generative models ไม่ใช่อะไรนอกจากโมเดลที่ใช้ไฟล์ แนวทาง ในรูปแบบกำเนิดมีตัวอย่างในข้อมูลเช่นตัวแปรอินพุต X แต่ไม่มีตัวแปรเอาต์พุต Y เราใช้เฉพาะตัวแปรอินพุตเพื่อฝึกโมเดลกำเนิดและจดจำรูปแบบจากตัวแปรอินพุตเพื่อสร้างเอาต์พุตที่ไม่รู้จัก และขึ้นอยู่กับข้อมูลการฝึกอบรมเท่านั้น





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

ในการกำหนดรูปแบบกำเนิดในแง่ของคนธรรมดาเราสามารถพูดได้ว่า Generative model สามารถสร้างตัวอย่างใหม่จากตัวอย่างที่ไม่เพียง แต่คล้ายกับตัวอย่างอื่น ๆ เท่านั้น แต่ยังแยกไม่ออกด้วย



ตัวอย่างที่พบบ่อยที่สุดของแบบจำลองกำเนิดคือ ซึ่งมักใช้เป็นแบบจำลองการเลือกปฏิบัติ ตัวอย่างอื่น ๆ ของแบบจำลองการกำเนิด ได้แก่ Gaussian Mixture Model และตัวอย่างที่ค่อนข้างทันสมัยนั่นคือ General Adversarial Networks ให้เราพยายามทำความเข้าใจ GAN คืออะไร?

Generative Adversarial Network คืออะไร?

Generative Adversarial Networks หรือ GAN เป็นแบบจำลองการเรียนรู้เชิงลึกที่ใช้สำหรับการเรียนรู้ที่ไม่มีผู้ดูแล มันเป็นระบบที่ทั้งสองแข่งขันกัน โครงข่ายประสาท แข่งขันกันเพื่อสร้างหรือสร้างรูปแบบต่างๆในข้อมูล

ได้รับการอธิบายครั้งแรกในบทความในปี 2014 โดย Ian Goodfellow และได้เสนอทฤษฎีแบบจำลองที่เป็นมาตรฐานและมีเสถียรภาพมากโดย Alec Radford ในปี 2559 ซึ่งเรียกว่า DCGAN (Deep Convolutional General Adversarial Networks) GAN ส่วนใหญ่ในปัจจุบันใช้สถาปัตยกรรม DCGAN



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

มันทำงานอย่างไร?

หากต้องการทำความเข้าใจว่า GAN ทำงานอย่างไรมาดูรายละเอียดกัน

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

ใน GAN มีเครือข่าย Generator ที่ใช้ตัวอย่างและสร้างตัวอย่างข้อมูลและหลังจากนี้เครือข่าย Discriminator จะตัดสินใจว่าข้อมูลถูกสร้างขึ้นหรือนำมาจากตัวอย่างจริงโดยใช้ไบนารี ปัญหาเกี่ยวกับความช่วยเหลือของฟังก์ชัน sigmoid ที่ให้เอาต์พุตในช่วง 0 ถึง 1

ผังงาน - gnas คืออะไร - edureka

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

กระบวนการทั้งหมดสามารถทำให้เป็นทางการได้ในสูตรทางคณิตศาสตร์ที่ระบุด้านล่าง

ในสูตรข้างต้น:

วิธีรับความยาวของอาร์เรย์ในจาวาสคริปต์

G = เครื่องกำเนิดไฟฟ้า

D = Discriminator

Pdata (x) = การกระจายของข้อมูลจริง

Pdata (z) = ผู้จัดจำหน่ายเครื่องกำเนิดไฟฟ้า

ผสานซอร์สโค้ดเรียง c ++

x = ตัวอย่างจากข้อมูลจริง

z = ตัวอย่างจากเครื่องกำเนิดไฟฟ้า

D (x) = เครือข่าย Discriminator

G (z) = เครือข่ายเครื่องกำเนิดไฟฟ้า

ตอนนี้มาถึงส่วนการฝึกอบรมสำหรับ GAN ซึ่งสามารถแบ่งออกเป็น 2 ส่วนซึ่งทำตามลำดับ

วิธีการฝึก GAN

ส่วนที่ 1:

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

โดยพื้นฐานแล้วผู้แยกแยะได้รับการฝึกฝนกับข้อมูลจริงและตรวจสอบว่าสามารถคาดเดาได้อย่างถูกต้องหรือไม่และเช่นเดียวกันกับข้อมูลปลอมเพื่อระบุว่าเป็นของปลอม

ส่วนที่ 2:

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

ขั้นตอนในการฝึกอบรม

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

ความท้าทายของเครือข่ายฝ่ายตรงข้ามโดยกำเนิด

แนวคิดของ GAN นั้นค่อนข้างน่าสนใจ แต่ก็มีความพ่ายแพ้มากมายที่อาจทำให้เกิดอุปสรรคมากมายในเส้นทางของมัน ความท้าทายที่สำคัญบางประการที่ GAN ต้องเผชิญ ได้แก่ :

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

แอปพลิเคชันเครือข่ายที่ไม่พึงประสงค์โดยกำเนิด

ต่อไปนี้เป็นแอปพลิเคชันบางส่วนของ GAN

การทำนายเฟรมถัดไปในวิดีโอ

การคาดคะเนเหตุการณ์ในอนาคตในเฟรมวิดีโอทำได้โดยใช้ GAN DVD-GAN หรือ Dual Video Discriminator GAN สามารถสร้างวิดีโอ 256 × 256 ที่มีความเที่ยงตรงสูงถึง 48 เฟรม สิ่งนี้สามารถใช้เพื่อวัตถุประสงค์ต่างๆรวมถึงการเฝ้าระวังซึ่งเราสามารถกำหนดกิจกรรมในเฟรมที่บิดเบี้ยวเนื่องจากปัจจัยอื่น ๆ เช่นฝนฝุ่นควัน ฯลฯ

การสร้างข้อความเป็นรูปภาพ

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

โปรแกรมเพื่อย้อนกลับตัวเลขใน java

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

การเพิ่มความละเอียดของภาพ

Super-resolution generative adversarial network หรือ SRGAN คือ GAN ที่สามารถสร้างภาพความละเอียดสูงจากภาพความละเอียดต่ำที่มีรายละเอียดปลีกย่อยและคุณภาพที่ดีกว่า

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

การแปลรูปภาพเป็นรูปภาพ

Pix2Pix GAN เป็นรุ่นที่ออกแบบมาสำหรับการแปลรูปภาพ - ภาพโดยทั่วไป

การสร้างภาพแบบโต้ตอบ

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

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

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

หากคุณพบบทความเกี่ยวกับ“ GAN คืออะไร” ที่เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก

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

หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ 'GAN คืออะไร' และทีมของเรายินดีที่จะตอบ