ข้ามไปยังเนื้อหา
EN
บทความความรู้

CNN — Convolutional Neural Network

CNN ใช้ convolution แบ่งปันน้ำหนักเพื่อเรียนลักษณะเฉพาะบริเวณ ชั้นลึกเพิ่ม receptive field และมักใช้เป็น backbone สำหรับ classification, detection หรือ segmentation การเลื่อนภาพอาจให้ผลใกล้เคียงแต่ไม่ได้คงทนต่อทุกมุมหรือทุกสเกล

CNN — Convolutional Neural Network

แผนภาพอธิบายหลักการ ไม่ใช่หน้าจอผลิตภัณฑ์หรือผลทดสอบจริง

ระดับเนื้อหา: Overview / Implementation considerations

หลักการและการเลือกใช้

CNN ใช้ convolution แบ่งปันน้ำหนักเพื่อเรียนลักษณะเฉพาะบริเวณ ชั้นลึกเพิ่ม receptive field และมักใช้เป็น backbone สำหรับ classification, detection หรือ segmentation การเลื่อนภาพอาจให้ผลใกล้เคียงแต่ไม่ได้คงทนต่อทุกมุมหรือทุกสเกล

อธิบายง่าย ๆ CNN ใช้ตัวกรองแบบเดียวกันตรวจส่วนต่าง ๆ ของภาพ แล้วรวมผลเพื่อเห็นรูปแบบที่กว้างขึ้น Convolution คือการคำนวณจากบริเวณใกล้กันด้วยน้ำหนักที่เรียนได้ ไม่ใช่การค้นหารูปที่กำหนดไว้ตายตัว การแบ่งปันน้ำหนักช่วยใช้รูปแบบเดียวกันหลายตำแหน่ง แต่ข้อมูลที่ฝึกยังต้องครอบคลุมมุม แสง และรายละเอียดที่ต้องแยกจริง

Receptive field คือพื้นที่ของภาพต้นทางที่มีอิทธิพลต่อค่าหนึ่งในชั้นคำนวณ ส่วน pooling รวมข้อมูลเพื่อลดขนาดและรายละเอียดบางส่วน วิศวกรต้องเลือกขนาดภาพและขั้นย่อให้สัญญาณสำคัญยังอยู่ โดยเฉพาะเข็มบางหรือจุดทศนิยม Backbone เป็นเพียงส่วนสกัดตัวแทน ต้องมีหัวทำนายตรงกับงานและตรวจว่าคำตอบที่ส่งออกมีความหมายอะไร ไม่ใช้ชื่อ CNN เป็นคำอธิบายผลสำเร็จ

เลื่อนแผนภาพซ้าย–ขวาเพื่อดูรายละเอียดครบทุกส่วน

CNN — Convolutional Neural Network
CNN — Convolutional Neural Networkแผนภาพอธิบายหลักการ ไม่ใช่หน้าจอผลิตภัณฑ์หรือผลทดสอบจริง

ตัวอย่างในบริบทอุตสาหกรรม

ตัวอย่างเชิงออกแบบ: CNN จำแนก ROI ว่าเป็นหน้าปัดเข็มหรือจอดิจิทัล แล้วส่งไปวิธีอ่านที่เหมาะสม ไม่ใช้ชื่อ class แทนค่าที่แสดงบนเครื่องมือ

สมมติภาพหน้าปัดเข็มในชุดฝึกมีตราผู้ผลิตหนึ่งเสมอ แต่จอดิจิทัลใช้ตราอีกแบบ ตัวจำแนกอาจจำตราแทนลักษณะหน้าปัด เมื่อนำไปใช้กับตราใหม่จึงผิด ควรจัดตัวอย่างที่ลดความสัมพันธ์ลวงและตรวจภาพที่เปลี่ยนพื้นหลังอย่างเหมาะสม ไม่กล่าวว่าการจำแนกชนิดอุปกรณ์ถูกหมายถึงอ่านข้อความหรือมุมเข็มในอุปกรณ์นั้นได้ถูกด้วย

วิศวกรตรวจภาพ ROI หลังการปรับขนาดและ normalization ซึ่งคือการจัดช่วงค่าพิกเซลให้ตรงวิธีฝึก แล้วทดสอบช่องทางชนิดไม่รู้จัก หากภาพว่างหรือกรอบผิดไม่ควรถูกบังคับเป็นหนึ่งในชนิดที่มี การเชื่อมต่อกับตัวอ่านต้องส่งทั้งชนิด คะแนน และสถานะยืนยัน เพื่อไม่ให้ความผิดของตัวจำแนกกลายเป็นตัวเลขปลายทางที่ดูปกติโดยไม่มีหลักฐานว่าภาพเหมาะกับวิธีอ่านนั้น

ขั้นตอนศึกษาและทดลอง

ขั้นตอนศึกษาและทดลอง
  1. 1 กำหนด class ให้รวมกรณีไม่รู้จักหรือช่องทางปฏิเสธ
  2. 2 เทียบ backbone ขนาดต่างกันด้วย split และขนาดภาพเดียวกัน
  3. 3 ทดสอบเกจคนละยี่ห้อและกล้องต่างชนิดจากชุดฝึก

วิธีประเมินและนิยามผล

รายงาน confusion matrix ราย class และเวลาประมวลผลทั้ง ROI ทดลองว่าฉากหลังหรือตราผู้ผลิตทำให้ทำนายแทนรูปแบบหน้าปัดหรือไม่

ดูว่าความผิดชนิดใดนำไปใช้ตัวอ่านผิดและชนิดใดเพียงส่งตรวจซ้ำ ไม่สรุปจากสัดส่วนจำแนกถูกทั้งชุดเพราะชนิดที่พบมากอาจกลบชนิดหายาก ควรตรวจชุดแยกตามเรือนและกล้อง รวมถึงภาพที่ไม่ใช่อุปกรณ์ในขอบเขต การเพิ่มสถานะไม่รู้จักช่วยไม่ให้บังคับคำตอบ แต่ต้องวัดว่าปฏิเสธภาพที่ถูกไปมากเท่าใดพร้อมกัน

วิศวกรเทียบ backbone ต่างขนาดด้วยข้อมูลและการปรับภาพเดียวกัน โดยแยกผลของความละเอียดออกจากจำนวนชั้น ใช้ภาพตัวอย่างตรวจผลก่อนและหลังส่งออก และตรวจเวลารับ ROI กับการเตรียมข้อมูลด้วย หากความผิดเกิดเฉพาะภาพที่ crop ไม่ครบ ให้แก้ขั้นหาบริเวณหรือเกณฑ์รับก่อนเพิ่มชั้นคำนวณ พร้อมเก็บภาพผิดเพื่อให้เห็นว่าโมเดลอาศัยสิ่งใดในการแยกประเภท

ข้อจำกัดและกรณีผิดพลาด

โมเดลอาจพึ่ง texture พื้นหลังแทนรูปร่าง และ pooling อาจทำรายละเอียดจุดทศนิยมหรือเข็มบางหาย Domain shift ยังต้องตรวจ

Texture คือรายละเอียดพื้นผิวที่อาจสัมพันธ์กับคำตอบในชุดฝึกโดยบังเอิญ เช่น สีโลหะหรือฉากหลัง การดูแผนที่ตอบสนองช่วยสำรวจแต่ไม่พิสูจน์ว่าโมเดลใช้เหตุผลถูกต้อง หากเปลี่ยนวัสดุแล้วผลลด ต้องตรวจช่วงข้อมูลและคำตอบ ไม่อ้างว่าความสามารถเลื่อนตำแหน่งได้ทำให้ทนทุกการเปลี่ยนแสงหรือมุม เพราะคุณสมบัติของสถาปัตยกรรมไม่ได้รับรองขอบเขตใช้งานทั้งหมด

การลดภาพเพิ่มความประหยัดทรัพยากรแต่ทำให้รายละเอียดเฉพาะงานหาย ขณะที่เพิ่มความละเอียดอาจไม่ช่วยหากคำตอบกำกับไม่ชัด ควรเลือกสมดุลจากผลปลายทางและมีชุดปฏิเสธนอกขอบเขต การใช้ CNN เป็นส่วนหนึ่งของการทดลองวิธีภาพ ไม่ใช่ข้อยืนยันว่าผลิตภัณฑ์ใช้สถาปัตยกรรมนี้แล้ว หรือว่าสามารถอ่านอุปกรณ์ทุกชนิดที่มีรูปลักษณ์คล้ายตัวอย่างได้โดยไม่ตรวจเพิ่มเติม

รายการตรวจสอบก่อนนำไปใช้

  • normalization ตรง pretrained model หรือไม่
  • ข้อมูล train มีตัวอย่างทุก class หรือไม่
  • ทดสอบภาพ crop ผิดและภาพว่างหรือไม่

เอกสารอ้างอิงและอ่านต่อ

เชื่อมแนวคิด

หัวข้อความรู้ที่เกี่ยวข้อง

ศึกษาในบริบทงาน

หัวข้อและแนวทางประยุกต์ที่เกี่ยวข้อง

แยกสิ่งที่เรียนรู้จากสิ่งที่ต้องตรวจรับ

หากต้องการประเมินงานจริง ควรระบุภาพตัวอย่าง ข้อจำกัดหน้างาน และเกณฑ์ยอมรับ แล้วสอบถามขอบเขตที่ยืนยันได้

อ่านบทความเทคโนโลยีและแนวทางใช้งาน AI

เรียนรู้หลักการ ข้อจำกัด และวิธีประเมินระบบจากบทความที่เผยแพร่บนเว็บไซต์

ข่าวสาร