「ลองเรียน Machine Learning ด้วยตัวเอง」
(github.com/teddylee777)1. วัตถุประสงค์และโครงสร้างของเอกสาร
- บทความนี้เป็นชุดแหล่งเรียนรู้ที่รวบรวมคอร์สเรียน บล็อก GitHub งานวิจัย ชุดข้อมูล และอื่น ๆ อย่างเป็นระบบ สำหรับผู้ที่ต้องการเรียน machine learning และ deep learning ด้วยตัวเอง
- ไม่ใช่แค่รายการลิงก์ธรรมดา แต่ยังเสนอทั้งลำดับการเรียนที่เหมาะกับผู้เริ่มต้น ระดับความยาก และจุดประสงค์ในการนำไปใช้
- ครอบคลุมตั้งแต่ Python ไปจนถึงคณิตศาสตร์และสถิติ, machine learning, deep learning, LLM และการฝึกปฏิบัติบน Kaggle
- ดำเนินงานเป็นโปรเจกต์ GitHub แบบเปิดที่มีผู้ร่วมพัฒนาหลายคนช่วยเพิ่มแหล่งข้อมูล
2. ลำดับการเรียนที่แนะนำ
- แนะนำให้เริ่มจากเรียนไวยากรณ์ Python จากนั้นประมวลผลข้อมูลด้วย NumPy และ Pandas แล้วจึงทำ visualization ด้วยเครื่องมืออย่าง Matplotlib
- หลังจากนั้นให้เรียน linear algebra, calculus, probability และ statistics เพื่อเข้าใจหลักการของอัลกอริทึม machine learning
- ขั้นถัดไปคือศึกษา machine learning แบบดั้งเดิมด้วย Scikit-learn และ deep learning ที่ใช้ TensorFlow หรือ PyTorch
- สุดท้ายเป็นโครงสร้างที่ช่วยยกระดับทักษะเชิงปฏิบัติผ่านโปรเจกต์ Kaggle, การ implement งานวิจัย และการวิเคราะห์ข้อมูลจริง
3. พื้นฐานคณิตศาสตร์และสถิติ
- มีการจัดคอร์สเรียนที่อธิบายแนวคิดคณิตศาสตร์ที่จำเป็นต่อการเรียน AI เช่น vector, matrix, derivative, partial derivative, natural logarithm และ similarity
- ในด้านสถิติ ครอบคลุม probability distribution, normal distribution, hypothesis testing, p-value, confidence interval และทฤษฎี Bayes
- ยังรวมเนื้อหา AR, MA, ARIMA ที่จำเป็นต่อ time series analysis รวมถึง Fourier transform และ empirical mode decomposition ใน signal processing
- แนะนำแหล่งข้อมูลสำหรับผู้เริ่มต้นเป็นอันดับแรก ซึ่งช่วยให้เข้าใจสมการที่ซับซ้อนได้ง่ายขึ้นผ่านภาพประกอบและคอร์สแบบเขียนมือ
4. Machine Learning แบบดั้งเดิม
- อธิบายหลักการพื้นฐานของการเรียนรู้ของโมเดลก่อน เช่น gradient descent, backpropagation และ loss function
- ครอบคลุมอัลกอริทึมหลัก เช่น linear regression, logistic regression, decision tree, KNN, SVM, PCA และ clustering analysis
- รวมวิธีลด overfitting เช่น L1/L2 regularization และ Lasso, Ridge, ElasticNet
- แต่ละหัวข้อมีทั้งคอร์สแนวคิดและเอกสารการ implement ด้วย Python เพื่อเชื่อมโยงทฤษฎีกับการปฏิบัติ
5. สาขาหลักของ Deep Learning
- เริ่มจากโครงสร้างของ neural network แล้วจัดระเบียบโมเดล deep learning หลัก ๆ เช่น CNN, RNN, LSTM, GAN และ reinforcement learning
- ใน computer vision แนะนำกรณีการใช้งาน object detection, image segmentation, autonomous driving และ OpenCV
- ใน natural language processing ครอบคลุม Word2Vec, BERT, GPT, Transformer, Attention, Seq2Seq เป็นต้น
- ไม่ได้เรียนแค่การใช้โมเดลง่าย ๆ แต่ยังสามารถเรียนการทำความเข้าใจงานวิจัย การ implement โค้ด และการปรับ hyperparameter ได้ด้วย
6. เทคโนโลยี AI ล่าสุดและรูปแบบการเรียนรู้
- แนะนำเทคโนโลยีที่ค้นหาโครงสร้างโมเดลและพารามิเตอร์โดยอัตโนมัติ เช่น AutoML, Bayesian optimization, Hyperband และ NAS
- Meta-learning คือวิธีเรียนรู้ปัญหาใหม่อย่างรวดเร็ว ส่วน active learning คือวิธีเลือกเฉพาะข้อมูลที่จำเป็นมาใช้ฝึก
- Federated learning ฝึกโมเดลร่วมกันบนอุปกรณ์หลายเครื่องโดยไม่ต้องรวมข้อมูลไว้ที่เซิร์ฟเวอร์กลาง
- Incremental/continual learning ครอบคลุมวิธีเรียนรู้ข้อมูลใหม่อย่างต่อเนื่องโดยยังคงรักษาความรู้เดิมไว้
7. LLM, LangChain และ ChatGPT
- แนะนำ AI agent อย่าง AutoGPT ที่แบ่งเป้าหมายที่ผู้ใช้ระบุออกเป็นหลายขั้นตอนและดำเนินการโดยอัตโนมัติ
- สามารถเรียนรู้การ fine-tuning LLM ภาษาเกาหลี รวมถึงเทคนิค RLHF และ LoRA ผ่านกรณีตัวอย่างอย่าง KoChatGPT, KoAlpaca
- แหล่งข้อมูล LangChain ครอบคลุมวิธีเชื่อม LLM กับ PDF, เว็บไซต์, CSV/Excel และโมเดล Hugging Face
- สามารถใช้เอกสาร OpenAI API และ Cookbook เพื่อพัฒนาบริการถามตอบ สรุปเอกสาร และวิเคราะห์ข้อมูลได้
8. การเรียนรู้ภาคปฏิบัติด้วย Kaggle และ Dacon
- มีแหล่งข้อมูลแบบเป็นขั้นตอน ตั้งแต่วิธีเริ่มใช้ Kaggle, การใช้ชุดข้อมูล, API, ขั้นตอนเข้าร่วมการแข่งขัน ไปจนถึงโซลูชันของผู้ชนะ
- สามารถฝึกโจทย์ classification และ regression เช่น Titanic, ราคาบ้าน, ความเสี่ยงด้านเครดิต และความต้องการใช้จักรยาน
- ยังแบ่งการแข่งขันและ tutorial ตามสาขา เช่น image detection, natural language processing, time series และเสียง
- แก่นสำคัญคือการสั่งสมประสบการณ์ด้าน data preprocessing, model validation และการปรับปรุงประสิทธิภาพจากปัญหาที่คล้ายงานจริง
9. รูปแบบหลากหลายของแหล่งเรียนรู้
- คอร์สเรียนจัดทำโดยเน้นเนื้อหาฟรีหรือเปิดสาธารณะ เช่น Coursera, Stanford, T Academy, YouTube
- บล็อกอธิบายหัวข้อต่าง ๆ อย่างลึกซึ้งยิ่งขึ้น เช่น คณิตศาสตร์ สถิติ งานวิจัย และ natural language processing
- GitHub repository มี Jupyter Notebook ที่รันได้ โค้ดตัวอย่าง โมเดล pre-trained และชุดข้อมูล
- Wikidocs และ e-book เหมาะสำหรับการเรียน Python, deep learning, algorithmic trading และอื่น ๆ ตามลำดับแบบหนังสือ
10. Open Data และเครื่องมือพัฒนา
- แนะนำแหล่งข้อมูลหลากหลาย เช่น AI Hub, Public Data Portal, Seoul Open Data Plaza และ Papers with Code
- จัดระเบียบไลบรารีตามวัตถุประสงค์ โดยเน้น TensorFlow, PyTorch และ Scikit-learn
- ยังรวม PublicDataReader สำหรับเรียกดูข้อมูลสาธารณะเป็น DataFrame รวมถึงชุดข้อมูลด้านการแพทย์, vision และภาษาเกาหลี
- มีแหล่งข้อมูลสำหรับสภาพแวดล้อมพัฒนาบน Docker และการตั้งค่า GPU server จึงช่วยในการจัดสภาพแวดล้อมสำหรับโปรเจกต์จริง
11. ชุมชนและข้อมูลเส้นทางอาชีพ
- สามารถแลกเปลี่ยนคำถามและข้อมูลผ่านชุมชนตามเทคโนโลยี เช่น TensorFlow Korea, PyTorch KR, Kaggle Korea
- แนะนำงาน การหางาน เงินเดือน และประสบการณ์เรียนต่อบัณฑิตวิทยาลัยผ่านบทสัมภาษณ์ data scientist และ machine learning engineer ที่ทำงานอยู่จริง
- ยังสามารถดูความเป็นไปได้ในการเข้าสายงานของผู้ที่ไม่ได้จบตรงสาย หรือความแตกต่างของบทบาทระหว่าง data scientist กับ ML engineer
- แสดงให้เห็นว่านอกจากการเรียนเทคโนโลยีแล้ว portfolio, การแข่งขัน และกิจกรรมชุมชนก็สำคัญต่อการเตรียมเส้นทางอาชีพเช่นกัน
การประเมินหลัก
| มุมมอง | เนื้อหา |
|---|---|
| ลักษณะของแหล่งข้อมูล | ชุดรวมลิงก์และแหล่งฝึกปฏิบัติแบบครบวงจรสำหรับเรียน machine learning และ AI ด้วยตัวเอง |
| จุดเด่นหลัก | ครอบคลุมกว้างตั้งแต่พื้นฐานจนถึง LLM ล่าสุด และมีแหล่งข้อมูลฟรีจำนวนมาก |
| ผู้อ่านที่เหมาะสม | ผู้เริ่มต้น AI, นักพัฒนา, นักวิเคราะห์ข้อมูล, ผู้เตรียมตัวใช้ Kaggle |
| วิธีใช้งาน | แทนที่จะดูทุกแหล่งข้อมูลตามลำดับ ให้เลือกเส้นทางการเรียนให้ตรงกับสาขาเป้าหมาย |
| ข้อควรระวัง | แหล่งข้อมูลบางส่วนค่อนข้างเก่า จึงควรตรวจสอบเวอร์ชันของไลบรารีและความทันสมัยของเทคโนโลยี |
2 ความคิดเห็น
โอ๊ะ~~ ชอบอะไรแบบนี้~!
ว้าว ขอบคุณสำหรับข้อมูลจำนวนมหาศาลนี้มากครับ!