เฟรมเวิร์กสำหรับการเรียนรู้เชิงลึกประกอบด้วยอินเทอร์เฟซ ไลบรารี และเครื่องมือต่างๆ ร่วมกันเพื่อกำหนดและฝึกโมเดลการเรียนรู้ของเครื่องอย่างรวดเร็วและแม่นยำ
เนื่องจากการเรียนรู้เชิงลึกใช้ข้อมูลที่ไม่มีโครงสร้างและไม่ใช่ข้อความจำนวนมาก คุณจึงต้องมีกรอบงานที่ควบคุมการโต้ตอบระหว่าง "เลเยอร์" และทำให้การพัฒนาแบบจำลองรวดเร็วโดยการเรียนรู้จากข้อมูลที่ป้อนเข้าและตัดสินใจด้วยตนเอง
หากคุณสนใจที่จะเรียนรู้เกี่ยวกับการเรียนรู้เชิงลึกในปี 2021 ให้พิจารณาใช้กรอบการทำงานใดกรอบหนึ่งที่ระบุด้านล่าง อย่าลืมเลือกสิ่งที่จะช่วยให้คุณบรรลุเป้าหมายและวิสัยทัศน์
1. TensorFlow
เมื่อพูดถึงการเรียนรู้เชิงลึก TensorFlow มักเป็นกรอบแรกที่กล่าวถึง เฟรมเวิร์กนี้ไม่เพียงแต่ใช้โดย Google ซึ่งเป็นบริษัทที่รับผิดชอบในการสร้างสรรค์เท่านั้น แต่ยังใช้เฟรมเวิร์กนี้โดยบริษัทอื่นๆ เช่น Dropbox, eBay, Airbnb, Nvidia และอื่นๆ อีกมากมาย ซึ่งได้รับความนิยมอย่างสูง
สามารถใช้ TensorFlow เพื่อพัฒนา API ระดับสูงและระดับต่ำ ช่วยให้คุณเรียกใช้แอปพลิเคชันบนอุปกรณ์แทบทุกประเภท แม้ว่า Python จะเป็นภาษาหลัก แต่อินเทอร์เฟซของ Tensoflow ก็สามารถเข้าถึงและควบคุมได้โดยใช้ภาษาการเขียนโปรแกรมอื่นๆ เช่น C++, Java, Julia และ JavaScript
การเป็นโอเพ่นซอร์ส TensorFlow ช่วยให้คุณทำการผสานรวมกับ API อื่นๆ ได้หลายแบบ และรับการสนับสนุนและการอัปเดตอย่างรวดเร็วจากชุมชน การพึ่งพา "กราฟคงที่" สำหรับการคำนวณทำให้คุณสามารถคำนวณได้ทันทีหรือบันทึกการดำเนินการสำหรับการเข้าถึงในเวลาอื่น เหตุผลเหล่านี้ เพิ่มความเป็นไปได้ที่คุณจะสามารถ "ดู" การพัฒนาเครือข่ายประสาทของคุณผ่าน TensorBoard ทำให้ TensorFlow เป็นเฟรมเวิร์กยอดนิยมสำหรับการเรียนรู้เชิงลึก
Key Features
- เปิดแหล่งที่มา
- ความยืดหยุ่น
- การดีบักอย่างรวดเร็ว
2. ไพทอร์ช
PyTorch เป็นเฟรมเวิร์กที่พัฒนาโดย Facebook เพื่อรองรับการทำงานของบริการต่างๆ ตั้งแต่เป็นโอเพนซอร์ส เฟรมเวิร์กนี้ถูกใช้โดยบริษัทอื่นที่ไม่ใช่ Facebook เช่น Salesforce และ Udacity
เฟรมเวิร์กนี้ทำงานด้วยกราฟที่อัปเดตแบบไดนามิก ช่วยให้คุณสามารถเปลี่ยนแปลงสถาปัตยกรรมของชุดข้อมูลของคุณในขณะที่คุณประมวลผล ด้วย PyTorch การพัฒนาและฝึกอบรมโครงข่ายประสาทเทียมจะง่ายกว่า แม้จะไม่มีประสบการณ์ในการเรียนรู้เชิงลึกก็ตาม
การเป็นโอเพ่นซอร์สและอิงจาก Python คุณสามารถทำการรวมเข้ากับ PyTorch ที่ง่ายและรวดเร็ว นอกจากนี้ยังเป็นกรอบการทำงานที่เรียบง่ายในการเรียนรู้ ใช้งาน และแก้ไขจุดบกพร่อง หากคุณมีคำถาม คุณสามารถวางใจได้ว่าจะได้รับการสนับสนุนและการอัปเดตที่ยอดเยี่ยมจากทั้งสองชุมชน – ชุมชน Python และชุมชน PyTorch
Key Features
- เรียนรู้ง่าย
- รองรับ GPU และ CPU
- ชุด API ที่หลากหลายเพื่อขยายไลบรารี
3. Apache MX Net
เนื่องจากความสามารถในการปรับขนาดสูง ประสิทธิภาพสูง การแก้ไขปัญหาอย่างรวดเร็ว และการสนับสนุน GPU ขั้นสูง เฟรมเวิร์กนี้จึงถูกสร้างขึ้นโดย Apache สำหรับใช้ในโครงการอุตสาหกรรมขนาดใหญ่
MXNet มีอินเทอร์เฟซ Gluon ที่ช่วยให้นักพัฒนาทุกระดับทักษะสามารถ เริ่มต้นการเรียนรู้อย่างลึกซึ้ง บนคลาวด์ อุปกรณ์ Edge และแอพมือถือ ในโค้ด Gluon เพียงไม่กี่บรรทัด คุณสามารถสร้างการถดถอยเชิงเส้น เครือข่ายแบบ Convolutional และ LSTM ที่เกิดซ้ำสำหรับ การตรวจจับวัตถุ, การรู้จำคำพูด การแนะนำ และการปรับเปลี่ยนในแบบของคุณ
MXNet สามารถใช้ได้กับอุปกรณ์ต่าง ๆ และรองรับโดยหลาย ๆ ตัว การเขียนโปรแกรมภาษา เช่น Java, R, JavaScript, Scala และ Go แม้ว่าจำนวนผู้ใช้และสมาชิกในชุมชนจะต่ำ แต่ MXNet ก็มีเอกสารประกอบที่เขียนมาอย่างดีและมีศักยภาพในการเติบโตสูง โดยเฉพาะอย่างยิ่งตอนนี้ที่ Amazon ได้เลือกเฟรมเวิร์กนี้เป็นเครื่องมือหลักสำหรับ Machine Learning บน AWS
Key Features
- การผูกภาษา 8 ภาษา
- การฝึกอบรมแบบกระจาย รองรับระบบ multi-CPU และ multi-GPU
- ไฮบริดฟรอนท์เอนด์ ช่วยให้สลับไปมาระหว่างโหมดจำเป็นและโหมดสัญลักษณ์
4. ชุดเครื่องมือความรู้ความเข้าใจของ Microsoft
หากคุณกำลังคิดที่จะพัฒนาแอปพลิเคชันหรือบริการที่ทำงานบน Azure (บริการคลาวด์ของ Microsoft) Microsoft Cognitive Toolkit คือกรอบงานสำหรับเลือกโครงการการเรียนรู้เชิงลึกของคุณ นี่เป็นโอเพ่นซอร์สและรองรับโดยภาษาการเขียนโปรแกรม เช่น Python, C++, C#, Java และอื่นๆ เฟรมเวิร์กนี้ออกแบบมาเพื่อ "คิดเหมือนสมองมนุษย์" จึงสามารถประมวลผลข้อมูลที่ไม่มีโครงสร้างจำนวนมากได้ ในขณะเดียวกันก็ให้การฝึกอบรมที่รวดเร็วและสถาปัตยกรรมที่ใช้งานง่าย
เมื่อเลือกเฟรมเวิร์กนี้ ซึ่งเป็นเฟรมเวิร์กเดียวกับ Skype, Xbox และ Cortana คุณจะได้รับประสิทธิภาพที่ดีจากแอปพลิเคชัน ความสามารถในการปรับขนาด และการผสานรวมกับ Azure อย่างง่าย อย่างไรก็ตาม เมื่อเปรียบเทียบกับ TensorFlow หรือ PyTorch จำนวนสมาชิกในชุมชนและการสนับสนุนจะลดลง
วิดีโอต่อไปนี้นำเสนอตัวอย่างการแนะนำและการใช้งานที่สมบูรณ์:
Key Features
- ล้างเอกสาร
- การสนับสนุนจากทีม Microsoft
- การสร้างภาพกราฟโดยตรง
5. Keras
เช่นเดียวกับ PyTorch Keras เป็นไลบรารีที่ใช้ Python สำหรับโครงการที่มีข้อมูลมาก keras API ทำงานในระดับสูงและอนุญาตให้รวมเข้ากับ API ระดับต่ำ เช่น TensorFlow, Theano และ Microsoft Cognitive Toolkit
ข้อดีบางประการของการใช้ keras คือความเรียบง่ายในการเรียนรู้ ซึ่งเป็นกรอบงานที่แนะนำสำหรับผู้เริ่มต้นในการเรียนรู้เชิงลึก ความเร็วในการปรับใช้; ได้รับการสนับสนุนอย่างดีจากชุมชน python และจากชุมชนของเฟรมเวิร์กอื่นๆ ที่รวมเข้าด้วยกัน
Keras มีการใช้งานต่างๆของ การสร้างโครงข่ายประสาทเทียม เช่น เลเยอร์ ฟังก์ชันวัตถุประสงค์ ฟังก์ชันการเปิดใช้งาน และเครื่องมือเพิ่มประสิทธิภาพทางคณิตศาสตร์ รหัสของมันถูกโฮสต์บน GitHub และมีฟอรัมและช่องทางสนับสนุน Slack นอกจากรองรับมาตรฐาน เครือข่ายประสาทเทียมKeras ให้การสนับสนุน Convolutional Neural Networks และ Recurrent Neural Networks
เครสอนุญาต โมเดลการเรียนรู้เชิงลึก เพื่อสร้างบนสมาร์ทโฟนทั้ง iOS และ Android บน Java Virtual Machine หรือบนเว็บ นอกจากนี้ยังอนุญาตให้ใช้การฝึกอบรมแบบกระจายของโมเดลการเรียนรู้เชิงลึกบนคลัสเตอร์ของหน่วยประมวลผลกราฟิก (GPU) และหน่วยประมวลผลเทนเซอร์ (TPU)
Key Features
- รุ่นก่อนการฝึกอบรม
- รองรับแบ็กเอนด์หลายตัว
- การสนับสนุนที่เป็นมิตรกับผู้ใช้และชุมชนขนาดใหญ่
6. แอปเปิ้ล คอร์ เอ็มแอล
Core ML ได้รับการพัฒนาโดย Apple เพื่อรองรับระบบนิเวศ - IOS, Mac OS และ iPad OS API ของมันทำงานในระดับต่ำ โดยใช้ประโยชน์จากทรัพยากรของ CPU และ GPU อย่างเหมาะสม ซึ่งช่วยให้โมเดลและแอปพลิเคชันที่สร้างขึ้นเพื่อทำงานต่อไปได้แม้ไม่มีการเชื่อมต่ออินเทอร์เน็ต ซึ่งช่วยลด "รอยเท้าหน่วยความจำ" และการใช้พลังงานของอุปกรณ์
วิธีที่ Core ML ทำได้สำเร็จนั้นไม่ได้เกิดจากการสร้างไลบรารีการเรียนรู้ของเครื่องอีกตัวหนึ่งซึ่งได้รับการปรับให้เหมาะสมสำหรับการทำงานบน iphones/ipad แต่ Core ML เป็นเหมือนคอมไพเลอร์ซึ่งใช้ข้อมูลจำเพาะของแบบจำลองและพารามิเตอร์ที่ผ่านการฝึกอบรมซึ่งแสดงด้วยซอฟต์แวร์การเรียนรู้ของเครื่องอื่น ๆ และแปลงเป็นไฟล์ที่กลายเป็นทรัพยากรสำหรับแอป iOS การแปลงเป็นโมเดล Core ML นี้เกิดขึ้นระหว่างการพัฒนาแอป ไม่ใช่ในแบบเรียลไทม์ขณะที่กำลังใช้แอป และได้รับการอำนวยความสะดวกโดยไลบรารี coremltools python
Core ML มอบประสิทธิภาพที่รวดเร็วพร้อมการรวมที่ง่ายดายของ เรียนรู้เครื่อง แบบจำลองลงในแอปพลิเคชัน รองรับการเรียนรู้เชิงลึกด้วยเลเยอร์มากกว่า 30 ประเภท รวมถึงแผนผังการตัดสินใจ เครื่องเวกเตอร์สนับสนุน และวิธีการถดถอยเชิงเส้น ทั้งหมดนี้สร้างขึ้นจากเทคโนโลยีระดับต่ำ เช่น โลหะและเร่งความเร็ว
Key Features
- ง่ายต่อการรวมเข้ากับแอพ
- การใช้ทรัพยากรในพื้นที่อย่างเหมาะสม ไม่ต้องใช้อินเทอร์เน็ต
- ความเป็นส่วนตัว: ข้อมูลไม่ต้องออกจากเครื่อง
7. ออนเอ็นเอ็กซ์
กรอบงานสุดท้ายในรายการของเราคือ ONNX เฟรมเวิร์กนี้เกิดจากการทำงานร่วมกันระหว่าง Microsoft และ Facebook โดยมีเป้าหมายเพื่อลดความซับซ้อนของกระบวนการถ่ายโอนและสร้างแบบจำลองระหว่างเฟรมเวิร์ก เครื่องมือ รันไทม์ และคอมไพเลอร์ที่แตกต่างกัน
ONNX กำหนดประเภทไฟล์ทั่วไปที่สามารถทำงานบนหลายแพลตฟอร์ม ในขณะที่ใช้ประโยชน์จาก API ระดับต่ำ เช่น จาก Microsoft Cognitive Toolkit, MXNet, Caffe และ (โดยใช้ตัวแปลง) Tensorflow และ Core ML หลักการเบื้องหลัง ONNX คือการฝึกโมเดลบนสแต็กและใช้งานโดยใช้การอนุมานและการคาดคะเนอื่นๆ
มูลนิธิ LF AI ซึ่งเป็นองค์กรย่อยของมูลนิธิ Linux เป็นองค์กรที่อุทิศตนเพื่อสร้างระบบนิเวศเพื่อรองรับ โอเพนซอร์ส นวัตกรรมในปัญญาประดิษฐ์ (AI) แมชชีนเลิร์นนิง (ML) และการเรียนรู้เชิงลึก (DL) ได้เพิ่ม ONNX เป็นโครงการระดับบัณฑิตศึกษาเมื่อวันที่ 14 พฤศจิกายน 2019 การย้าย ONNX ภายใต้การดูแลของมูลนิธิ LF AI ถูกมองว่าเป็นก้าวสำคัญในการจัดตั้ง ONNX เป็นมาตรฐานโอเพ่นฟอร์แมตที่เป็นกลางสำหรับผู้ขาย
ONNX Model Zoo คือคอลเล็กชันของโมเดลที่ได้รับการฝึกฝนล่วงหน้าใน Deep Learning ซึ่งพร้อมใช้งานในรูปแบบ ONNX สำหรับแต่ละรุ่นมี โน๊ตบุ๊ค Jupyter สำหรับการฝึกโมเดลและทำการอนุมานกับโมเดลที่ผ่านการฝึกอบรม สมุดบันทึกเขียนด้วย Python และมีลิงก์ไปยัง ชุดข้อมูลการฝึกอบรม และการอ้างอิงถึงเอกสารทางวิทยาศาสตร์ต้นฉบับที่อธิบายถึงสถาปัตยกรรมแบบจำลอง
Key Features
- กรอบการทำงานร่วมกัน
- การเพิ่มประสิทธิภาพฮาร์ดแวร์
สรุป
นี่คือบทสรุปของกรอบงานที่ดีที่สุดสำหรับ การเรียนรู้ลึก ๆ. มีกรอบงานหลายแบบสำหรับจุดประสงค์นี้ ทั้งแบบฟรีและแบบชำระเงิน ในการเลือกสิ่งที่ดีที่สุดสำหรับโครงการของคุณ ก่อนอื่นให้รู้ว่าคุณจะพัฒนาแอปพลิเคชันของคุณบนแพลตฟอร์มใด
กรอบงานทั่วไป เช่น TensorFlow และ Keras เป็นตัวเลือกที่ดีที่สุดในการเริ่มต้น แต่ถ้าคุณจำเป็นต้องใช้ OS หรือข้อดีเฉพาะอุปกรณ์ Core ML และ Microsoft Cognitive Toolkit อาจเป็นตัวเลือกที่ดีที่สุด
มีเฟรมเวิร์กอื่นๆ ที่มุ่งเป้าไปที่อุปกรณ์ Android เครื่องอื่นๆ และวัตถุประสงค์เฉพาะที่ไม่ได้กล่าวถึงในรายการนี้ หากกลุ่มหลังสนใจคุณ เราขอแนะนำให้คุณค้นหาข้อมูลของพวกเขาใน Google หรือไซต์การเรียนรู้ของเครื่องอื่นๆ
เขียนความเห็น