A recent article on data analytics tools and technologies attempted to identify those that are “hot” and those that are “cooling down.”
The “hot” list was dominated by Deep Learning (DL) frameworks, one of which is Microsoft’s Cognitive Toolkit.
Cognitive Toolkit (formerly known as CNTK) is a deep learning toolkit, similar to TensorFlow by Google. It includes a wide variety of neural network types:
- Feed-Forward Neural Network (FFN)
- Convolutional Neural Network (CNN)
- Recurrent Neural Network/Long Short-Term Memory (RNN/LSTM)
- Batch Normalisation
It supports reinforcement learning, generative adversarial networks, supervised and unsupervised learning, automatic hyperparameter tuning, and the ability to add new, user-defined, core components on the GPU from Python. It is able to do parallelism with accuracy on multiple GPUs and machines, and it can fit even the largest models into GPU memory.
TensorFlow, Caffe, MxNet and Theano are some of the deep learning tools similar to Cognitive Toolkit. The Microsoft product is a strong performer though, demonstrating its speed in benchmark tests, and also being highly accurate (see links below).
As well, Cognitive Toolkit has C#/.NET/Java inference support that makes it easy to integrate its evaluations into user applications.
At its recent Ignite conference, Microsoft introduced Text Analytics, Bing Custom Search and Bing Web Search APIs, which developers can use in their applications. This would enable users to add vision and speech recognition, emotion and sentiment detection, language understanding and search to applications without having any data science expertise.
Also, Microsoft introduced Experimentation Service which is all about helping developers quickly train and deploy experiments. This service supports all of the usual open source frameworks (PyTorch, Caffe2, TensorFlow, Chainer and Microsoft’s own CNTK) and can scale from a local machine to hundreds of GPUs in the cloud. The service keeps track of all the models, configurations and data (using Git repositories) to give developers full versioning for their experiments. It also has Model Gallery which has a large number of sample code, recipes, and tutorials.
How Cognitive Toolkit can be put to use
Cognitive Toolkit is the underlying technology for Microsoft Cortana, Skype Live Translation, Bing, and some Xbox features. It can be used in domains such as retail, healthcare, banking and so on.
- Retail applications would include sales forecasting, predicting customer churn, developing pricing models, classifying customers, and more.
- In healthcare, Cognitive Toolkit could help maximise patient care while minimising costs. The sample models in the gallery can help to develop solutions that can detect and predict disease, monitor patient activity to deliver care more efficiently, and predict hospital re-admissions.
- For banking, the samples in the Model Gallery can serve as models for predicting credit risk, monitoring for online fraud, and anticipating economic factors that can affect a business.
Although Cognitive Toolkit is feature-rich and efficient, Microsoft still needs to build a stronger community to support it, similar to what Google is doing for TensorFlow.