คำถามที่พบบ่อยเกี่ย...
 
Notifications
Clear all

คำถามที่พบบ่อยเกี่ยวกับพื้นฐานของ AI, Deep Learning และ Keras (อัพเดต 2021)

15 ข้อความ
1 Users
0 Likes
6,702 Views
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  

สวัสดีครับทุกคน สำหรับเพื่อนๆ ที่เพิ่งเริ่มต้นศึกษา AI และ Deep Learning อาจจะมีข้อสงสัยต่างๆ มากมายในหลายๆ ประเด็น ในบทความนี้เราจะพยายามสรุปคำถาม-คำตอบความเข้าใจขั้นพื้นฐาน เพื่อให้เพื่อนๆ ได้ความกระจ่างและเริ่มต้นศึกษาได้อย่างมั่นใจครับ

บทความนี้เป็นบทความเดียวกันกับหน้า https://thaikeras.com/2018/guide-tour-series/ เพียงแต่นำมาโพสต์ซ้ำในบอร์ดเพื่อให้ Google Search index ได้ง่ายขึ้น และเผื่อเพื่อนๆ ท่านใดมีคำถามเพิ่มเติมก็ถามได้เลยครับ

--------------------------------------------

AI, Machine Learning และ Deep Learning คืออะไร เกี่ยวข้องกันอย่างไร ต่างกันอย่างไร?
เกี่ยวข้องกันอย่างมากจนเกือบจะเป็นเรื่องเดียวกัน สามารถอ่านคำตอบอย่างละเอียดได้ที่บทความนี้ครับ
 
จะเริ่มต้นพัฒนาระบบ AI ยากไหม? ต้องเตรียมตัวอะไรบ้าง ต้องรู้อะไรบ้าง? การเตรียมตัวประกอบไปด้วย 4 เรื่องหลักๆ คือ ความรู้พื้นฐาน, อุปกรณ์ hardware, ส่วน programming platforms และ ข้อมูลที่จะนำมาสอนระบบ AI โดยคำอธิบายอย่างละเอียดอยู่ในบทความนี้ครับ

เมื่อไรและเหตุการณ์ใดที่ทำให้ Deep Learning และ AI พลิกโฉมจากงานวิจัยธรรมดาในมหาวิทยาลัย กลายเป็นกระแสระดับโลก และ Deep Learning นั้นแก้ปัญหาอะไรได้บ้าง?
อ่านได้ในบทความนี้ครับ

อนาคตของ AI / Deep Learning จะมีทิศทางอย่างไร
ทิศทางอนาคตของ Deep Learning นั้นเราสามารถติดตามได้จากงานวิจัยของแล็บชั้นนำทั่วโลกในบทความนี้ครับ

วงการ Machine Learning ก่อนที่จะวิวัฒนาการมาเป็น Deep Learning เป็นอย่างไร?

จริงๆ แนวคิดเรื่อง neuron หรือโมเดลที่จำลองสมองมนุษย์บน computer ซึ่งเป็นแก่นของ Deep Learning นั้นมีมาตั้งแต่ยุคต้นๆ ของ AI ตั้งแต่สมัย 1960 และแนวคิดหลักๆ ในการ optimize Neural Networks (Backpropagation) ก็ตีพิมพ์ในช่วง 1980

อย่างไรก็ดี ช่วงระหว่างปี 1960-2000 แนวคิด Neural Networks ยังไม่โดดเด่นเหนือแนวคิดอื่น ทำให้แนวคิดอื่นที่เรียบง่ายกว่า เช่น ต้นไม้ตัดสินใจ (Decision Tree) หรือ มีคณิตศาสตร์ที่รองรับมากกว่า เช่น Support Vector Machine เป็นที่นิยมมากกว่า โดยประสิทธิภาพความแม่นยำนั้นไม่ต่างจาก (Shallow) Neural Networks มาก

แต่เมื่อนักวิจัยสามารถ implement Deep Learning บน GPU ได้สำเร็จในปี 2012 ก็เป็นที่ประจักษ์ชัดเจนว่า Deep Neural Networks นั้นมีศักยภาพสูงกว่าโมเดลอื่นๆ โดยเฉพาะในกรณีที่ input ซับซ้อนมากๆ เช่น รูปภาพ เสียง ภาษา ฯลฯ เพื่อนๆ ดูช่วงระหว่างรอยต่อในปี 2012 เพิ่มเติมได้ในบทความนี้ครับ

 
This topic was modified 4 years ago by The Neural Engineer
This topic was modified 2 years ago by The Neural Engineer

   
อ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  
ความรู้ที่ machine เรียนรู้ได้จากเทคนิก machine learning เชื่อถือได้มากน้อยแค่ไหน?

machine พยายามเรียนรู้ “ความรู้” จาก “ข้อมูล” ซึ่งความรู้ที่ได้อาจไม่ถูกต้อง 100% ขออุปมาอุปมัยเสมือน เราพาเด็กเล็กไปเที่ยวสวยสาธารณะ และเห็นต้นไม้นับร้อยต้น

ภาพต้นไม้นับร้อยต้นนี้ คือ “ข้อมูล” ที่ให้เด็กสร้าง “ความรู้” เกี่ยวกับต้นไม้ (machine ก็เช่นเดียวกัน)

  • เด็กบางคนอาจได้ “ความรู้” ว่า “ต้นไม้ทุกต้นมีใบสีเขียว”
  • เด็กบางคนอาจได้ “ความรู้” ว่า “ต้นไม้ส่วนใหญ่มีใบสีเขียว แต่นานๆ ทีบางต้นก็มีใบสีเหลืองได้”
  • เด็กบางคนอาจได้ “ความรู้” ว่า “ต้นไม้ A มีใบสีเขียวดอกสีชมพู ต้นไม้ B มีใบสีเขียว ดอกสีขาว ฯลฯ”

ซึ่งความรู้เหล่านี้อาจไม่ถูกต้อง 100% (ทั้งนี้เพราะข้อมูลที่เห็นเพียงต้นไม้ในสวนสาธารณะเท่านั้น) โดยทั่วไป คุณภาพของความรู้ขึ้นอยู่กับ

  1. ปริมาณข้อมูลที่ให้ machine ได้เรียนรู้ (อาจเทียบได้กับความขยัน ศึกษามากก็ควรจะรู้มาก)
  2. การออกแบบ learning pipeline ของ data scientists / AI engineers อาจเทียบได้กับความสามารถของผู้สอน ถ้าผู้สอนเก่งมาก เด็กก็จะเรียนรู้ได้ดี ในทางตรงกันข้ามถ้าผู้สอนออกแบบไม่ดี เด็กจะเก่งแต่ท่องจำและความรู้ที่ได้จะไม่สามารถใช้งานได้จริง ซึ่งเป็นเรื่องที่สำคัญมากและได้อธิบายอย่างละเอียดที่บทความนี้ครับ

กล่าวโดยสรุป การออกแบบ learning pipeline ครอบคลุมตั้งแต่เรื่อง training / validation split (การแบ่งกลุ่มข้อมูลเพื่อสอน และทดสอบ ) , metric specification (การออกแบบการวัดผล), การออกแบบโมเดลจากโจทย์ที่มีประสิทธิภาพ ซึ่งเรื่องเหล่านี้ต้องอาศัยประสบการณ์อย่างมากและมักไม่มีในหนังสือเรียน ซึ่งพวกเราจะเรียนรู้ได้จากการแก้ไขปัญหาจริงและจาก top scientists ระดับโลกบน Kaggle ครับ


   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  
อยากพัฒนาระบบ AI ด้วย Deep Learning, เราจำเป็นต้องเก่งคณิตศาสตร์ไหม

งานด้านโปรแกรมมิ่งทั่วไปผ่าน Keras และการใช้งาน Open Source อื่นๆ อาจไม่ต้องการคณิตศาสตร์มากเท่าใดนักขอเพียงเพื่อนๆ มีความเข้าใจในหลักการพื้นฐานของสถาปัตยกรรม Neural Networks ประเภทต่างๆ ว่าข้อมูลที่ต้องใช้สอนเป็นอย่างไร และผลลัพธ์จาก Networks เหล่านั้นให้อะไรบ้าง

อย่างไรก็ดี สำหรับผู้ที่สนใจจะพัฒนาตัวเองไปเป็นระดับ AI Master ซึ่งต้องมีการดัดแปลงสถาปัตยกรรม Neural Networks ให้เหมาะสมและมีประสิทธิภาพสูงสำหรับงานเฉพาะด้านนั้น ควรต้องเข้าใจคณิตศาสตร์พื้นฐานบางอย่างเป็นอย่างดีเลยครับ

โดยคณิตศาสตร์พื้นฐานที่ควรรู้นั้น Andrew Ng ผู้ซึ่งเป็นปรมาจารย์ท่านนึงในวงการ ได้ให้คำตอบเรื่องนี้ไว้ในกระทู้นี้ครับ

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

 

ซึ่ง Andrew แนะนำให้แม่น 3 วิชานี้เป็นหลักครับ : Linear Algebra (ความรู้เกี่ยวกับเมตริกซ์และ Linear Space), Multivariable Calculus (หาอนุพันธ์และกฎลูกโซ่) และ Probability & Statistics ซึ่งทั้งหมดนี้เพื่อนๆ ที่ีไม่มั่นใจสามารถเรียนและทบทวนจากอาจารย์ที่ขึ้นชื่อว่าสอนได้ดีมากที่สุดคนนึงของโลกที่นี้ครับ


   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  
Data Science, Big Data เกี่ยวข้องหรือแตกต่างกันกับ AI อย่างไร

Data Science และ Big Data อาจพูดได้ว่าเป็นแขนงที่เกือบจะเป็นเรื่องเดียวกับ Machine Learning หรือการวิเคราะห์ข้อมูลด้วยสถิติทั้งหลาย (อาจไม่จำเป็นต้องจำต้องเป็น Deep Learning) เพียงแต่ว่าในศาสตร์ของ Data Science และ Big Data นั้นจะเน้นเรื่องการประมวลผล จัดเก็บ และจัดเตรียมข้อมูลที่มีปริมาณมหาศาลเป็นพิเศษ ในขณะที่ฝั่ง Machine Learning มักจะสมมติว่าข้อมูลสอนถูกจัดเตรียมมาให้แล้วโดยอัตโนมัติ นอกจากนี้งานด้าน Big Data อาจยุ่งเกี่ยวกับการเซ็ตระบบเพื่อใช้เครื่องคอมพิวเตอร์จำนวนหลายเครื่องร่วมกับคำนวณข้อมูลปริมาณมหาศาลเหล่านี้

อนึ่ง เพื่อนๆ สามารถลองเรียนรู้ Data Science Project แบบปฏิบัติจริงได้ทีนี่ครับ


   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  
หุ่นยนต์กับ AI เหมือนหรือต่างกันอย่างไร
ถ้าเปรียบเทียบหุ่นยนต์เป็นมนุษย์แล้วนั้น AI ก็เสมือนเป็นสมองของหุ่นยนต์นั่นเอง ที่ผ่านมานั้นเราได้ยินคำว่า AI มากกว่าคำว่า “หุ่นยนต์” เป็นเพราะว่าเทคโนโลยีส่วนอื่นๆ ยังไม่พัฒนามากเหมือน AI เช่น การทำให้หุ่นยนต์เคลื่อนไหว เดิน ลุกนั่ง จับของ ได้เหมือนหรือดีกว่าคน ยังทำได้ไม่ดีนัก

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

   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  
โมเดลมีเยอะไปหมดสับสน VGG, ResNet, Inception, EfficientNet, UNet, RCNN, LSTM, GRU, Transformers, BERT, RoBerta, RoBerta-XLM, T5, BART, etc.

ในการจะเข้าใจลึกซึ้ง ต้องเรียนที่คอร์สที่ดีที่สุดในโลก (เรียนได้ฟรี) บน coursera จาก Andrew Ng เลยครับ https://www.coursera.org/specializations/deep-learning

ถ้าจำเป็นต้องรีบใช้แบบไม่มีเวลาเรียน ให้ทำความเข้าใจแบบหลักวิศวกรรม นั่นคือหลัก input-output

หลักการคือต้องเข้าใจว่า input และ output ของโมเดลต่างๆ ครับ หลายๆ โมเดลนั้นมี input/output แบบเดียวกัน ใช้แทนกันได้ ก็อาจจะสนใจเฉพาะโมเดลที่ประสิทธิภาพสูงสุดในกลุ่มก็พอ เช่น สนใจ EfficientNet โดยไม่ต้องสนใจ VGG, ResNet, Inception เป็นต้น ทั้งนี้บางโมเดลมีขนาดใหญ่ อาจต้องใช้ GPU ที่มี Memory มากพอ ก็ต้องเลือกขนาดของโมเดลให้เหมาะสมด้วยครับ

ตัวอย่าง

Input : ข้อมูลแบบตาราง excel , Output : ตัวเลข -- ใช้ multi-layers neural networks แบบพื้นฐานที่สุด หรือใช้เทคนิก Machine Learning อื่นๆ ที่ไม่ใช่ Deep Learning เช่น Decision Tree, SVM, Boosting

Input : รูปภาพ , Output : ตัวเลข หรือ รหัสจำแนกประเภท -- VGG, ResNet, Inception, EfficientNet

Input : รูปภาพ , Output : รูปภาพที่แสดงจุดสำคัญ (Mask) -- UNet, Mask-RCNN, PSP-Net

Input : ข้อมูลที่เป็นลำดับ (เช่น time series, texts หรือ เสียง) , Output : ตัวเลข หรือ รหัสจำแนกประเภท -- LSTM, GRU, Transformers, BERT, RoBerta

Input : ข้อมูลที่เป็นลำดับ (เช่น time series, texts หรือ เสียง) , Output : ข้อมูลที่เป็นลำดับ (เหมือน input) เช่น งานแปลภาษา หรือย่อความ หรือเปลี่ยนเสียง-- Encoder-Decoder เช่น Bart, T5

นอกจากนี้เรายังสามารถนำโมเดลข้างต้นมาเรียงต่อกันเองได้ตามความคิดสร้างสรรค์ของเราคล้ายการเล่น LEGO เช่น ถ้า input เราเป็น video ซึ่งเป็นทั้งภาพและลำดับ เราก็สามารถนำ EfficientNet มารวมกับ LSTM ได้เป็นต้น


   
ตอบกลับอ้างอิง
The Neural Engineer
(@neural-engineer)
Honorable Member Admin
เข้าร่วมเมื่อ: 6 years ago
ข้อความ: 400
Topic starter  
ต้นกำเนิดของ AI เป็นอย่างไร นับจนถึงวันนี้เรามาไกลแล้วแค่ไหน?
ดูวิดิโอ "ประวัติย่อของ AI" (ภาษาไทย) นับแต่ยุค "ความฝันอันแรงกล้า" ของ อลัน ทัวริง มาร์วิน มินสกี้ ยุคตกต่ำฤดูหนาวของ AI จนถึงยุค Deep Learning ปัจจุบันอย่างย่อๆ ที่นี่ครับ
 
AI ประกอบไปด้วยอะไรบ้าง ทำไมทุกคนพูดถึงกันแต่ "Machine Learning"

จริงๆ แล้ว AI ในอุดมคติจะมีโมดูลอื่นๆ นอกจาก Learning ด้วย เช่น Knowledge Base, Decision Making และอื่นๆ แต่เนื่องจากงานวิจัย Deep Learning นั้นได้ผลลัพธ์ที่ดีมากๆ ในช่วง 10 ปีที่ผ่านมา ทำให้กลบข่าวงานวิจัยด้านอื่นไปแทบจะหมดสิ้น

ดูวิดิโอ "ส่วนประกอบของ AI" (ภาษาไทย) ที่นี่ครับ

 
AI ฉลาดกว่ามนุษย์จริงหรือ ?? ANI คืออะไร AGI คืออะไร?

AI ฉลาดกว่ามนุษย์? อาจต้องตอบว่า ณ ปี 2020 "จริงบางส่วน" ก่อนอื่นเราต้องแยกความฉลาดเป็นสองแบบ คือแบบ "เฉพาะทาง" กับแบบ "ทั่วไป"

ความฉลาดเฉพาะทาง (หรือบางครั้งเรียก ปัญญาประดิษฐ์ "แบบแคบ" - Artificial Narrow Intelligence [ANI] ) หมายถึง AI ที่ Focus งานใดงานหนึ่งเพียงงานเดียว เช่น การเล่นเกมส์ การแก้โจทย์ปัญหา การดูฟิล์ม X-Ray การแปลภาษา การจำหน้าคน เป็นต้น งานเหล่านี้เราเห็นบ่อยในข่าวและงานวิจัยใหม่ๆ ต้องยอมรับว่าในหลายงาน AI นั้นเก่งใกล้เคียงผู้เชี่ยวชาญที่เป็นมนุษย์แล้ว

และเนื่องจากธรรมชาติของคอมพิวเตอร์นั้นทำงาน "ไม่ผิดพลาด" ทำให้ในแง่ของการเล่นเกมส์นั้น AI เก่งกว่ามนุษย์ ดูบทความ "วิเคราะห์ 20 ปีหลังเหตุการณ์ประวัติศาสตร์ “AI” ชนะ “แชมป์โลกหมากรุก” ได้เป็นครั้งแรกในประวัติศาสตร์มนุษยชาติ " ที่นี่ครับ

อย่างไรก็ดี เมื่อไรก็ตามที่ต้องรวมความรู้หลายๆ ด้านเข้าด้วยกัน มักพบได้ว่า AI นั้น "โง่" อย่างไม่ได้เรื่อง ตัวอย่างเช่น แม้แต่ ChatBot ที่ได้ชื่อว่าเก่งที่สุดในปี 2019 อย่าง DiabloGPT ก็ยังคุยกับเราไม่รู้เรื่อง ตอบคำถามไม่ตรงคำถามตลอดเวลา แสดงให้เห็นว่า AI รู้เฉพาะข้อมูลแคบๆ ที่ถูกสอนมาเท่านั้น ลองเล่น Chatbot จากมหาลัยชั้นนำของโลกได้ที่นี่ครับ http://visualchatbot.cloudcv.org/

การจะสร้าง AI ให้มีความรู้หลากหลายเหมือนมนุษย์นั้น เร่ียกว่า Artificial General Intelligence หรือ AGI ซึ่งทางทีม ThaiKeras ได้มีโอกาสเข้าร่วมงาน Conference AI ที่ได้ชื่อว่าดีที่สุดอย่าง ICLR ปี 2020 นักวิจัยทั่วโลกยังเห็นตรงกันว่ายังต้องพัฒนาอีกหลายสิบปีครับ

ดูวิดิโอ "ANI vs. AGI" (ภาษาไทย) เพิ่มเติมที่นี่ครับ

 


   
ตอบกลับอ้างอิง
Page 1 / 3
Share: