ระดับเนื้อหา: Overview / Implementation considerations
หลักการและการเลือกใช้
Deep Learning ใช้ชั้นคำนวณหลายระดับเรียนตัวแทนข้อมูลร่วมกับงานปลายทาง โดยปรับน้ำหนักผ่าน backpropagation การใช้ pretrained model ช่วยเริ่มต้นได้ แต่คุณสมบัติจากข้อมูลต้นทางอาจไม่เหมาะกับหน้าปัดอุตสาหกรรม
สำหรับผู้อ่านทั่วไป จุดสำคัญคือระบบเรียนวิธีสรุปภาพด้วย ไม่ต้องกำหนดทุกขอบด้วยมือ ชั้นต้นอาจตอบสนองต่อเส้นและสี ส่วนชั้นถัดไปนำข้อมูลมารวมเพื่อตัดสินงาน แต่ความซับซ้อนนี้ไม่ได้ทำให้ระบบรู้ความหมายของหน่วยหรือขอบเขตการใช้โดยอัตโนมัติ สิ่งที่เรียนได้ยังขึ้นกับภาพและคำตอบที่เลือกให้ฝึก
Backpropagation คือการส่งข้อมูลความผิดพลาดย้อนผ่านชั้นเพื่อปรับน้ำหนัก ส่วน backbone คือส่วนสกัดตัวแทนภาพที่นำไปต่อกับหัวทำนาย การแช่น้ำหนักไว้หรือ freeze ลดจำนวนส่วนที่ต้องปรับ ขณะที่ fine-tune ปรับให้เข้ากับงานใหม่ วิศวกรต้องเลือกตามข้อมูลที่มีและความเสี่ยงที่จะลืมคุณลักษณะเดิม ไม่ใช่ถือว่าปรับทุกชั้นย่อมดีกว่า
เลื่อนแผนภาพซ้าย–ขวาเพื่อดูรายละเอียดครบทุกส่วน
ตัวอย่างในบริบทอุตสาหกรรม
ตัวอย่างเชิงออกแบบ: fine-tune โมเดลภาพเพื่อหาเข็มบนเกจหลายแบบ แยกตัวอ่านสเกลเป็นขั้นเรขาคณิตเพื่อให้ตรวจสอบที่มาของตัวเลขได้
สมมติเรือนเกจบางแบบมีเข็มสีเข้มบนพื้นอ่อน อีกแบบมีเข็มสีอ่อนบนพื้นเข้ม การทดลองควรมีทั้งสองลักษณะและไม่ให้แบบใดอยู่เฉพาะชุดฝึก การปรับภาพต้องคงปลายเข็มไว้ด้วย เพราะการย่อภาพมากจนเข็มหายทำให้คำตอบกำกับยังอยู่แต่หลักฐานในภาพไม่อยู่แล้ว ผลฝึกที่ดีในกรณีนี้อาจมาจากการจำลักษณะหน้าปัดแทน
วิศวกรตรวจภาพเข้าหลังย่อและปรับสี รวมถึงพิกัดที่หัวทำนายส่งออก แล้วซ้อนผลกับภาพต้นฉบับ หากหัวหาเข็มเปลี่ยนจากจุดเป็นเส้นต้องตรวจการเชื่อมต่อกับตัวแปลงมุมใหม่ ใช้ชุดตรวจเดียวกันเปรียบเทียบการแช่กับการปรับ backbone และเก็บผลแต่ละช่วงฝึก เพื่อแยกการเรียนรายละเอียดจริงจากการจำภาพหรือพื้นหลัง
ขั้นตอนศึกษาและทดลอง
- 1 เลือก backbone และขนาดภาพตามรายละเอียดเข็มที่ต้องเห็น
- 2 เปรียบเทียบการ freeze backbone กับ fine-tune บนชุด validation เดียวกัน
- 3 ทดสอบโมเดลที่ส่งออกบนฮาร์ดแวร์เป้าหมายด้วยชุด holdout
วิธีประเมินและนิยามผล
รายงาน learning curve ผลข้ามเรือนเกจ และความคลาดเคลื่อนปลายทางควบคู่หน่วยความจำกับ latency ไม่เลือกโมเดลจาก loss ต่ำที่สุดเพียงอย่างเดียว
Learning curve คือกราฟผลระหว่างการฝึก หากความผิดบนชุดฝึกลดลงแต่ชุดตรวจกลับเพิ่มขึ้น อาจเริ่มจำข้อมูลมากกว่าสรุปกฎที่ใช้ได้กับภาพใหม่ ควรเปรียบเทียบกับความคลาดของค่าหน้าปัดจริง เพราะคะแนนหาเข็มที่ดีขึ้นเล็กน้อยอาจไม่มีประโยชน์เมื่อขั้นอ่านหน่วยยังผิด หรืออาจสำคัญมากที่ปลายช่วงสเกล
ทดสอบโมเดลหลังส่งออกด้วยภาพเดียวกับรุ่นฝึก ตรวจลำดับช่องสี การปรับค่าพิกเซล รูปร่างข้อมูล และผลพิกัดให้ตรงกัน วัดเวลาตั้งแต่รับภาพจนได้ผลพร้อมข้อมูลประกอบ ไม่วัดเพียงชั้นคำนวณบนอุปกรณ์ที่สะดวก หากหน่วยความจำไม่พอหรือผลต่างหลังส่งออก ต้องตรวจเส้นทางใช้งานจริงก่อนรับรองว่าโมเดลรุ่นนั้นพร้อมนำไปทดลอง
ข้อจำกัดและกรณีผิดพลาด
overfitting และ domain shift ยังเกิดได้แม้ใช้ข้อมูลจำนวนมาก ภาพลวงหรือการบังเข็มอาจทำให้โมเดลมั่นใจผิด
Domain shift คือสภาพข้อมูลเปลี่ยนไปจากช่วงที่ฝึก เช่น เปลี่ยนเลนส์ สีหน้าปัด หรือวิธีบีบอัดภาพ ระบบอาจให้คะแนนสูงกับภาพที่ไม่เหมาะสม เพราะคะแนนสะท้อนการตอบสนองของโมเดล ไม่ใช่การยืนยันว่าเหตุการณ์อยู่ในขอบเขตที่เคยตรวจแล้ว ต้องมีการตรวจคุณภาพภาพและตัวอย่างนอกขอบเขตแยกจากตัวทำนายหลัก
การเพิ่มความละเอียดหรือจำนวนชั้นอาจเก็บรายละเอียดได้มากขึ้น แต่เพิ่มการใช้หน่วยความจำและเวลา และไม่ทดแทนคำตอบที่ผิดได้ การลดขนาดเพื่อใช้งานบนอุปกรณ์เล็กก็อาจกระทบเข็มบางมากกว่าวัตถุใหญ่ ควรกำหนดกรณีที่ต้องไม่อ่านและเก็บหลักฐานสำหรับทบทวน ไม่ใช้คำว่าเรียนรู้ลึกเป็นเหตุผลให้ข้ามการตรวจสเกล หน่วย หรือความปลอดภัยของงานปลายทาง
รายการตรวจสอบก่อนนำไปใช้
- บันทึก pretrained weights และสิทธิ์ใช้หรือไม่
- ควบคุม seed และเวอร์ชันข้อมูลหรือไม่
- ทดสอบภาพนอกการกระจายหรือไม่