Deep Learning(DL) Overview and Frameworks
History of Deep Learning(DL)
The term artificial neural networks were introduced by Igor Aizenberg and colleagues in 2000, in the context of Boolean threshold neurons.
Introduction of Deep Learning(DL)
“Deep learning is a subset of the machine learning technique that learns features directly from data”. Before understanding DL we have to know about Artificial Intelligence and Machine Learning.
“Artificial Intelligence is nothing but the capability of a machine to imitate intelligent human behavior”.
“Machine Learning is a subset of artificial intelligence”. It allows the machines to learn and make predictions based on its past experience and data.
Difference between deep learning and machine learning
- Deep learning is a Subset of Machine Learning.
- In Machine Learning Features of Algorithms are define manually.
- While in DL learns features directly from data.
Machine Learning algorithms are not useful while data Volume is large when the amount of data is increased, machine learning techniques are mot useful in terms of performance and DL gives better performance and accurate results.
Applications of Deep Learning
- Predicting the Future
- Self-driving Cars
- A Dream Reading Machine
- Natural language procession
Deep Learning Frameworks
With the help frameworks, we can build a Machine Learning models easily and quickly. A good Machine Learning framework reduces the complexity of defining ML models.
Each framework is built in a different manner for different purposes. Popular machine learning frameworks include- Tensorflow, PyTorch (Torch), Keras, Caffe, The Microsoft Cognitive Toolkit/CNTK, MXNet, Chainer, Deeplearning4j, Scikit-learn, Amazon Machine Learning, Theano.
TensorFlow developed by Google, IT is an open-source software library built for artificial neural networks and deep learning models. TensorFlow is available on both mobile and desktop. It also supports languages such as Python, R, and C++ to create deep learning models along with wrapper libraries.
TensorFlow comes with two tools that are widely used: TensorBoard for the effective data visualization of network modeling and performance, TensorFlow Serving for the rapid deployment of new algorithms/experiments while retaining the same server architecture and APIs.
Torch is an easy-to-use machine learning open-source library, a scientific computing framework, and a scripting language based on the Lua programming language. It employs CUDA along with C++/C libraries for the processing and was basically made to scale production of building models and overall flexibility.
Written in Python, Keras is an open-source library designed to make the creation of new Deep Learning models easy. Keras is capable of running on top of TensorFlow, Microsoft Cognitive Toolkit, or Theano. Lightweight, easy to use, and really straightforward when it comes to building a deep learning model by stacking multiple layers
Caffe is a deep learning framework that is supported with interfaces like C++, C, MATLAB, and Python as well as the command line interface. It is a popular deep learning tool designed for building apps. The tool allows you to quickly apply neural networks to the problem using text without writing code.
The Microsoft Cognitive Toolkit/CNTK
Microsoft Cognitive Toolkit/CNTK is an open source deep learning framework to train deep learning models. It supports CNN, Feed-Forward, LSTM, and RNN types of models and thus is capable of handling images, handwriting, and speech recognition problems. It is one of the fastest deep learning frameworks with C#/C++/Python interface support.
MXNet (pronounced as mix-net) is a flexible and efficient library for DL. Designed specifically for the purpose of high efficiency, productivity
Scikit-learn is an open-source Python library designed for machine learning. The tool based on libraries such as NumPy, SciPy, and matplotlib can be used for data mining and data analysis.
Theano is a Python library and optimizing compiler for manipulating and evaluating mathematical expressions. Optimized for GPU, the tool comes with features including integration with NumPy, dynamic C code generation, and symbolic differentiation.