Wiki Le BIK'LAB

Le Bik'Lab avec le réseau des FabLabs de la région académique Guadeloupe

Outils pour utilisateurs

Outils du site


ateliers:bootcamp_ia:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
ateliers:bootcamp_ia:start [07/05/2023 05:35 ] Audrey Robinelateliers:bootcamp_ia:start [04/04/2024 15:35 ] (Version actuelle) – modification externe 127.0.0.1
Ligne 36: Ligne 36:
  
 <note tip>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.</note> <note tip>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.</note>
 +
 +
 +==== 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.
 +
 +<note tip>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.</note>
 +
 +On trouvera trois principales méthodes pour les systèmes apprenants : 
 +  * L'apprentissage supervisé;
 +  * l'apprentissage non supervisé;
 +  * l'apprentissage par renforcement.
 +
 +== Apprentissage supervisé ==
 +<note tip>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.</note>
 +== Apprentissage non supervisé ==
 +<note tip>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.</note>
 +== Apprentissage par renforcement ==
 +<note tip>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.</note>
 +
  
 ===== Historique rapide de l'intelligence artificielle ===== ===== Historique rapide de l'intelligence artificielle =====
 ==== Les premiers pas ==== ==== Les premiers pas ====
 +Franck Ronsenblatt publie en 1958 [[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.335.3398&rep=rep1&type=pdf|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 ==== ==== L'hiver de l'IA ====
Ligne 51: Ligne 74:
  
 ===== Les principaux types d'IA ===== ===== Les principaux types d'IA =====
- 
-Principes fondamentaux de l'IA : 
-  * Apprentissage supervisé 
-  * Apprentissage non supervisé 
-  * Apprentissage par renforcement. 
  
 ==== Les systèmes experts ==== ==== Les systèmes experts ====
 très populaires pendant les années 80. très populaires pendant les années 80.
 Résultats prévisibles, explicables.  Résultats prévisibles, explicables. 
 +<note tip>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.</note>
   * une base de faits ;   * une base de faits ;
   * une base de règles ;   * une base de règles ;
Ligne 65: Ligne 84:
  
 ==== Les systèmes évolutionnaires - algorithmes génétiques ==== ==== Les systèmes évolutionnaires - algorithmes génétiques ====
 +
 +<note tip>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.</note>
  
 ==== Les réseaux de neurones artificiels ==== ==== 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. 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. 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.
 +
  
  
Ligne 74: Ligne 96:
  
 ===== Principe général des réseaux de neurones artificiels ===== ===== Principe général des réseaux de neurones artificiels =====
-Commençons par le neurone artificiel. Proposé dès les années 40, avec le perceptron, ce modèle permet de créer ....+{{:ateliers:bootcamp_ia:640px-artificial_neuron.svg.png?200 |}} 
 +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 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.
-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.+==== Le perceptron multi-couches : les neurones en réseau ==== 
 + 
 +<note tip>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.</note> 
 + 
 +{{:ateliers:bootcamp_ia:artificial_neural_network.png?200 |}}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. 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. Les neurones de la couche de sortie servent à "dire" la réponse du réseau de neurones artificiels.
Ligne 89: Ligne 117:
 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.  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+==== Deep learning ==== 
 + 
 +<note tip>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.</note> 
 + 
 +Pour en savoir plus, un article très didactique :  
 +[[https://datascientest.com/deep-learning-definition|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 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+==== 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. 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. 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.
Ligne 109: Ligne 142:
   * AI upscale   * AI upscale
   * correction vidéo live (regard caméra)   * correction vidéo live (regard caméra)
-  * supression du bruit (audio ou image/vidéo)+  * suppression du bruit (audio ou image/vidéo)
   * construction d'objets 3D depuis des images 2D   * construction d'objets 3D depuis des images 2D
   * génération de vidéo   * génération de vidéo
Ligne 131: Ligne 164:
   - Demander de résumer un sujet, par exemple //Résume moi en 100 mots ce qu'est l'informatique.//   - Demander de résumer un sujet, par exemple //Résume moi en 100 mots ce qu'est l'informatique.//
   - Demander un résumé encore plus court, par exemple : //Résume moi en 10 mots ce qu'est l'informatique//   - Demander un résumé encore plus court, par exemple : //Résume moi en 10 mots ce qu'est l'informatique//
 +  - créer le plan d'un exposé sur un sujet
 +  - créer des paragraphes du plan
 +  - créer du code dans un langage de programmation de votre choix (par exemple python)
 +  - Prendre un texte quelconque, et demander un résumé
 +  - Poser des questions sur vous-même
 +  - poser des questions sur les événements de cette année
 +  - 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 [[https://www.wolframalpha.com/|Wolfam Alpha]] 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 [[https://www.wolframalpha.com/|Wolfam Alpha]]
Ligne 141: Ligne 182:
 IA de ce types auto hébergées :  IA de ce types auto hébergées : 
   * [[https://github.com/antimatter15/alpaca.cpp|alpaca.cpp]], tourne en local, avec un modèle de 4go (7B)    * [[https://github.com/antimatter15/alpaca.cpp|alpaca.cpp]], tourne en local, avec un modèle de 4go (7B) 
 +  * x-turing
  
 ===== IA génératrices d'images ===== ===== IA génératrices d'images =====
-  * Midjourney (payant) +  * [[https://www.midjourney.com|Midjourney]] (payant) 
-  * Dall-E 2 (payant)+  * [[https://openai.com/product/dall-e-2|Dall-E 2]] (payant)
   * Easy Diffusion (libre, gratuit, auto hébergé sur votre ordinateur) [[https://github.com/cmdr2/stable-diffusion-ui|Page GitHUB pour télécharger l'installeur]]   * Easy Diffusion (libre, gratuit, auto hébergé sur votre ordinateur) [[https://github.com/cmdr2/stable-diffusion-ui|Page GitHUB pour télécharger l'installeur]]
 +  * [[https://www.craiyon.com/|craiyon]] (gratuit, basé sur un logiciel libre)
 +  * [[https://www.bing.com/images/create?|Bing image create]] Utilise Dall-E, gratuit avec limitations, tokens journaliers
 +  * [[https://creator.nightcafe.studio/studio|nightcafe]] Stable diffusion(multi-version), essai gratuit
 +  * Leonardo.Ai
 +  * Adobe Firefly
 +  * [[https://www.bluewillow.ai/|Blue Willow]] (gratuit)
 +  * [[https://instantart.io/|InstantArt]] (multimodèle, partiellement gratuit)
 +  * [[https://lexica.art/|Lexica]] basé sur Lexica Aperture, génération gratuite
 +  * [[https://playgroundai.com/|Lexica Aperture]] multi-modèle, le compte gratuit permet d'essayer pas mal de choses
  
  
  
 Liens divers :  Liens divers : 
-[[https://github.com/gradio-app/gradio|Gradio: Build Machine Learning Web Apps — in Python]]+  * [[https://github.com/gradio-app/gradio|Gradio: Build Machine Learning Web Apps — in Python]] 
 +  * [[https://www.cs.waikato.ac.nz/ml/weka/|Weka]] 
 +  * [[https://teachablemachine.withgoogle.com/|Teachable Machine]] 
 +  * [[https://jupyter.org|Jupyter notebooks]] 
  
  
ateliers/bootcamp_ia/start.1683437721.txt.gz · Dernière modification : 04/04/2024 15:35 (modification externe)