กรอบการเรียนรู้ของเครื่อง 10 อันดับแรก
เผยแพร่แล้ว: 2017-03-11เมื่อเจาะลึกเข้าไปในโลกของการเรียนรู้ของเครื่อง (ML) การเลือกเฟรมเวิร์กจากทางเลือกอื่นอาจเป็นงานที่น่ากลัว คุณอาจคุ้นเคยกับชื่อแล้ว แต่การประเมินตัวเลือกระหว่างกระบวนการตัดสินใจนั้นมีประโยชน์ มีเฟรมเวิร์ก ไลบรารี แอปพลิเคชัน ชุดเครื่องมือ และชุดข้อมูลที่แตกต่างกันในโลกของแมชชีนเลิร์นนิงที่อาจสร้างความสับสนได้ โดยเฉพาะหากคุณเป็นมือใหม่ การทำความคุ้นเคยกับเฟรมเวิร์ก ML ยอดนิยมเป็นสิ่งจำเป็นเมื่อต้องเลือกเฟรมเวิร์กเพื่อสร้างแอปพลิเคชันของคุณ นี่คือเหตุผลที่เรารวบรวมรายชื่อเฟรมเวิร์กแมชชีนเลิร์นนิ่ง 10 อันดับแรก
1. เทนเซอร์โฟลว์
Tensorflow ได้รับการพัฒนาโดยทีม Google Brain เพื่อความเข้าใจและการรับรู้ภาษาต่างๆ กรอบงานโอเพ่นซอร์สนี้ใช้สำหรับการวิจัยอย่างละเอียดเกี่ยวกับโครงข่ายประสาทเทียมเชิงลึกและแมชชีนเลิร์นนิง เนื่องจากเป็นเฟรมเวิร์กการเรียนรู้ของเครื่องที่สองโดย Google Brain จึงเข้ากันได้กับ CPU และ GPU รุ่นใหม่ส่วนใหญ่ บริการยอดนิยมของ Google มากมายที่เราใช้เป็นประจำทุกวัน เช่น Gmail, การรู้จำเสียง, Google Photos และแม้แต่ Google Search ก็ติดตั้ง Tensorflow
Tensorflow ใช้กราฟการไหลของข้อมูลเพื่อทำงานเชิงตัวเลขที่ซับซ้อน การคำนวณทางคณิตศาสตร์นั้นซับซ้อนโดยใช้กราฟกำกับที่มีขอบและโหนด โหนดเหล่านี้ใช้เพื่อดำเนินการและยังสามารถทำหน้าที่เป็นจุดปลายที่ข้อมูลถูกป้อน ขอบยังแสดงถึงการเชื่อมโยงอินพุต/เอาต์พุตระหว่างโหนดต่างๆ
2. คาเฟ่
Caffe คือเฟรมเวิร์กแมชชีนเลิร์นนิงที่ออกแบบมาให้มีการแสดงออก ความเร็ว และความเป็นโมดูลที่ดีขึ้นเป็นจุดโฟกัส ได้รับการพัฒนาสำหรับคอมพิวเตอร์วิทัศน์/การจัดประเภทภาพโดยใช้ประโยชน์จาก Convolutional Neural Networks (CNNs) Caffe เป็นที่นิยมสำหรับ Model Zoo ซึ่งเป็นชุดของโมเดลที่ผ่านการฝึกอบรมมาแล้วซึ่งไม่ต้องเขียนโค้ดใดๆ เพื่อนำไปใช้
เหมาะกว่าสำหรับการสร้างแอปพลิเคชันซึ่งต่างจาก Tensorflow ซึ่งดีกว่าในการวิจัยและพัฒนา หากคุณกำลังจัดการกับแอปพลิเคชันที่มีข้อมูลข้อความ เสียง หรืออนุกรมเวลา โปรดทราบว่า Caffe ไม่ได้มีไว้สำหรับสิ่งอื่นใดนอกจากการมองเห็นด้วยคอมพิวเตอร์ อย่างไรก็ตาม มันสามารถทำงานแบบไดนามิกบนโฮสต์ของฮาร์ดแวร์และทำงานได้ดีในการสลับระหว่าง CPU และ GPU โดยใช้แฟล็กเดียว
3. การเรียนรู้ของเครื่องอเมซอน
Amazon ได้พัฒนาบริการการเรียนรู้ด้วยเครื่องของตนเองสำหรับนักพัฒนาที่เรียกว่า AML เป็นชุดเครื่องมือและวิซาร์ดที่สามารถใช้สำหรับการพัฒนาโมเดลการเรียนรู้ที่ซับซ้อน ระดับไฮเอนด์ และชาญฉลาด โดยไม่ต้องแก้ไขโค้ดจริงๆ เมื่อใช้ AML การคาดการณ์ที่จำเป็นสำหรับแอปพลิเคชันของคุณสามารถรับได้ผ่าน API ที่ใช้งานง่ายกว่า เทคโนโลยีที่อยู่เบื้องหลัง AML ถูกใช้โดยนักวิทยาศาสตร์ข้อมูลภายในของ Amazon เพื่อขับเคลื่อน Amazon Cloud Services ของตน และสามารถปรับขนาดได้สูง ไดนามิก และยืดหยุ่น AML สามารถเชื่อมต่อกับข้อมูลที่จัดเก็บไว้ใน Amazon S3, RDS หรือ Redshift และดำเนินการต่างๆ เช่น การจัดประเภทไบนารี การถดถอย หรือการจัดหมวดหมู่หลายคลาสเพื่อสร้างโมเดลใหม่
4. อาปาเช่ สิงห์
Apache Singa มุ่งเน้นไปที่การเรียนรู้เชิงลึกแบบกระจายเป็นหลักโดยใช้การแบ่งแบบจำลองและการทำให้กระบวนการฝึกอบรมขนานกัน มีรูปแบบการเขียนโปรแกรมที่เรียบง่ายและมีประสิทธิภาพซึ่งสามารถทำงานข้ามคลัสเตอร์ของโหนดได้ แอปพลิเคชันหลักอยู่ในการจดจำภาพและการประมวลผลภาษาธรรมชาติ (NLP)
Singa ได้รับการพัฒนาด้วยโมเดลการเขียนโปรแกรมตามเลเยอร์ที่เป็นนามธรรมและรองรับอาร์เรย์ของโมเดลการเรียนรู้เชิงลึก เนื่องจากมันใช้สถาปัตยกรรมที่ยืดหยุ่นมาก มันจึงสามารถรันวิธีการฝึกอบรมทั้งแบบซิงโครนัสและอะซิงโครนัสและแม้กระทั่งแบบไฮบริด กองเทคโนโลยีของ Singa ประกอบด้วยสามองค์ประกอบที่สำคัญ: IO รุ่นและแกน ส่วนประกอบ IO มีคลาสที่ใช้สำหรับอ่าน/เขียนข้อมูลไปยังเครือข่ายและดิสก์ ส่วนประกอบหลักจัดการการทำงานของเทนเซอร์และฟังก์ชันการจัดการหน่วยความจำ โมเดลประกอบด้วยอัลกอริธึมและโครงสร้างข้อมูลที่ใช้สำหรับโมเดลแมชชีนเลิร์นนิง

5. Microsoft CNTK
CNTK (Cognitive Toolkit) เป็นเฟรมเวิร์กการเรียนรู้ของเครื่องแบบโอเพนซอร์สของ Microsoft แม้ว่าจะเป็นที่นิยมมากกว่าในเวทีการรู้จำเสียง แต่ CNTK ยังสามารถใช้สำหรับการฝึกข้อความและรูปภาพ การรองรับอัลกอริธึมการเรียนรู้ของเครื่องที่หลากหลาย เช่น AS CNN, LSTM, RNN, Sequence-to-Sequence และ Feed Forward จึงเป็นหนึ่งในเฟรมเวิร์กการเรียนรู้ของเครื่องที่มีไดนามิกมากที่สุด CNTK รองรับฮาร์ดแวร์หลายประเภท รวมถึง CPU และ GPU ต่างๆ
ความเข้ากันได้เป็นหนึ่งในไฮไลท์ของ CNTK นอกจากนี้ยังได้รับการยกย่องว่าเป็นสถาปัตยกรรมการเรียนรู้ของเครื่องที่แสดงออกและใช้งานง่ายที่สุด บน CNTK คุณสามารถทำงานกับภาษาต่างๆ เช่น C++ และ python และใช้โมเดลการฝึกในตัวหรือสร้างภาษาของคุณเองก็ได้
6. คบเพลิง
Torch อาจเป็นเฟรมเวิร์กแมชชีนเลิร์นนิงที่ง่ายที่สุดในการตั้งค่าและใช้งานอย่างรวดเร็วและง่ายดาย โดยเฉพาะอย่างยิ่งหากคุณใช้ Ubuntu Torch พัฒนาขึ้นในปี 2545 ที่ NYU มีการใช้กันอย่างแพร่หลายในบริษัทเทคโนโลยีขนาดใหญ่ เช่น Twitter และ Facebook คบเพลิงถูกเข้ารหัสในภาษาที่เรียกว่า Lua ซึ่งไม่ธรรมดา แต่อ่านและเข้าใจได้ง่าย ข้อดีบางประการของ Torch มาจากภาษาการเขียนโปรแกรมที่เป็นมิตรพร้อมข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์ พื้นที่เก็บข้อมูลโค้ดตัวอย่างขนาดใหญ่ คู่มือ และชุมชนที่เป็นประโยชน์
7. Acco rd.NET
Accord.NET เป็นเฟรมเวิร์กแมชชีนเลิร์นนิงแบบโอเพนซอร์สที่ใช้ .NET และเหมาะอย่างยิ่งสำหรับการคำนวณทางวิทยาศาสตร์ ประกอบด้วยไลบรารีต่างๆ ที่สามารถใช้สำหรับแอปพลิเคชันต่างๆ เช่น การจดจำรูปแบบ โครงข่ายประสาทเทียม การประมวลผลข้อมูลทางสถิติ พีชคณิตเชิงเส้น การประมวลผลภาพ ฯลฯ เฟรมเวิร์กประกอบด้วยไลบรารีที่พร้อมใช้งานเป็นตัวติดตั้ง แพ็คเกจ NuGet และซอร์สโค้ด Accord.NET มีไลบรารีเมทริกซ์ซึ่งอำนวยความสะดวกในการนำโค้ดกลับมาใช้ใหม่และการเปลี่ยนแปลงอัลกอริทึมแบบค่อยเป็นค่อยไป
8. Apache Mahout
Apache Mahout เป็นโครงการฟรีและโอเพ่นซอร์สโดย Apache Software Foundation สร้างขึ้นโดยมีเป้าหมายในการพัฒนาเฟรมเวิร์ก ML แบบกระจายหรือปรับขนาดได้ฟรีสำหรับแอปพลิเคชัน เช่น การทำคลัสเตอร์ การจัดประเภท และการกรองการทำงานร่วมกัน คอลเล็กชัน Java สำหรับการดำเนินการคำนวณต่างๆ และไลบรารี Java นั้นมีอยู่ใน Mahout ด้วย
Apache Mahout ถูกปรับใช้บน Hadoop โดยใช้กระบวนทัศน์ MapReduce แอปพลิเคชันที่ยอดเยี่ยมอย่างหนึ่งคือการเปลี่ยนข้อมูลให้เป็นข้อมูลเชิงลึกในทันที เมื่อ Big Data ที่จัดเก็บไว้บน Hadoop เชื่อมต่อกันแล้ว Mahout สามารถช่วยเครื่องมือ Data Science ในการค้นหารูปแบบที่มีความหมายจากชุดข้อมูล
9. ธีอาโน
Theano ได้รับการพัฒนาในปี 2550 ที่มหาวิทยาลัยมอนทรีออลซึ่งมีชื่อเสียงระดับโลกในด้านอัลกอริธึมการเรียนรู้ของเครื่อง แม้ว่าจะถือเป็นเฟรมเวิร์กแมชชีนเลิร์นนิงระดับล่าง แต่ก็มีความยืดหยุ่นและรวดเร็ว ข้อความแสดงข้อผิดพลาดที่ส่งโดยเฟรมเวิร์กนั้นน่าอับอายเพราะไม่ช่วยเหลือและเป็นความลับ นอกจากสิ่งเหล่านี้แล้ว Theano ยังเป็นแพลตฟอร์มที่เหมาะสมกว่าสำหรับงานวิจัยและมีประโยชน์อย่างมากในเรื่องนี้
ส่วนใหญ่จะใช้เป็นแพลตฟอร์มพื้นฐานสำหรับระบบนามธรรมระดับไฮเอนด์ซึ่งจะส่งตัวห่อ API ไปยัง Theano ตัวอย่างของห้องสมุดยอดนิยม ได้แก่ Lasagne, Blocks และ Keras ข้อเสียอย่างหนึ่งของการใช้ Theano คือคุณจะต้องแก้ไขวิธีแก้ปัญหาเพื่อให้รองรับ GPU หลายตัว
10. ระดมสมอง
การระดมสมองเป็นหนึ่งในเฟรมเวิร์กแมชชีนเลิร์นนิงที่ง่ายที่สุดในการเรียนรู้โดยพิจารณาจากความเรียบง่ายและความยืดหยุ่น ทำให้การทำงานกับโครงข่ายประสาทเร็วและสนุกไปพร้อม ๆ กัน Brainstorm ถูกเขียนด้วยภาษา Python ทั้งหมดเพื่อให้ทำงานได้อย่างราบรื่นบนระบบแบ็กเอนด์หลายระบบ
Brainstorm จัดเตรียม 'ตัวจัดการ' หรือ API ข้อมูลสองตัวโดยใช้ Python - ตัวหนึ่งสำหรับ CPU โดยไลบรารี Numpy และอีกตัวหนึ่งเพื่อใช้ประโยชน์จาก GPU โดยใช้ CUDA การยกของหนักส่วนใหญ่ทำได้โดยการเขียนสคริปต์ Python ซึ่งหมายความว่า UI ฟรอนต์เอนด์ที่สมบูรณ์นั้นแทบจะไม่มีเลย

