Microsoft Cognitive Toolkit (CNTK) - Pendahuluan
Di bab ini, kita akan mempelajari apa itu CNTK, fitur-fiturnya, perbedaan antara versi 1.0 dan 2.0 dan hal-hal penting dari versi 2.7.
Apa itu Microsoft Cognitive Toolkit (CNTK)?
Microsoft Cognitive Toolkit (CNTK), sebelumnya dikenal sebagai Computational Network Toolkit, adalah toolkit kelas komersial yang gratis, mudah digunakan, bersumber terbuka, dan memungkinkan kita melatih algoritma pembelajaran mendalam untuk belajar seperti otak manusia. Ini memungkinkan kami untuk membuat beberapa sistem pembelajaran dalam yang populer sepertifeed-forward neural network time series prediction systems and Convolutional neural network (CNN) image classifiers.
Untuk performa optimal, fungsi kerangka kerjanya ditulis dalam C ++. Meskipun kita dapat memanggil fungsinya menggunakan C ++, tetapi pendekatan yang paling umum digunakan untuk hal yang sama adalah dengan menggunakan program Python.
Fitur CNTK
Berikut adalah beberapa fitur dan kapabilitas yang ditawarkan di versi terbaru Microsoft CNTK:
Komponen bawaan
CNTK memiliki komponen built-in yang sangat dioptimalkan yang dapat menangani data multi-dimensi yang padat atau jarang dari Python, C ++ atau BrainScript.
Kita dapat mengimplementasikan CNN, FNN, RNN, Batch Normalization dan Sequence-to-Sequence dengan perhatian.
Ini memberi kita fungsionalitas untuk menambahkan komponen inti yang ditentukan pengguna baru pada GPU dari Python.
Ini juga menyediakan penyetelan hyperparameter otomatis.
Kita dapat mengimplementasikan pembelajaran Reinforcement, Generative Adversarial Networks (GANs), Supervised serta unsupervised learning.
Untuk kumpulan data yang sangat besar, CNTK memiliki pembaca terintegrasi yang dioptimalkan.
Penggunaan sumber daya secara efisien
CNTK memberi kita paralelisme dengan akurasi tinggi pada beberapa GPU / mesin melalui SGD 1-bit.
Untuk menyesuaikan model terbesar dalam memori GPU, ini menyediakan berbagi memori dan metode bawaan lainnya.
Ekspresikan jaringan kami sendiri dengan mudah
CNTK memiliki API lengkap untuk menentukan jaringan Anda sendiri, pelajar, pembaca, pelatihan dan evaluasi dari Python, C ++, dan BrainScript.
Menggunakan CNTK, kita dapat dengan mudah mengevaluasi model dengan Python, C ++, C # atau BrainScript.
Ini menyediakan API tingkat tinggi maupun tingkat rendah.
Berdasarkan data kami, secara otomatis dapat membentuk inferensi.
Ini memiliki loop Simbolis Recurrent Neural Network (RNN) sepenuhnya dioptimalkan.
Mengukur kinerja model
CNTK menyediakan berbagai komponen untuk mengukur performa jaringan neural yang Anda buat.
Menghasilkan data log dari model Anda dan pengoptimal terkait, yang dapat kita gunakan untuk memantau proses pelatihan.
Versi 1.0 vs Versi 2.0
Tabel berikut membandingkan CNTK Versi 1.0 dan 2.0:
Versi 1.0 | Versi 2.0 |
---|---|
Itu dirilis pada 2016. | Ini adalah penulisan ulang yang signifikan dari Versi 1.0 dan dirilis pada Juni 2017. |
Itu menggunakan bahasa scripting berpemilik yang disebut BrainScript. | Fungsi kerangka kerjanya bisa dipanggil menggunakan C ++, Python. Kami dapat dengan mudah memuat modul kami di C # atau Java. BrainScript juga didukung oleh Versi 2.0. |
Ini berjalan di sistem Windows dan Linux tetapi tidak langsung di Mac OS. | Ini juga berjalan pada sistem Windows (Win 8.1, Win 10, Server 2012 R2 dan lebih baru) dan Linux tetapi tidak langsung di Mac OS. |
Sorotan Penting Versi 2.7
Version 2.7adalah versi rilis utama terakhir dari Microsoft Cognitive Toolkit. Ini memiliki dukungan penuh untuk ONNX 1.4.1. Berikut adalah beberapa sorotan penting dari versi CNTK yang terakhir dirilis ini.
Dukungan penuh untuk ONNX 1.4.1.
Dukungan untuk CUDA 10 untuk sistem Windows dan Linux.
Ini mendukung loop Recurrent Neural Networks (RNN) lanjutan dalam ekspor ONNX.
Itu dapat mengekspor lebih dari model 2GB dalam format ONNX.
Mendukung FP16 dalam aksi pelatihan bahasa skrip BrainScript.