สอนอ่านโมเดล Convolutional Neural Network ดู shape ของ Activation Map วิเคราะห์ Model Architecture – ConvNet ep.7

ในการเรียนรู้ สถาปัตยกรรม Deep Neural Network ออกแบบ Convolutional Neural Network การเลือกใช้ Layer ชนิดต่าง ๆ เลือก จำนวน Channel In/Out, ขนาด Kernel, Padding, Stride, etc. ว่าจะเปลี่ยนแปลง shape ของข้อมูลไปอย่างไร จนได้ผลลัพธ์ที่ต้องการ เป็น Output ออกจากโมเดล ถ้าเราสามารถรู้ถึง shape ข้อมูล Activation ที่ผ่านไปในแต่ละ Layer จะทำให้เราเข้าใจการทำงานของโมเดลได้ดีขึ้น ออกแบบ และ Debug โมเดล ได้ง่ายขึ้น

Convolutional Neural Network คืออะไร ภาษาไทย ตัวอย่างการทำงาน CNN, ConvNet กับชุดข้อมูล MNIST – ConvNet ep.1

ใน ep ที่แล้ว Neural Network ep.13 ที่เราได้สร้างโมเดล Deep Neural Network ที่ใช้ Linear Layer + ReLU Activation Function เราได้สร้าง Training Loop ที่มีความ Flexible จาก Callback ทำให้เราสามารถ Schedule Hyperparameter ได้ตามต้องการ แต่ไม่ว่าจะเทรนอย่างไร เราก็จำแนก MNIST ได้ Accuracy สูงสุดแค่ 97% เท่านั้น เนื่องจากข้อจำกัดของ Model Architecture แล้วเราจะแก้ปัญหานี้อย่างไรดี

Schedule Hyperparameter ในการเทรน Machine Learning เทรนโมเดล Deep Neural Network ด้วย Learning Rate ไม่คงที่ One Cycle – Neural Network ep.13

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

MNIST คืออะไร

MNIST Database คือ ชุดข้อมูลรูปภาพของตัวเลขอารบิก 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ที่เขียนด้วยลายมือ 70,000 รูป MNIST คือ ชุดข้อมูลสำหรับไว้เทรน Artificial Intelligence (AI) เกี่ยวกับ Computer Vision / Image Processing

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

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

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

Visualization ภายในโมเดล Deep Neural Network แสดงผลการเทรน Deep Learning ด้วย Tensorboard ep.1

ตามปกติเราจะคิดว่า Deep Neural Network เป็นเหมือน Black Box หรือกล่องดำ ที่เราไม่สามารถจะเข้าใจการทำงานภายในได้ Tensorboard คือเครื่องมือที่จะช่วยให้เราส่องทะลุเข้าไปเห็นถึงการทำงานภายในของโมเดล ตั้งแต่การเทรน Deep Learning, Metrics, Gradient, Embedding, Optimization, Etc. ให้เราเห็นภาพ และเข้าใจมากขึ้น ช่วยให้การ Debug, Hyperparameter Tuning ทำได้ง่ายขึ้น

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 ทีละจุด ว่าแต่ละจุด คืออะไร

Multi-label Image Classification จำแนกพื้นที่ป่าไม้ ภาพถ่ายจากดาวเทียม ด้วย Deep Learning – Image Classification ep.5

ใน ep.5 นี้ เราจะมาเพิ่มความซับซ้อนขึ้นจากที่ 1 รูป 1 Label กลายเป็น 1 รูป หลาย Label จำแนกพื้นที่ป่าไม้ โดยใช้ชุดข้อมูลภาพถ่ายจากดาวเทียม ภาพถ่ายทางอากาศ ของป่าอเมซอน แห่งทวีปอเมริกาใต้ ผืนป่าที่ใหญ่ที่สุดในโลก ในการติดตามการเปลี่ยนแปลงของผืนป่า ตำแหน่งการตัดไม้ทำลายป่า รุกล้ำแนวเขตอุทยาน ไฟป่า สภาวะโลกร้อน เพื่อแจ้งเตือนแก่รัฐบาล หน่วยงานในพื้นทีในการรับมือได้อย่างทันท่วงทีต่อไป