เรียน deep learning ที่บ้านอย่างไรเรียกจริงจัง

Source: Deep Learning on Medium


เป็นที่รู้กันว่าคอร์สออนไลน์พื้นฐานด้าน Artificial Intelligence และ Machine Learning ที่ได้รับความนิยมและเป็นที่ยอมรับมากที่สุดในโลก ก็คือ Machine Learning ของ Stanford University ที่สอนโดย Andrew Ng และทุกคนสามารถสมัครลงเรียนได้ฟรีที่ Coursera.org โดยไม่จำเป็นต้องมีความรู้พื้นฐานใดๆ มาก่อนเลย แค่เพียงมีคอมพิวเตอร์ กับ อินเตอร์เน็ท และ ความรู้คณิตศาสตร์ระดับมัธยมปลายตอนต้น บวกกับเวลาว่างสักสัปดาห์ละ 4–5 ชั่วโมง เป็นเวลา 11 สัปดาห์ ใครก็ตามที่สามารถทำได้ตามนี้ คุณก็จะได้เรียนรู้ตั้งแต่ต้นเลยว่า Machine Learning คืออะไร มีความสัมพันธ์อย่างไรกับ Artificial Intelligence อะไรคือ Supervised/Unsupervised Learning ไล่ยาวจาก Linear Regression ไปยัน K-Means จาก Logistic Regression ไปจึงถึง Supported Vector Machine จาก Neural Networks และ Backpropagation ไปจนถึง Deep Learning เบื้องต้น ตอนท้ายของทุกสัปดาห์จะมีการสอบข้อเขียน และส่งงานแบบฝึกหัดโปรแกรมมิ่งเล็กๆตามเนื้อหาของสัปดาห์นั้นๆ เมื่อเรียนจบแล้วหากสามารถตัดใจรูดบัตรเพียง $49 หรือราว (1,600 บาท) ก็จะได้ใบประกาศจากมหาวิทยาลัยชื่อชั้นระดับโลกอย่าง Stanford แบบนี้ มาประดับกำแพงบ้านอีกด้วย ถ้าใครอ่านข้างบนแล้วเห็นเป็นภาษาต่างดาว ผมแนะนำให้สมัครลงเรียนคอร์สที่ว่านี้เดี๋ยวนี้เลยครับ รับรองไม่ผิดหวัง

แต่ถ้าหากใครอ่านข้างบนแล้วมีความรู้สึกคุ้นเคยเหมือนได้พบเจอเพื่อนเก่า ผมขอแนะนำคอร์สนี้ Deep Learning Specialization ของ deeplearning.ai สอนโดย Andrew Ng เจ้าเก่า และ Coursera.org ที่เดิม เพียงแต่คราวนี้พิเศษ มาเป็นแบบคอมโบ 5 คอร์สต่อเนื่อง ใช้เวลารวม 16 สัปดาห์ สินสอด ฟรีสัปดาห์แรก แล้วหลังจากนั้น $49 เหรียญต่อเดือน โดยเราสามารถเลือกเรียนคอร์สไหนก่อนก็ได้ เมื่อเรียนจบแต่ละคอร์สก็จะได้รับใบประกาศสำหรับคอร์สนั้นๆ และเมือเรียนจบ สอบผ่าน และส่งงานครบ ทั้งชุด 5 คอร์ส ก็จะได้รับใบประกาศรวมอีกหนึ่งใบ เป็นหลักฐานแห่งความพยายามและความสำเร็จ ที่ได้รับการยอมรับในระดับสากล สามารถเขียนลงเรซูเมประกอบการสมัครงานเพิ่มค่าตัวได้เลย ที่สำคัญมีคุณค่าน่าเชื่อถือมากกว่าใบประกาศจากคอร์สโดยสถาบันในประเทศ ที่สนนราคาเป็นหมื่นๆบาทชนิดเทียบกันไม่ได้เลยทีเดียว

ความพิเศษอีกอย่างที่ไม่พูดถึงไม่ได้สำหรับคอร์สแบบคอมโบนี้ก็คือ เราสามารถที่จะเรียนเร็วแค่ไหนก็ได้แล้วแต่ความพร้อมและความมุ่งมั่นของแต่ละคน และยิ่งเรียนจบได้รวดเร็วเท่าไหร่ เราก็จะยิ่งต้องจ่ายน้อยลงเท่านั้น เช่นหากเราสามารถเรียนจบทั้ง 5 คอร์สในชุดนี้ได้ภายในเวลา 5 สัปดาห์แบบผม เราก็จะเสียเงินแค่เพียง $49 หรือราว (1,600 บาท) เท่านั้นเอง สำหรับใบประกาศทั้ง 6 ใบ แบบนี้ เอาเข้าจริง ที่มันท้าทายและสนุกที่สุดก็ตรงนี้นี่แหละครับ

เนื้อหาทั้ง 5 คอร์สเป็นส่วนผสมอันลงตัวระหว่างทฤษฏีและการลงมือทำจริงด้วยตนเอง หัวข้อที่น่าสนใจในแต่ละคอร์สในคอมโบนี้นั้น มีดังต่อไปนี้

คอร์สที่ 1 Neural Networks and Deep Learning

เวลา 4 สัปดาห์

เราจะได้เรียนรู้ว่า Neural Network และ Deep Learning นั้นมันคืออะไร ทำไมจู่ๆ ถึงได้ผงาดขึ้นมาท้าทายทุกวงการ จนได้รับความนิยมและการยอมรับอย่างกว้างขวางและรวดเร็ว ทำความเข้าใจกลไกการเทรนเน็ทเวอร์คด้วย Gradient Descent และ Backpropagation ว่ามันทำงานได้อย่างไร สิ่งที่ประทับใจสำหรับคอร์สนี้คือเราจะได้เขียนโค๊ด Neural Network ทั้งแบบ Shallow และ Deep ด้วย Python และ Numpy ล้วนๆ ทั้งในส่วนของ Forward Pass และ Backward Pass ด้วนตนเอง โดยที่ไม่ต้องอาศัย Deep Learning Framework ใดๆ

คอร์สที่ 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

ระยะเวลา 3 สัปดาห์

ทำความเข้าใจว่าทำไมเราถึงต้องแบ่งชุดข้อมูลออกเป็น Train/Dev/Test ความแตกต่างระหว่าง Bias และ Variance การแก้ไข Overfitting ด้วย Regularization เทคนิค Dropout การทำ Normalization ความสำคัญของการ Initialization สำหรับ Deep Neural Networks ทำการ Gradient Checking ข้อดีชของการเทรนแบบ Mini-batch Gradient Descent ศึกษาความแตกต่างและการทำงานภายในของ Optimization Algorithms ยอดนิยมแบบต่างๆเช่น RMSProp และ Adam อะไรคือ Hyperparameters และเรามีเทคนิควิธีการเลือกและปรับใช้ค่าที่เหมาะสมได้อย่างไร Batch Normalization คืออะไร มันทำงานอย่างไร และสุดท้าย การเขียนโค๊ดบน Tensorflow ซึ่งเป็น Deep Learning Framework ที่ได้รับความนิยมสูงที่สุดในขณะนี้

คอร์สที่ 3 Structuring Machine Learning Framework

ระยะเวลา 2 สัปดาห์

ความสำคัญของการกำหนด Scalar Evaluation Metric ที่เหมาะสมต่อความสำเร็จของโครงการ เราจะแบ่งสัดส่วนระหว่างชุดข้อมูล Train/Development/Test อย่างไรในแต่ละสถานการณ์ อะไรคือ Bayes Error และมันแตกต่างจาก Human Performance อย่างไร และอะไรคือ Avoidable Bias ทำความรู้จัก Transfer Learning และ Multi-task Learning อะไรคือ End-to-end Learning และเมื่อไหร่เราควรจะใช้มัน ในช่วงท้ายเราจะได้นำเอาสิ่งที่เรียนไปปรับใช้เพื่อตอบสนองต่อสถานการณ์ต่างๆที่จำลองมาจากสิ่งที่เกิดขึ้นจากประสบการณ์จริงของผู้สอนเอง

คอร์สที่ 4 Convolutional Neural Networks

ระยะเวลา 4 สัปดาห์

ทำความเข้าใจ Filters และกระบวนการ Convolutions อะไรคือ Pooling Layers และมันทำงานอย่างไร เราจะได้เขียนโค๊ด CNN สำหรับทั้ง Forward Pass และ ฺBackward Pass ด้วย Python และ Numpy ล้วนๆ (อีกแล้ว) ศึกษาทำความเข้าใจโครงสร้างของ CNN Networks คลาสสิกในอดีตเช่น LeNet และ CNN Networks ชื่อดังและยอดนิยมในปัจจุบัน อย่างเช่น ResNets และ Inception ทำความเข้าใจความสำคัญและเทคนิคต่างๆในการทำ Data Augmentation ทำความรู้จักกับ Keras เรียนรู้เทคนิควิธีการต่างๆในการทำ Object Detection และทำความเข้าใจ YOLO Algorithm โดยละเอียด ทำความเข้าใจปัญหา Face Detection/Recognition และความยากของ One-shot Learning อะไรคือ Triplet Loss และสุดท้ายทดลองสร้างสรรงานศิลปะเลียนแบบศิลปินชื่อดังด้วย Neural Style Transfer

คอร์สที่ 5 Sequence Models

ระยะเวลา 3 สัปดาห์

ทำความเข้าใจว่าอะไรคือ Recurrent Neural Network (RNN) ทำไมมันถึงเหมาะกับการประมวลผลข้อมูลที่เป็นลักษณะต่อเนื่อง รวมไปถึงภาษาธรรมชาติ ทำความเข้าใจปัญหา Vanishing Gradients ใน RNN กลไกการทำงานและความแตกต่างระหว่าง Gated Recurrent Unit (GRU) และ Long Short Term Memory (LSTM) ทำความเข้าใจ Word Embedding และคุณสมบัติอันน่าทึ่งของมัน ทำความรู้จักกับ การประมวลผลภาษาธรรมชาติ (NLP) ทำความเข้าใจ Beam Search และ Bleu Score การใช้ Attention Model ทำความเข้าใจ Speech Recognition และการสร้าง Trigger Word Detection แบบ Hey Siri หรือ OK Google ที่เราคุ้นเคย

เอาเป็นว่า ถ้าคิดว่าผมทำได้ คุณก็ทำได้ ผมก็ขอท้าละกันครับ เรียนเสร็จแล้วเอาใบประกาศมาอวดกันนะครับ ขอให้สนุกกับการเรียนรู้ (ที่บ้าน) ตลอดชีวิตครับ