สวัสดีค่ะทุกท่าน,, เมื่อวันศุกร์ที่ผ่านมานิกมีโอกาสได้เข้าร่วมบรรยายให้กับทีมพัฒนาภายในขององค์กรเกี่ยวกับการใช้ AI ช่วยในกระบวนการทำงาน ซึ่งหนึ่งในหัวข้อที่ทำให้นักพัฒนาสนใจกันมากๆ คือเรื่องของความต่างระหว่าง Generative AI กับ Predictive AI ซึ่งเสริมความเข้าใจให้มากยิ่งขึ้นไปอีกด้วยการ Workshop ใช้งาน Roboflow ในการทำ Image Classification จากโจทย์เท่ๆ ที่ว่า “ถ้าเราจะส่งสัตว์เลี้ยง แล้วไม่อยากให้พวกเขาทะเลาะกันในระหว่างเดินทาง เราจะทำยังไงดี?” 💡
ซึ่งถ้าเพื่อนๆ เคยสงสัยว่า Predictive AI สามารถ “ทำนาย” จากข้อมูลในอดีตได้อย่างไร และ Generative AI นั้น “สร้างสรรค์” อะไรออกมาได้แบบไร้ขีดจำกัดบ้าง ในบทความนี้กันเราจะมาสำรวจโลกของ AI สองสายนี้ไปด้วยกันค่ะ พร้อมกับยกตัวอย่างภารกิจจริงที่ใช้ AI คัดแยกสัตว์เลี้ยงเพื่อให้เห็นภาพชัดเจนมากยิ่งขึ้น Let’s dive in (≧◡≦) ♡
#0 Generative AI กับ Predictive AI ต่างกันอย่างไร?
อันดับแรกก่อนที่เราจะไปทำ Workshop กัน นิกอยากชวนทุกท่านมาทำความเข้าใจความต่างระหว่าง Generative AI กับ Predictive AI
โดย Predictive AI เป็นรูปแบบของปัญญาประดิษฐ์ที่เน้น “การพยากรณ์” หรือ “การทำนาย” ผลลัพธ์บางอย่างจากข้อมูลในอดีต เช่น การทำนายยอดขายล่วงหน้า การวิเคราะห์แนวโน้มผู้บริโภค หรือแม้แต่การจำแนกสัตว์ในภาพถ่ายก็จัดอยู่ในหมวดนี้ค่ะ หากเราใช้โมเดลที่เรียนรู้จากภาพก่อนหน้าแล้วนำไป Predict ว่าสัตว์ตัวนั้นคืออะไร
ในขณะที่ Generative AI คือ AI ที่สามารถ “สร้าง” ข้อมูลใหม่จากการเรียนรู้ เช่น สร้างภาพใหม่จากข้อความ (text-to-image), สร้างบทความ (text-to-text), หรือแม้แต่สร้างวิดีโอ โดยไม่ใช่การทำนายสิ่งที่มีอยู่แล้ว แต่เป็นการ “ประดิษฐ์สิ่งใหม่” ขึ้นมา เช่น Gemini, DALL·E, ChatGPT, Midjourney เป็นต้นค่ะ
โดยขั้นตอนในการทำ Predictive AI มีดังนี้:
- การกำหนดปัญหา — เช่น การคัดแยกสัตว์เลี้ยงออกจากกันเพื่อป้องกันไม่ให้น้องๆ ทะเลากันระหว่างการขนส่ง
- การเก็บรวมรวมข้อมูล — เช่น การถ่ายภาพสัตว์เลี้ยงประเภทต่างๆ เช่น แมว หมา นก
- การประมวลผลข้อมูลดิบ — การทำ label ให้ภาพ, การจัดหมวดหมู่ข้อมูลให้ชัดเจน
- การเลือกโมเดล — เช่น การเลือกโมเดลสำหรับ Image Classification
- การให้โมเดลเรียนรู้ข้อมูล (Training) — ป้อนข้อมูลพร้อม label ให้โมเดลเรียนรู้
- การประเมินผลโมเดล — ตรวจสอบความแม่นยำของโมเดลด้วยชุด Valid/Test
- การปรับปรุงโมเดล — หากความแม่นยำไม่พอ ต้องกลับไปจัดการข้อมูลใหม่
- การนำโมเดลไปใช้งานจริง — เช่น ติดตั้งโมเดลในตู้ AI Scanner หรืออื่นๆ เป็นต้นค่ะ
#1 ลงมือจริงกับ Roboflow: การสร้างระบบ AI Classification (no-code)
เพื่อให้เข้าใจภาพของ Predictive AI มากยิ่งขึ้น นิกอยากชวนทุกท่านมาสมมติตัวเองเป็น CTO ของ Thunder Express บริษัทโลจิสติกส์แนวใหม่ที่ไม่หยุดนิ่งกับไอเดียล้ำสมัย ซึ่งได้ประชุมกันเพื่อเปิดตัวบริการใหม่สุดท้าทาย นั่นคือ บริการขนส่งสัตว์เลี้ยง! ฟังดูน่ารักดีใช่ไหมคะ? แต่ว่า,, ปัญหาก็ตามมาแบบแทบจะทันที เพราะน้องๆ สัตว์เลี้ยงที่ไม่คุ้นกันมักจะ “ตีกัน” ระหว่างขนส่งอยู่เสมอ (ಥ _ ಥ)
และเพื่อแก้ปัญหานี้ ทีม CTO ก็ได้ไอเดียขึ้นมาว่า “ถ้าเราคัดแยกสัตว์เลี้ยงก่อนเข้าตู้ขนส่งได้ล่ะ จะเป็นยังไง” และนั่นคือจุดเริ่มต้นของภารกิจสร้าง AI Scanner สำหรับจำแนกสัตว์เลี้ยง ขึ้นมา
และในวันนี้ พวกเราจะได้ร่วมทางไปกับน้อง Linux วิศวกร AI ของบริษัท Thunder Express ที่กำลังจะใช้ Predictive AI แท้ๆ ในการ Train Model ให้ระบบรู้จักแยกสัตว์ออกจากกันโดยอิงจากภาพถ่าย มาดูกันว่าภารกิจนี้เป็นอย่างไร และเราจะได้เรียนรู้ความต่างระหว่าง Generative AI กับ Predictive AI จากการลงมือทำจริงไปพร้อมกันค่ะ^^
ขั้นตอนการสร้างระบบ AI Scanner ด้วย Roboflow:
ในส่วนนี้ทุกท่านสามารถเข้าไปที่ https://roboflow.com/ แล้วเลือก Get Started โดยเมื่อเราเข้ามาก็ให้เราดำเนินการสมัครสมาชิก โดยใช้การ login ผ่าน “Continue with Google” ได้เลย
ซึ่งแพลตฟอร์มก็จะให้เราเลือกว่าเป็น Premium Trial หรือ Public Plan ซึ่งก็ให้เราเลือก “Public Plan” เพื่อทดลองใช้ไปก่อนค่ะ
- สร้างโปรเจกต์ใหม่
- กด “New Project”
- ตั้งชื่อโปรเจกต์ เช่น “Pet Classifier”
- เลือกประเภทเป็น “Classification”
- เลือก “Single Label” เพราะแต่ละภาพมีแค่ชนิดเดียว
- อัปโหลดภาพสัตว์เลี้ยง
- เตรียมภาพแมว หมา นก
- กำหนด Label ให้ภาพแต่ละใบอย่างถูกต้อง เช่น “Cat”, “Dog”, “Bird” 😽🐶🐔🦔
- ป.ล. หากทุกท่านยังไม่มีภาพ สามารถใช้ภาพจาก URL นี้ทดลองเล่นได้เลยค่ะ => https://bit.ly/animal_training_data
- แบ่งข้อมูลออกเป็น 3 ส่วน
- Train (70%) — ให้โมเดลเรียนรู้
- Valid (20%) — สำหรับวัดผลขณะฝึก
- Test (10%) — ทดสอบโมเดลแบบไม่เคยเห็นข้อมูลมาก่อน
- Train Model
- กด “Train Model” แล้วรอระบบฝึกโมเดลให้เรา
- ใช้เวลาไม่นาน (ขึ้นกับจำนวนภาพ)
- ทดสอบและดูผลลัพธ์
- เลือก “View Model” และ “Test Model”
- อัปโหลดภาพใหม่ที่ไม่เคยใช้ฝึก แล้วดูว่าโมเดลตอบว่าอะไร พร้อมความมั่นใจ (% Confidence)
ซึ่งเมื่อนิกลอง Test เป็นภาพน้องหมาไป สิ่งที่เจอก็คือ โมเดลนี้ทายว่าเป็น “แมว” ด้วยความมั่นใจ 51% (ต่างจากเดานิดเดียว) 🤣🤣 นั่นหมายความว่า โมเดลนี้ยังไม่ดีพอค่ะ เราต้องทำการ Upload ภาพเพิ่ม หรือทำ Augmentation แล้ว Train โมเดลใหม่
#2 การปรับปรุงโมเดลด้วย AUG ใน Roboflow
Augmentation คือเทคนิคการ “แปรรูปภาพ” เพื่อเพิ่มความหลากหลายของชุดข้อมูล โดยไม่ต้องไปถ่ายภาพใหม่ เช่น การหมุนภาพ การกลับด้าน การปรับแสง หรือแม้แต่การเพิ่ม noise ลงไปในภาพ ซึ่งช่วยให้โมเดลเรียนรู้ได้จากหลายมุมมอง และลดปัญหา overfitting ที่โมเดลจำข้อมูลเฉพาะเจาะจงเกินไป
ซึ่งบน Roboflow แพลตฟอร์มจะให้เราเลือกเปิดใช้ AUG ได้ง่ายมาก โดยแค่กดเข้าไปที่เมนู “Generate” หรือ “Preprocessing” ในโปรเจกต์ของเรา จากนั้นระบบจะมีตัวเลือกของการ Aug ให้เลยอัตโนมัติ ซึ่งเราสามารถเลือกเปิด/ปิด และกำหนดระดับของการเปลี่ยนแปลงได้ตามใจเราเลย เช่น:
- Rotation หมุนภาพแบบสุ่ม เพื่อให้โมเดลเข้าใจแมวที่นั่งหันข้างหรือหมาที่นอนเอียง
- Flip กลับด้านภาพ เช่น ซ้าย ↔ ขวา ซึ่งเหมาะมากกับภาพสัตว์เลี้ยงที่มีท่าทางคล้ายกัน
- Brightness / Contrast ปรับแสงและความเข้มเพื่อให้โมเดลทนต่อสภาพแสงที่หลากหลาย
- Noise / Blur ใส่สัญญาณรบกวนเบา ๆ หรือเบลอภาพ เพื่อจำลองการถ่ายภาพที่ไม่ชัด
- Crop / Zoom / Scale ตัดภาพบางส่วน หรือซูมเข้า-ออก เพื่อให้โมเดลมองเห็นทั้งภาพใกล้และไกล
โดยสิ่งที่น่าประทับใจมากก็คือ Roboflow จะแสดง ภาพตัวอย่าง Augmentation แบบ Real-Time ทำให้เราเห็นเลยว่า ถ้าเราตั้งค่าแบบนี้ ภาพจะถูกแปรรูปยังไง ซึ่งช่วยให้เราออกแบบการ Aug ได้อย่างมีเหตุผลตามปัญหาจริง
เมื่อเราเลือกเสร็จแล้ว ก็กด “Generate Dataset” เพื่อให้ Roboflow สร้างชุดข้อมูลใหม่ที่ผ่านการ Augmentation เตรียมไว้สำหรับขั้นตอนการ Train โมเดลที่เราต้องการปรับปรุงได้เลยค่ะ
ซึ่งเราจะทำวนลูปซ้ำแบบนี้ไปเรื่อยๆ จนกว่าจะได้โมเดลที่มี Accuracy ตามที่เราต้องการ ก็เป็นอันเสร็จเรียบร้อยค่ะ ✍(◔◡◔)
Last but not least =>>
เป็นยังไงกันบ้างคะทุกคน~ จากไอเดียเล็กๆ อย่างการแยกสัตว์เลี้ยงออกจากกันเพื่อไม่ให้น้องๆ ทะเลาะกันระหว่างส่งของ กลายมาเป็นโปรเจกต์ Predictive AI ที่เราสามารถสร้างและฝึกได้เองด้วย Roboflow แบบง่ายๆ และตลอดบทความนี้ เราได้เรียนรู้ความต่างระหว่าง Generative AI ที่ “สร้าง” สิ่งใหม่ กับ Predictive AI ที่ “วิเคราะห์/จำแนก” สิ่งที่มีอยู่ ผ่านกรณีศึกษาจริงๆ ซึ่งไม่ว่าเราจะเป็น Developer, นักเรียน, สตาร์ทอัป หรือแค่คนที่อยากลองสร้าง AI โปรเจกต์แรกในชีวิต.… Roboflow คือหนึ่งในเครื่องมือที่นิกอยากแนะนำให้ลองใช้กันดูค่ะ,, Let’s build smarter AI Together 🐶🐱📸