Le “machine learning” est une expression anglaise de plus en plus couramment utilisée pour faire référence à l’apprentissage automatique des machines, une sous-branche d’étude de l’intelligence artificielle. Mais quels sont les processus qui se cachent derrière l’apprentissage automatique et en quoi consiste-t-il réellement ?

Qu’est-ce que le machine learning ?

L’apprentissage automatique (“machine learning” en anglais) correspond à l’élaboration et à l’utilisation de systèmes informatiques capables d’apprendre à base d’algorithmes mathématiques et de modèles statistiques sur des jeux de données, sans règles spécifiques. L’apprentissage automatique se décompose en deux phases :

  • La première est la phase d’apprentissage de la machine.
  • La seconde est l’utilisation du modèle créé par la machine pour exécuter une tâche.

La phase d’apprentissage consiste à fournir des données au système informatique pour qu’il les analyse et en tire un modèle. Le modèle doit lui permettre d’exécuter la tâche souhaitée sans qu’un humain n’ait eu besoin de la coder pour la machine.

La seconde phase consiste à utiliser le modèle conçu par la machine pour exécuter une tâche bien définie. Les exemples les plus populaires sont la traduction de document et la reconnaissance d’un élément spécifique dans une photographie.

Cas concret

Pour bien comprendre les rouages du machine learning, étudions un cas concret.

Vous souhaitez que votre réseau social de photos puisse mettre automatiquement en avant les publications qui présentent un chat. Pour ce faire, vous devez d’abord apprendre à la machine à identifier les photos qui représentent un chat, puis programmer la mise en avant de ce type de photos sur votre réseau. La partie qui nous intéresse ici est la détection automatisée des chats dans les photos.

Étape 1 : Conception du corpus d’apprentissage

Pour que votre machine puisse apprendre à quoi ressemble un chat dans une photo, vous devez constituer un corpus d’apprentissage. Ce corpus doit obligatoirement être composé de photos de chats mais aussi de photos d’autres animaux. Ainsi, la machine pourra déterminer à partir de ce corpus s’il s’agit ou non d’un chat sur la photo.

Pour aller plus loin : Dans cet exemple, vous pouvez annoter votre corpus pour superviser l’apprentissage de la machine en lui indiquant les photos qui contiennent un chat par “Oui” ou “Vrai”, et les autres par “Non” ou “Faux”. Tout dépend du type d’apprentissage automatique que vous utilisez !

Étape 2 : Phase d’apprentissage

Le corpus d’apprentissage est fourni à la machine qui va analyser les données pour en extraire un modèle. Cette phase peut durer de quelques minutes à plusieurs heures selon les paramètres et le type de “machine learning” utilisé.

Étape 3 : Phase de tests

Afin de déterminer si le modèle conçu par la machine est cohérent, il est recommandé de tester le modèle. Pour ce faire, vous devez élaborer un corpus de tests. Les corpus de tests sont semblables au corpus d’apprentissage, à la différence qu’ils sont utilisés pour tester le modèle et non pour son élaboration. Toutefois, dans certains cas, les corpus de tests peuvent reprendre des données utilisées dans le corpus d’apprentissage pour vérifier l’exactitude du modèle. Le corpus de tests est donc soumis au modèle conçu par la machine pour l’évaluer. Si les résultats sont satisfaisants, le modèle peut être implanté dans votre réseau social. Dans le cas contraire, il est recommandé d’améliorer le modèle en ajustant les données d’apprentissage ou en modifiant les paramètres d’apprentissage.

Étape 4 : Implémentation du modèle dans le réseau

Lorsque les résultats des tests du modèle sont satisfaisants, il ne vous reste plus qu’à implémenter le modèle dans votre réseau social et à coder la mise en avant des photos dans lesquelles des chats sont identifiés.

Les différents types d’apprentissage automatique

Comme cité plus tôt dans le cas concret, le type d’annotation du corpus d’apprentissage et la durée de la phase d’apprentissage dépendent du type d’apprentissage automatique utilisé.

Pour rappel, il existe différents types d’apprentissages automatiques (voir Les concepts clés de l’intelligence artificielle) :

  • L’apprentissage supervisé, qui consiste à encadrer l’apprentissage de la machine par le biais d’un corpus d’apprentissage annoté ;
  • L’apprentissage non-supervisé, qui consiste à fournir un corpus d’apprentissage non annoté à la machine et à les traiter une seule fois ;
  • L’apprentissage profond (“deep learning” en anglais), qui consiste à fournir un corpus d’apprentissage non annoté à la machine qui l’analysera à plusieurs reprises ;
  • Les réseaux de neurones artificiels (ou réseaux de neurones), qui se basent sur des algorithmes mathématiques et statistiques poussés pour analyser le corpus d’apprentissage.

Le choix du type d’apprentissage automatique utilisé pour votre projet est important, tant sur le plan financier qu’en termes de temps.

Les technologies les plus avancées, à savoir l’apprentissage profond et les réseaux de neurones, sont les plus coûteuses et les plus chronophages. Elles nécessitent d’importantes quantités de données, ce qui impacte à la fois la préparation des corpus d’apprentissage et la durée d’apprentissage qui peut aisément dépasser plusieurs jours.

Pour les méthodes d’apprentissage qui utilisent des corpus annotés, c’est la phase préparatoire de conception et d’annotation du corpus qui peut s’avérer longue et coûteuse, d’autant plus si elle ne peut pas être automatisée.

Conclusion

Le “machine learning” est donc une technologie puissante qui permet d’automatiser l’apprentissage et l’exécution de tâches par les machines. Toutefois, tous les types d’apprentissage automatique ne se valent pas et ne sont pas adaptés à tous les projets. Une phase de réflexion en amont du projet vous permettra d’identifier le type de “machine learning” qui correspond le mieux à votre projet et à votre budget.

Camille est linguiste informaticienne. Suite à deux expériences dans des start-ups parisiennes sur la reconnaissance d’entités nommées et les callbots, elle a intégré l’équipe Hubi.ai chez Hub Collab en tant que scénariste chatbot.