Caffe2 - บทนำ
สองสามปีที่ผ่านมา Deep Learning ได้กลายเป็นเทรนด์สำคัญใน Machine Learning ได้ถูกนำไปใช้เพื่อแก้ปัญหาที่ไม่สามารถแก้ไขได้ก่อนหน้านี้ใน Vision, Speech Recognition and Natural Language Processing(NLP). มีโดเมนอื่น ๆ อีกมากมายที่ใช้ Deep Learning และได้แสดงให้เห็นถึงประโยชน์ของมัน
Caffe (Convolutional Architecture for Fast Feature Embedding) เป็นกรอบการเรียนรู้เชิงลึกที่พัฒนาขึ้นที่ Berkeley Vision and Learning Center (BVLC). โครงการ Caffe สร้างขึ้นโดย Yangqing Jia ในช่วงที่เขาจบปริญญาเอก ที่มหาวิทยาลัยแคลิฟอร์เนีย - เบิร์กลีย์ Caffe เป็นวิธีง่ายๆในการทดลองกับการเรียนรู้เชิงลึก เขียนด้วยภาษา C ++ และมีการผูกสำหรับPython และ Matlab.
สนับสนุนสถาปัตยกรรมการเรียนรู้เชิงลึกหลายประเภทเช่น CNN (Convolutional Neural Network), LSTM(หน่วยความจำระยะสั้นยาว) และ FC (เชื่อมต่อเต็มที่) รองรับ GPU ดังนั้นจึงเหมาะอย่างยิ่งสำหรับสภาพแวดล้อมการผลิตที่เกี่ยวข้องกับโครงข่ายประสาทเทียมแบบลึก นอกจากนี้ยังรองรับไลบรารีเคอร์เนลที่ใช้ CPU เช่นNVIDIA, ห้องสมุด CUDA Deep Neural Network (cuDNN) และ Intel Math Kernel Library (Intel MKL).
ในเดือนเมษายนปี 2017 Facebook บริษัท ผู้ให้บริการเครือข่ายสังคมออนไลน์ในสหรัฐอเมริกาประกาศ Caffe2 ซึ่งตอนนี้รวม RNN (Recurrent Neural Networks) และในเดือนมีนาคม 2018 Caffe2 ได้รวมเข้ากับ PyTorch ผู้สร้าง Caffe2 และสมาชิกในชุมชนได้สร้างแบบจำลองสำหรับการแก้ปัญหาต่างๆ โมเดลเหล่านี้พร้อมให้บริการแก่สาธารณชนในรูปแบบที่ผ่านการฝึกอบรมแล้ว Caffe2 ช่วยผู้สร้างในการใช้แบบจำลองเหล่านี้และสร้างเครือข่ายของตัวเองสำหรับการคาดการณ์เกี่ยวกับชุดข้อมูล
ก่อนที่เราจะลงรายละเอียดของ Caffe2 ให้เราเข้าใจความแตกต่างระหว่าง machine learning และ deep learning. สิ่งนี้จำเป็นต่อการทำความเข้าใจว่าโมเดลถูกสร้างและใช้ใน Caffe2 อย่างไร
การเรียนรู้ของเครื่อง v / s การเรียนรู้เชิงลึก
ในอัลกอริทึมการเรียนรู้ของเครื่องใด ๆ ไม่ว่าจะเป็นแบบดั้งเดิมหรือแบบเรียนรู้เชิงลึกการเลือกคุณลักษณะในชุดข้อมูลมีบทบาทสำคัญอย่างยิ่งในการได้รับความแม่นยำในการทำนายที่ต้องการ ในเทคนิคการเรียนรู้ของเครื่องแบบดั้งเดิมไฟล์feature selectionส่วนใหญ่ทำโดยการตรวจสอบของมนุษย์การตัดสินและความรู้เชิงลึก บางครั้งคุณอาจขอความช่วยเหลือจากอัลกอริทึมที่ผ่านการทดสอบบางส่วนเพื่อเลือกคุณสมบัติ
ขั้นตอนการเรียนรู้ของเครื่องแบบดั้งเดิมแสดงอยู่ในรูปด้านล่าง -
ในการเรียนรู้เชิงลึกการเลือกคุณสมบัติจะเป็นไปโดยอัตโนมัติและเป็นส่วนหนึ่งของอัลกอริทึมการเรียนรู้เชิงลึกเอง ดังแสดงในรูปด้านล่าง -
ในอัลกอริทึมการเรียนรู้เชิงลึก feature engineeringจะทำโดยอัตโนมัติ โดยทั่วไปวิศวกรรมคุณลักษณะใช้เวลานานและต้องใช้ความเชี่ยวชาญในโดเมนเป็นอย่างดี ในการใช้การแยกคุณลักษณะอัตโนมัติอัลกอริธึมการเรียนรู้เชิงลึกมักจะขอข้อมูลจำนวนมากดังนั้นหากคุณมีจุดข้อมูลเพียงหลายพันและหลายหมื่นจุดเทคนิคการเรียนรู้เชิงลึกอาจไม่สามารถให้ผลลัพธ์ที่น่าพอใจได้
ด้วยข้อมูลที่มากขึ้นอัลกอริทึมการเรียนรู้เชิงลึกจะให้ผลลัพธ์ที่ดีกว่าเมื่อเทียบกับอัลกอริทึม ML แบบเดิมโดยมีข้อได้เปรียบเพิ่มเติมจากวิศวกรรมคุณลักษณะที่น้อยกว่าหรือไม่มีเลย