เปรียบเทียบ TensorFlow vs PyTorch ในปี 2019 ว่า Machine Learning Framework ไหน เป็นที่นิยมมากกว่ากัน

สงคราม Machine Learning Framework ระหว่าง TensorFlow และ PyTorch ที่ระอุขึ้น ตั้งแต่มีกระแส Deep Learning ในปี 2012 ล่าสุดใครจะเป็นผู้ชนะ Framework จะได้รับความนิยมมากกว่ากัน

lr_find หา Learning Rate ที่ดีที่สุดในการเทรน Machine Learning โมเดล Deep Neural Network ด้วย Callback – Neural Network ep.12

จาก ep ก่อน เราได้รู้จัก Hyperparameter ที่สำคัญที่สุดในการเทรน Machine Learning ชื่อ Learning Rate แต่ปัญหาคือ ถ้าเรากำหนดค่า Learning น้อยไปก็ทำให้เทรนได้ช้า แต่ถ้ามากเกินไปก็ทำให้ไม่ Converge หรืออาจจะ Error ไปเลย แล้วเราจะมีวิธีใด ที่จะหาค่า Learning Rate ที่ดีที่สุด มาใช้เทรน Deep Neural Network ของเรา

ตัวอย่าง Callback ในการเทรน Machine Learning คำนวน Metrics, Recorder บันทึก Loss, Learning Rate – Neural Network ep.11

จาก ep ที่แล้ว ที่เราประยุกต์ใช้ Callback กับ Training Loop ในการเทรน Machine Learning ด้วยอัลกอริทึม Gradient Descent สร้างเป็น Runner Class ที่มี Callback ในทุก ๆ Event ที่เป็นไปได้ ในการเทรน Deep Neural Network แล้วเราจะใช้ประโยชน์จาก ระบบ Callback อันแสนยืดหยุ่นนี้ อย่างไรได้บ้าง ใน ep นี้เราจะมาดูตัวอย่างการสร้าง Callback แบบง่าย ๆ แต่มีประโยชน์ คือการ คำนวน Metrics และ บันทึกค่า Loss, Learning Rate

Refactor โค้ด Neural Network สร้าง DataBunch และ Learner ปรับปรุง Training Loop – Neural Network ep.9

ใน ep ที่แล้วเราได้ Neural Network และ Training Loop ที่ทำงานได้ดีพอสมควร มีการวัดผล Metrics กับข้อมูลใน Validation Set เพื่อให้แน่ใจว่าโมเดลทำงานได้ถูกต้องกับข้อมูลที่ไม่เคยเห็นมาก่อน แต่โค้ด Training Loop ของเรายังมีความซับซ้อนเกินไป ใช้ Parameter จากภายนอกถึง 6 ตัว ซึ่งมากเกินไป ทำให้ยากต่อการต่อยอดเทรนในอัลกอริทึมที่ซับซ้อนยิ่งขึ้น แล้วเราจะแก้ไขอย่างไร

สับไพ่ข้อมูล DataLoader ด้วย Random Sampler และ Collate ป้อนโมเดล เทรน Machine Learning – Neural Network ep.7

ในแต่ละ Epoch ของการเทรน Machine Learning สอนโมเดล Deep Neural Network เราไม่ควรป้อนข้อมูลที่เรียงลำดับเหมือนกันทุกครั้งให้โมเดล ใน ep นี้เราจะมาสร้าง DataLoader เวอร์ชันใหม่ ที่จะสับไพ่ข้อมูลตัวอย่างก่อนป้อนให้โมเดล เป็นการลดการจำข้อสอบของโมเดล ช่วยให้โมเดล Generalization ได้ดีขึ้น ลด Variance ของโมเดล

Refactor สร้าง Optimizer สำหรับอัพเดท Parameter ของ Neural Network ในการเทรน Deep Learning – Neural Network ep.6

ใน ep นี้เราจะมา Refactor Model สร้าง Module, Parameter และ Optimizer เป็น Abstraction ในจัดการการอัพเดท Parameter ของโมเดล ด้วยอัลกอริทึมต่าง ๆ เพื่อลดความซับซ้อน ของ Training Loop ทำให้การเทรน Neural Network ยืดหยุ่นขึ้น เราจะใช้โค้ดจาก Neural Network ep 5 เป็นโค้ดเริ่มต้น นำมา Refactor ต่อ

Visualization เจาะลึกภายใน Neural Network วิเคราะห์ Activation และ Gradient ด้วย Heatmap และ Grad-CAM – ConvNet ep.4

หลาย ๆ คนจะมองว่า Neural Network เป็นเหมือนกล่องดำ ข้างในมีแต่ตัวเลข เมตริก เทนเซอร์ Neuron, Activation, Gradient วิ่งไปวิ่งมา โดยที่เราไม่รู้ว่า Logic การทำงานภายในของมันเป็นอย่างไร ไม่สามารถเข้าใจได้ แต่เราสามารถใช้เทคนิค Grad-CAM มาช่วยในการตีความ Activation และ Gradient ของโมเดล ทำให้เข้าใจถึงการทำงานภายใน Neural Network มากขึ้น ว่าโมเดลพิจารณาจากบริเวณไหน Attention โฟกัสส่วนไหน เป็นพิเศษ

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