57 views
--- title: INFO001 (8a) Introduction à l'apprentissage par réseaux de neurones type: slide slideOptions: transition: slide progress: true slideNumber: true --- # Introduction à l'apprentissage par réseaux de neurones ## (Traitement et Analyse d'Image 8a) > > [name=Jacques-Olivier Lachaud][time=Decembre 2020][color=#907bf7] Laboratoire de Mathématiques, Université Savoie Mont Blanc > (Les images peuvent être soumises à des droits d'auteur. Elles sont utilisées ici exclusivement dans un but pédagogique) ###### tags: `info001` *(Most illustrations taken from S. Prince, Understanding Deep Learning, 2025)* --- ## Types d'apprentissage ![ai-overview](https://codimd.math.cnrs.fr/uploads/upload_f9f7f175d7a7697559179e359ee15c75.png =x250) --- ## Apprentissage supervisé :::info **Objectif** le réseau apprend à la corrélation entre des données en entrée et en sortie et prédit les sorties pour de nouvelles données ::: * régression ou approximation (mono- ou multi-valuée) * classification (binaire ou multi-classe) --- ## Apprentissage supervisé: régression ou approximation | ![reg-classif-header](https://codimd.math.cnrs.fr/uploads/upload_24f00c9b77825487b7dc5ea798cd96ff.png) | | ------------------------------------------------------------------------------------------------------ | | ![reg-mono](https://codimd.math.cnrs.fr/uploads/upload_95acf003992307c6a4be84009a452f09.png) | | ![reg-multi](https://codimd.math.cnrs.fr/uploads/upload_62947ced481984efe3a5f4908d8feb14.png) | --- ## Apprentissage supervisé (approximation) 1. **régression** ou **approximation** (mono ou multi-valué) * *données*: entrées $(\mathbf{x}_i)$ associées à des sorties $(\mathbf{y}_i)$ * *réseau*: modèle $\mathbf{f}(\mathbf{x},\mathbf{p})$ paramétré par $\mathbf{p}$ (inconnu) * *objectif*: fonction de perte (loss) $L$ * *entrainement*: trouver $\mathbf{p}$ qui minimise $\sum_i L(\mathbf{f}(\mathbf{x}_i,\mathbf{p}),\mathbf{y}_i, \mathbf{p})$ * *validation*: vérifier que $L$ est aussi petit sur d'autres données. 2. ==Exemple== le modèle **linéaire** (ou *affine*) par **moindres carrés** * $(\mathbf{x}_i,\mathbf{y}_i)=(x_i,y_i)$, $\mathbf{p}=(a,b)$, $f(x,\mathbf{p})=ax+b$, * loss $L:=\sum_i (y_i-f(x,(a,b))^2=\sum_i (y_i-(ax_i+b))^2$ * autre exemple $L:=a^2+b^2 + \sum_i (y_i-(ax_i+b))^2$ --- ## Apprentissage supervisé: classification | ![reg-classif-header](https://codimd.math.cnrs.fr/uploads/upload_24f00c9b77825487b7dc5ea798cd96ff.png) | | ------------------------------------------------------------------------------------------------------ | | ![classif-binary](https://codimd.math.cnrs.fr/uploads/upload_64f696405b903f20689d1e5aeb8a0923.png) | | ![classif-multi1](https://codimd.math.cnrs.fr/uploads/upload_75efadf6fbedf7dbe2bea6177e3ddab1.png) | --- ## Apprentissage supervisé: classification (suite) | ![reg-classif-header](https://codimd.math.cnrs.fr/uploads/upload_24f00c9b77825487b7dc5ea798cd96ff.png) | | ------------------------------------------------------------------------------------------------------ | | ![classif-multi2](https://codimd.math.cnrs.fr/uploads/upload_def35014ebee8e525ff7b983e92e0f20.png) | --- ## Apprentissage supervisé (classification) 1. **classification** (binaire ou multi-classes) * *données*: entrées $(\mathbf{x}_i)$ associées à des sorties $(\mathbf{y}_i)$ * *réseau*: modèle $\mathbf{f}(\mathbf{x},\mathbf{p})$ paramétré par $\mathbf{p}$ (inconnu) * *objectif*: fonction de perte (loss) $L$ via **maximum de vraissemblance** * *entrainement*: trouver $\mathbf{\phi}$ qui minimise $\sum_i L(\mathbf{f}(\mathbf{x}_i,\mathbf{p}),\mathbf{y}_i, \mathbf{p})$ * *validation*: vérifier que $L$ est aussi petit sur d'autres données. 2. ==Exemple== la classification binaire par **max de vraissemblance** * $(\mathbf{x}_i,\mathbf{y}_i)=(x_i,y_i)$, $y_i$ vaut 0 ou 1, $\mathrm{sig}(z)=1/(1+e^{-z})$ * loss (moindres) $L:=-\sum_i \log(Pr[y_i|\mathbf{f}(x_i,p)])$ * $L:= \sum_i −(1 − y_i) \log(1 − \mathrm{sig}[f(x_i, \mathbf{p})]) − y_i \log \mathrm{sig}[f(x_i, \mathbf{p})]$ * le réseau prédit une distribution de probabilités --- ## Entrées * très variables en taille (quelques nombres à des millions pour une image) * l'ordre des données peut ne pas être important * ... ou être essentiel (texte, son, image) * transformées en vecteurs de nombres à virgule flottante * **choix** des données et la **qualité** des données essentiels --- ## Sorties * elles sont souvent **structurées**: * l'ordre des mots dans un texte * la segmentation d'une image est superposée à l'image d'entrée * une traduction d'un texte dépend d'une grammaire * une image générée a ses pixels dans un ordre logique --- | ![reg-classif-header](https://codimd.math.cnrs.fr/uploads/upload_24f00c9b77825487b7dc5ea798cd96ff.png) | | ------------------------------------------------------------------------------------------------------ | | ![output-1](https://codimd.math.cnrs.fr/uploads/upload_b8f991f5cffc8c776f73ec8e02e0b78f.png =x360) | --- ## Apprentissage non-supervisé :::info **Objectif** le réseau apprend une distribution des données et génère des nouvelles données qui suivent cette loi de distribution. ::: * modèles génératifs non-supervisés (conditionnels ou non) * variables latentes (espace de dimension "petite" générant la distribution) --- ## Modèles génératifs (chats, batiments, inpainting) ![generative-1](https://codimd.math.cnrs.fr/uploads/upload_e16042633d90e47ac35f475d028a07a7.png =x150) ![generative-2](https://codimd.math.cnrs.fr/uploads/upload_5fbcd00fed69e4d6549ecc5ea756c0ed.png =x150) --- #### DeepAI `African savanah image with animals and labels` ![info911](https://codimd.math.cnrs.fr/uploads/upload_991bee591e0b1bfcd047a93a05dd47ee.png =x360) --- ### LLM (prediction of plausible text) ![gpt3](https://codimd.math.cnrs.fr/uploads/upload_a1dd7fceb39309c88c53b2ff72c0859a.png) --- ## espace latent d'un ensemble d'images ![latent-faces](https://codimd.math.cnrs.fr/uploads/upload_5060150e6f76daed6aebf2bce39b0bfa.png =x150) ![dynamix-faces](https://codimd.math.cnrs.fr/uploads/upload_7ab56609d75bf04dde62f71f6a456d64.png =x150) --- ## espace latent pour de l'interpolation d'images ![latent-image-interp](https://codimd.math.cnrs.fr/uploads/upload_d0dca11b033c8de67292170ac5c21cf2.png) --- ## Apprentissage par renforcement :::info **objectif** Trouver une fonction entre les **états** du système et les **actions** à entreprendre. Le réseau apprend par explorations (en général non-déterministe) et reçoit des récompenses en fonction des succès/échecs. ::: ![reinforcement](https://codimd.math.cnrs.fr/uploads/upload_3d82aeadf70f98cb1bc7442f37a69d4e.png)