Recently, the openness of the platform has become popular, so let's reorganize the machine learning platform and deep learning platform (framework).
name | URL |
---|---|
Google Cloud Platform | https://cloud.google.com/ |
Azure Machine Learning | https://azure.microsoft.com/ja-jp/services/machine-learning |
Amazon Machine Learning | https://aws.amazon.com/jp/machine-learning |
Bluemix IBM Watson | https://www.ibm.com/watson/ |
name | URL |
---|---|
Theano | http://deeplearning.net/software/theano/index.html |
TensorFlow | https://www.tensorflow.org/ |
Caffe | http://caffe.berkeleyvision.org/ |
Chainer | http://chainer.org/ |
Keras | https://keras.io/ |
The services provided by each vendor include pre-learned model translation and image / video recognition.
Google Cloud Platform
It will be a machine learning platform provided by Google. A managed service that makes it easy to build machine learning models for any data, regardless of size. You can also use TensorFlow prepared on the cloud.
・ Cloud Machine Learning Engine You can learn from various data such as supervised regression / classification and unsupervised clustering. The algorithm used is not disclosed.
Azure Machine Learning
Azure Machine Learning is a cloud predictive analytics service that enables you to quickly create and deploy predictive models as an analytics solution. With a library of ready-to-use algorithms, you can create models on an internet-connected PC and quickly deploy your forecasting solution.
· Azure ML You can also learn from various data such as supervised regression / classification and unsupervised clustering. You can select the algorithm to use. (There are too many algorithms and it is over-engineered.)
Amazon Machine Learning
Amazon Machine Learning is a managed service for building machine learning models and generating predictions, allowing you to develop robust, scalable, and advanced applications. Amazon Machine Learning allows you to use powerful machine learning technologies without the need for extensive background knowledge of machine learning algorithms and techniques.
・ Amazon Machine Learning You can also learn from various data such as supervised regression / classification and unsupervised clustering.
[Algorithm used] Regression: Linear Regression Classification Binary classification: Logistic Regression Multiclass classification: Multinomial logistic Regression
Bluemix IBM Watson
IBM defines AI as "Augmented Intelligence" rather than "Artificial Intelligence" to expand and enhance human knowledge, and provides customers with IBM Watson as a core cognitive solution. It offers. IBM Watson is a technology platform that uses natural language processing and machine learning to uncover insights from large amounts of unstructured data.
You can also learn from various data such as supervised regression / classification and unsupervised clustering. Also, since there are multiple learned APIs, it is convenient when creating a new service. [Algorithm used] private It seems that "consider multiple available algorithms and select the one that meets your needs."
It is a framework distributed by OSS.
Theano
http://deeplearning.net/software/theano/index.html
Called the grandfather of the deep learning framework, many global researchers use Theano written in Python.
merit |
---|
Computational graphs are easy to read and abstracted |
Recurrent neural networks fit well into computational graphs |
High-level rappers (Keras, Lasagne) save you time |
Demerit |
---|
Error messages may not be useful |
Compile time may be longer for larger models |
Insufficient support for pre-trained models |
Single GPU |
TensorFlow
https://www.tensorflow.org/
TnesorFlow is the latest library of neural networks developed by Google under the project "Google Brain".
High-level functionality can be implemented and calculations can be represented in data flows and graphs. The inside of the library is made in C ++, but Python is also included and it has a structure that can be used flexibly.
merit |
---|
Computational graph abstraction |
Compile time is shorter than Theano |
Visualize with TensorBoard |
Parallel processing of data and model |
Demerit |
---|
Slower than other frameworks |
There are not many pre-trained models. |
Computational graphs are slow because they are just Python. |
No commercial support |
Drop out to Python to load every new batch of training |
Dynamic typing errors are prone to large software projects |
Caffe
http://caffe.berkeleyvision.org/
Caffe is a well-known and widely used machine vision library that is a C and C ++ port of the fast convolutional network implemented by Matlab. Caffe focuses on image processing and does not target other deep learning such as text, voice, and time series data.
merit |
---|
Suitable for feed forward networks and image processing |
Suitable for fine tuning existing networks |
Train your model without writing code |
Python interface is very useful |
Demerit |
---|
C on new GPU layer++/Need to write CUDA |
Not suitable for recurrent neural networks |
For large networks (GoogLeNet,ResNet) Difficult to use |
Not extensible |
No commercial support |
It takes time to develop |
Chainer
http://chainer.org/
Chainer is an open source neural network framework with a Python API. The core development team is active in Preferred Networks, a Tokyo-based machine learning startup, with many engineers from the University of Tokyo. Until the advent of CMU's DyNet and Facebook's PyTorch, Chainer was the main neural network framework for dynamic computational graphs and was a network that allowed input of various lengths, making it popular for natural language processing work. It is a high function. Using its own benchmarks, Chainer is faster than other frameworks for Python and features TensorFlow, the slowest test group including MxNet and CNTK.
merit |
---|
Intuitive calculation graph can be constructed |
Relatively easy to debug |
Demerit |
---|
Calculation speed tends to be slow |
I'm worried if I can keep up with the update |
The user population is still small(Outside Japan) |
Keras
https://keras.io/
Keras is a library used at the top of Theano and TensorFlow, which does not have a wrapper for deep learning of high-speed calculation libraries, and provides an intuitive API.
When you start deep learning, the programming barrier stands out. However, with Keras, even if you have no programming experience, you can quickly learn a simple network.
merit |
---|
Probably okay even if you have no programming experience |
The framework continues to grow rapidly |
Many users |
Keras is arguably the most beginner-friendly |
Demerit |
---|
The contents of the process are completely unknown from the code |
It is troublesome to let the original processing |
Cannot be changed after building the calculation graph |
There is no difference between PaaS companies in what they can achieve, so I think the game will be ease of use.
Regarding the framework, SONY was released the other day! It seems that OSS will continue to increase in the future!
I think it's best to choose what you need to achieve what you want to do, but I feel that what is absolutely necessary is the fundamentals such as algorithm selection and neural design.
Recommended Posts