[PYTHON] Organisez des plateformes d'apprentissage automatique et d'apprentissage en profondeur

introduction

Récemment, l'ouverture de la plateforme est devenue populaire, alors réorganisons la plateforme d'apprentissage automatique et la plateforme d'apprentissage profond (framework).

Principales plateformes

Service PaaS

Nom 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/

Cadre d'apprentissage (Python)

Nom 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/

Une brève description du service PaaS

Les services fournis par chaque fournisseur comprennent la traduction de modèles pré-appris et la reconnaissance d'images / vidéo.

Google Cloud Platform Screen Shot 0029-07-04 at 10.53.49 PM.png

Ce sera une plate-forme d'apprentissage automatique fournie par Google. Un service géré qui facilite la création de modèles d'apprentissage automatique pour toutes les données, quelle que soit leur taille. Vous pouvez également utiliser TensorFlow préparé sur le cloud.

Contenu de l'apprentissage automatique

・ Cloud Machine Learning Engine Vous pouvez tirer des leçons de diverses données telles que la régression / classification supervisée et le clustering non supervisé. L'algorithme utilisé n'est pas divulgué.

Azure Machine Learning Screen Shot 0029-07-04 at 10.56.59 PM.png

Azure Machine Learning est un service d'analyse prédictive cloud qui vous permet de créer et de déployer rapidement des modèles prédictifs en tant que solution analytique. Avec une bibliothèque d'algorithmes prêts à l'emploi, vous pouvez créer des modèles sur un PC connecté à Internet et déployer rapidement une solution de prédiction.

Contenu de l'apprentissage automatique

· Azure ML Vous pouvez également tirer des leçons de diverses données telles que la régression / classification supervisée et le clustering non supervisé. Vous pouvez choisir l'algorithme à utiliser. (Il y a trop d'algorithmes et c'est hors spécifications.)

Amazon Machine Learning amazon_machine_learning.png

Amazon Machine Learning est un service géré permettant de créer des modèles d'apprentissage automatique et de générer des prédictions, vous permettant de développer des applications robustes, évolutives et avancées. Amazon Machine Learning vous permet d'utiliser de puissantes technologies d'apprentissage automatique sans avoir besoin d'une connaissance approfondie des algorithmes et des techniques d'apprentissage automatique.

Contenu de l'apprentissage automatique

・ Amazon Machine Learning Vous pouvez également tirer des leçons de diverses données telles que la régression / classification supervisée et le clustering non supervisé.

[Algorithme utilisé] Régression: régression linéaire Classification Classification binaire: régression logistique Classification multiclasse: régression logistique multinomiale

Bluemix IBM Watson IBM-Watson-Logo.png

IBM définit l'IA comme une «intelligence augmentée» plutôt que comme une «intelligence artificielle» pour étendre et améliorer les connaissances humaines, et propose à ses clients IBM Watson comme solution cognitive de base. CA offre. IBM Watson est une plate-forme technologique qui utilise le traitement du langage naturel et l'apprentissage automatique pour révéler des informations à partir de grandes quantités de données non structurées.

Contenu de l'apprentissage automatique

Vous pouvez également tirer des leçons de diverses données telles que la régression / classification supervisée et le clustering non supervisé. De plus, comme il existe plusieurs API apprises, il est pratique de créer un nouveau service.   [Algorithme utilisé] privé Il semble que «considérez plusieurs algorithmes disponibles et sélectionnez celui qui répond à vos besoins».

Une brève description du cadre d'apprentissage

C'est un framework distribué par OSS.

Theano main-thumb-t-449747-200-vosprwwgrsgxbcuogpvzqfdrnccpscnt.jpeg

http://deeplearning.net/software/theano/index.html

Appelé le grand-père du framework d'apprentissage profond, de nombreux chercheurs mondiaux utilisent Theano écrit en Python.

mérite et démérite

mérite
Le graphique de calcul est facile à voir et abstrait
Les réseaux de neurones récursifs s'intègrent bien dans les graphes informatiques
Les emballages de haut niveau (Keras, Lasagnes) vous font gagner du temps
Démérite
Le message d'erreur peut ne pas être utile
Les modèles plus grands peuvent prendre plus de temps à compiler
Prise en charge insuffisante des modèles pré-formés
GPU unique

TensorFlow tensor-flow_opengraph_h.png

https://www.tensorflow.org/

TnesorFlow est la dernière bibliothèque de réseaux neuronaux développée par Google dans le cadre du projet "Google Brain".

Des fonctionnalités de haut niveau peuvent être implémentées et les calculs peuvent être représentés dans des flux de données et des graphiques. L'intérieur de la bibliothèque est fait en C ++, mais Python est également inclus et il a une structure qui peut être utilisée de manière flexible.

mérite et démérite

mérite
Abstraction de graphe informatique
Le temps de compilation est plus court que Theano
Visualisez à l'aide de TensorBoard
Traitement parallèle des données et du modèle
Démérite
Plus lent que les autres frameworks
Il n'y a pas beaucoup de modèles pré-formés.
Les graphes informatiques sont lents car ils ne sont que Python.
Pas de support commercial
Abandonnez Python pour charger chaque nouveau lot de formation
La saisie dynamique est sujette aux erreurs dans les grands projets logiciels

Caffe caffe-logo.jpg

http://caffe.berkeleyvision.org/

Caffe est une bibliothèque de vision industrielle bien connue et largement utilisée qui est un port du réseau de convolution rapide de Matlab en C et C ++. Caffe se concentre sur le traitement d'image et ne cible pas d'autres apprentissages en profondeur tels que le texte, l'audio et les données de séries chronologiques.

mérite et démérite

mérite
Convient pour les réseaux à réaction et le traitement d'image
Convient pour le réglage fin des réseaux existants
Entraînez votre modèle sans écrire de code
L'interface Python est très utile
Démérite
C sur la nouvelle couche GPU++/Besoin d'écrire CUDA
Ne convient pas aux réseaux de neurones récursifs
Pour les grands réseaux (GoogLeNet,ResNet) Difficile à utiliser
Non extensible
Pas de support commercial
Il faut du temps pour se développer

Chainer tensor-flow_opengraph_h.png

http://chainer.org/

Chainer est un framework de réseau neuronal open source avec une API Python. L'équipe de développement principale est active dans Preferred Networks, une start-up de machine learning basée à Tokyo avec de nombreux ingénieurs de l'Université de Tokyo. Jusqu'à l'avènement de DyNet de CMU et de PyTorch de Facebook, Chainer était le principal cadre de réseau de neurones pour les graphes de calcul dynamiques et était un réseau qui permettait la saisie de différentes longueurs, ce qui le rendait populaire pour le travail de traitement du langage naturel. C'est une fonction élevée. En utilisant ses propres benchmarks, Chainer est plus rapide que les autres frameworks pour Python et intègre TensorFlow, le groupe de test le plus lent comprenant MxNet et CNTK.

mérite et démérite

mérite
Un graphique de calcul intuitif peut être construit
Relativement facile à déboguer
Démérite
La vitesse de calcul a tendance à être lente
Je suis inquiet si je peux suivre la mise à jour
La population d'utilisateurs est encore petite(Hors du Japon)

Keras 1b042898-d4d8-4a90-b7aa-831eea3a5f83.png

https://keras.io/

Keras est une bibliothèque utilisée au sommet de Theano et TensorFlow, qui n'est pas un wrapper pour l'apprentissage en profondeur des bibliothèques de calcul à grande vitesse, et fournit une API intuitive.

Lorsque vous commencez l'apprentissage profond, la barrière de la programmation se démarque. Cependant, avec Keras, même si vous n'avez aucune expérience en programmation, vous pouvez rapidement apprendre un réseau simple.

mérite
Probablement bien même si vous n'avez aucune expérience en programmation
Le cadre continue de croître rapidement
De nombreux utilisateurs
Keras est sans doute le plus adapté aux débutants
Démérite
Le contenu du processus est complètement inconnu du code
Il est difficile de laisser le traitement original
Ne peut pas être modifié après la création du graphique de calcul

à la fin

Il n'y a aucune différence entre les entreprises PaaS quant à ce qu'elles peuvent réaliser, donc je pense que le jeu sera facile à utiliser.

Concernant le framework, SONY est sorti l'autre jour! Il semble que l'OSS continuera d'augmenter à l'avenir!

Je pense qu'il est préférable de choisir ce dont vous avez besoin pour réaliser ce que vous voulez faire, mais je pense que ce qui est absolument nécessaire, ce sont les principes fondamentaux tels que la sélection d'algorithmes et la conception neuronale.

Recommended Posts

Organisez des plateformes d'apprentissage automatique et d'apprentissage en profondeur
Apprentissage automatique et optimisation mathématique
Intelligence artificielle, machine learning, deep learning pour mettre en œuvre et comprendre
Importance de l'apprentissage automatique et de l'apprentissage par mini-lots
Classification et régression dans l'apprentissage automatique
Apprentissage automatique
L'apprentissage en profondeur
Les débutants en apprentissage automatique suivent le cours d'apprentissage en profondeur de Coursera
[Apprentissage automatique] OOB (Out-Of-Bag) et son ratio
Introduction au Deep Learning ~ Pliage et mise en commun ~
Signification des modèles et paramètres d'apprentissage en profondeur
Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)
Résumé de la classification et de la mise en œuvre des algorithmes d'apprentissage automatique
Créer un environnement pour Python et l'apprentissage automatique (macOS)
"Tutoriels OpenCV-Python" et "Système d'apprentissage automatique pratique"
Mémorandum d'apprentissage profond
Apprentissage en profondeur Python
Apprentissage profond × Python
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Exemple d'apprentissage automatique
Étudiez l'apprentissage automatique et l'informatique. Liste des ressources
Chainer et deep learning appris par approximation de fonction
Ordre d'étude recommandé pour les débutants en apprentissage automatique / apprentissage en profondeur
Un mémorandum d'étude et de mise en œuvre du Deep Learning
Développez et gonflez votre propre ensemble de données Deep Learning
[Note] Python, lors du démarrage du machine learning / deep learning [Liens]
Division des données de formation en apprentissage automatique et apprentissage / prédiction / vérification
Apprentissage parallèle du deep learning par Keras et Kubernetes
Introduction à l'apprentissage profond ~ Fonction de localisation et de perte ~
[Pour les débutants en intelligence artificielle] Parcours d'apprentissage et de référence en apprentissage automatique / programmation en profondeur
Résumé du didacticiel d'apprentissage automatique
Premier apprentissage profond ~ Lutte ~
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
Apprentissage automatique sur le surapprentissage
J'ai installé et utilisé la bibliothèque Deep Learning Chainer
Python: pratique du Deep Learning
Nouvelle interface d'apprentissage automatique "Apache Flink" et module Flink-Python
Fonctions d'apprentissage en profondeur / d'activation
Apprentissage profond à partir de zéro
Apprentissage automatique: supervisé - AdaBoost
Régression logistique d'apprentissage automatique
[Apprentissage automatique] Comprendre la SVM à la fois à partir de scikit-learn et des mathématiques
Analyse d'images par apprentissage profond à partir de Kaggle et Keras
Apprentissage automatique facile avec scikit-learn et flask ✕ Application Web
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
Deep learning 1 Pratique du deep learning
Machine de vecteur de support d'apprentissage automatique
Apprentissage profond / entropie croisée
Premier apprentissage profond ~ Préparation ~
Première solution d'apprentissage en profondeur ~
Régression linéaire d'apprentissage automatique
J'ai essayé le deep learning
Mémo du cours d'apprentissage automatique
Bibliothèque d'apprentissage automatique dlib
Apprentissage automatique (TensorFlow) + Lotto 6
Prédire les tags en extrayant des fonctionnalités musicales avec Deep Learning
Apprenez en quelque sorte le machine learning
Bibliothèque DNN (Deep Learning): Comparaison de chainer et TensorFlow (1)