Numeriblog Produits Google Google Cloud Platform Qu’est-ce que le Machine Learning ?

Qu’est-ce que le Machine Learning ?

C’est un sujet qui fait peur à beaucoup de personnes et cela pour plusieurs raisons. Premièrement c’est un sujet très pointu qui nécessite beaucoup de connaissances pour être maîtrisé, mais surtout à cause de la […]

personnes ont consulté cet article

4 minutes

Rédigé par Xavier Michetti - il y a 9 mois

Qu’est-ce que le Machine Learning ?

C’est un sujet qui fait peur à beaucoup de personnes et cela pour plusieurs raisons. Premièrement c’est un sujet très pointu qui nécessite beaucoup de connaissances pour être maîtrisé, mais surtout à cause de la peur de “la domination de la machine sur l’homme” bien entretenue par Hollywood. Le but de cet article n’est pas de vous convaincre, mais de vous expliquer comment fonctionne cet outil et à quoi il peut servir. J’ai bien utilisé le terme “outil”, car finalement ce n’est qu’un outil parmi tant d’autres avec ses avantages et ses inconvénients.

Si vous vous attendiez à du sensationnalisme, je vais malheureusement vous décevoir, je ne suis pas un écrivain d’anticipation, je fais de la vulgarisation scientifique et c’est pourquoi je destine cet article au plus large public possible. Vous trouverez donc dans cet article le moins de détails techniques possibles et quelques raccourcis.

Qu’est-ce qu’on appelle Machine Learning ?

C’est un programme d’intelligence artificielle capable d’apporter des réponses à une question (données d’entrées du programme). Il en existe une multitude et même si leurs théories peuvent être parfois très éloignées, ils ont tous quelque chose en commun, c’est qu’ils reposent sur un algorithme d’apprentissage. Lors de cette phase d’apprentissage (ou entraînement) le programme tourne en boucle afin de régler un certain nombre de paramètres jusqu’à converger suffisamment vers le résultat attendu.

Donc le programme doit pouvoir s’évaluer, et la méthode la plus connue est de fournir des données d’entraînements. Par exemple, si on souhaite entraîner une machine à reconnaître des chats sur une photo, on met à disposition un grand nombre d’images en indiquant s’il y a ou non un chat sur la photo. On n’indique pas au programme comment reconnaître le chat, ce dernier trouvera de lui-même comment l’identifier. Ce processus nécessite beaucoup d’images et de temps de calcul. De manière générale, les ressources Big Data sont idéales pour piocher les jeux de données nécessaires pour alimenter ces puissants algorithmes, car ils ont besoin d’un important volume de données pour fonctionner.

On peut aussi entraîner des programmes sur la base de résultats objectifs, comme le célèbre exemple du jeu de GO, dans lequel la machine finit par s’entraîner en jouant contre elle-même (si elle gagne c’est que le nouveau paramétrage est meilleur). Dans ce cas précis, c’est surtout la puissance et le temps des calculs qui font progresser la machine, pas le volume de données en entrée.

Une fois que les paramètres sont enregistrés, l’utilisation du modèle (fruit de la phase d’entraînement) ne nécessite pas beaucoup de ressources. En outre, si vous êtes capables de fournir des nouvelles données, vous pouvez continuer à entraîner votre programme pour qu’il évolue et s’adapte aux nouvelles conditions. Aucune maintenance n’est nécessaire, le programme fera évoluer son paramétrage en conséquence. Autrement dit, le programme apprend par lui-même, d’où le terme machine learning.

Il est important de savoir que contrairement aux algorithmes traditionnels, la plupart des algorithmes de Machine Learning reposent sur des méthodes statistiques, ils sont donc non déterministes. Ce qui veut dire que les résultats sont indiqués avec un indice de confiance comme pour la météo et vous pouvez avoir plusieurs résultats qui cohabitent avec des indices de confiance très proches. 

Le machine learning et le cloud computing

En fait, la démocratisation du Machine Learning est fortement liée à l’avènement du Cloud computing. En effet, la très grande majorité des algorithmes date du siècle précédent et pas forcément de la fin (par exemple les réseaux de neurones ont été théorisés dans les années 1950). Si vous avez bien suivi le paragraphe précédent, vous comprenez aisément que la mise en œuvre du machine learning dépend fortement des ressources machine, mais pas de façon continue et le Cloud est tout à fait adapté à cette problématique. C’est-à-dire fournir de la puissance de calcul au moment opportun sans avoir à faire d’importants investissements (CAPEX). 

De plus, comme les principaux acteurs du Cloud utilisent ces technologies, ils sont à même de proposer des services qui facilitent leur mise en œuvre. C’est tout particulièrement le cas de Google et de GCP. 

A l’instar de Kubernetes pour l’utilisation des Dockers (une technologie récente de gestion de ressources), Google a sorti de ses laboratoires une bibliothèque (un ensemble de modules réutilisables dans d’autres programmes) open source (gratuite et modifiable), Tensor Flow, qui facilite le développement de solutions d’intelligence artificielle. De plus GCP propose des services supervisés pour exécuter les phases d’apprentissage et des services permettant d’exposer les modèles générés facilement sous forme d’API (micro programme).

Le Machine Learning se cache derrière un grand nombre de services de Google et la firme a beaucoup investi dans cette technologie. Cette dernière a même développé et rendu disponibles des processeurs adaptés (les TPU pour Tensor Processing Unit) pour accélérer les phases d’entraînement.

De plus avec GCP vous pouvez bénéficier d’API prêtes à l’emploi (l’entraînement est effectué par Google) qui vous permettent d’analyser des images, comme dans l’exemple ci-dessous, ou dans d’autres domaines comme la traduction ou le traitement du langage (liste complète ici).

Machine Learning : données d'entraînement

Est-ce le remède miracle ?

Le Machine Learning est un outil très puissant et il est très facile de vendre du rêve avec ce genre de solution. Mais comme tout outil très puissant, il est souvent difficile à mettre en œuvre et il faut bien comprendre comment il fonctionne pour en tirer le meilleur parti. Comme au début de chaque projet il est nécessaire de se poser 2 questions fondamentales : la faisabilité et le retour sur investissement (ROI). C’est d’autant plus vrai avec le Machine Learning car les coûts peuvent être importants si le projet est mal maîtrisé.

Concernant la faisabilité, il est important de comprendre que le Machine Learning est très dépendant des données sur lesquelles il s’appuie pour s’entraîner. Même si ces algorithmes peuvent faire des prédictions, c’est seulement grâce à des méthodes d’extrapolation. Donc la machine ne pourra prédire que ce qu’elle pourra lire dans les données. Le Machine Learning est uniquement adapté aux besoins pour lesquels il existe des schémas qui se répètent ou qui évoluent de manière prévisible. De manière générale, il ne faut pas penser que la machine est plus intelligente que l’être humain, mais qu’elle peut être plus efficace pour des tâches hyper pointues et précises comme la détection des tumeurs sur les radiographies par exemple.

Si un algorithme classique existe et qu’il obtient des résultats comparables à ce qu’on peut espérer d’un algorithme de Machine Learning, il faudra presque toujours préférer le premier. En effet, les ressources machine nécessaires à l’apprentissage sont généralement très coûteuses. De manière générale, comme ce genre de projets nécessite des compétences pointues et beaucoup de ressources machine, il faut privilégier leur utilisation pour des tâches répétitives ou des tâches pour lesquelles la machine aura de meilleurs résultats que l’être humain. Ce sont les conditions pour lesquelles on aura les meilleures performances et le meilleur ROI. On peut citer comme cas d’usage adaptés au Machine Learning : la prévision de panne sur les machines, la détection de défauts sur les chaînes de production, la recherche de fraude, le classement automatique, la suggestion aux utilisateurs de site e-commerce, …

Vous l’aurez compris, cet outil associé au Cloud Computing ouvre la porte à de nouvelles applications qui permettent d’accélérer ou de rendre possibles certaines tâches et de délester l’être humain de certaines autres, à condition que les projets soient bien choisis et bien mis en œuvre. En somme et si nous restons rationnels, nous comprenons que la machine peut nous aider mais qu’elle n’est pas encore prête à remplacer l’intelligence humaine pour un grand nombre de tâches…

Besoin d'un peu plus d'aide sur Google Forms ?

Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Google Forms, que ce soit pour votre entreprise ou pour vos besoins personnels !

Découvrir nos formations Google Forms

Rédacteur

S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires