10 Kerangka Kerja Pembelajaran Mesin Teratas
Diterbitkan: 2017-03-11Saat mempelajari dunia pembelajaran mesin (ML), memilih satu kerangka kerja dari banyak alternatif bisa menjadi tugas yang menakutkan. Anda mungkin sudah familiar dengan nama-nama tersebut, tetapi akan berguna untuk mengevaluasi pilihan selama proses pengambilan keputusan. Ada berbagai kerangka kerja, pustaka, aplikasi, toolkit, dan kumpulan data di dunia pembelajaran mesin yang bisa sangat membingungkan, terutama jika Anda seorang pemula. Menjadi terbiasa dengan kerangka kerja ML yang populer diperlukan saat memilih salah satu untuk membangun aplikasi Anda. Inilah sebabnya kami menyusun daftar 10 kerangka kerja pembelajaran mesin teratas.
1. Aliran Tensor
Tensorflow dikembangkan oleh Tim Google Brain untuk pemahaman bahasa dan tugas persepsi yang berbeda. Kerangka kerja sumber terbuka ini digunakan untuk penelitian ekstensif tentang jaringan saraf dalam dan pembelajaran mesin. Menjadi kerangka kerja pembelajaran mesin kedua oleh Google Brain, ini kompatibel dengan sebagian besar CPU dan GPU baru. Banyak layanan Google populer yang kita gunakan setiap hari seperti Gmail, Speech recognition, Google Photos, dan bahkan Google Search dilengkapi dengan Tensorflow.
Tensorflow menggunakan grafik aliran data untuk melakukan tugas numerik yang rumit. Perhitungan matematis dijabarkan menggunakan graf berarah yang mengandung sisi dan simpul. Node ini digunakan untuk mengimplementasikan operasi dan juga dapat bertindak sebagai titik akhir di mana data dimasukkan. Tepi juga mewakili asosiasi input/output antara node yang berbeda.
2. Kafe
Caffe adalah kerangka kerja pembelajaran mesin yang dirancang dengan ekspresi, kecepatan, dan modularitas yang lebih baik sebagai titik fokus. Ini dikembangkan untuk visi komputer/klasifikasi gambar dengan memanfaatkan Convolutional Neural Networks (CNNs). Caffe populer dengan Model Zoo-nya, yang merupakan kumpulan model pra-terlatih yang tidak memerlukan pengkodean apa pun untuk diterapkan.
Ini lebih cocok untuk membangun aplikasi dibandingkan dengan Tensorflow yang lebih baik dalam penelitian dan pengembangan. Jika Anda berurusan dengan aplikasi dengan teks, suara, atau data deret waktu, perhatikan bahwa Caffe tidak dimaksudkan untuk apa pun selain visi komputer. Namun, ia dapat berjalan secara dinamis pada sejumlah perangkat keras dan melakukan pekerjaan yang baik dalam beralih antara CPU dan GPU hanya dengan menggunakan satu flag.
3. Pembelajaran Mesin Amazon
Amazon telah mengembangkan layanan pembelajaran mesin mereka sendiri untuk pengembang yang disebut AML. Ini adalah kumpulan alat dan penyihir yang dapat digunakan untuk mengembangkan model pembelajaran yang canggih, canggih, dan cerdas tanpa benar-benar mengutak-atik kodenya. Dengan menggunakan AML, prediksi yang diperlukan untuk aplikasi Anda dapat diturunkan melalui API yang lebih mudah digunakan. Teknologi di balik AML digunakan oleh ilmuwan data internal Amazon untuk mendukung Layanan Cloud Amazon mereka dan sangat skalabel, dinamis, dan fleksibel. AML dapat terhubung ke data yang disimpan di Amazon S3, RDS, atau Redshift dan melakukan operasi seperti klasifikasi biner, regresi, atau kategorisasi multi-kelas untuk membuat model baru.
4. Apache Singa
Apache Singa terutama berfokus pada pembelajaran mendalam terdistribusi menggunakan partisi model dan memparalelkan proses pelatihan. Ini menyediakan model pemrograman yang sederhana dan kuat yang dapat bekerja melintasi sekelompok node. Aplikasi utama dalam pengenalan gambar dan pemrosesan bahasa alami (NLP).
Singa dikembangkan dengan model pemrograman berbasis abstraksi lapisan intuitif dan mendukung berbagai model pembelajaran mendalam. Karena didasarkan pada arsitektur yang sangat fleksibel, ia dapat menjalankan metode pelatihan sinkron dan asinkron dan bahkan hibrida. Tumpukan teknologi Singa terdiri dari tiga komponen penting: IO, Model dan Core. Komponen IO berisi kelas yang digunakan untuk membaca/menulis data ke jaringan dan disk. Komponen inti menangani operasi tensor dan fungsi manajemen memori. Model menampung algoritme dan struktur data yang digunakan untuk model pembelajaran mesin.

5. Microsoft CNTK
CNTK (Cognitive Toolkit) adalah kerangka kerja pembelajaran mesin sumber terbuka Microsoft. Meskipun lebih populer di arena pengenalan suara, CNTK juga dapat digunakan untuk pelatihan teks dan gambar. Memiliki dukungan untuk berbagai macam algoritme pembelajaran mesin seperti AS CNN, LSTM, RNN, Sequence-to-Sequence dan Feed Forward, ini adalah salah satu kerangka kerja pembelajaran mesin paling dinamis di luar sana. CNTK mendukung beberapa jenis perangkat keras, termasuk berbagai CPU dan GPU.
Kompatibilitas adalah salah satu yang menarik dari CNTK. Itu juga dipuji sebagai arsitektur pembelajaran mesin yang paling ekspresif dan mudah digunakan di luar sana. Di CNTK, Anda dapat bekerja dengan bahasa seperti C++ dan python dan menggunakan model pelatihan bawaan atau membuatnya sendiri.
6. obor
Torch bisa dibilang merupakan kerangka kerja pembelajaran mesin paling sederhana untuk disiapkan dan dijalankan dengan cepat dan mudah, terutama jika Anda menggunakan Ubuntu. Dikembangkan pada tahun 2002 di NYU, Torch banyak digunakan di perusahaan teknologi besar seperti Twitter dan Facebook. Obor dikodekan dalam bahasa yang disebut Lua, yang tidak umum tetapi mudah dibaca dan dipahami. Beberapa keunggulan Torch dapat dikaitkan dengan bahasa pemrograman yang ramah ini dengan pesan kesalahan yang berguna, gudang besar kode sampel, panduan, dan komunitas yang membantu.
7. Menurut NET
Accord.NET adalah kerangka kerja pembelajaran mesin sumber terbuka berdasarkan .NET dan sangat ideal untuk komputasi ilmiah. Ini terdiri dari berbagai pustaka yang dapat digunakan untuk aplikasi seperti pengenalan pola, jaringan saraf tiruan, pemrosesan data statistik, aljabar linier, pemrosesan gambar, dll. Kerangka kerja ini terdiri dari pustaka yang tersedia sebagai penginstal, paket NuGet, dan kode sumber. Accord.NET memiliki pustaka matriks yang memfasilitasi penggunaan kembali kode dan perubahan algoritme bertahap.
8. Apache Mahout
Menjadi proyek sumber terbuka dan gratis oleh Apache Software Foundation, Apache Mahout dibangun dengan tujuan mengembangkan kerangka kerja ML yang terdistribusi atau skalabel gratis untuk aplikasi seperti pengelompokan, klasifikasi, dan pemfilteran kolaboratif. Koleksi Java untuk operasi komputasi yang berbeda dan perpustakaan Java juga tersedia di Mahout.
Apache Mahout digunakan di atas Hadoop menggunakan paradigma MapReduce. Salah satu aplikasi hebatnya adalah mengubah data menjadi wawasan secara instan. Setelah Big Data yang tersimpan di Hadoop terhubung, Mahout dapat membantu alat ilmu data dalam menemukan pola yang berarti dari kumpulan data.
9. Theano
Theano dikembangkan pada tahun 2007 di University of Montreal yang terkenal di dunia untuk algoritma pembelajaran mesin. Meskipun dianggap sebagai kerangka pembelajaran mesin kelas bawah, ini fleksibel dan sangat cepat. Pesan kesalahan yang dilemparkan oleh kerangka kerja terkenal karena tidak membantu dan samar. Mengesampingkan ini, Theano adalah platform yang lebih cocok untuk tugas penelitian dan dapat sangat membantu dalam hal itu.
Ini sebagian besar digunakan sebagai platform dasar untuk sistem abstraksi kelas atas yang akan mengirim pembungkus API ke Theano. Contoh beberapa perpustakaan populer adalah Lasagna, Blok dan Keras. Salah satu kelemahan menggunakan Theano adalah Anda harus mengotak-atik beberapa solusi untuk mendapatkan dukungan multi-GPU.
10. Brainstorming
Brainstorm adalah salah satu kerangka kerja pembelajaran mesin yang paling mudah untuk dikuasai mengingat kesederhanaan dan fleksibilitasnya. Itu membuat bekerja dengan jaringan saraf lebih cepat dan menyenangkan pada saat yang bersamaan. Ditulis seluruhnya dengan Python, Brainstorm dibangun untuk berjalan dengan lancar di beberapa sistem backend.
Brainstorm menyediakan dua 'handers' atau API data menggunakan Python- satu untuk CPU oleh perpustakaan Numpy dan yang lainnya untuk memanfaatkan GPU menggunakan CUDA. Sebagian besar pekerjaan berat dilakukan oleh skrip Python yang berarti UI front-end yang kaya hampir tidak ada.