Table des matières

Bootcamp Intelligence Artificielle (IA)

Présentations

Audrey Robinel, enseignant, hacker, maker, titulaire d'un doctorat en IA appliquée.

Quelques uns de mes papiers

Mes activités actuelles

Introduction

L'IA devient omniprésente dans le monde des années 2020. Les performances croissent très vite, ce qui soulève des interrogations sociétales, et plus particulièrement dans notre domaine : l'enseignement.

Avant de s'interroger sur ces problématiques, définissons notre sujet.

L'intelligence

Qu'est-ce que l'intelligence? Selon le dictionnaire le ROBERT c'est :

Faculté de connaître, de comprendre ; qualité de l'esprit qui comprend et s'adapte facilement.

En psychologie, on considère que l'intelligence mesure la capacité à s'adapter et résoudre des problèmes nouveaux.

En voici une autre définition plus étoffée :

L'intelligence est une capacité mentale qui permet à un individu de comprendre, d'apprendre, de raisonner, de résoudre des problèmes, de s'adapter à de nouvelles situations et de s'adapter à l'environnement qui l'entoure. Elle peut prendre différentes formes, comme l'intelligence verbale-linguistique, l'intelligence logique-mathématique, l'intelligence spatiale, l'intelligence kinesthésique, l'intelligence musicale, l'intelligence interpersonnelle et l'intelligence intrapersonnelle.

On applique traditionnellement ces définitions aux êtres vivants.

L'intelligence artificielle

L'intelligence artificielle (IA) est une discipline scientifique qui vise à développer des algorithmes et des systèmes informatiques capables de simuler, voire de dépasser, les capacités cognitives humaines, telles que la perception, le raisonnement, l'apprentissage, la communication et la prise de décision. L'IA peut être utilisée dans de nombreux domaines, tels que l'industrie, la santé, les transports, les services financiers et les jeux, pour automatiser des tâches, améliorer l'efficacité et la qualité des processus, et créer de nouvelles opportunités d'innovation et de création de valeur.

Quelques principes fondamentaux de l'IA moderne

Nous allons présenter ici quelques concepts fondamentaux que vous rencontrerez dans le monde de l'IA. Tous les fondements ne sont pas présentés ici, seulement une sélection qui permettra de mieux comprendre la suite

machine learning ou systèmes apprenants

Un système apprenant, c'est de l'IA. Mais toutes les IA ne sont pas des systèmes apprenants. Nous nous intéressons particulièrement à l'apprentissage supervisé du fait de sa prévalence dans les outils modernes.

Les systèmes apprenants sont des systèmes informatiques qui ont la capacité de s'adapter et d'évoluer à partir de données, sans être explicitement programmés. Ils utilisent des techniques d'apprentissage automatique pour apprendre à partir de l'expérience et améliorer leur performance dans une tâche donnée au fil du temps.

On trouvera trois principales méthodes pour les systèmes apprenants :

Apprentissage supervisé
L'apprentissage supervisé est une technique d'apprentissage automatique où un modèle est entraîné à partir de données étiquetées, c'est-à-dire des données qui sont associées à une sortie connue. Le modèle apprend à prédire une sortie pour de nouvelles entrées en se basant sur les exemples étiquetés qu'il a appris.
Apprentissage non supervisé
L'apprentissage non supervisé est une technique d'apprentissage automatique où un modèle est entraîné à partir de données non étiquetées, sans connaître la sortie attendue. Le modèle apprend à découvrir des motifs ou des structures cachées dans les données et peut être utilisé pour regrouper les données en clusters ou pour réduire la dimensionnalité des données.
Apprentissage par renforcement
L'apprentissage par renforcement est une technique d'apprentissage automatique où un agent apprend à prendre des décisions dans un environnement en interagissant avec celui-ci et en recevant des récompenses ou des pénalités pour chaque action. L'agent utilise une stratégie d'exploration/exploitation pour apprendre à maximiser sa récompense au fil du temps.

Historique rapide de l'intelligence artificielle

Les premiers pas

Franck Ronsenblatt publie en 1958 The perceptron: a probabilistic model for information storage and organization in the brain, un article fondateur qui pose les bases des réseaux de neurones artificiels.

L'hiver de l'IA

Renaissance de l'IA

L'explosion de la décennie 2010

Si on constate un emballement généralisé de la présence de l'IA dans la société, ce mouvement a commencé dans les années 2010, avec des travaux sur le deep learning, les réseaux neuronaux récurents, mais également l'utilisation du GPU computing, qui a permis d’accroitre considérablement la puissance de calcul exploitable pour des tâches IA.

Les principaux types d'IA

Les systèmes experts

très populaires pendant les années 80. Résultats prévisibles, explicables.

Les systèmes experts sont des programmes informatiques conçus pour simuler le raisonnement d'un expert humain dans un domaine spécifique. Ils utilisent des règles et des connaissances spécifiques pour résoudre des problèmes complexes, fournissant ainsi des solutions rapides et précises aux problèmes rencontrés dans ce domaine.

Les systèmes évolutionnaires - algorithmes génétiques

Les algorithmes génétiques sont des techniques d'optimisation utilisées en intelligence artificielle pour résoudre des problèmes complexes. Ils fonctionnent en imitant le processus de sélection naturelle de l'évolution pour trouver la meilleure solution possible en utilisant des concepts tels que la mutation et la reproduction des individus.

Les réseaux de neurones artificiels

Enfin, le type d'IA le plus prépondérant de nos jours : les réseaux de neurones artificiels. Ils sont au cœur des plus gros projets, jusqu'au célèbre chatGTP. Les travaux sur les neurones artificiels remontent au début de l'IA, et cette branche reçoit la majorité des efforts de recherche et de financements.

Principe général des réseaux de neurones artificiels

Commençons par le neurone artificiel. Proposé dès les années 50, avec le perceptron, ce modèle permet de créer ….

Le perceptron simple n'est cependant pas capable de résoudre des problèmes plus complexes. Pour ceux ci, la solution est de connecter entre eux plusieurs neurones artificiels, pour ainsi former un réseau de neurones artificiels.

Le perceptron multi-couches : les neurones en réseau

Les réseaux de neurones artificiels sont des modèles informatiques inspirés du cerveau humain, utilisés en intelligence artificielle pour la reconnaissance de formes, la classification et la prédiction. Ils sont constitués de couches de neurones interconnectés et s'entraînent à partir de données pour améliorer leur performance dans une tâche donnée.

Dans son expression la plus simple, on a ainsi une couche d'entrée, une ou plusieurs couches intermédiaires, appelées couches cachées, et une couche de sortie. Chaque neurone de la couche d'entrée sert à “voir” une variable du problème. Les neurones de la couche de sortie servent à “dire” la réponse du réseau de neurones artificiels. Toutes les couches intermédiaires sont celles qui contiennent en quelques sorte la puissance cognitive du réseau. Le nombre de couches et leur taille est un problème complexe pour obtenir le réseau idéal pour répondre à un problème.

Rétro propagation du gradient de l'erreur Cette méthode réhabilita complètement les réseaux de neurones artificiels en fournissant une solution permettant d'ajuster automatiquement les poids synaptiques entre les neurones en fonction de l'erreur mesurée.

Réseaux de neurones récurrents Cette fois ci on ajoute la possibilité pour le signal de repasser par des neurones qui l'ont déjà propagé. Cela permet potentiellement des effets de mémoire avancés, mais la complexité du modèle explose.

Deep learning

Le deep learning est une technique d'apprentissage automatique basée sur les réseaux de neurones artificiels avec de nombreuses couches cachées. Il est utilisé pour résoudre des problèmes complexes tels que la reconnaissance de la parole, l'analyse d'images ou la traduction automatique, en apprenant des représentations hiérarchiques des données.

Pour en savoir plus, un article très didactique : Deep Learning ou Apprentissage Profond : qu’est-ce que c’est ?

Plus les réseaux deviennent complexes, plus il devient coûteux et complexe de les entraîner. Des stratégies très astucieuses ont été mises en place, tel que le “Optimal Brain Damage”, que l'on peut traduire par dégats cérébraux optimum, qui consiste à partir d'un réseau très complexe (et donc lourd) et de faire des “trous” dedans. Si les performances baissent, on ne conserve pas la modification. Mais si elles ne changent pas, ou s'améliore, on conserve. Ainsi, on peut tailler considérablement dans la surface de notre réseau pour le rendre plus facile à gérer

La course à la puissance, et le GPU computing

Face à la lourdeur des algorithme d'entraînement, là ou certains cherchent l'optimisation pour les alléger, d'autres s'appuient plutôt sur l'accroissement de la puissance de calcul accessible, et plus particulièrement sur la puissance des cartes accélératrices 3D. Au départ, celles ci servaient principalement au rendu 3D, pour les jeux, etc. En moins d'une décennie, le “GPU compute”, ou les calculs par carte 3D à des fins autres que l'affichage vidéo ont pris une place prépondérante sur ce marché, au point que les joueurs ne sont plus la priorité des grands fabricants comme Nvidia ou AMD, mais bien au contraire, les datacentres et les laboratoires. La puissance de calcul d'un GPU moderne est sans commune mesure avec celle d'un processeur général, et les tâches d'IA sont particulièrement adaptées. Ainsi l'explosion quasi exponentielle des capacités des IA de ces dernières années s'appuie en partie sur ces nouvelles possibilités.

Forces et faiblesses de ces modèle ? ou intégrer plus haut?

Applications de l'IA

Seconde partie - Mise en pratique

IA conversationnelle type LLM

Commençons par le plus populaire, ChatGPT.

L'utilisation est pour le moment gratuite, mais demande la création d'un compte. Cliquez ici pour converser avec ChatGPT

Ce chatbot comprend de nombreuses langues, dont le français. Les résultats me semblent aussi pertinents en français qu'en anglais. A essayer :

  1. Poser une question sur un sujet que vous maîtrisez. Par exemple qu'est-ce que la programmation?
  2. Poser une question plus technique sur ce sujet, par exemple quelle sont les différences entre le C et le python?
  3. Demander de résumer un sujet, par exemple Résume moi en 100 mots ce qu'est l'informatique.
  4. Demander un résumé encore plus court, par exemple : Résume moi en 10 mots ce qu'est l'informatique
  5. créer le plan d'un exposé sur un sujet
  6. créer des paragraphes du plan
  7. créer du code dans un langage de programmation de votre choix (par exemple python)
  8. Prendre un texte quelconque, et demander un résumé
  9. Poser des questions sur vous-même
  10. poser des questions sur les événements de cette année
  11. demander ce qui est mieux entre le seigneur des anneaux et la guerre des étoiles

Il y a quelques semaines, chatGPT était connu pour être très mauvais en mathématiques. Depuis, il y a des ponts entre chatGPT et Wolfam Alpha

Pour celles et ceux qui souhaitent approfondir le sujet des LLM, voici quelques ressources :

IA de ce types auto hébergées :

IA génératrices d'images

Liens divers :