L'intelligence artificielle gagne en popularité depuis 2016, 20% des grandes entreprises utilisant l'IA dans leurs activités (rapport McKinsey, 2018). Selon le même rapport, l'IA peut créer une valeur substantielle dans tous les secteurs. Dans le secteur bancaire, par exemple, le potentiel de la grippe aviaire est estimé à $ 300 milliards en détail le nombre monter en flèche à $ 600 milliards de dollars.
Pour libérer la valeur potentielle de l'IA, les entreprises doivent choisir le bon cadre d'apprentissage en profondeur. Dans ce tutoriel, vous découvrirez les différentes bibliothèques disponibles pour effectuer des tâches d'apprentissage en profondeur. Certaines bibliothèques existent depuis des années tandis qu'une nouvelle bibliothèque comme TensorFlow est apparue ces dernières années.
8 meilleures bibliothèques / cadres d'apprentissage en profondeur
Dans cette liste, nous comparerons les meilleurs frameworks de Deep Learning. Tous sont open source et populaires dans la communauté des scientifiques des données. Nous comparerons également le ML populaire en tant que fournisseurs de services
Torche
Torch est une ancienne bibliothèque d'apprentissage automatique open source. Il est sorti pour la première fois il y a 15 ans. C'est LUA, mais il a une implémentation en C. En comparant PyTorch vs TensorFlow, il prend en charge une vaste bibliothèque d'algorithmes d'apprentissage automatique, y compris l'apprentissage en profondeur. Il prend en charge l'implémentation CUDA pour le calcul parallèle.
L'outil d'apprentissage en profondeur Torch est utilisé par la plupart des principaux laboratoires tels que Facebook, Google, Twitter, Nvidia, etc. Torch a une bibliothèque en Python nommée Pytorch.
Infer.net
Infer.net est développé et maintenu par Microsoft. Infer.net est une bibliothèque axée principalement sur la statistique bayésienne. Infer.net est un outil de visualisation pour le Deep Learning conçu pour offrir aux praticiens des algorithmes de pointe pour la modélisation probabiliste. La bibliothèque contient des outils analytiques tels que l'analyse bayésienne, la chaîne de Markov cachée, le regroupement.
Keras
Keras est un framework Python pour l'apprentissage en profondeur. C'est une bibliothèque pratique pour construire n'importe quel algorithme d'apprentissage en profondeur. L'avantage de Keras est qu'il utilise le même code Python pour s'exécuter sur CPU ou GPU. En outre, l'environnement de codage est pur et permet de former un algorithme de pointe pour la vision par ordinateur, la reconnaissance de texte, entre autres.
Keras a été développé par François Chollet, chercheur chez Google. Keras est utilisé dans des organisations de premier plan comme le CERN, Yelp, Square ou Google, Netflix et Uber.
Theano
Theano est une bibliothèque d'apprentissage en profondeur développée par l'Université de Montréal en 2007. En comparant Theano à TensorFlow, elle offre un calcul rapide et peut être exécutée à la fois sur CPU et GPU. Theano a été développé pour entraîner des algorithmes de réseaux neuronaux profonds.
Boîte à outils cognitive Microsoft (CNTK)
La boîte à outils Microsoft, précédemment connue sous le nom de CNTK, est une bibliothèque d'apprentissage en profondeur développée par Microsoft. Selon Microsoft, la bibliothèque est parmi les plus rapides du marché. La boîte à outils Microsoft est une bibliothèque open-source, bien que Microsoft l'utilise largement pour ses produits tels que Skype, Cortana, Bing et Xbox. La boîte à outils est disponible à la fois en Python et C ++.
MXNet
MXnet est une bibliothèque d'apprentissage en profondeur récente. Il est accessible avec plusieurs langages de programmation, notamment C ++, Julia, Python et R. MXNet peut être configuré pour fonctionner à la fois sur CPU et GPU. MXNet comprend une architecture d'apprentissage en profondeur de pointe, telle que le réseau neuronal convolutif et la mémoire à court terme. MXNet est conçu pour fonctionner en harmonie avec une infrastructure cloud dynamique. Le principal utilisateur de MXNet est Amazon
Caffe
Caffe est une bibliothèque construite par Yangqing Jia lorsqu'il était doctorant à Berkeley. En comparant Caffe vs TensorFlow, Caffe est écrit en C ++ et peut effectuer des calculs sur CPU et GPU. Les principales utilisations de Caffe sont le réseau neuronal convolutif. Bien que, en 2017, Facebook ait étendu Caffe avec une architecture d'apprentissage plus approfondie, y compris le réseau neuronal récurrent. Caffe est utilisé par les universitaires et les startups mais aussi par certaines grandes entreprises comme Yahoo !.
TensorFlow
TensorFlow est un projet open source de Google. TensorFlow est la bibliothèque d'apprentissage en profondeur la plus connue de nos jours. Il a été rendu public à la fin de 2015
TensorFlow est développé en C ++ et dispose d'une API Python pratique, bien que des API C ++ soient également disponibles. Des entreprises de premier plan comme Airbus, Google, IBM, etc. utilisent TensorFlow pour produire des algorithmes d'apprentissage en profondeur.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Différences clés
Bibliothèque | Plate-forme | Écrit en | Prise en charge de Cuda | Exécution parallèle | A des modèles formés | RNN | CNN |
---|---|---|---|---|---|---|---|
Torche | Linux, MacOS, Windows | Lua | Oui | Oui | Oui | Oui | Oui |
Infer.Net | Linux, MacOS, Windows | Visual Studio | Non | Non | Non | Non | Non |
Keras | Linux, MacOS, Windows | Python | Oui | Oui | Oui | Oui | Oui |
Theano | Multiplateforme | Python | Oui | Oui | Oui | Oui | Oui |
TensorFlow | Linux, MacOS, Windows, Android | C ++, Python, CUDA | Oui | Oui | Oui | Oui | Oui |
KIT D'OUTILS COGNITIF MICROSOFT | Linux, Windows, Mac avec Docker | C ++ | Oui | Oui | Oui | Oui | Oui |
Caffe | Linux, MacOS, Windows | C ++ | Oui | Oui | Oui | Oui | Oui |
MXNet | Linux, Windows, MacOs, Android, iOS, Javascript | C ++ | Oui | Oui | Oui | Oui | Oui |
Verdict:
TensorFlow est la meilleure bibliothèque de toutes car elle est conçue pour être accessible à tous. La bibliothèque Tensorflow intègre différentes API pour créer une architecture d'apprentissage en profondeur à grande échelle telle que CNN ou RNN. TensorFlow est basé sur le calcul de graphes, il permet au développeur de visualiser la construction du réseau de neurones avec Tensorboad. Cet outil est utile pour déboguer le programme. Enfin, Tensorflow est conçu pour être déployé à grande échelle. Il fonctionne sur CPU et GPU.
Tensorflow attire la plus grande popularité sur GitHub par rapport aux autres bibliothèques d'apprentissage en profondeur.
Comparaison de l'apprentissage automatique en tant que service
Voici 4 DL populaires en tant que fournisseurs de services
Google Cloud ML
Google propose un modèle pré-formé pour les développeurs disponible dans Cloud AutoML. Cette solution existe pour un développeur sans une solide expérience en apprentissage automatique. Les développeurs peuvent utiliser le modèle pré-entraîné de Google de pointe sur leurs données. Il permet à tous les développeurs de former et d'évaluer n'importe quel modèle en quelques minutes seulement.
Google fournit actuellement une API REST pour la vision par ordinateur, la reconnaissance vocale, la traduction et la PNL.
À l'aide de Google Cloud, vous pouvez former un cadre d'apprentissage automatique basé sur TensorFlow, Scikit-learn, XGBoost ou Keras. L'apprentissage automatique de Google Cloud entraînera les modèles dans son cloud.
L'avantage d'utiliser le cloud computing de Google est la simplicité de déploiement de l'apprentissage automatique en production. Il n'est pas nécessaire de configurer le conteneur Docker. De plus, le cloud s'occupe de l'infrastructure. Il sait comment allouer des ressources avec des processeurs, des GPU et des TPU. Cela rend la formation plus rapide avec le calcul en parallèle.
AWS SageMaker
Un concurrent majeur de Google Cloud est Amazon Cloud, AWS. Amazon a développé Amazon SageMaker pour permettre aux spécialistes des données et aux développeurs de créer, de former et de mettre en production tous les modèles d'apprentissage automatique.
SageMaker est disponible dans un bloc-notes Jupyter et comprend la bibliothèque d'apprentissage automatique la plus utilisée, TensorFlow, MXNet, Scikit-learn, entre autres. Les programmes écrits avec SageMaker sont automatiquement exécutés dans les conteneurs Docker. Amazon gère l'allocation des ressources pour optimiser la formation et le déploiement.
Amazon fournit une API aux développeurs afin d'ajouter de l'intelligence à leurs applications. Dans certaines occasions, il n'est pas nécessaire de réinventer la roue en construisant à partir de zéro de nouveaux modèles alors qu'il existe de puissants modèles pré-entraînés dans le cloud. Amazon fournit des services API pour la vision par ordinateur, les chatbots conversationnels et les services linguistiques:
Les trois principales API disponibles sont:
- Amazon Rekognition: fournit une reconnaissance d'image et de vidéo à une application
- Amazon Comprehend: effectuez une exploration de texte et un traitement du langage neuronal pour, par exemple, automatiser le processus de vérification de la légalité d'un document financier
- Amazon Lex: ajouter un chatbot à une application
Azure Machine Learning Studio
Azure Machine Learning Studio est probablement l'une des approches les plus conviviales de l'apprentissage automatique. L'avantage significatif de cette solution est qu'aucune connaissance préalable en programmation n'est requise.
Microsoft Azure Machine Learning Studio est un outil collaboratif par glisser-déposer pour créer, former, évaluer et déployer une solution d'apprentissage automatique. Le modèle peut être efficacement déployé en tant que services Web et utilisé dans plusieurs applications comme Excel.
L'interface Azure Machine Learning est interactive, ce qui permet à l'utilisateur de créer un modèle simplement en faisant glisser et en déposant rapidement des éléments.
Lorsque le modèle est prêt, le développeur peut l'enregistrer et le pousser vers Azure Gallery ou Azure Marketplace.
Azure Machine Learning peut être intégré à R ou Python dans leur package intégré personnalisé.
IBM Watson ML
Watson studio peut simplifier les projets de données avec un processus rationalisé qui permet d'extraire de la valeur et des informations à partir des données pour aider l'entreprise à devenir plus intelligente et plus rapide. Watson studio fournit un environnement collaboratif de science des données et d'apprentissage automatique facile à utiliser pour créer et former des modèles, préparer et analyser des données et partager des informations en un seul endroit. Watson Studio est facile à utiliser avec un code glisser-déposer.
Watson studio prend en charge certains des frameworks les plus populaires tels que Tensorflow, Keras, Pytorch, Caffe et peut déployer un algorithme d'apprentissage en profondeur sur les derniers GPU de Nvidia pour accélérer la modélisation.
Verdict:
De notre point de vue, la solution cloud de Google est celle qui est la plus recommandée. La solution cloud de Google offre des prix inférieurs à l'AWS d'au moins 30% pour le stockage de données et la solution d'apprentissage automatique. Google fait un excellent travail pour démocratiser l'IA. Il a développé un langage open source, TensorFlow, une connexion optimisée à l'entrepôt de données, fournit d'énormes outils allant de la visualisation des données, de l'analyse des données à l'apprentissage automatique. De plus, Google Console est ergonomique et bien plus complète que AWS ou Windows.