6 ส.ค. 2022 เวลา 00:24 • วิทยาศาสตร์ & เทคโนโลยี
Data-Centric Approach vs Model-Centric Approach in Machine Learning (ตอนที่ 3) 》》》
โดย Harshil Patel
■ การนําโครงสร้างพื้นฐานของ data-centric มาใช้ 》》》
การถือว่าข้อมูลเป็นสินทรัพย์พื้นฐานที่จะอยู่ได้นานกว่าแอปพลิเคชันและโครงสร้างพื้นฐานเมื่อใช้สถาปัตยกรรม data-centric วิธีการนี้ไม่จําเป็นต้องมีฐานข้อมูลหรือที่เก็บข้อมูลเดียว แต่เป็นความเข้าใจร่วมกันเกี่ยวกับข้อมูลที่มีคําอธิบายที่เหมือนกัน data-centric ML ทําให้การแชร์และเคลื่อนย้ายข้อมูลเป็นเรื่องง่าย
■ ปัจจัยสําคัญที่ควรพิจารณาขณะใช้ data-centric approach 》》》
1. Data label quality (คุณภาพป้ายชื่อข้อมูล) 》》
การติดป้ายชื่อข้อมูลเป็นกระบวนการกําหนดป้ายกํากับอย่างน้อยหนึ่งรายการให้กับข้อมูล ป้ายชื่อจะเชื่อมโยงกับค่าเฉพาะที่ใช้กับข้อมูล เมื่อภาพจํานวนมากติดป้ายกํากับไม่ถูกต้อง ผลลัพธ์ที่ได้จะต่ำกว่าการใช้ภาพน้อยแต่ติดป้ายชื่อถูกต้อง
ป้ายชื่อจะให้ข้อมูลโดยละเอียดเกี่ยวกับเนื้อหาและโครงสร้างของชุดข้อมูล ซึ่งอาจรวมถึงส่วนประกอบต่างๆ เช่น ชนิดข้อมูล หน่วยการวัด และรอบระยะเวลาที่แสดงในชุดข้อมูล วิธีที่ดีที่สุดในการปรับปรุงคุณภาพป้ายชื่อคือ การค้นหาความไม่สอดคล้องกันในป้ายชื่อ และทํางานกับคําแนะนําในการติดป้ายชื่อ
2. Data augmentation (การเพิ่มข้อมูล) 》》
การเพิ่มข้อมูลเป็นงานวิเคราะห์ข้อมูลที่เกี่ยวข้องกับการสร้างข้อมูลที่แตกต่างจากข้อมูลที่มีอยู่ เพื่อเพิ่มข้อมูลทดสอบ ML เช่นนำภาพหรือวีดีโอที่มีอยู่มาสร้างภาพสังเคราะห์หรือเฟรมวิดีโอที่มีระดับความสมจริงที่แตกต่างกัน ช่วยเพิ่มจํานวนข้อมูลที่แตกต่างกัน เช่น จํานวนส่วนประกอบการผลิตที่ผิดพลาด โดยการสร้างข้อมูลที่แบบจำลองยังไม่เคยเห็นมาก่อน
อย่างไรก็ตามการเพิ่มข้อมูลไม่ใช่ตัวเลือกที่ดีที่สุดเสมอไป การกําจัดการตรวจข้อมูลที่ไม่มีความหมายซึ่งเป็นเหตุที่ทําให้เกิดความแปรปรวนสูง จะช่วยเพิ่มความสามารถของแบบจําลองในการเห็นข้อมูลใหม่
3. Feature engineering 》》
เป็นกระบวนการของการเพิ่มคุณลักษณะให้กับแบบจําลองโดยการเปลี่ยนข้อมูลอินพุต ความรู้ก่อนหน้าหรืออัลกอริทึม ใช้ใน ML เพื่อช่วยเพิ่มความแม่นยําของแบบจําลองการคาดการณ์
การปรับปรุงคุณภาพของข้อมูลเกี่ยวข้องกับการปรับปรุงทั้งข้อมูลอินพุตและเป้าหมาย/ป้ายชื่อ Feature engineering เป็นสิ่งสําคัญสําหรับการเพิ่มคุณสมบัติที่อาจไม่มีอยู่ในรูปแบบเดิม แต่สามารถสร้างความแตกต่างอย่างมีนัยสําคัญ
4. Data versioning (การกําหนดเวอร์ชันข้อมูล) 》》
ในแอปพลิเคชันซอฟต์แวร์ใด ๆ การกําหนดเวอร์ชันข้อมูลมีบทบาทสําคัญ นักพัฒนาซอฟต์แวร์ต้องการติดตามข้อบกพร่องโดยการเปรียบเทียบสองเวอร์ชันและดูสิ่งที่ไม่สมเหตุสมผล หรือบางทีอาจป้องกันข้อผิดพลาดนั้นโดยการปรับใช้เวอร์ชันนั้นอีกครั้ง
การจัดการการเข้าถึงชุดข้อมูล รวมถึงชุดข้อมูลแต่ละเวอร์ชันหลายเวอร์ชันตลอดเวลา เป็นเรื่องยากและเกิดข้อผิดพลาดได้ง่าย การกําหนดเวอร์ชันข้อมูลเป็นหนึ่งในขั้นตอนที่สําคัญที่สุดในการบํารุงรักษาข้อมูล นั่นคือสิ่งที่ช่วยให้ติดตามการเปลี่ยนแปลง (ทั้งการเพิ่มเติมและการลบ) ไปยังชุดข้อมูล การกําหนดเวอร์ชันทําให้การทํางานร่วมกันบนโค้ดและจัดการชุดข้อมูลเป็นเรื่องง่าย
การกําหนดเวอร์ชันยังทําให้ง่ายต่อการจัดการ ML Pipeline ตั้งแต่การพิสูจน์แนวคิดไปจนถึงการผลิต นี่คือเวลาที่เครื่องมือ MLOps เข้ามาช่วยเหลือ เนื่องจากการจัดการไปป์ไลน์ข้อมูล (ย้ายข้อมูลจากต้นทาง ไปยังปลายทาง) เป็นงานที่ยากอย่างมากในการพัฒนาแอปพลิเคชัน ML การกําหนดเวอร์ชันช่วยให้มั่นใจได้ถึงความสามารถในการทําซ้ําและความน่าเชื่อถือ
ตัวอย่างแพลตฟอร์มที่ดีที่สุดบางส่วนสําหรับการกําหนดเวอร์ชันข้อมูล เช่น Neptune, Weights & Biases (WandB) และ Data Version Control (DVC)
5. Domain knowledge (ความรู้เชิงลึกในศาสตร์สาขาใดสาขาหนึ่ง) 》》
ความรู้เชิงลึกในศาสตร์สาขาใดสาขาหนึ่งมีคุณค่าอย่างยิ่งใน data-centric approach ผู้เชี่ยวชาญเฉพาะด้านมักจะสามารถตรวจจับความคลาดเคลื่อนเล็กน้อยที่วิศวกร ML, นักวิทยาศาสตร์ข้อมูล และ labeler (ผู้ทำป้ายชื่อข้อมูล) ไม่สามารถทําได้ ผู้ที่มีความรู้เชิงลึกในศาสตร์สาขาใดสาขาหนึ่ง (domain experts) ยังคงหายไปในระบบ ML ระบบ ML อาจทํางานได้ดีขึ้นหากถ้าได้รับความรู้เชิงลึกในศาสตร์นั้น ๆ
#DataCentric #ModelCentric #machinelearning #artificialintelligence #code #data
โฆษณา