Qu'est-ce que le Machine Learning ?

Réponses rédigées par Antoine
Dernière mise à jour : 2019-05-24 13:13:32
Thèmes : ia - logiciel
Question

Qu'est-ce que le Machine Learning, et où trouver des logiciels qui utilisent le Machine Learning.

Réponse

Le Machine Learning (ML), ou apprentissage automatique, est une branche de l’Intelligence Artificielle (IA) axée sur la création de systèmes informatiques capables d'accomplir des tâches sans instructions explicites. Au lieu de se faire expliquer, étape par étape et au cas par cas, comment faire quelque chose, les systèmes ML apprennent en traitant de manière répétée des données d'apprentissage (ensembles représentatifs d'informations d'exemple). Les résultats du traitement sont classés en fonction de leur proximité avec le résultat souhaité. Ce processus est répété avec les algorithmes et les paramètres de meilleur score, utilisés comme base de référence.

Le Machine Learning est utile lorsqu'un ensemble de données d'entrée est massif ou impossible à traiter avec un algorithme écrit par l'homme.

L'expression Machine Learning a été inventée par Arthur Samuel, ingénieur et pionnier de l'IA, en 1959. Il a proposé le terme pour décrire un ordinateur conçu pour jouer aux dames, analyser les jeux précédents et améliorer ses choix de jeux futurs.

Types d'algorithmes d'apprentissage

  • Apprentissage supervisé, chaque donnée de formation a une entrée et une "étiquette" (meilleur résultat prédéfini). Une fonction est exécutée par le système pour tenter d’atteindre la sortie associée à cette entrée. Il itère ensuite sur cette fonction, modifiant les paramètres jusqu'à ce que la fonction puisse traiter avec succès des données non incluses dans le jeu d'apprentissage.

  • Apprentissage non supervisé, les données d'apprentissage sont "sans étiquette", ce qui signifie que la sortie souhaitée n'est pas fournie à l'algorithme. Ces algorithmes se concentrent sur la recherche de modèles et de structures dans les données.

  • Apprentissage semi-supervisé, certaines des données de formation sont étiquetées et d'autres non. Les scientifiques ont découvert que, dans certains cas, ces algorithmes donnent de meilleurs résultats que l’apprentissage non supervisé et sont plus efficaces que l’apprentissage supervisé.

  • Apprentissage actif, l’algorithme tente d’optimiser l’équilibre de supervision (connaître les sorties). Il sélectionne des données d'entrée représentatives et demande à un humain de fournir de manière interactive le meilleur résultat pour ces entrées. Sur Internet, il est souvent demandé aux utilisateurs d’identifier des photographies pour prouver que vous êtes humain, ce qui est appelé une CAPTCHA . Les réponses à ces tâches, telles que sélectionner toutes les photos contenant des feux de signalisation, alimentent des algorithmes d'apprentissage actifs, tels que ceux utilisés pour améliorer la vision par ordinateur dans des véhicules autonomes.

  • Apprentissage par renforcement, les algorithmes se concentrent sur les moyens d'augmenter les chances d'accumuler une récompense quantifiable. Un exemple de ce type de récompense cumulée consiste à prendre la pièce d'un adversaire dans une partie d'échecs. Aux échecs, un pion vaut 1, les tours et les cavaliers 3, une reine vaut 9, etc. Les algorithmes qui augmentent l'avantage matériel au fur et à mesure que le jeu avance augmentent la probabilité de gagner. L'apprentissage par renforcement a des applications dans la théorie des jeux, l'intelligence en essaim et les algorithmes génétiques.

Quelques exemples de logiciels et services qui implémentent et utilisent le Machine Learning :

Amazon Machine Learning ( https://aws.amazon.com/machine-learning ) - Apprentissage automatique sur la plate- forme de cloud AWS .

Cloud AutoML ( https://cloud.google.com/automl ) - Services ML hébergés sur la plate-forme Google Cloud.

Cloud TPU ( https://cloud.google.com/tpu ): service Google exclusif pour accélérer l'apprentissage automatique.

MATLAB ( https://www.mathworks.com/products/matlab.html ) - Environnement informatique numérique et langage de programmation développés par MathWorks.

Mathematica ( https://www.wolfram.com/mathematica ) - Environnement informatique, d'analyse et de visualisation pour les mathématiques avancées, créé par Stephen Wolfram.

Octave ( https://www.gnu.org/software/octave ) - Langage de programmation à code source ouvert pour l'analyse scientifique et la visualisation de données, développé par le projet GNU.

Orange ( https://orange.biolab.si ) - Un environnement d’exploration de données et de ML à code source ouvert adapté aux novices, ainsi qu’aux scientifiques et aux professionnels.

PyTorch ( https://pytorch.org ) - Plate-forme d’apprentissage en profondeur évolutive intégrée au langage de programmation Python, permettant l’accès à la vaste gamme de bibliothèques de science de données de Python.

Spark MLlib ( https://spark.apache.org/mllib ) - Composant ML de Spark, la plate-forme informatique distribuée à code source ouvert développée par Apache Software Foundation.

Splunk ( https://www.splunk.com ) - Plateforme logicielle d'analyse de données en temps réel utilisant ML, développée par Splunk. Inc.

TensorFlow ( https://www.tensorflow.org ) - Plate-forme ML écrite en C ++ , Python et CUDA. Développé par Google pour une utilisation interne, il a été ouvert pour un usage public en novembre 2015.