Vanishing Gradient Problem คืออะไร แก้ Vanishing Gradient Problem ด้วย Xavier Initialization และ Kaiming Initialization – Neural Network ep.2

ใน Machine Learning เราจะพบปัญหา Vangishing Gradient ในการเทรน Artificial Neural Network ด้วยอัลกอริทึม Gradient Descent และ Backpropagation ในระหว่างการเทรนโมเดลจะถูกอัพเดท Weight และ Bias จาก Partial Derivative ของ Loss Function ขึ้นกับ Weight, Bias นั้น ๆ ในทุก ๆ รอบการเทรน Vanishing Gradient Problem คือ ปัญหาที่เกิดในบางเคส เราพบว่าในระหว่างการเทรน Gradient มีขนาดเล็กลงเรื่อย ๆ จนเท่ากับ 0 ทำให้ Weight ไม่ถูกอัพเดทอีกต่อไป ทำให้โมเดลเทรนต่อไม่ได้ แล้วเราจะแก้ปัญหานี้อย่างไรดี

Neural Network คืออะไร Artificial Neural Network ทำงานอย่างไร สอนสร้าง Deep Neural Network แบบเข้าใจง่าย – Neural Network ep.1

Neural Network หรือ Artificial Neural Network คือ โครงข่ายประสาทเทียม เป็นสาขาหนึ่งของปัญญาประดิษฐ์ Artificial Intelligence (AI) เป็นแนวคิดที่ออกแบบระบบโครงข่ายคอมพิวเตอร์ ให้เลียนแบบการทำงานของสมองมนุษย์ ใน ep นี้เราจะมาดูกันว่า ภายใน Neural Network นั้นทำงานอย่างไร และเราจะมาสร้าง 2 Layers Deep Neural Network กันตั้งแต่ Tensor, Matrix และฟังก์ชันคณิตศาสตร์พื้นฐาน บวก ลบ คูณ หาร แบบเข้าใจง่าย ๆ ไปทีละขั้นด้วยกัน

สอน PyTorch reshape, squeeze, unsqueeze, flatten จัดการ Shape ของ Tensor หลายมิติ – Tensor ep.2

ใน ep ที่แล้วเราได้เรียนรู้คุณสมบัติพิเศษของ Tensor ที่มีประโยชน์ในการทำ Operation คณิตศาสตร์ ซึ่งเป็นการกระทำกับข้อมูลใน Tensor แต่ใน ep นี้เราจะมาเจาะลึกลงไปถึงเรื่องการจัดการ รูปร่าง (Shape) หรือ มิติ (Dimension) ของ Tensor โดยที่ข้อมูลภายใน Tensor ทั้งหมดยังเหมือนเดิม จำนวน Element ใน Tensor ยังเท่าเดิม ไม่มีการแก้ไขข้อมูลใด ๆ

ทำไมต้อง Vectorization เปรียบเทียบความเร็ว คูณเมตริกซ์ Matrix Multiplication (Dot Product) ด้วยอัลกอริทึม Vectorization และวน Loop – Tensor ep.3

จาก ep ที่แล้ว ที่เราเรียนรู้ถึงคุณสมบัติพิเศษ ของ Tensor ที่จะมาช่วยในการคำนวนต่าง ๆ เมื่อเรามองเจาะลึกเข้าไปภายในของ Deep Neural Network เราจะพบว่าในขณะที่เราเทรน หรือขณะใช้งานโมเดลก็ตาม Mathematical Operations การดำเนินการทางคณิตศาสตร์ส่วนใหญ่ที่เกิดขึ้นก็คือ การคูณเมตริกซ์ โดยเฉพาะการคูณเมตริกซ์ (Matrix Multiplication) แบบ Dot Product การคูณเมตริกซ์ที่รวดเร็วแม่นยำ มีผลต่อการทำงานของ Neural Network เป็นอย่างมาก

Colab คืออะไร เริ่มต้นเรียนรู้ เขียนโปรแกรม AI, Machine Learning โดยไม่ต้องลงโปรแกรม สอนวิธีเปิด Jupyter Notebook ที่อยู่ใน GitHub บน Google Colab – Colab ep.1

ก่อนหน้านี้ ถ้าเราต้องการศึกษา การเขียนโปรแกรม AI, Machine Learning เราต้องดาวน์โหลดโปรแกรม มาติดตั้งมากมาย ไม่ว่าจะเป็น Python, Anaconda, TensorFlow, Keras, PyTorch, Fastai, Sklearn, Jupyter Notebook, etc. โดยไม่รู้ว่าต้องลงอะไรบ้าง Platform อะไร เวอร์ชันไหน เริ่มต้นอย่างไร ใช้ยังไง แต่ตอนนี้เราสามารถแก้ปัญหานี้ได้ง่าย ๆ ด้วยการเข้าไปที่หน้าเว็บ Colab

เทนเซอร์ Tensor คืออะไร NumPy Array, Matrix, Vector คืออะไร เรียนรู้วิธีใช้งาน Element-wise, Broadcasting – Tensor ep.1

ในการเรียนรู้ Neural Network เราจะพบเจอโค้ดที่ใช้ List, Vector, NumPy Array ไปจนถึง High-Order Tensor หมายถึง Array ที่มีมากกว่า 2 มิติขึ้นไป เช่น 3 มิติ 4 มิติ หรือ 5 มิติ จนเป็นเรื่องธรรมดา ใน ep นี้เราจะมาเรียนรู้การใช้งาน Tensor ทำความเข้าใจ element-wise, broadcasting operations

ตัวอย่าง Linear Regression ด้วย Stochastic Gradient Descent (SGD) พื้นฐานของ Neural Network – Optimization ep.2

จาก ep ที่แล้วที่เราเล่าถึงคอนเซ็ปต์ของ SGD ไป ใน ep นี้เราจะมาดูตัวอย่างโค้ดแบบง่ายที่สุด ซับซ้อนน้อยที่สุด ซึ่งเป็นพื้นฐานสำคัญของ Machine Learning แบบ Neural Network คือ Linear Regression ด้วยอัลกอริทึม Stochastic Gradient Descent (SGD) แต่ในการหา Slope นั้นเราไม่ต้อง Diff เอง แต่เราจะใช้ความสามารถ ของ Pytorch เรียกว่า Autograd หา Gredient ของ Parameter ทุกตัวให้โดยอัตโนมัติ

สอน Machine Learning วิเคราะห์ข้อมูลแบบ Time Series Forecasting พยากรณ์ยอดขายร้านขายยา Rossmann ด้วย Deep Neural Network – Tabular Data ep.3

จาก ep ที่แล้วที่เราเรียนรู้เรื่อง Feature Engineering แบบ Basic กันไปแล้ว ใน ep นี้เราจะมาศึกษาข้อมูลที่เราพบบ่อย ๆ ในการทำงานอีกเช่นกัน คือ ข้อมูลแบบ Time Series เราจะสอนโมเดล Machine Learning ให้เรียนรู้จากข้อมูล Time Series ได้อย่างไร ให้ Forecast พยากรณ์ยอดขายร้านขายยา Rossmann ได้ความแม่นยำมากที่สุด และจำเป็นต้องใช้ Deep Neural Network แบบ Recurrent Neural Network (RNN) หรือไม่

Dropout คืออะไร แนะนำการใช้ Dropout ลด Overfit ใน Deep Neural Network – Regularization ep.2

โมเดล Deep Neural Network มักจะมีปัญหา Overfit เมื่อเทรนกับ Dataset ที่มีขนาดเล็ก แต่เราสามารถแก้ปัญหา Overfit โดยใช้วิธีการ Ensembles คือ สร้างหลาย ๆ โมเดลแล้วเอา Output มาเฉลี่ยกัน แต่ทำแบบนี้ทั้งสิ้นเปลืองทรัพยากร เวลา และต้องคอย Maintain หลายโมเดลอีก เราจะมีวิธีอะไรที่ดีกว่านี้ไหม

Feature Engineering คืออะไร ช่วยเพิ่มประสิทธิภาพ Machine Learning วิเคราะห์ผู้รอดชีวิต RMS Titanic อย่างไร – Tabular Data ep.2

จาก ep ที่แล้วที่เราดูตัวอย่าง Machine Learning กับข้อมูลแบบตาราง ใน ep นี้เราจะมาเรียนรู้เรื่องที่จำเป็นในการวิเคราะห์ข้อมูลแบบตาราง นั่นก็คือ Feature Engineering ว่าจะช่วยเพิ่มประสิทธิภาพให้กับโมเดล Deep Neural Network ของเราได้อย่างไร