Outils d'apprentissage automatique open source

Contenu

Vue d'ensemble

  • Nous présentons 21 des outils open source pour l'apprentissage automatique que vous n'avez peut-être pas rencontrés
  • Chaque outil open source ajoute ici un aspect différent au répertoire d'un data scientist
  • Nous nous concentrons principalement sur les outils pour cinq aspects de l'apprentissage automatique: pour les non-programmeurs (Louis, Orange, COUTEAUX), mise en œuvre du modèle (CoreML, Tensorflow.js), Big Data (Hadoop, Étincelle), Vision par ordinateur(SimpleCV), PNL(StanfordPNL), audio et apprentissage renforcé (Gymnase OpenAI)

introduction

j'adore l'open source apprentissage automatique communauté. La plupart de mon apprentissage en tant qu'aspirant et plus tard en tant que scientifique des données établi est venu d'outils et de ressources open source.

Si vous n'avez pas encore embrassé la beauté des outils open source dans l'apprentissage automatique, il lui manque! La communauté open source est énorme et a une attitude de soutien incroyable envers les nouveaux outils et l'adoption du concept de démocratisation de l'apprentissage automatique..

open-source-9452207

Vous devriez déjà connaître les outils open source populaires comme R, Python, jupyter cahiers, etc. Mais il y a un monde au-delà de ces outils populaires: un endroit où il y a des outils d'apprentissage automatique cachés. Ce ne sont pas aussi éminents que leurs homologues, mais ils peuvent sauver la vie de nombreuses tâches d'apprentissage automatique.

Dans cet article, nous verrons 21 de ces outils open source pour apprentissage automatique. Je vous recommande fortement de prendre le temps d'analyser chacune des catégories que j'ai mentionnées.. Il y a BEAUCOUP à apprendre au-delà de ce que nous apprenons normalement dans les cours et les vidéos.

Notez que beaucoup d'entre elles sont des bibliothèques / Des outils basés sur Python car avouons-le: Python est un langage de programmation aussi polyvalent que possible !!

Nous avons divisé les outils d'apprentissage automatique open source en 5 catégories:

  1. Outils d'apprentissage automatique open source pour les non-programmeurs
  2. Implémentation du modèle d'apprentissage automatique
  3. Outils Open Source Big Data
  4. Vision par ordinateur, PNL et audio
  5. Apprentissage renforcé

1. Outils d'apprentissage automatique open source pour les non-programmeurs

L'apprentissage automatique peut sembler complexe pour les personnes sans formation technique ou en programmation. C'est un vaste domaine et je peux imaginer à quel point cette première étape peut sembler intimidante.. Une personne sans expérience en programmation peut-elle réussir en apprentissage automatique ??

Eh bien, il s'avère que vous pouvez! Voici quelques outils qui peuvent vous aider à franchir le gouffre et à entrer dans le célèbre monde du machine learning.:

  • À propos de Ludwig: Ludwig d'Uber est une boîte à outils construite sur TensorFlow. Ludwig nous permet de former et de tester des modèles d'apprentissage en profondeur sans avoir besoin d'écrire du code. Tout ce que vous devez fournir est un fichier CSV contenant vos données, une liste de colonnes à utiliser comme entrées et une liste de colonnes à utiliser comme sorties; Ludwig fera le reste. Il est très utile pour l'expérimentation, car vous pouvez construire des modèles complexes avec très peu d'effort et en peu de temps, et vous pouvez le modifier et jouer avec avant de décider de l'implémenter dans le code.

  • COUTEAUX: KNIME vous permet de créer des workflows complets de science des données à l'aide d'une interface glisser-déposer. Essentiellement, peut tout mettre en oeuvre, de l'ingénierie des fonctionnalités à la sélection des fonctionnalités et même en ajoutant des modèles d'apprentissage automatique prédictifs à votre flux de travail de cette façon. Cette approche d'implémentation visuelle de l'intégralité de votre workflow de modèle est très intuitive et peut être très utile lorsque vous travaillez sur des énoncés de problèmes complexes..

couteau-2195248

  • Orange: Pas besoin de savoir encoder pour pouvoir utiliser Orange pour extraire des données, traiter les numéros et obtenir des informations. Peut effectuer des tâches allant de la visualisation de base à la manipulation, transformation et data mining. Orange est devenu populaire ces derniers temps auprès des étudiants et des enseignants en raison de sa facilité d'utilisation et de la possibilité d'ajouter plusieurs plugins pour compléter son ensemble de fonctionnalités..

Il existe des logiciels libres et open source beaucoup plus intéressants qui offrent une grande accessibilité pour faire du machine learning sans taper (beaucoup) code.

De l'autre côté de la médaille, il existe des services payants prêts à l'emploi que vous pouvez envisager, Quoi Google AutoML, Étude Azure, Cognition profonde, Oui Robot de données.

2. Outils d'apprentissage automatique open source pour le déploiement de modèles

La mise en œuvre de modèles d'apprentissage automatique est l'une des tâches les plus négligées mais les plus importantes que vous devez prendre en compte. Cela reviendra presque certainement dans les interviews, donc vous connaissez peut-être bien le sujet.

Voici quelques frameworks qui peuvent faciliter la mise en œuvre de ce projet préféré sur un appareil du monde réel.

  • MLFlow: MLFlow est conçu pour fonctionner avec n'importe quel algorithme ou bibliothèque d'apprentissage automatique et gérer l'ensemble du cycle de vie, y compris l'expérimentation, reproductibilité et mise en œuvre de modèles d'apprentissage automatique. MLFlow est actuellement en alpha et a 3 Composants: le suivi, projets et modèles.

mlflow-1-768x384-5879323

  • CoreML d'Apple: CoreML est un framework populaire qui peut être utilisé pour intégrer des modèles d'apprentissage automatique dans votre application iOS. / Apple Watch / Apple TV / Mac OS. La meilleure partie de CoreML est qu'il ne nécessite pas de connaissances approfondies des réseaux de neurones ou de l'apprentissage automatique.. Un gagnant-gagnant!

noyau-de-pomme-ml-1771328

  • TensorFlow Lite: TensorFlow Lite est un ensemble d'outils pour aider les développeurs à exécuter des modèles TensorFlow sur des appareils mobiles (Android et iOS), intégré et IoT. Il est conçu pour faciliter l'apprentissage automatique sur les appareils, “au bord” du réseau, au lieu d'envoyer et de recevoir des données d'un serveur.
  • TensorFlow.js – TensorFlow.js peut être votre option préférée pour mettre en œuvre votre modèle d'apprentissage automatique sur le Web. Il s'agit d'une bibliothèque open source qui vous permet de créer et d'entraîner des modèles d'apprentissage automatique dans votre navigateur.. Il est disponible avec l'accélération GPU et prend également en charge automatiquement WebGL. Vous pouvez importer des modèles pré-entraînés existants et également recycler des modèles d'apprentissage automatique complets existants dans le navigateur lui-même !!

tensorflow_diagram1-206607

3. Outils d'apprentissage automatique open source pour le Big Data

Le Big Data est un domaine qui traite des manières d'analyser, extraire systématiquement des informations ou, d'une autre manière, traiter des ensembles de données trop volumineux ou complexes pour être traités par un logiciel d'application de traitement de données traditionnel. Imaginez traiter des millions de tweets en une journée pour l'analyse des sentiments. Cela ressemble à une tâche énorme., ce n'est pas comme ça?

Ne t'inquiète pas! Ensuite, Certains outils sont inclus qui peuvent vous aider à travailler avec le Big Data.

  • Hadoop: L'un des outils les plus importants et les plus pertinents pour travailler avec le Big Data est le projet Hadoop. Hadoop est un framework qui permet le traitement distribué de grands ensembles de données sur des groupes d'ordinateurs à l'aide de modèles de programmation simples.. Il est conçu pour évoluer de serveurs uniques à des milliers de machines, chacun offrant un calcul et un stockage locaux.

hadoopstack-3126982

  • Étincelle – étincelle: Apache Spark est considéré comme le successeur naturel d'Hadoop pour les applications Big Data. Le point clé de cet outil big data open source est qu'il comble les lacunes d'Apache Hadoop en matière de traitement des données. avec curiosité, Spark peut gérer à la fois les données par lots et les données en temps réel.
  • Neo4j: Hadoop n'est peut-être pas un bon choix pour tous les problèmes de Big Data. Par exemple, lorsque vous devez gérer un grand volume de données réseau ou des problèmes liés aux graphiques, tels que les médias sociaux ou les modèles démographiques, une base de données graphique peut être le choix parfait.

microsoft-concept-graph-neo4j-6680172

4. Outils d'apprentissage automatique open source pour la vision industrielle, PNL et audio

“Si nous voulons que les machines pensent, nous devons leur apprendre à voir”.

– Dr. Fei-Fei Li sur la vision industrielle

  • SimpleCV: Vous devez avoir utilisé OpenCV si vous avez travaillé sur des projets de vision par ordinateur. Mais, Avez-vous déjà rencontré SimpleCV? SimpleCV vous donne accès à plusieurs bibliothèques de vision par ordinateur de grande puissance, comme OpenCV, sans avoir à se renseigner d'abord sur les profondeurs de bits, format de fichier, espaces colorimétriques, gestion des tampons, valeurs propres ou stockage en tableau versus bitmap. C'est la vision par ordinateur simplifiée.

capture d

  • Tesseract OCR: Avez-vous utilisé des applications créatives qui vous permettent de numériser des documents ou d'acheter des factures à l'aide de l'appareil photo de votre smartphone ou de déposer de l'argent sur votre compte bancaire simplement en prenant une photo d'un chèque? Toutes ces applications utilisent ce que nous appelons un logiciel OCR ou Optical Character Recognition.. Tesseract est l'un de ces moteurs OCR qui a la capacité de reconnaître plus de 100 langues Hors du cadre. Vous pouvez également apprendre à reconnaître d'autres langues.
  • Détecteur: Detectron est le système logiciel de Facebook AI Research qui implémente des algorithmes de détection d'objets de pointe, comprenant Mascara R-CNN. Il est écrit en Python et fonctionne avec Café2 cadre d'apprentissage en profondeur.

33823288584_1d21cf0a26_k_example_output-6359967

  • StanfordPNL: StanfordNLP est un package d'analyse en langage naturel Python. La meilleure partie de cette bibliothèque est qu'elle prend en charge plus de 70 langages humains! Contient des outils qui peuvent être utilisés dans un pipeline pour
    • Convertir une chaîne contenant du texte en langage humain en listes de phrases et de mots
    • Générer des formes de base de ces mots, ses parties du discours et ses caractéristiques morphologiques, Oui
    • Donner une analyse de dépendance de structure syntaxique

stanfordnlp-1486939

  • BERT en tant que service: Tous les passionnés de PNL ont déjà entendu parler de BERT, L'architecture NLP innovante de Google, mais ils n'ont probablement pas trouvé ce projet aussi utile. Bert-as-a-service utilise BERT comme encodeur de phrases et l'héberge en tant que service via ZeroMQ, vous permettant de mapper des phrases à des représentations de longueur fixe en seulement deux lignes de code.
  • Google Magenta: Cette bibliothèque fournit des utilitaires pour manipuler les données sources (principalement de la musique et des images), utiliser ces données pour former des modèles d'apprentissage automatique et, finalement, générer de nouveaux contenus à partir de ces modèles.

  • Livre: LibROSA est un package Python pour l'analyse audio et musicale. Fournit les composants de base nécessaires pour créer des systèmes de récupération d'informations musicales. Il est largement utilisé dans le prétraitement des signaux audio lorsque vous travaillez sur des applications telles que la conversion parole-texte avec apprentissage en profondeur., etc.

Outils open source pour l'apprentissage par renforcement

RL est le nouveau sujet de conversation de la ville en matière d'apprentissage automatique. L'objectif de l'apprentissage par renforcement (RL) est de former des agents intelligents capables d'interagir avec leur environnement et de résoudre des tâches complexes, avec des applications du monde réel à la robotique, voitures autonomes et plus.

Les progrès rapides dans ce domaine ont été alimentés par le fait que les agents jouent à des jeux comme les jeux emblématiques de la console Atari., l'ancien jeu de go, ou des jeux vidéo joués professionnellement comme Dota 2 o Starcraft 2, qui fournissent tous des environnements difficiles où de nouveaux algorithmes et idées peuvent être rapidement testés de manière sûre et reproductible. Ce sont quelques-uns des environnements de formation les plus utiles pour RL:

  • Recherche Google Football: Google Research Football Environment est un nouvel environnement RL où les agents visent à dominer le sport le plus populaire au monde: le football. Cet environnement vous donne un grand contrôle pour former vos agents RL, Regardez la vidéo pour en savoir plus:

  • Gymnase OpenAI: Gym est un ensemble d'outils pour développer et comparer des algorithmes d'apprentissage par renforcement. Prend en charge l'enseignement des agents autour, de la marche aux jeux comme Pong ou Pinball. Dans le gif suivant, vous verrez un agent qui apprend à marcher.

image2-3801691

  • Agents Unity AA: La boîte à outils Unity Machine Learning Agent (ML-Agents) est un plugin Unity open source qui permet aux jeux et aux simulations de servir d'environnements pour la formation d'agents intelligents. Les agents peuvent être formés grâce à l'apprentissage par renforcement, apprendre par imitation, neuroevolution ou d'autres méthodes d'apprentissage automatique via une API Python facile à utiliser.

image2-2-3227149

  • Projet Malmö: La plate-forme Malmo est une plate-forme d'expérimentation d'intelligence artificielle sophistiquée construite sur Minecraft et conçue pour soutenir la recherche fondamentale en intelligence artificielle.. Il est développé par Microsoft.

Remarques finales

Comme cela a dû être évident dans l'ensemble d'outils précédent, l'open source est la voie à suivre lorsque l'on considère les projets liés à la science des données et à l'intelligence artificielle. Je viens probablement de gratter la pointe de l'iceberg, Mais il existe de nombreux outils disponibles pour une variété de tâches qui facilitent votre vie en tant que data scientist., Tu dois juste savoir où regarder.

Dans cet article, nous avons couvert 5 domaines intéressants de la science des données, personne ne parle beaucoup de ML sans code, Mise en œuvre du ML, Big Data, Vision / PNL / Apprentissage du son et du renforcement. Personnellement, je pense que tu es 5 les domaines ont le plus grand impact lorsque la valeur réelle de l'IA est prise en compte.

Quels sont les outils qui, selon vous, auraient dû figurer sur cette liste? Écrivez vos favoris ci-dessous pour en informer la communauté !!

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.