สอน 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 เป็นอย่างมาก

เทนเซอร์ 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 ของเราได้อย่างไร

ReLU Function คืออะไร ทำไมถึงนิยมใช้ใน Deep Neural Network ต่างกับ Sigmoid อย่างไร – Activation Function ep.3

เรามาถึง Activation Function ep.3 เรื่อง ReLU Function ซึ่งเป็นฟังก์ชันที่นิยมใช้ในการเทรน Deep Learning มากที่สุดในปัจจุบัน เมื่อเราดูโครงสร้างภายในโมเดล Deep Neural Network ชื่อดังสมัยใหม่ ก็จะเห็นแต่ ReLU เต็มไปหมด แล้ว ReLU มีดีตรงไหน ต่างกับ Sigmoid และ Tanh อย่างไร เราจะมาเรียนรู้กัน

Tanh Function คืออะไร เปรียบเทียบกับ Sigmoid Function ต่างกันอย่างไร – Activation Function ep.2

จาก ep ก่อนที่เราเรียนรู้เรื่อง Activation Function คืออะไร ใน Artificial Neural Network และพูดถึง Sigmoid Function แต่ในปัจจุบัน Activation Function ที่ได้รับความนิยมมีอีกหลายตัว หนึ่งในนั้นคือ Tanh แล้ว Tanh ต่างกับ Sigmoid อย่างไร ทำไมถึงต้องมี Tanh ขึ้นมาอีก

Activation Function คืออะไร ใน Artificial Neural Network, Sigmoid Function คืออะไร – Activation Function ep.1

ในสมองของมนุษย์คนหนึ่ง จะประกอบด้วยหน่วยเล็ก ๆ เรียกว่า นิวรอน (Neuron) จำนวนประมาณ 8 หมื่น 6 พันล้านนิวรอน ดังรูปด้านบน และแต่ละนิวรอนก็จะเชื่อมต่อโยงใยกันด้วยเส้นประสาทเรียกว่า ไซแนปส์ (Synapse) รวมแล้วประมาณ 1 พันล้านล้านไซแนปส์ ซึ่งนักวิทยาศาสตร์คอมพิวเตอร์ได้นำมาเป็นแนวคิดในการออกแบบ Artificial Neural Network