ระดับเนื้อหา: Overview / Implementation considerations
หลักการและการเลือกใช้
CNN ใช้ convolution แบ่งปันน้ำหนักเพื่อเรียนลักษณะเฉพาะบริเวณ ชั้นลึกเพิ่ม receptive field และมักใช้เป็น backbone สำหรับ classification, detection หรือ segmentation การเลื่อนภาพอาจให้ผลใกล้เคียงแต่ไม่ได้คงทนต่อทุกมุมหรือทุกสเกล
อธิบายง่าย ๆ CNN ใช้ตัวกรองแบบเดียวกันตรวจส่วนต่าง ๆ ของภาพ แล้วรวมผลเพื่อเห็นรูปแบบที่กว้างขึ้น Convolution คือการคำนวณจากบริเวณใกล้กันด้วยน้ำหนักที่เรียนได้ ไม่ใช่การค้นหารูปที่กำหนดไว้ตายตัว การแบ่งปันน้ำหนักช่วยใช้รูปแบบเดียวกันหลายตำแหน่ง แต่ข้อมูลที่ฝึกยังต้องครอบคลุมมุม แสง และรายละเอียดที่ต้องแยกจริง
Receptive field คือพื้นที่ของภาพต้นทางที่มีอิทธิพลต่อค่าหนึ่งในชั้นคำนวณ ส่วน pooling รวมข้อมูลเพื่อลดขนาดและรายละเอียดบางส่วน วิศวกรต้องเลือกขนาดภาพและขั้นย่อให้สัญญาณสำคัญยังอยู่ โดยเฉพาะเข็มบางหรือจุดทศนิยม Backbone เป็นเพียงส่วนสกัดตัวแทน ต้องมีหัวทำนายตรงกับงานและตรวจว่าคำตอบที่ส่งออกมีความหมายอะไร ไม่ใช้ชื่อ CNN เป็นคำอธิบายผลสำเร็จ
เลื่อนแผนภาพซ้าย–ขวาเพื่อดูรายละเอียดครบทุกส่วน
ตัวอย่างในบริบทอุตสาหกรรม
ตัวอย่างเชิงออกแบบ: CNN จำแนก ROI ว่าเป็นหน้าปัดเข็มหรือจอดิจิทัล แล้วส่งไปวิธีอ่านที่เหมาะสม ไม่ใช้ชื่อ class แทนค่าที่แสดงบนเครื่องมือ
สมมติภาพหน้าปัดเข็มในชุดฝึกมีตราผู้ผลิตหนึ่งเสมอ แต่จอดิจิทัลใช้ตราอีกแบบ ตัวจำแนกอาจจำตราแทนลักษณะหน้าปัด เมื่อนำไปใช้กับตราใหม่จึงผิด ควรจัดตัวอย่างที่ลดความสัมพันธ์ลวงและตรวจภาพที่เปลี่ยนพื้นหลังอย่างเหมาะสม ไม่กล่าวว่าการจำแนกชนิดอุปกรณ์ถูกหมายถึงอ่านข้อความหรือมุมเข็มในอุปกรณ์นั้นได้ถูกด้วย
วิศวกรตรวจภาพ ROI หลังการปรับขนาดและ normalization ซึ่งคือการจัดช่วงค่าพิกเซลให้ตรงวิธีฝึก แล้วทดสอบช่องทางชนิดไม่รู้จัก หากภาพว่างหรือกรอบผิดไม่ควรถูกบังคับเป็นหนึ่งในชนิดที่มี การเชื่อมต่อกับตัวอ่านต้องส่งทั้งชนิด คะแนน และสถานะยืนยัน เพื่อไม่ให้ความผิดของตัวจำแนกกลายเป็นตัวเลขปลายทางที่ดูปกติโดยไม่มีหลักฐานว่าภาพเหมาะกับวิธีอ่านนั้น
ขั้นตอนศึกษาและทดลอง
- 1 กำหนด class ให้รวมกรณีไม่รู้จักหรือช่องทางปฏิเสธ
- 2 เทียบ backbone ขนาดต่างกันด้วย split และขนาดภาพเดียวกัน
- 3 ทดสอบเกจคนละยี่ห้อและกล้องต่างชนิดจากชุดฝึก
วิธีประเมินและนิยามผล
รายงาน confusion matrix ราย class และเวลาประมวลผลทั้ง ROI ทดลองว่าฉากหลังหรือตราผู้ผลิตทำให้ทำนายแทนรูปแบบหน้าปัดหรือไม่
ดูว่าความผิดชนิดใดนำไปใช้ตัวอ่านผิดและชนิดใดเพียงส่งตรวจซ้ำ ไม่สรุปจากสัดส่วนจำแนกถูกทั้งชุดเพราะชนิดที่พบมากอาจกลบชนิดหายาก ควรตรวจชุดแยกตามเรือนและกล้อง รวมถึงภาพที่ไม่ใช่อุปกรณ์ในขอบเขต การเพิ่มสถานะไม่รู้จักช่วยไม่ให้บังคับคำตอบ แต่ต้องวัดว่าปฏิเสธภาพที่ถูกไปมากเท่าใดพร้อมกัน
วิศวกรเทียบ backbone ต่างขนาดด้วยข้อมูลและการปรับภาพเดียวกัน โดยแยกผลของความละเอียดออกจากจำนวนชั้น ใช้ภาพตัวอย่างตรวจผลก่อนและหลังส่งออก และตรวจเวลารับ ROI กับการเตรียมข้อมูลด้วย หากความผิดเกิดเฉพาะภาพที่ crop ไม่ครบ ให้แก้ขั้นหาบริเวณหรือเกณฑ์รับก่อนเพิ่มชั้นคำนวณ พร้อมเก็บภาพผิดเพื่อให้เห็นว่าโมเดลอาศัยสิ่งใดในการแยกประเภท
ข้อจำกัดและกรณีผิดพลาด
โมเดลอาจพึ่ง texture พื้นหลังแทนรูปร่าง และ pooling อาจทำรายละเอียดจุดทศนิยมหรือเข็มบางหาย Domain shift ยังต้องตรวจ
Texture คือรายละเอียดพื้นผิวที่อาจสัมพันธ์กับคำตอบในชุดฝึกโดยบังเอิญ เช่น สีโลหะหรือฉากหลัง การดูแผนที่ตอบสนองช่วยสำรวจแต่ไม่พิสูจน์ว่าโมเดลใช้เหตุผลถูกต้อง หากเปลี่ยนวัสดุแล้วผลลด ต้องตรวจช่วงข้อมูลและคำตอบ ไม่อ้างว่าความสามารถเลื่อนตำแหน่งได้ทำให้ทนทุกการเปลี่ยนแสงหรือมุม เพราะคุณสมบัติของสถาปัตยกรรมไม่ได้รับรองขอบเขตใช้งานทั้งหมด
การลดภาพเพิ่มความประหยัดทรัพยากรแต่ทำให้รายละเอียดเฉพาะงานหาย ขณะที่เพิ่มความละเอียดอาจไม่ช่วยหากคำตอบกำกับไม่ชัด ควรเลือกสมดุลจากผลปลายทางและมีชุดปฏิเสธนอกขอบเขต การใช้ CNN เป็นส่วนหนึ่งของการทดลองวิธีภาพ ไม่ใช่ข้อยืนยันว่าผลิตภัณฑ์ใช้สถาปัตยกรรมนี้แล้ว หรือว่าสามารถอ่านอุปกรณ์ทุกชนิดที่มีรูปลักษณ์คล้ายตัวอย่างได้โดยไม่ตรวจเพิ่มเติม
รายการตรวจสอบก่อนนำไปใช้
- normalization ตรง pretrained model หรือไม่
- ข้อมูล train มีตัวอย่างทุก class หรือไม่
- ทดสอบภาพ crop ผิดและภาพว่างหรือไม่