สอนเขียนโปรแกรม CUDA Programming ในการประมวลแบบขนาน ด้วย Python

เริ่มต้น CUDA Programming วันนี้เราจะมาเรียนรู้เรื่องการประมวลผลแบบขนาน ด้วย CUDA ในภาษา Python โดยเฉพาะอย่างยิ่งในงานการประมวลผลภาพ ที่เราจะได้เห็นการแปลงภาพ RGB เป็นภาพเฉดสีเทา และการคูณเมทริกซ์ ซึ่งเป็นพื้นฐานสำคัญในงานประมวลผลภาพ และความเข้าใจในการทำงานของ CUDA

AI วินิจฉัยโรคมะเร็งผิวหนัง 7 ชนิด ความแม่นยำ 94% Melanoma Skin Cancer HAM10000 Dermatoscopic Pigmented Lesions – Image Classification ep.8

โรคมะเร็งผิวหนัง นับเป็นปัญหาใหญ่ในทางสาธารณสุข ทุก ๆ ปี ในประเทศสหรัฐอเมริกา เราจะพบผู้ป่วยใหม่ มากกว่า 5 ล้านราย มะเร็งผิวหนัง Melanoma เป็นมะเร็งผิวหนังชนิดที่ร้ายแรงที่สุด เป็นมะเร็งผิวหนังชนิดที่คร่าชีวิตคนมากที่สุด ในปี 2015 ทั่วโลก มีการตรวจพบ Melanoma มากกว่า 350,000 เคส โดยมีผู้ป่วยเสียชีวิต 60,000 คน ถึงแม้อัตราการเสียชีวิตจะสูง แต่ถ้ามีการวินิจฉัยโรคมะเร็งผิวหนังที่ง่ายขึ้น ตรวจพบตั้งแต่ระยะเริ่มต้น และรักษาได้อย่างทันท่วงที เราจะสามารถเพิ่มอัตราการรอดชีวิต ได้มากกว่า 95% ใน ep นี้ เราจะมาสร้าง AI โมเดล Deep Learning ที่จะวินัจฉัยโรคมะเร็งผิวหนัง ด้วยการจำแนกรูปถ่ายผิวพรรณ ที่มีความผิดปกติของเม็ดสี ว่าเป็นโรคอะไรใน 7 โรคที่กำหนด ด้วยความแม่นยำ 94%

Fashion MNIST Dataset คืออะไร

Fashion MNIST คือ ชุดข้อมูลรูปภาพแฟชั่น เสื้อผ้า กางเกง กระโปรง รองเท้า กระเป๋า จาก Zalando ทุกรูปมีขนาด 28×28 Pixel ล้อกับชุดข้อมูลตัวเลขที่เขียนด้วยลายมือ MNIST Dataset ที่พวกเรารู้จักกันดี

สอน TensorFlow.js สร้าง Convolutional Neural Network (ConvNet, CNN) จำแนกรูปภาพ ตัวเลขลายมือ MNIST ทำ Visualization ด้วย tfvis – tfjs ep.4

ใน ep นี้เราจะสร้าง Convolutional Neural Network (ConvNet, CNN) ด้วย TensorFlow.js สำหรับจำแนกรูปภาพ ตัวเลขลายมือ MNIST Dataset ทำ Visualization ด้วย tfvis และนอกจากนั้นเราจะเรียนรู้เทคนิค Sprite Sheet ที่จะช่วยแก้ปัญหาดาวน์โหลดข้อมูลใหม่ทุก Epoch ที่เราพบใน ep ที่แล้ว

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 แล้วเราจะแก้ปัญหานี้อย่างไรดี

MNIST คืออะไร

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

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 ต่อ

ใช้ Dataset, DataLoader ป้อนข้อมูลให้ Neural Network ทีละ Batch สอน Refactor Training Loop – Neural Network ep.5

ใน ep นี้เราจะมาสร้าง Dataset และ DataLoader เพื่อเป็น Abstraction ในจัดการข้อมูลตัวอย่าง x, y จาก Training Set, Validation Set ที่เราจะป้อนให้กับ Neural Network ใช้เทรน ใน Training Loop ของ Machine Learning

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 ทำได้ง่ายขึ้น

AI จำแนกปัญหาผิวพรรณ Machine Learning เรียนรู้จากชุดข้อมูลสร้างเอง สอนสร้างโมเดล Deep Neural Network ด้วย Python – Image Classification ep.4

ใน ep.4 นี้เราจะมาลองสร้างชุดข้อมูลปัญหาผิวพรรณของเราขึ้นมาเองแบบง่าย ๆ ด้วย Google Images Search หรือถ้าใครมี Domain Expertise เชี่ยวชาญทางด้านไหน เช่น การแพทย์ การผลิต การตลาด การเกษตร การเงิน แฟชั่น etc. ก็สามารถนำมาใช้ได้ ไม่จำกัด แล้วสร้างโมเดล Deep Learning ด้วย Python ให้เรียนรู้จากรูปในอินเตอร์เน็ต ดูว่าความแม่นยำจะเป็นอย่างไร