ตัวอย่าง 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 ทุกตัวให้โดยอัตโนมัติ

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

ทำไม GPU ถึงจำเป็นต่อ Deep Learning เปรียบเทียบ CPU vs GPU เทรน Deep Neural Network – Hardware ep.2

เราคงเคยได้ยินว่า จำเป็นต้องใช้ GPU ในการเทรน Deep Learning ที่ Deep Learning ทำงานได้ดีในยุคปัจจุบัน ก็เพราะมี Data มหาศาลจากอินเตอร์เน็ต และ มี Hardware คือ GPU ทำให้การวิจัยอัลกอริทึมใหม่ ๆ สร้างโมเดล Deep Neural Network แบบใหม่ ๆ เทคโนโลยีพัฒนาได้อย่างรวดเร็ว แต่มันเป็นเรื่องจริงหรือไม่ GPU มีผลแค่ไหน เทียบกับเราใช้ CPU ธรรมดา เราจะมาทดสอบกัน

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 ขึ้นมาอีก

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 ของจุดศูนย์กลางของหัว

Image Segmentation คืออะไร Image Segmentation แยกส่วนภาพ ภาพถ่ายบนท้องถนน CamVid ด้วย Deep Learning – Image Segmentation ep.1

ใน ep ก่อน ๆ เราสอนเรื่อง Image Classification คือ 1 รูป 1 หมวด แล้วต่อมาเป็น Multi-label Image Classification คือ 1 รูป หลายหมวด มาถึงใน ep นี้ เราจะมาสอนเรื่อง Image Segmentation แยกส่วนภาพ คือ 1 Pixel 1 หมวด หมายถึง ใน 1 รูป เราจะจำแนก Pixel หลายล้าน Pixel ทีละจุด ว่าแต่ละจุด คืออะไร

Batch Size คืออะไร ปรับอย่างไรให้พอดี กับ GPU Memory และ ได้ Accuracy สูงสุด ในการเทรน Deep Neural Network – Hyperparameter Tuning ep.2

ในปัจจุบันการเทรน Deep Neural Network ใช้พื้นฐานอัลกอริทึมมาจาก Mini-Batch Stochastic Gradient Optimization เป็นส่วนใหญ่ และจำนวนตัวอย่างข้อมูลที่เราป้อนให้โมเดลในหนึ่งครั้ง หรือ 1 Mini-Batch คือ Hyperparameter สำคัญตัวหนึ่งที่เราต้องปรับจูน ซึ่งใน Library ต่าง ๆ จะใช้ชื่อว่า Batch Size