5 ตระกูล AI ที่นักวิทยาศาสตร์ข้อมูลควรรู้จัก
AI คงเป็นศัพท์ใหม่ที่ใครๆ ก็ให้ความสนใจ เพราะมี AI หลายๆ ตัวที่เข้ามาสร้างผลกระทบทั้งทางด้านการทำงาน การศึกษา การเงิน การเมือง และอื่นๆ อย่างมาก ดังนั้นเป็นการยากมากที่จะดำรงชีวิตอยู่ในสังคมปัจจุบันโดยไม่รู้จักเจ้า AI เลย
ในฐานะนักวิทยาศาสตร์ข้อมูลหรือผู้ที่ต้องเกี่ยวข้องกับโมเดล AI การทำความรู้จักประเภทของโมเดล AI เป็นสิ่งสำคัญมากที่เราจะใช้งานโมเดลให้ถูกต้องกับงาน และทราบข้อจำกัดของมัน ในบทความนี้ผมจะนำทุกท่านไปทำความรู้จักกับ AI โมเดล 5 ตระกูลหลักที่ถูกใช้กันอยู่ในปัจจุบัน ซึ่งอย่างอิงมากจากหนังสือ สุดยอดอัลกอริทึมพลิกโลก นอกจากนี้จะเพิ่มเติมประสบการณ์การใช้งานโมเดลของผมในฐานะนักวิทยาศาสตร์ข้อมูลเข้าไปด้วยครับ
บทนำ
ก่อนที่เราจะเริ่มทำความรู้จักประเภทของโมเดล AI ผมอยากให้ผู้อ่านได้ทราบนิยามคร่าวๆ ของ AI กันสักหน่อยว่าจริงๆ แล้วมันคืออะไรกันแน่ มันเกี่ยวกับ Machine Learning หรือ Deep learning อย่างไร
ถ้าหากเราแปลคำว่า Artificial Intelligence หรือ AI จะมีความหมายว่า ปัญญาประดิษฐ์ หรือ ความฉลาดที่ถูกจำลองขึ้นมาซึ่งอาจสร้างขึ้นมาจาก อัลกอริทึม ที่รันโดยคอมพิวเตอร์ ไม่ว่าอัลกอริทึมใดก็ตามที่สามารถ จำลองความฉลาดของมนุษย์หรือสิ่งอื่นขึ้นมาได้ เราสามารถเรียกมันได้ว่า AI นั่นเองครับ
นอกจากนี้เราสามารถแบ่ง AI เป็นประเภทย่อยๆ ได้อีกคือ AI ที่มีความฉลาดในตัวมันเองอยู่แล้วโดยที่ไม่ต้องเรียนรู้จากข้อมูล และอีกประเภทที่ต้องการการเรียนรู้จากข้อมูลเพื่อทำให้ตัวเองฉลาด หรือ เรียกอีกอย่างว่า การเรียนรู้ของเครื่อง หรือ Machine Learning หรือเรียกย่อๆ ว่า ML นั่นเอง
ในบรรดา ML ต่างๆ ที่ต้องเรียนรู้จากข้อมูลมี ML ประเภทย่อยซึ่งเป็นที่นิยมในปัจจุบันซึ่งเรียกว่า Deep Learning ซึ่งเป็นแบบจำลองโครงข่ายประสาทในสมองของมนุษย์ ตัวอย่าง โมเดล Deep Learning ที่น่าจะเป็นที่รู้จักกันมากในปีนี้คงหนีไม่พ้นโมเดลของ ChatGPT
ดังนั้นในบทความนี้เราจะพูดกันถึงประเภทของ AI ซึ่งจะครอบคลุมกว้างมากๆ และแต่ละประเภทก็มีคุณสมบัติที่น่าสนใจแตกต่างกันไป หากพร้อมแล้วไปกันเลยครับ
ตระกูลของ AI แต่ละบ้าน
เพื่อความแฟนตาซีและเพื่อความสนุกในการเล่าเรื่องผมจะแบ่ง AI แต่ละตัวเป็นบ้านๆ นะครับ (คล้ายๆ บ้านในโรงเรียนเวทมนต์ฮอกวอตส์) แต่ละบ้านก็จะมีความเก่งกาจและคาร์เรคเตอร์ที่ต่างกันไป การกำเนิดของแต่ละบ้านก็สุดแสนจะน่าตื่นเต้น แต่ก่อนอื่นเลยไปดูกันว่ามีบ้านอะไรบ้างกันดีกว่าครับ
- บ้านตระกูล Logic เจ้าแห่งตรรกะ สร้างความรู้จากความเป็นเหตุเป็นผล
- บ้านตระกูล Tree สถาปนิก นักออกแบบโครงสร้างข้อมูล
- บ้านตระกูล ฺBayes นักทำนาย ผู้มองหารูปแบบจากความน่าจะเป็น
- บ้านตระกูล Evolutionary นักวิวัฒนาการ ปรับเปลี่ยนตัวเองเพื่อเป็นจุดสูงสุด
- บ้านตระกูล Neural Network นักคิด ที่สามารถเชื่อมโยงข้อมูลที่ซับซ้อนได้
ทั้งชื่อและสมญานามของแต่ละบ้านนี่เท่มากๆ ใช่ไหมครับ เอาละ ต่อไปเราไปลงลึกในแต่ละบ้านกันเลยดีกว่า ว่ามันเป็นอย่างไรกันบ้าง
บ้านตระกูล Logic
มาเริ่มกันที่บ้านที่มีประวัติศาสตร์เก่าแก่ที่สุด อย่างบ้าน Logic บ้านนี้มีจุดกำเนิดมาอย่างยาวนานในประวัติศาสตร์ก่อนที่จะกลายมาเป็น AI มันเคยอยู่ในสถานะภาพวิชาหนึ่งมาก่อนนั่นคือวิชา ตรรกศาสตร์ ซึ่งเชื่อกันว่าถือกำเนิดมาจาก อริสโตเติล ซึ่งแบ่งเหตุการณ์ต่างๆ เป็นเหตุ และ ผล เช่น “ถ้า ฝนตก แล้ว ถนนจะเปียก” ฝนตก เป็นเหตุให้เกิด ผลที่ ถนนเปียก เป็นต้น และถ้าเราเพิ่มข้อความทางตรรกะเพิ่มเข้าไป เช่น “ถ้า ถนนเปียก แล้ว จะเกิดอุบัติเหตุ” เราสามารถสรุปข้อความทางตรรกะใหม่ได้เช่น “ถ้า ฝนตก แล้ว จะเกิดอุบิติเหตุ” ได้ทันที
ถ้าเราทราบความเป็นเหตุเป็นผลของเหตุการณ์ได้อย่างชัดเจนเราก็สามารถที่จะระบุสิ่งที่จะเกิดขึ้นได้อย่างแน่ชัดทีเดียวซึ่งเป็นการจำลองความฉลาดในการให้ เหตุผล หรือ Reasonable ของมนุษย์นั่นเอง ในโลกของคณิตศาสตร์เองก็ใช้หลักการนี้ในการสร้างทฤษฎีบทต่างๆ ออกมา โดยเริ่มจาก Axioms หรือ สัจพจน์บางข้อแล้วสร้างเหตุผลใหม่ๆ กำเนิดเป็น Therem หรือทฤษฏีบทใหม่ๆ นั่นเอง
แล้วมันมีประโยชน์อย่างไรกัน ทำไมไม่ให้มนุษย์ทำไปกันละเพราะมันไม่ได้ยากเลยนี่? ลองคิดตามนะครับ ประพจน์หรือ กลุ่มของข้อความที่เป็นตรรกะไม่กี่ข้อก็คงให้มนุษย์คิดได้ถูกไหมละครับ แต่ถ้าหากข้อความทางตรรกมีมากระดับร้อยหรือระดับพันแล้วละก็ปวดหัวกันแน่นอนครับ (ขอยืนยันในฐานะนักคณิตศาสตร์เลยครับ) ดังนั้นนักวิทยาศาสตร์คอมพิวเตอร์และนักคณิตศาสตร์ได้ร่วมมือกันสร้าง อัลกอริทึม บางอย่างเพื่อให้หา ความเป็นเหตุเป็นผล ใหม่ๆ ออกมาจากความเป็นเหตุเป็นผลก่อนหน้านี้นั่นเอง ทำให้เกิดเป็นบ้าน Logic ขึ้นมานั่นเอง
ข้อดีข้องบ้าน Logic คือ สามารถหาที่มาที่ไปของการสร้างองค์ความรู้ใหม่ของโมเดลได้ ใช้กับระบบหรือสิ่งแวดล้อมที่มีระบบชัดเจน(ทำสิ่งหนึ่ง แล้วได้สิ่งหนึ่งออกมาอย่างแน่นอน)ได้ดี
ข้อจำกัดคือ ความรู้หรือข้อมูลต้องถูกแปลงให้อยู่ในรูปของ ตรรกะ เสียก่อน และไม่เหมาะกับระบบที่มีความแปรปรวน หรือมีความน่าจะเป็นเข้ามาเกี่ยวข้อง
โปรแกรมตัวอย่าง Z3 ซึ่งเป็น Pagacke ของ Python ให้สำหรับแก้โจทย์ปัญหาที่เป็น logical
บ้านตระกูล Tree
บ้านตระกูล Tree ถือได้ว่ามีความใกล้ชิดอย่างมาก กับบ้านตระกูล Logic และมีบางอย่างที่คล้ายๆ กัน บ้านนี้เป็นบ้านนักออกแบบพวกเค้าจะคอยสร้างแผนผังในรูปแผนผังต้นไม้ให้กับข้อมูลของเราเพื่อใช้ในการทำนายเป็นต้น ซึ่งแผนผังต้นไม้นี้จะคล้ายๆ กับแผนผังครอบครัวเลยทีเดียว ซึ่งจะมีตัวบุคคลในแผนผัง ในแผนผังต้นไม้เราจะเรียกมันว่า Node และมีเส้นเชื่อมจากรุ่นพ่อแม่ (Parent Node) ไปยังรุ่นลูก (Child Node) เส้นนี้เราเรียกว่า Edge ตรงๆ นี่แหละ Node ที่เป็นบุคคลต้นตระกูลเราจะเรียกว่า root ซึ่งแผนผังพวกนี้จะเรียนกว่า Decission Tree — ต้นไม้ตัดสินใจ
จะเห็นได้ว่า แต่ละเส้นแสดงสักษณะของแต่ละ Parent Node เพื่อแบ่งประเภทข้อมูลและส่งต่อไปยัง Child Node ให้ตัดสินใจต่อไป ปลายทางของ Node จะป็นประเภทของข้อมูบที่เราต้องการแบ่งประเภท หรือศัพท์ทางการเรียกว่า label นั่นเอง
เราจะเห็นได้ว่าต้นไม้ตัดสินใจมีลักษณะเป็น “ถ้า A และ B และ … แล้ว Z ” ยกตัวอย่างตามรูปด้านบนเช่น
“ถ้า Color=Green และ Size=Big แล้ว Watermalon”
คล้ายๆ กับ Logic เลยใช่ไหมครับ อย่างไรก็ตาม Tree ไม่จำเป็นต้องมีกฎหรือระบบที่ชัดเจนก่อนหน้าเพื่อสร้างองค์ความรู้ใหม่เหมือนบ้าน Logic มันต้องการเพียงข้อมูลและออกแบบแผนผังต้นไม้ที่มีความใกล้เคียงกับลักษณะข้อมูลที่พวกมันได้เรียนรู้มากที่สุด
ข้อดีของบ้าน Tree เรียนรู้จากข้อมูลได้โดยตรงโดยไม่จำเป็นต้องแปลงเป็นความรู้ที่มนุษย์เข้าใจก่อน เหมาะกับข้อมูลที่เป็น ประเภท และข้อมูลที่สามารถแบ่ง range ได้ (บอกได้ว่าจำนวนนี้มากหรือน้อย)
ข้อจำกัด Tree มันไม่เหมาะกับข้อมูลที่มี Dynamic หรือข้อมูลที่อาจเปลี่ยนแปลงตามเวลาเพราะจะทำให้เกิดปัญหา Overfitting ได้ นอกจากนี้ยังไม่สามารถตีความผลที่ได้จากโมเดลโดยตรง (ไม่รู้ว่ามันเกิดมาได้อย่างไรนั่นเอง)
โมเดลตัวอย่างเช่น Random Forest, XGBoost
บ้านตระกูล Bayes
บ้าน Bayes เกิดจากนักสถิติ นามว่า Thomas Bayes เค้าให้กำเนิด Bayes’ theorem ซึ่งมีคุณูประการอย่างมากในหลายแวดวง โดย ทฤษฎีบทนี้กล่าวถึงความน่าจะเป็นที่มีเงื่อนไข ถ้าเกิด B แล้วมีความน่าจะเป็นแค่ไหนที่จะเกิด A ตามมา (แอ๊ะ! ทำไมคล้ายบ้าน Logic อีกแล้วนะ) หรือ เรียกว่า Probability of A given B. เขียนเป็นประพจน์ได้ว่า P(A|B)
ซึ่งสามารถคำนวณได้ดังนี้
ด้วยทฤษฏีบทนี้ นักวิทยาศาสตร์และนักคณิตศาสตร์ได้สร้าง AI ที่สามารถเรียนรู้ระบบที่มีความน่าจะเป็นได้ ยกตัวอย่างเช่น Bayesian Network ที่เหตุการณ์หนึ่งจะเชื่อมโยงไปถึงความน่าจะเป็นของการเกิดอีกเหตุการณ์หนึ่งเป็นต้น
ความสามาถที่น่าสนใจที่เพิ่มขึ้นมาของบ้านตระกูล Bayes คือพวกเค้าสามารถอัพเดทความรู้หรือความมั่นใจในการทำนายได้ เมื่อมีข้อมูลใหม่เพิ่มเข้ามาเช่น “ถ้าฝนตกและสปริงเกิลฉีดน้ำไม่ทำงาน แล้ว สนามหญ้าจะเปียก” มีความน่าจะเป็นอยู่ที่ 0.2x0.8=0.16
ถ้ามีการเก็บข้อมูลเพิ่มแล้วทราบว่าความน่าจะเป็นที่ฝนตกอยู่ที่ 0.3
จะทำให้ความน่าจะเป็นของประพจน์ “ถ้าฝนตกและสปริงเกิลฉีดน้ำไม่ทำงาน แล้ว สนามหญ้าจะเปียก” เพิ่มเป็น 0.3x0.8=0.24
เป็นต้น (ถ้าหากไม่เข้าใจก็ไม่เป็นไรครับสามารถอ่านเพิ่มเติมได้จากคีย์เวิร์ด Bayesian Network เลยครับ)
ข้อดีของ บ้านตระกูล Bayes สามารถเรียนรู้กับระบบที่ขึ้นอยู่กับความน่าจะเป็นได้ดี สามารถตีความได้จากโมเดล นอกจากนี้ยังอัพเดทโมเดลได้เมื่อมีข้อมูลใหม่ๆ
ข้อเสีย จะคล้ายๆ กับบ้าน Logic เลยคือจำเป็นต้องสร้างกฏหรือการเชื่อมโยงของเหตุการณ์ออกมาก่อนไม่งั้นก็ไม่สามารถเรียนรู้อะไรได้เลย ซึ่งการสร้างกฏก็อาจทำให้เกิดอคติจากคนสร้างอีกด้วย
โมเดลตัวอย่าง Bayesian Network
บ้านตระกูล Evolutionary
ขอต้อนรับสู่บ้านแห่งวิวัฒนาการ บ้านที่ออกจะแปลกๆ ไปจากเพื่อนที่สุดบ้านหนึ่ง บ้านอื่นๆ ดูจะเป็นนักเชื่อมโยงเหตุการณ์เพื่อใช้ทำนายหรือสร้างองค์ความรู้ใหม่ แต่สำหรับบ้าน Evolutionary แล้วพวกเค้ากลับพยายามหาเงื่อนไขที่ทำให้เกิดค่าสูงสุดหรือต่ำสุดของระบบ หรือเรามักคุ้นเคยกันดีกับคำว่า Optimization
นอกจากนี้บ้านนี้ไม่ได้จำลองความฉลาดของมนุษย์เหมือนบ้านอื่นๆ อีกด้วยเพราะมันจำลองความฉลาดของธรรมชาตินั่นเอง เช่นความฉลาดของฝูงมด ความฉลาดของฝูงนก หรือ ความฉลาดของการวิวัฒนาการเป็นต้น จะเห็นได้จากคีย์เวิร์ดหนึ่งที่โผล่มาคือคำว่า ฝูงหรือกลุ่ม ทำให้มันมีอีกชื่อว่า Swarm Intelligence หรือความฉลาดเชิงกลุ่ม เป็นความฉลาดที่เกิดจากหน่วยๆ หนึ่งที่ทำหน้าที่บางอย่างที่ไม่ได้ซับซ้อน แต่เมื่อรวมกันแล้วกับสร้างรูปแบบความฉลาดบางอย่างออกมาเช่น การทำงานของมดงานที่คอยหาอาหารเป็นต้น
มดพวกนี้จะคล้ายๆ กับหน่วยย่อยที่คอยหาอาหาร หรือ จุด Optimal ของระบบ ในระยะเริ่มแรกพวกมันจะเดินออกไปแบบสุ่มๆ เมื่อมีสักตัวเริ่มพบจุดที่อาจเป็นพื้นที่ที่มีอาหารมากที่สุด (The Optimal Point) พวกมันจะทิ้งกลิ่นเอาไว้เพื่อให้ตัวอื่นๆ ตามมาและจะเริ่มกลายเป็นเส้นทางใหม่ นอกจากนี้จะมีมดบางตัวที่ดื้อเดินออกนอกเส้นทางเพื่อสำรวจความเป็นไปได้อื่นๆ ที่อาจดีกว่าจุดปัจจุบันเป็นต้น
จึงเป็นที่มาของคือบ้าน วิวัฒนาการ เพราะว่า โมเดลจะทำการปรับเปลี่ยนตัวเองอยู่ตลอดเวลาเพื่อค้นหาจุดสูงสุดหรือต่ำสุดของระบบนั่นเอง
ข้อดีของ บ้าน Evolutionary เหมาะกับโจทย์ Opmization ซึ่งมีความซับซ้อนมากจนโมเดล Optimization ธรรมดาไม่สามารถแก้ไขได้
ข้อจำกัด ใช้ทรัพยากรเยอะกว่า โมเดล Optimization ทั่วไป เพราะต้องสร้างตัว Agents จำนวนมากเพื่อหาจุด Optimal และจุดที่พบอาจไม่ใช่จุดที่ Optimal ที่สุด
อัลกอริทึมตัวอย่างเช่น Ant colony algorithm, Particle Swarm Optimization, Genetic Algorithm, Genetic Programing
บ้านตระกูล Neural Network
โลกนี้มีความสัมพันธ์ที่ซับอย่างมาก (มีการสัมพันธ์มากกว่า 1 ตัวแปร) และมักเป็นความสัมพันธ์ไม่เป็นเชิงเส้น (Non-linear) อย่างไรก็ตามสมองของเราก็สามารถหาความสัมพันธ์เหล่านั้นให้กับเราโดยที่เราไม่รู้ตัวด้วยซ้ำ
ขอต้อนรับเข้าสู่บ้าน Neural Network บ้านที่จำลองความฉลาดที่น่ามหัศจรรย์ที่สุดในจักรวาลนี้นั่นคือสมองมนุษย์นั่นเอง ความมหัศจรรย์อย่างแรกที่เราลืมตาดูโลกคือเราสามารถแยกเส้นรูปร่างสีของวัตถุต่างๆ ได้ เราทราบได้ทันทีว่าสิ่งนี้คือแมวแม้เราจะเจอแมวเพียงไม่กี่สายพันธ์ุก็ทำให้เรา ทราบได้ทันทีว่า เจ้านี่คือแมวแม้เราไม่เคยเห็นแมวสายพันธ์ุนี้มาก่อน
หากเราต้องการเขียนโค้ดเพื่อแบ่งเงื่อนไขในการแยกแมวจากวัตถุอื่นต้องเขียน if-else condition มากขนาดไหนกันนะ? นี่ทำให้ เจ้า Neural Network มีความพิเศษเพราะมันเรียนรู้จากข้อมูลที่เราเรียกว่า Unstructure Data ได้ เช่นรูปภาพ ข้อความ หรือ เสียง เป็นต้น ซึ่งบ้าน อื่นแทบจะไม่สามารถเรียนรู้จากข้อมูลประเภทนี้ได้เลย
ความลับของบ้านนี้คือการเชื่อมต่อความสัมพันธ์ต่างๆ ของแต่ละจุดข้อมูลมากว่าหนึ่งจุด ตามที่ได้เห็นจากรูปด้านบน 1 จุดใน Hidden Lyaer เป็นตัวแทนของจุดก่อนหน้าหลายๆ จุด (เห็นได้จากเส้นเชื่อม) นอกจากนี้แต่ละจุดยังสร้างความสัมพันธ์ที่เป็น non-linear อีกด้วยด้วยการเพิ่ม activation function (อ่านเพิ่มเติมได้ที่ บทความนี้)
เช่นการ ผ่านค่าที่เกิดจากความสัมธ์ผ่าน Hidden layer ผ่าน Sigmoid function เป็นต้น
ข้อดีของบ้าน Neural Network คือการเรียนรู้จากข้อมูลที่เป็น Unstructure Data ได้ดี จัดการกับข้อมูลที่มีความสัมพันธ์แบบ non-linear ได้ ไม่ต้องมีองค์ความรู้ก่อนหน้า (เหมือนพวก Logic หรือ Bayes) เพื่อสร้างโมเดล ทำงานที่มีความซับซ้อนได้ (แตกต่างจาก Tree ที่เรียนรู้ได้จากความสัมพันธ์ง่ายๆ เท่านั้น)
ข้อจำกัด ต้องอาศัยการคำนวณมหาศาล เพื่อหาโมเดลที่เหมาะสม ทำความเข้าใจยาก ต้องการข้อมูลจำนวนมากเพื่อเรียนรู้ และยากต่อการตีความผลลัพธ์ที่ได้มา (ไม่รู้มันเรียนรู้อะไรจากข้อมูลมา) ซึ่งบ้าน Logic หรือ Bayes ทำได้ดี
ตัวอย่างโมเดล Convolutional Neural Network, Artificial Neural Network, Transformer, Recurent Neural Network, Extreme Learning Machine
สรุป
AI แต่ละบ้านมีความเท่และความสามารถที่แตกต่างกัน ตามแต่บริบทการใช้งานหากเรารู้ความเจ๋งและข้อจำกัดของพวกเค้าได้เราจะสามารถใช้พวกเค้าได้เหมาะสมเพื่อสร้างผลลัพธ์ที่สุดยอดที่สุดออกมาได้
หากชอบ กด clap ถูกใจ กดติดตาม medium ผมด้วยนะครับ >..<