ในการเรียนรู้ Neural Network เราจะพบเจอโค้ดที่ใช้ List, Vector, NumPy Array ไปจนถึง High-Order Tensor หมายถึง Array ที่มีมากกว่า 2 มิติขึ้นไป เช่น 3 มิติ 4 มิติ หรือ 5 มิติ จนเป็นเรื่องธรรมดา ใน ep นี้เราจะมาเรียนรู้การใช้งาน Tensor ทำความเข้าใจ element-wise, broadcasting operations
Category Archives: Python
ตัวอย่าง 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
Data Augmentation คืออะไร ประโยชน์ของ Data Augmentaion ในการเทรน Deep Learning – Regularization ep.1
ปัญหาหลักอย่างนึงในการเทรน Deep Learning คือ Dataset ของเรามีข้อมูลตัวอย่างไม่เพียงพอ สมมติว่าเราปิ๊งสุดยอดไอเดีย ที่จะสร้าง App ใหม่ ที่ใช้ Machine Learning ขึ้นมา เราเปิดเว็บเพื่อ Search Google หาข้อมูลตัวอย่าง มาไว้เทรนโมเดล เรานั่ง Search Google Images หารูปภาพอยู่หลายชั่วโมง นั่งจัด นั่ง Clean ข้อมูลที่ไม่เกี่ยวข้องออกไป สุดท้ายเราได้ รูปมา 500 รูป ถ้าหาแบบนี้ 10 วัน ก็ 5,000 รูป แต่เรารู้มาว่าโมเดลที่ดัง ๆ ใช้ข้อมูลในการเทรน เกิน 1 ล้านรูปขึ้นไปทั้งนั้น แล้วเราจะทำอย่างไรดี
สอน Deep Learning สร้างโมเดล Deep Neural Network ประมาณค่า ตำแหน่งหัว Head Pose – Regression ep.1
ในเคสนี้ เราจะสร้างโมเดลแบบ Regression คือ โมเดลที่ Output เป็นค่าต่อเนื่อง หมายถึง ให้ตอบเป็นค่าอะไรก็ได้ ในช่วงที่กำหนด สมมติว่า 0-5 ก็จะเป็นค่าอะไรก็ได้ เช่น 1.555555, 2.3456789, 0.0000000002865, 4.99999999999999 แต่ใน Dataset นี้คือ ตำแหน่งพิกัด x, y ของจุดศูนย์กลางของหัว
