กราบสวัสดีเพื่อนๆ ชาว AI และ Deep Learning ทุกท่านครับ ในบทความนี้เราจะมาคุยกันในเรื่องของการเรียน Online Course ซึ่งผู้เขียนมองว่าเป็นแหล่งการเรียนรู้ที่ทรงคุณค่ายิ่งกว่าการเรียนในห้องเรียน เนื่องจากสอนโดยผู้สอนระดับโลก มีอุปกรณ์การเรียนเตรียมไว้พร้อม เนื้อหาใหม่ๆ สม่ำเสมอ รวมทั้งสามารถเข้าถึงได้โดยแทบจะไม่มีค่าใช้จ่าย นับว่าเป็นสิ่งที่ขาดไม่ได้สำหรับชีวิตของชาว AI และ Deep Learning อย่างพวกเราเลยครับ
บทความนี้ผู้เขียนได้พยายามรวบรวมคอร์สออนไลน์ทั้งหมดที่น่าสนใจไว้ (ซึ่งคอร์สเหล่านี้นี่เองที่เป็นต้นแบบคอร์สสั้น Deep Learning ของ ThAIKeras ที่เราออกแบบมาให้กระชับในรูปแบบภาษาไทยโดยเฉพาะ) รวมทั้งสอดแทรกประสบการณ์การเรียนจริงไว้ด้วย เพื่อนๆ สามารถกดที่รูปของแต่ละคอร์สเพื่อลิงก์ไปยังคอร์สเหล่านั้นได้โดยตรง ในครึ่งหลังของบทความนี้ยังรวบรวมบล็อกต่างๆ ที่น่าสนใจรวมทั้งแหล่งข้อมูลที่เป็นภาษาไทยไว้ด้านล่างด้วยครับ
ก่อนอื่นเลยสำหรับการเลือกเรียนคอร์สออนไลน์นั้น แต่ละที่จะมีประเด็นที่แตกต่างกันดังนี้ครับหมายเหตุ: ดูคอร์สใหม่ๆ เพิ่มเติมได้ที่กระทู้นี้ครับ
Deep Learning ของ Coursera เป็นหนึ่งในหลักสูตรที่มีชื่อเสียงมากที่สุดในโลก จุดเด่นคือการสอนที่เข้าใจง่ายแต่ลึกและออกแบบมาให้ครอบคลุมทั้งภาคทฤษฎีและปฏิบัติ ผู้สอนคืออาจารย์ Andrew Ng ซึ่งเป็นอดีตหัวหน้าศูนย์วิจัย Google AI รวมทั้งเป็นอาจารย์ที่ Stanford University
หลักสูตรนี้เริ่มเผยแพร่ในช่วงปลายปี 2017 ถึงต้นปี 2018 ประกอบไปด้วย 5 ส่วนหลักตั้งแต่พื้นฐานของ Deep Learning ไปจนถึงเทคนิกระดับมาตรฐานสากลของ Computer Vision, Sequential Data และ NLP การเรียนใน Coursera.org นั้นเพื่อนๆ สามารถเรียนช้าหรือเร็วได้ตามที่ต้องการเนื่องจากเสียค่าเล่าเรียนเป็นรายเดือน (ในกรณีต้องการ Certificate)
ทุกๆ Modules จะมีการประเมินผลทั้งแง่ความเข้าใจ และในแง่ปฏิบัติ ซึ่งทาง Coursera.org จะเซ็ตระบบ Hardware และ Programming Platforms ที่จำเป็นทั้งหมดไว้ให้แล้ว และจะมีโปรแกรมประเมินผลคอยให้คะแนนผู้เรียน เนื่องจาก Andrew Ng ออกแบบแบบฝึกหัดเหล่านี้ให้สามารถทดสอบได้ด้วย CPU สิ่งหนึ่งที่อาจจะขาดไปจาก Course ที่สมบูรณ์แบบนี้คือประสบการณ์การทำงานจริงบน GPU ครับ
ความรู้สึกของผู้เขียนหลังจากเรียนคอร์สนี้ครบทุกวิชา พูดได้เพียง “สุดยอด” และ “ซาบซึ้ง” อจ. Andrew และทีมงานมากๆ ที่ได้กรุณาถ่ายทอดความรู้อันทรงพลังให้กับคนทั่วโลกอย่างยอดเยี่ยมและเรียบง่ายครับ คอร์สนี้น่าจะเป็นคอร์สที่ดีที่สุดเแล้วที่รักษาสมดุลทั้งการให้ผู้เรียนเข้าใจได้ง่ายๆ แต่ก็ยังคงความลึกและครบถ้วนของเนื้อหาเอาไว้
CS231 ของ Stanford คือหลักสูตรในตำนานที่นักเรียนและนักวิจัยทั่วโลกชื่นชมเป็นอย่างมาก โดยทีมผู้สอนคือ Andrej Karphaty และ Justin Johnson สามารถอธิบายเนื้อหาที่มีความลุ่มลึกมากโดยเน้นเฉพาะแง่มุมของไอเดียที่สำคัญจริงๆ ทำให้ผู้เรียนทั่วไปทำความเข้าใจเรื่องยากและสำคัญเหล่านี้ได้ อย่างไรก็ดีเนื้อหาครอบคลุมในฝั่งทฤษฎีของ Computer Vision เท่านั้นและไ่ม่ได้เตรียมแบบฝึกหัดภาคปฏิบัติสำหรับผู้สนใจทั่วไป
หลักสูตรนี้ล่าสุดเปิดสอนในปี 2018 (ทว่า ณ มิถุนายน 2018 บุคคลนอก Stanford สามารถเข้าถึงได้เฉพาะ Youtube Video ในปี 2016-2017 เท่านั้น) เน้นพื้นฐานของ Deep Learning ไปจนถึงเทคนิกระดับสูงของฝั่ง Computer Vision อย่างค่อนข้างครบถ้วน
มุมมองส่วนตัวก็คือ ในครึ่งแรกคอร์สนี้สอนพื้นฐานได้ดีมากเช่นกัน และเป็นการเสริมความรู้จากคอร์สของ Andrew Ng ให้แน่นมากยิ่งขึ้น ในครึ่งหลังนั้นได้เล่า concepts และ methodology ที่สำคัญของ Computer Vision ไว้อย่างครบถ้วนยิ่งกว่าคอร์สไหนๆ ดังนั้นมั่นใจได้เลยว่าความเข้าใจของเราจะแน่นปึ้ก เพียงแต่ว่าพวกเราที่จะลุยต่อด้าน Vision โดยตรงต้องไปหาแบบฝึกหัดหรือ Workshop มาเสริมทักษะในการเขียนโปรแกรมและทดลองเพิ่มเติมเองครับ
Udacity ก่อตั้งโดย Sebastian Thrun ซึ่งอาจไม่เป็นที่รู้จักมากนัก แต่จริงๆ แล้ว Prof. Thrun เป็นนักวิจัยชั้นนำของโลกด้านหุ่นยนต์จากมหาวิทยาลัย Stanford เป็นผู้บุกเบิกเทคโนโลยีเรื่อง Self-Driving Car เป็นคนแรกๆ ของโลก รวมทั้งเป็นหนึ่งในผู้ก่อตั้ง Google X ด้วยความสามารถของ Prof. Thrun นี้ทำให้ Udacity มี Partners ชั้นนำมากมายไม่ว่าจะเป็น Amazon, Nvidia, Samsung หรือ BMW ซึ่ง Udacity ได้นำจุดแข็งด้านนี้มา design หลักสูตรเพื่อให้นักศึกษาที่เรียนจบสามารถตอบโจทย์ของบริษัทเหล่านี้ได้ นี่จึงเป็นสาเหตุให้คอร์สของ Udacity นั้นมีความพรีเมียมและแพงที่สุดในคอร์สทั้งหมดที่เราศึกษามา
หลักสูตรของ Udacity จะมีการอัพเดตอย่างสม่ำเสมอ และมีมากมายหลายหลักสูตร ในที่นี่เราแนะนำ Deep Learning Nanodegree ซึ่งในปี 2018 ประกอบไปด้วย 5 ส่วนหลักตั้งแต่พื้นฐานของ Deep Learning, Convolution Neural Networks, Recurrent Neural Networks, Generative Adversarial Networks และ Deep Reinforcement Learning โดยหนึ่งในทีมผู้สอนคือ Ian Goodfellow ซึ่งเป็นอัจฉริยะผู้คิดค้น GAN เรียกได้ว่าหลักสูตร Udacity นั้นครบเครื่องมากๆ
ทุกๆ Modules จะมีการประเมินผลในรูปของโปรเจกต์ ซึ่งทาง Udacity จะเซ็ตระบบ Hardware และ Programming Platforms ที่จำเป็นทั้งหมดไว้ให้แล้ว รวมทั้ง GPU (บางโปรเจกต์นักเรียนจะมีโอกาสได้ทดลองเซ็ตระบบบน Amazon Cloud ด้วยตัวเองด้วย) นอกจากนี้ทุกโปรเจกต์จะได้รับการรีวิวและรับ Feedback จากทีมงานโดยตรง (ไม่ใช่เป็นระบบอัตโนมัติเหมือน Coursera) ซึ่งทำให้ผู้เรียนสามารถพัฒนาตนเองในจุดที่ต้องการได้ อย่างไรก็ดี Udacity มีความเข้มงวดเรื่องเวลาและกำหนดให้ผู้เรียนต้องเรียนจบภายในระยะเวลา 1 เทอม ดังนั้นผู้เรียนจำต้องมีวินัยและแบ่งเวลาในการเรียนอย่างจริงจัง
ประสบการณ์การเรียน Udacity ของผู้เขียนนั้นก็ค่อนข้างประทับใจ อย่างไรก็ดีเนื่องจากค่าเล่าเรียนของ Udacity นั้นแพงกว่าของ Coursera มาก (ล่าสุดในเดือนกรกฏาคม 2018 ก็ยังขึ้นค่าเล่าเรียนเป็น $999 สำหรับทุก nanodegree จากเดิมราวๆ $499-799) ในขณะที่มาตรฐานของคอร์สของ Andrew Ng ใน Coursera ก็สูง และเนื้อหาก็ทับซ้อนกันเยอะ ดังนั้นผู้ที่มีงบไม่เยอะ อาจพิจารณาเรียน Coursera ก่อนจะดีกว่าครับ นอกจากนี้คอร์สของ Udacity บางคอร์สเช่น NLP ก็อาจจะมีเนื้อหาที่ค่อนข้างน้อยไปน้อยไปหน่อยเมื่อเทียบกับค่าเรียนด้วย
CS224 ของ Stanford คือหลักสูตรพี่น้องของ CS231 (ข้างบน) โดยวิชานี้เน้นด้าน Deep NLP (Natural Language Processing) โดยเฉพาะทำให้สามารถเรียนต่อจาก CS231 ได้อย่างลงตัว ทีมผู้สอนคือ Prof. Chris Manning และ Richard Socher เป็นนักวิจัยหัวแถวในวงการ NLP ทำให้เนื้อหาของวิชานี้มีความลุ่มลึกเป็นอย่างมาก อย่างไรก็ดีเช่นเดียวกับคอร์สอื่นๆ ที่มาจากมหาวิทยาลัย เนื้อหาของคอร์สสำหรับคนทั่วไปจะครอบคลุมในฝั่งทฤษฎีเท่านั้นและไ่ม่ได้เตรียมแบบฝึกหัดภาคปฏิบัติไว้ให้ ดังนั้นผู้เรียนต้องหาทางฝึกฝนภาคปฏิบัติเพิ่มเติมเอง
หลักสูตรนี้ล่าสุดเปิดสอนในปี 2018 (ทว่า ณ มิถุนายน 2018 บุคคลนอก Stanford สามารถเข้าถึงได้เฉพาะ Youtuve Video ในปี 2016-2017 เท่านั้น) เน้นพื้นฐานของ Deep Learning ไปจนถึงเทคนิกระดับสูงของฝั่ง NLP อาทิเช่น Basic Word Embedding, Basic Recurrent Neural Networks, Bi-Directional LSTM with Attention, Tree LSTM, Dependency Tree Parsing, Transformer, Semi-supervised Learning, Frontier Research เป็นต้น
Kaggle หรือ “Home of Data Science” ไม่ใช่เพียงเว็บไซต์ที่ดี แต่เป็นเว็บไซต์ระดับ “สุดยอด” ที่นับวันยิ่งเพิ่มความสามารถขึ้นเรื่อยๆ ก่อนหน้านี้ Kaggle เป็นที่รู้จักกันดีว่าเป็น “สนามแข่งขัน” หรือ “สนามประลองกำลัง” สำหรับ Data Scientists ระดับสุดยอดของโลก ที่จะมาแข่งขันกันเพื่อแก้ไขโจทย์ Data Science หรือ Machine Learning อันน่าท้าทาย ซึ่งเดิมทีก็เป็นแหล่งเรียนรู้เชิงปฏิบัติชั้นนำอยู่แล้ว (รวมทั้งเป็นแหล่งสร้าง profile ให้ดาวเด่นในวงการหลายคนอีกด้วย)
ในปัจจุบัน kaggle ไม่ใช่เป็นเพียงที่แข่งขันอีกต่อไปแล้ว แต่ได้อัพเกรดเป็นห้องปฏิบัติการการทำ Data Sciene หรือ Machine Learning ที่สะดวก ครบเครื่อง และฟรี! Kaggle อนุญาตให้เราสร้าง Virtual Machine ระดับสูงเพื่อสำหรับทำ project กันเป็นทีมโดยไม่มีค่าใช้จ่าย รวมทั้งยังอำนวยความสะดวกในเรื่องของ Datasets ซึ่งเป็นหัวใจสำคัญของการสร้างระบบ AI และอนุญาตให้เรานำการทดลองของ Data Scientists คนอื่นๆ ให้เราใช้งานโดยแทบจะไม่ต้องออกแรง จากเหตุผลเหล่านี้ทำให้คอร์ส Deep Learning ของ ThAIKeras ของเราเลือกที่จะสร้าง Workshop ให้เพื่อนๆ ได้ใช้งานบน Kaggle เช่นกัน นอกจากนี้ล่าสุด Kaggle เองยังได้เพิ่มคอร์ส Machine Learning ที่ดีมากๆ อีกหลายหัวข้อซึ่งมีจุดเด่นกว่าคอร์สอื่นๆ ตรงที่เป็นคอร์สที่ใกล้เคียงกับภาคปฏิบัติจริงมากกว่าคอร์สอื่นทั้งหมด
AGI ของ MIT คือ คอร์ส AI ที่ไม่ใช่คอร์ส Deep Learning ที่เราแนะนำสำหรับผู้ที่มีฝันจะพัฒนา “ความฉลาด” ขึ้นมาจริงๆ คอร์สนี้จะเชิญศาสตราจารย์จาก MIT และนักวิจัยระดับโลกอีกหลายท่านมาให้แง่คิดว่า แท้จริงแล้ว ความฉลาดคืออะไรกันแน่ เราควรตั้งเป้าสร้างความฉลาดในแง่มุมไหน และ Deep Learning จะเป็นคำตอบที่แท้จริงของ AGI หรือการพัฒนาระบบ AI ที่ฉลาดรอบด้านในทำนองเดียวกับมนุษย์หรือไม่?
จุดเด่นมากๆ ของ fast.ai คือเป็นคอร์สที่เน้นภาคปฏิบัติอย่างแท้จริง (เหมาะสำหรับโปรแกรมเมอร์ที่อยากจะพักเรื่องคณิตศาสตร์ไว้ก่อน) และเนื้อหาครบถ้วนมากๆ คอร์สนี้ได้เตรียม Workshop และ Library ต่างๆ ให้ผู้เรียนไว้อย่างครบถ้วน นอกจากนี้ยังมี Community ที่ Active มากจากเพื่อนๆ และทีมงานที่จะคอยช่วยตอบทุกเรื่องที่ผู้เรียนไม่เข้าใจ
หลักสูตรนี้อัพเดตล่าสุดในปี 2018 ประกอบไปด้วย 2 ส่วนหลัก คือ 1. ส่วนพื้นฐานของ Deep Learning (ครอบคลุมทั้ง Computer Vision และ Sequential Model) และ 2. ส่วน cutting-edge technology ล่าสุดในโลก Deep Learning การเขียนโปรแกรม workshop ในปี 2018 จะใช้ platform Pytorch แต่ก็จะมีคนใน community ที่ช่วยทำ workshop ออกมาเป็น Keras ด้วย (เฉพาะในส่วนแรก)
เนื่องจากคอร์สนี้เป็นคอร์สที่เน้นปฏิบัติ ผู้สอนจึงไม่ได้สอนแง่มุม concept หรือฝั่งทฤษฎีได้ในระดับเดียวกับคอร์สของ Andrew Ng หรือ CS231 แต่ในขณะเดียวกันก็มีภาคปฏิบัติสำคัญที่สองคอร์สข้างต้นไม่มี โดยเฉพาะในฝั่งการเซ็ตอัพระบบ Hardware, GPU และ Programming Platforms การจะเรียนคอร์สนี้ได้ผู้เรียนจำเป็นต้องมี GPU ซึ่งทาง Jeremy ได้แนะนำการเช่า server คุณภาพสูงในราคาที่ประหยัดที่สุดในท้องตลาดไว้ด้วย (ณ มิถุนายน 2018 ค่าเช่า Server ที่มี GPU P4000 คิดเป็นราคา $0.4/ชั่วโมง หรือราวๆ 13-14บาท/ชม. เท่านั้น) Update มีคนแนะนำให้เราสามารถเรียน fast.ai ได้ฟรีๆ โดยเซ็ตระบบผ่าน kaggle ตามข้อมูลนี้ครับ
Udemy คือ เว็บการเรียนรู้ทางเลือก ราคาประหยัด (มีโปรโมชั่นสม่ำเสมอ) ที่มีชื่อเสียงในระดับสากลและมี Deep Learning ให้เลือกเรียนมากมายหลายหลักสูตรมากๆ และมีผู้สอนชื่อดังที่ขึ้นชื่อว่าสอนเรื่องยากเป็นเรื่องง่ายหลายท่าน เช่น Jose Portilla, Kirill Eremenko และ Lazy Programmer เป็นต้น ในแต่ละคอร์สนอกจาก Video แล้ว ผู้สอนมักจะเตรียม Workshops ต่างๆ รวมทั้งวิธีการ set up ให้ผู้เรียนด้วย (ผู้เรียนต้องเตรียม Hardware เอง) Udemy เองก็เป็นทางเลือกเสริมที่ดีของเหล่าโปรแกรมเมอร์ทั้งหลายที่ไม่อยากเน้นคณิตศาสตร์ของ Deep Learning มากนัก
คอร์สของ Udemy ในราคา 300-400 บาทถึงแม้จะดูไม่แพง แต่ในความจริงแล้วอาจต้องเรียนหลายคอร์สถึงจะได้เนื้อหาที่ครบถ้วน และก่อนจะซื้อคอร์สทาง Udemy ควรพิจารณาประเด็นต่อไปนี้
สำหรับเพื่อนๆ ที่ต้องการศึกษาพื้นฐานคณิตศาสตร์ของ Deep Learning เพิ่มเติมนั้น โดยเฉพาะความรู้ที่ขาดไม่ได้จริงๆ คือ Linear Algebra, Multivariable Calculus และ Probability and Statistics เพื่อนๆ สามารถเข้าถึงการสอนระดับสุดยอดจาก Salman Khan บุรุษหนุ่มหลายดีกรีจาก MIT ที่ย่อยเรื่องยากเป็นส่วนๆ ให้กลายเป็นเรื่องที่เข้าใจได้ง่ายและได้รับการชื่นชมเป็นอย่างสูงจากนักเรียนทั่วโลก
ลองให้เวลาและตั้งใจเรียนกับ Khan ที่ Khan Academy สักครั้งแล้วคุณจะหลงรักวิชาต่างๆ ที่คุณเคยหลีกเลี่ยงมาตลอด
ในยุคปัจจุบัน บล็อกเป็นแหล่งรวมและสรุปความรู้อย่างง่ายๆ ที่สำคัญ มุมมองอันหลากหลายของบล็อกเกอร์ซึ่งเป็นนักวิจัยชั้นนำแต่ละคนที่นำเสนอได้อย่างสุดยอด และมักเน้นความเข้าใจ มีรูปภาพ มากกว่าจะเน้นวิชาการ จะช่วยให้เราเข้าใจปัญหาและเทคนิกต่างๆ เพิ่มขึ้นอย่างมาก
นับเป็นเรื่องที่น่ายินดี ที่ปัจจุบัน เราเริ่มเห็นคอร์ส Deep Learning ในภาษาไทยบ้างแล้ว และวิชา NLP โดยอาจารย์เอกพล จากจุฬาลงกรณ์มหาวิทยาลัยก็เป็นหนึ่งในคอร์สภาษาไทยที่เนื้อหาสดใหม่ใกล้เคียงกับคอร์สระดับสากลต่างๆ ครับ
นอกจากนี้อาจารย์เอกพลยังได้สอนวิชาอื่นๆ เช่น Pattern Recognition (หรือคือพื้นฐานของ Machine Learning) และ Automatic Speech Recognition ซึ่งเพื่อนๆ ที่สนใจสามารถเข้าไปดูได้ใน Homepage ของอาจารย์ครับ
Workshop series ของ Skooldio นี้เป็นหนึ่งความพยายามของผู้เชี่ยวชาญชาวไทยหลายท่านที่รวมกลุ่มกันทำ Workshpo และเผยแพร่ความรู้ให้ผู้สนใจทั่วไปแบบฟรีๆ โดยไม่มีค่าใช้จ่าย สามารถเข้าไปเริ่มเรียนได้ที่นี่
สำหรับเนื้อหาประกอบไปด้วย 5 Workshops ด้วยกันประกอบไปด้วยพื้นฐานของ Neural Network และ Deep Learning (DL), DL for Images, DL for Texts, Reinforcement Learning และ Generative Models ซึ่งครอบคลุมภาพใหญ่ดีมากๆ นอกจากนี้ยังมี ส่วน Codelab ให้เพื่อนๆ ได้ทดลองปฏิบัติได้ฟรีด้วยครับ (แต่เป็น Tensorflow ไม่ใช่ Keras) แต่เนื่องจากเวลาใน Workshop มีจำกัดรายละเอียดต่างๆ เพื่อนๆ อาจจำเป็นต้องหาความรู้เพิ่มเติมจากคอร์สอื่นๆ ที่ได้แนะนำไปข้างบนครับ