จัดโครงสร้างโปรเจ็กต์แมชชีนเลิร์นนิงของคุณเพื่อสร้างผลลัพธ์ที่จับต้องได้และเพิ่มประสิทธิภาพของทีม

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

แม้ว่าความจำเป็นของการมีกลยุทธ์ข้อมูลจะได้รับการยอมรับอย่างกว้างขวางในบริษัทขนาดเล็กและขนาดใหญ่ แต่ความท้าทายทั่วไปยังคงอยู่: จะจัดโครงสร้างและจัดการโครงการการเรียนรู้ของเครื่องอย่างไร

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

สำหรับวิดีโอบทแนะนำแบบลงมือปฏิบัติจริงเกี่ยวกับแมชชีนเลิร์นนิง การเรียนรู้เชิงลึก และปัญญาประดิษฐ์ โปรดดูที่ "ช่อง YouTube" ของฉัน

เหตุใดฉันจึงต้องมีกลยุทธ์ AI

แน่นอนว่าเราต้องเริ่มต้นด้วย ทำไม เหตุใดการพัฒนากลยุทธ์ AI ภายในบริษัทจึงมีความสำคัญ

ปัญหาในโครงการแมชชีนเลิร์นนิงคือมีหลายวิธีในการปรับปรุงประสิทธิภาพของโมเดล:

  • รวบรวมข้อมูลเพิ่มเติม
  • ฝึกฝนอัลกอริธึมให้นานขึ้น
  • เปลี่ยนสถาปัตยกรรมของโมเดล
  • รับชุดการฝึกที่หลากหลายมากขึ้น

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

ดังนั้นความสำคัญของกลยุทธ์ AI ที่มีการกำหนดไว้อย่างดี มันจะช่วยทำให้ทีมมีประสิทธิภาพมากขึ้น และเพิ่ม ROI ของโครงการ AI ของคุณ

การวางแนวมุมฉาก

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

การวางแนวมุมฉาก หมายถึงการมีการควบคุมที่มีฟังก์ชันเฉพาะเจาะจงมาก

ตัวอย่างเช่น เก้าอี้สำนักงานมีคันโยกสำหรับยกขึ้นลง ในขณะที่ล้อบนเก้าอี้ทำให้เลื่อนในแนวนอน ในกรณีนี้ คันโยกคือส่วนควบคุมที่มีหน้าที่ยกเก้าอี้และลดระดับลง ล้อเป็นตัวควบคุมพร้อมฟังก์ชั่นการเคลื่อนย้ายเก้าอี้ในแนวนอน

ดังนั้น การควบคุมเหล่านี้จึง ตั้งฉาก การกลิ้งเก้าอี้บนล้อจะไม่ลดเก้าอี้ลง เช่นเดียวกับการดึงคันโยกบนเก้าอี้จะไม่ทำให้เก้าอี้เคลื่อนไปข้างหลัง

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

สิ่งนี้แปลเป็นโครงการ AI ได้อย่างไร

อันดับแรก เราต้องพิจารณาห่วงโซ่ของสมมติฐานในการเรียนรู้ของเครื่อง

ห่วงโซ่ของสมมติฐานในแมชชีนเลิร์นนิง

สันนิษฐานว่าหากโมเดลทำงานได้ดีในชุดการฝึก ก็จะทำงานได้ดีในชุด dev จากนั้นจะทำงานได้ดีในชุดทดสอบ จากนั้นก็จะทำงานได้ดีในโลกแห่งความเป็นจริง

นี่เป็นรายการสมมติฐานทั่วไปในโครงการ AI ทีนี้ แบบจำลองใดที่ทำงานได้ไม่ดีในสถานการณ์เหล่านี้

  • ชุดการฝึกอบรม: ฝึกอบรมเครือข่ายที่ใหญ่กว่าหรือเปลี่ยนอัลกอริธึมการปรับให้เหมาะสม
  • ชุดการพัฒนา: ใช้การทำให้เป็นมาตรฐานหรือชุดการฝึกอบรมที่ใหญ่กว่า
  • ชุดทดสอบ: ใช้ชุด dev ที่ใหญ่กว่า
  • โลกแห่งความเป็นจริง: เปลี่ยนการกระจายชุด dev (เพิ่มเติมในภายหลัง) หรือเปลี่ยนฟังก์ชันต้นทุน

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

ทีนี้ คุณจะรู้ได้อย่างไรว่าโมเดลของคุณทำงานได้ดีหรือไม่

การตั้งเป้าหมาย

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

เมตริกการประเมินตัวเลขตัวเดียว

การมีเมตริกการประเมินเพียงตัวเดียวช่วยให้ประเมินอัลกอริทึมได้รวดเร็วยิ่งขึ้น

ตัวอย่างเช่น เป็นเรื่องปกติที่จะใช้ความแม่นยำและการเรียกคืนสำหรับตัวแยกประเภท อย่างไรก็ตาม มีการแลกเปลี่ยนระหว่างสองตัวชี้วัดนี้ ให้ใช้คะแนน F1 ซึ่งเป็นค่าเฉลี่ยฮาร์มอนิกของความแม่นยำและการเรียกคืนแทน ดังนั้นจึงใช้เมตริกตัวเดียว และการประเมินคุณภาพของโมเดลต่างๆ จะง่ายขึ้นมาก และยังช่วยเร่งความเร็วในการวนซ้ำอีกด้วย

ตัวชี้วัดที่น่าพึงพอใจและเพิ่มประสิทธิภาพ

เมื่อคุณมีตัวชี้วัดการประเมินตัวเดียวแล้ว เป็นเรื่องปกติที่จะติดตามตัวชี้วัดสำคัญอื่นๆ

ตัวอย่างเช่น คุณอาจต้องการสร้างตัวแยกประเภทที่มีคะแนน F1 อย่างน้อย 0.90 และรันไทม์น้อยกว่า 200ms ในกรณีนี้ คะแนน F1 จะเป็นเมตริก การเพิ่มประสิทธิภาพ ในขณะที่รันไทม์เป็นเมตริก น่าพอใจ

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

ชุดฝึกอบรม การพัฒนา และการทดสอบ

ชุดรถไฟ dev และชุดทดสอบถูกกล่าวถึงข้างต้น แต่จริงหรือ?

ชุดการฝึกอบรมและการพัฒนา (หรือการระงับ) ใช้เพื่อฝึกแบบจำลอง โดยทั่วไปชุดการฝึกจะใช้เพื่อให้พอดีกับโมเดลกับข้อมูล และใช้ชุดการพัฒนาเพื่อคาดการณ์และปรับแต่งโมเดล

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

การกระจายการฝึกอบรม/การพัฒนา/การทดสอบ

เมื่อคุณมีชุดข้อมูลที่แตกต่างกัน คุณต้องตรวจสอบให้แน่ใจว่าการแจกจ่ายนั้นเป็นตัวแทนของข้อมูลที่คุณคาดว่าจะได้รับในอนาคต

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

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

ขนาดการฝึกอบรม/การพัฒนา/การทดสอบ

แต่ละชุดควรมีขนาดเท่าไร?

โดยทั่วไปแล้ว การแยกเคยเป็น 60/20/20 สำหรับชุดรถไฟ/การพัฒนา/การทดสอบตามลำดับ สิ่งนี้ยังคงใช้ได้หากข้อมูลมีไม่มากนัก

อย่างไรก็ตาม ในกรณีที่คุณมีอินสแตนซ์หลายล้านอินสแตนซ์ การแบ่งที่เหมาะสมกว่าจะเป็น 98/1/1 เนื่องจากยังคงสามารถตรวจสอบความถูกต้องของโมเดลบนจุดข้อมูลมากกว่า 10,000 จุดได้

เมื่อเทียบกับประสิทธิภาพระดับมนุษย์

เมื่อเร็วๆ นี้ เราเริ่มเห็นพาดหัวข่าวว่าระบบ AI มีประสิทธิภาพเหนือกว่ามนุษย์หรือใกล้เคียงกับประสิทธิภาพของมนุษย์มาก

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

อย่างไรก็ตาม ฉันจะปรับปรุงโมเดลได้อย่างไร

ในกรณีที่โมเดลของคุณมีความเหมาะสมมากเกินไป คุณต้องลดความแปรปรวนโดย:

ในกรณีที่โมเดลของคุณมีข้อมูลไม่เพียงพอ คุณจะต้องลดอคติโดย:

  • การฝึกโมเดลที่ใหญ่กว่าหรือซับซ้อนมากขึ้น
  • ใช้อัลกอริธึมการปรับให้เหมาะสมที่ดีกว่าหรือฝึกให้นานขึ้น
  • เปลี่ยนรุ่น

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

คำสุดท้าย

การสร้างระบบ AI เป็นกระบวนการที่ต้องทำซ้ำๆ สิ่งสำคัญคือต้องสร้างอย่างรวดเร็ว ทดสอบ และปรับปรุง อย่าตั้งเป้าที่จะสร้างระบบที่ซับซ้อนมากในตอนแรก แต่อย่าสร้างสิ่งที่ง่ายเกินไป

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

ที่มา: Deeplearning.ai