อัลกอริทึมทางพันธุกรรมในปัญญาประดิษฐ์: ภาพรวม ประโยชน์ และคำศัพท์เฉพาะ

เผยแพร่แล้ว: 2020-12-22

สารบัญ

บทนำ

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

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

กระบวนการทั้งหมดของอัลกอริธึมทางพันธุกรรมคือการจำลองโปรแกรมคอมพิวเตอร์ ซึ่งคุณลักษณะของปัญหาและวิธีแก้ไขถือเป็นคุณลักษณะของทฤษฎีดาร์วิน กระบวนการพื้นฐานที่เกี่ยวข้องกับอัลกอริธึมทางพันธุกรรมมีดังนี้:

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

การทำงานของอัลกอริทึมทางพันธุกรรมใน AI

การทำงานของ อัลกอริธึมทางพันธุกรรมใน AI มีดังนี้:

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

คำศัพท์ที่สำคัญในอัลกอริทึมทางพันธุกรรม

  • Selection Operator – ตัวดำเนินการนี้ใน อัลกอริธึมทางพันธุกรรมใน AI มีหน้าที่ในการเลือกบุคคลที่มีคะแนนความฟิตที่ดีกว่าสำหรับการทำสำเนา
  • ตัวดำเนินการ ครอสโอเวอร์ – ตัวดำเนินการครอสโอเวอร์เลือกไซต์แบบครอสโอเวอร์จากตำแหน่งที่การรวมจะเกิดขึ้น ไซต์ครอสโอเวอร์ในทั้งคู่ที่พร้อมสำหรับการผสมพันธุ์จะถูกสุ่มเลือกและสร้างบุคคลใหม่
  • ตัว ดำเนินการกลายพันธุ์ – ตัวดำเนินการนี้ในอัลกอริธึมทางพันธุกรรมมีหน้าที่ในการฝังยีนสุ่มในลูกหลานเพื่อรักษาความหลากหลายและหลีกเลี่ยงการบรรจบกันก่อนวัยอันควร
  • การ บรรจบกันก่อนวัย อันควร – หากปัญหาได้รับการปรับให้เหมาะสมอย่างรวดเร็ว แสดงว่าลูกหลานไม่ได้ผลิตในหลายระดับ การแก้ปัญหาก็จะไม่มีคุณภาพที่เหมาะสมเช่นกัน เพื่อหลีกเลี่ยงไม่ให้เกิดการบรรจบกันก่อนวัยอันควร ยีนใหม่จะถูกเพิ่มโดยโอเปอเรเตอร์การกลายพันธุ์
  • อั ลลีล – ค่าของยีนเฉพาะในโครโมโซมเรียกว่าอัลลีล ชุดอัลลีลที่ระบุสำหรับแต่ละยีนกำหนดโครโมโซมที่เป็นไปได้ของยีนนั้น ๆ

อ่าน: ประเภทของอัลกอริทึม AI ที่คุณควรรู้

ประโยชน์และการใช้อัลกอริทึมทางพันธุกรรม

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

อ่านเพิ่มเติม: ประเภทของอัลกอริทึมการจำแนกประเภทใน ML

ทำไมต้องเรียนรู้จาก upGrad?

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

  • วิทยาศาสตรมหาบัณฑิตสาขาการเรียนรู้ด้วยเครื่องและ AI ในเครือ Liverpool John Moores University (LJMU)
  • PG Diploma in Machine Learning & AI ร่วมกับ IIIT Bangalore

ประโยชน์ของการเลือกเรียนหลักสูตรเหล่านี้ใน upGrad มีดังนี้:

  • upGrad จะให้การสนับสนุนการจัดตำแหน่งหากคุณเลือกหลักสูตรเหล่านี้ upGrad ร่วมมือกับผู้เล่นชั้นนำในอุตสาหกรรม
  • คุณจะได้รับการให้คำปรึกษาเฉพาะบุคคลหากคุณเลือกเรียนหลักสูตรดังกล่าว
  • คุณจะได้รับโอกาสในการเลือกระหว่างหลายโครงการ กรณีศึกษา งานที่ได้รับมอบหมาย ฯลฯ
  • คุณจะได้รับสถานะศิษย์เก่าของ LJMU หรือ IIIT Bangalore หากคุณเลือกเรียนหลักสูตรเหล่านี้
  • คุณจะได้พบกับการให้คำปรึกษาจากผู้เชี่ยวชาญในอุตสาหกรรมเพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับอุตสาหกรรม AI
  • จะมีการให้คำปรึกษาด้านอาชีพแก่คุณผ่านทาง upGrad เพื่อรับการสนับสนุนแบบ 360 องศาอย่างสมบูรณ์
  • หลักสูตร AI จาก upGrad เหล่านี้จะครอบคลุมถึงภาษาโปรแกรม เครื่องมือ และฐานข้อมูล (ไลบรารี) ที่ใช้ในอุตสาหกรรม AI คุณจะสามารถเข้าถึงชุมชน upGrad อันกว้างใหญ่ได้

บทสรุป

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

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ

คุณหมายถึงอะไรโดยอัลกอริทึมทางพันธุกรรมและเกี่ยวข้องกับชีววิทยาอย่างไร

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

กรณีการใช้งานจริงของอัลกอริทึมทางพันธุกรรมมีอะไรบ้าง

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

ข้อ จำกัด ของอัลกอริทึมทางพันธุกรรมคืออะไร?

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