ต้นขั้ว Transfer Learning คืออะไร? - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

Transfer Learning คืออะไร?

mm
วันที่อัพเดท on

Transfer Learning คืออะไร?

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

ก่อนที่จะเจาะลึกถึงวิธีต่างๆ ที่สามารถนำไปใช้ในการถ่ายโอนการเรียนรู้ได้ ลองใช้เวลาสักครู่เพื่อทำความเข้าใจว่าทำไมการถ่ายโอนการเรียนรู้จึงเป็นเทคนิคที่ทรงพลังและมีประโยชน์

การแก้ปัญหาการเรียนรู้เชิงลึก

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

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

หลังจากออกแบบและทดสอบแบบจำลองแล้ว หากแบบจำลองนั้นมีประโยชน์ ก็สามารถบันทึกและนำกลับมาใช้ใหม่ได้ในภายหลังสำหรับปัญหาที่คล้ายคลึงกัน

ประเภทของการเรียนรู้การถ่ายโอน

โดยทั่วไปมีสองแบบที่แตกต่างกัน ประเภทของการเรียนรู้การถ่ายโอน: การพัฒนาแบบจำลองตั้งแต่เริ่มต้นและใช้แบบจำลองที่ผ่านการฝึกอบรมมาแล้ว

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

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

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

การปรับแต่งเครือข่าย

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

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

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

ตัวอย่างการถ่ายโอนการเรียนรู้

แอปพลิเคชั่นการถ่ายโอนการเรียนรู้ที่พบมากที่สุดน่าจะเป็นแอปพลิเคชั่นที่ใช้ข้อมูลรูปภาพเป็นอินพุต สิ่งเหล่านี้มักเป็นงานทำนาย/จัดประเภท ทาง เครือข่ายประสาทเทียม ตีความข้อมูลภาพยืมตัวเองเพื่อนำแง่มุมของแบบจำลองกลับมาใช้ใหม่ เนื่องจากชั้นการบิดเบี้ยวมักจะแยกแยะคุณลักษณะที่คล้ายคลึงกันมาก ตัวอย่างหนึ่งของปัญหาการเรียนรู้การถ่ายโอนทั่วไปคืองาน ImageNet 1000 ซึ่งเป็นชุดข้อมูลขนาดใหญ่ที่เต็มไปด้วยวัตถุ 1000 คลาสที่แตกต่างกัน บริษัทที่พัฒนาโมเดลที่มีประสิทธิภาพสูงในชุดข้อมูลนี้มักจะปล่อยโมเดลของตนภายใต้สิทธิ์การใช้งานที่อนุญาตให้ผู้อื่นนำโมเดลเหล่านั้นกลับมาใช้ใหม่ได้ โมเดลบางส่วนที่เกิดจากกระบวนการนี้ ได้แก่ โมเดล Microsoft ResNet, Google Inception Model และ รุ่นอ็อกซ์ฟอร์ด VGG กลุ่ม

บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม