• Aucun résultat trouvé

Intelligence Artificielle

N/A
N/A
Protected

Academic year: 2022

Partager "Intelligence Artificielle"

Copied!
60
0
0

Texte intégral

(1)Intelligence Artificielle Apprentissage Automatique Numérique. Emmanuel ADAM Université Polytechnique des Hauts-De-France. UPHF/INSA HdF. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 1 / 60.

(2) Plan. 1. Réseaux de neurones Historique Le Neurone Formel Les types de réseaux de neurones Apprentissage supervisé : estimer son erreur Réseau de neurones : Le Bias Réseau de neurones : la couche cachée La descente de gradiants remontée des corrections test & validation réseaux convolutifs, deep-learning Carte Auto-Organisatrice. 2. Algorithmes génétiques. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 2 / 60.

(3) Réseaux de neurones. Historique. Réseaux de neurones Historique Réponse aux manques de modèles du monde physique 1943, premier modèle de neurones formels par deux bio-physiciens de Chicago : McCulloch & Pitts 1949, règle de Hebb : formulation du mécanisme d’apprentissage, sous la forme d’une règle de modification des connexions synaptiques. 1958, premier réseau de neurone artificiel (RNA), le Perceptron de Rosenblatt une couche ‘perceptive’ de neurones d’entrée une couche ‘décisionnelle’ de neurones de sortie Ce réseau parvient à apprendre à identifier des formes simples et à calculer certaines fonctions logiques.. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 3 / 60.

(4) Réseaux de neurones. Historique. Réseaux de neurones. Historique 1969, critique par Minsky & Papert : impossibilité de résoudre le pb de XOR (Ou exclusif) 1982 : Hopfied propose les RNA (Réseaux de Neurones Artificiels) récurrents (‘feed-back’) : modélisation de processus mnésiques Werbos initie les réseaux multicouche MLP (Multi-layer Percepton) avec rétro-propagation des erreurs.. 1986, Rumelhart propose/finalise les MLP 2005, reprise des MLP sous le thème deep-learning. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 4 / 60.

(5) Réseaux de neurones. Le Neurone Formel. Réseaux de neurones : : Neurone formel Neurone Formel Exemple de neurones formel avec 5 éléments dans la couche d’entrée, composée de 5 synapses applicant un coefficient multiplicateur au signaux reçus. Une sommation, puis une comparaison à un seuil Θ (ici = 1) sont effectuées. 1 seul élément fait partie de la couche de sortie dans cet exemple. Entrée. Synapses. 1. 1.5. 0. −3. Sommation Comparaison. Sortie. 1.5 0. 1. 0.7. P. 0.7. 1.2. > 1?. 1. 1. 0. 0. 1.3. 1. −1. E. ADAM. UPHF/INSA HdF. -1. Intelligence Artificielle. UPHF/INSA HdF. 5 / 60.

(6) Réseaux de neurones. Le Neurone Formel. Réseaux de neurones : : Neurone Formel. Eléments de définition Un neurone formel est composé : d’entrées xi de poids wi d’une somme pondérée h =. P. (wj .xj ). d’un seuil d’activation θ d’une fonction d’activation définissant la sortie y = f (h − θ). E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 6 / 60.

(7) Réseaux de neurones. Le Neurone Formel. Réseaux de neurones : : Neurone Formel. Eléments de définition. Courbes. La fonction d’activation y = f (x ) peut être (entres autres) : à seuil : f (x ) =. 0 1. si x < 0.5, sinon. linéaire par morceaux :  0 si x < 0, f (x ) = x si 0 6 x 6 1,  1 si x > 1 sigmoïde : f (x ) =. 1 1. 1 + e −a.(x − 2 ). ’a’ jouant sur l’inclinaison de la pente. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 7 / 60.

(8) Réseaux de neurones. Les types de réseaux de neurones. Réseaux de neurones : : RNA RNA : Eléments de définition Un RNA (ou ANN (Artificial Neural Network)) est un ensemble de neurones formels fonctionnant en parallèle en MLP une couche(layer) d’entrée, une couche de sortie et une.des couche.s ‘cachée.s’ chaque neurone d’une couche est connecté à tous les neurones de la couche suivante. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 8 / 60.

(9) Réseaux de neurones. Types de réseaux. Les types de réseaux de neurones. 1/3. RNA à architecture Feed-Forward Apprentissage supervisé selon la règle de correction de l’erreur Perceptron Perceptron monocouche : reconnaissance de forme, opérations logiques simples. Pas de pb linéairement séparable Perceptron MultiCouches (PMC) : MLP, peut résoudre les pbs linéairement séparable et des opérations logiques plus complexes. Réseaux Convolutifs : l’entrée est décomposée en parties (pouvant se chevaucher). une couche ’champ réceptif’ est composée de groupes de neurones dédiés à ces parties. Une couche de pooling est constituée de neurones qui agrègents les sorties du champs receptif.. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 9 / 60.

(10) Réseaux de neurones. Types de réseaux. Les types de réseaux de neurones. 1/3. RNA à architecture Feed-Forward Réseaux Convolutifs : le champ receptif est composé d’autant de couches que de filtres. Possibilité d’enchaîner des blocs "champs-pooling"). La sortie du dernier bloc "champs-pooling" est dirigée vers un réseaux de neurones profond. Nicolas Thome, CNAM. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 10 / 60.

(11) Réseaux de neurones. Types de réseaux. Les types de réseaux de neurones. 2/3. RNA à architecture Feed-Back Cartes (réseaux) de Kohonen : utilisé pour la classification. Apprentissage non supervisé. SOM : Self-Organising Map. .... E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 11 / 60.

(12) Réseaux de neurones. Types de réseaux. Les types de réseaux de neurones. 3/3. Exemples d’architectures. http://www.sm.u-bordeaux2.fr/~corsini/Cours/HeVeA/rna.html. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 12 / 60.

(13) Réseaux de neurones. Les types de réseaux de neurones. Réseaux de neurones : : Types d’apprentissage. Types d’apprentissage Supervisé : le réseau s’adapte par comparaison entre son résultat et la réponse attendue. Le réseau se modifie jusqu’à un taux d’erreur satisfaisant.. Le renforcement : le réseau estime son erreur. Il tente de maximiser un index de performance fourni, appelé signal de renforcement. Le système est capable, de savoir si la réponse qu’il fournit est correcte ou non, mais il ne connaît pas la bonne réponse.. Non-supervisé (ou auto-organisationnel) : basé sur des probabilités. Le réseau s’adapte en fonction des régularités statistiques de l’entrée et détermine des catégories en leur attribuant et en optimisant une valeur de qualité.. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 13 / 60.

(14) Réseaux de neurones. Apprentissage supervisé : estimer son erreur. Calcul de l’erreur. Erreur de prédictions En supervisé, le réseau reçoit un ensemble de couples (exemple, sortie attendue). Il doit s’adapter pour réduire la marge entre les sorties produites et les sorties attendues. La perte (Loss) est souvent calculée ainsi : 1P I (y − yi )2 Loss = n i i I. avec n = nb d’exemples, y les sorties attendues (Idéales), y les sorties. calculées. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 14 / 60.

(15) Réseaux de neurones. Apprentissage supervisé : estimer son erreur. Calcul de l’erreur. Erreur de prédictions Exemple, supposons que les sorties attendues y I et calculées y soientdansces vecteurs  :  1 0.8  0   0.2      y I =   et y =    0   0.1  0 0.7 la perte est alors : 1 Loss = × ((1 − 0.8)2 + (0 − 0.2)2 + (0 − 0.1)2 + (0 − 0.7)2 ) 4 Loss = 0.145. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 15 / 60.

(16) Réseaux de neurones. Réseau de neurones : Le Bias. Réseau de Neurones : le Bias. La structure erronée d’un NN pour le ET L’entrée d’un MLP comporte autant de neurones que la dimension d’un exemple + 1. Définissons un réseau qui représente le ET logique :. x0 0 0 1 1. x1 0 1 0 1. y 0 0 0 1. x1 w1 w0. x0. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 16 / 60.

(17) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias. La structure erronée d’un NN pour le ET Pour le ET logique, le réseau doit viser : f (w0 × 0 + w1 × 0) = 0 f (w0 × 0 + w1 × 1) = 0 f (w0 × 1 + w1 × 0) = 0 f (w0 × 1 + w1 × 1) = 1 avec f la fonction d’activation tq lim f (x ) = 1 et lim f (x ) = 0 x →1. x →0. x1 w1 w0. f (w0 .x0 + w1 .x1 ). x0. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 17 / 60.

(18) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias La structure erronée d’un NN pour le ET Pour le ET logique, le réseau doit donc respecter idéalement : (w0 × 0 + w1 × 0) & 0⇐⇒ 0 & 0 → ok (w0 × 0 + w1 × 1) & 0⇐⇒ w1 & 0 (w0 × 1 + w1 × 0) & 0⇐⇒ w0 & 0 (w0 × 1 + w1 × 1) % 1⇐⇒ (w0 + w1 ) % 1 → pas de solution parfaite ! 1 choix de f (x ) = 1 1 + e −10.(x − 2 ) calcul de l’erreur pour w1 = 0.5, w2 = 0.5 loss = 1/4 × ((0 − f (0))2 + (−f (0.5))2 + (−f (0.5))2 + (1 − f (1))2 )). loss = 1/4 × (0.00662 + 0.52 + 0.52 + (1 − 0.9933)2 ) ≈ 0.125 calcul de l’erreur pour w1 = 0.8, w2 = 0.2 loss = 1/4 × (0.00662 + 0.952 + 0.052 + (1 − 0.9933)2 ) ≈ 0.227 avec 2 neurones en entrée, au mieux, l’erreur est de 0.019 ! !. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 18 / 60.

(19) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias La structure erronée d’un NN pour le ET avec 2 neurones en entrée, au mieux, l’erreur est de 0.019 ! ! cela arrive lorsque x0 = 0.33 et x1 = 0.34. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 19 / 60.

(20) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias. La structure impossible d’un NN pour le NON Définissons un réseau qui représente le NON logique :. x0 0 1. y 1 0. il faut viser : 0 × w0 % 1 donc 0 % 1 et : w0 × 1 & 0 donc w0 & 0 impossible ! ! ! L’erreur sera toujours ≥ 0.5 ! ! x0. E. ADAM. w0. y0. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 20 / 60.

(21) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias La structure d’un NN pour le NON avec BIAS Solution : ajouter un neurone en entrée bias (initialisé à 1) gràce au bias, il faut viser : (0 × w0 + 1 × wbias ) % 1 et (1 × w0 + 0 × wbias ) & 0 donc wbias % 1 et w0 & 0 une infinité de solutions ! ! ! Prenons wbias = 2 et w0 = −2, (x0 = 0) ⇒ f (wbias ) ≈ 0.999 et (x0 = 1) ⇒ f (w0 ) ≈ 1.10−11 loss ≈ 4.10−14 seulement ! ! x0. w0 wbias. (0.000000000000014). y0. bias. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 21 / 60.

(22) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias. La structure d’un NN pour le ET avec BIAS Avec un BIAS, le réseau doit respecter : f (w0 × 0 + w1 × 0 + wbias ) = 0 f (w0 × 0 + w1 × 1 + wbias ) = 0 f (w0 × 1 + w1 × 0 + wbias ) = 0 f (w0 × 1 + w1 × 1 + wbias ) = 1 x1 w1 w0 wbias. x0. f (. . . ). bias. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 22 / 60.

(23) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias La structure d’un NN pour le ET avec BIAS Avec un BIAS, il faut viser : (wbias ) & 0 (w1 + wbias ) & 0 (w0 + wbias ) & 0 (w0 + w1 + wbias ) % 1 une infinité de solutions exemple avec wbias = −1, w1 = 1, w2 = 1 : f (−1) = 3.10−7 , f (0) = 6.10−3 , f (1) = 0.99 loss ≈ 0.00003 seulement x1 w1 w0 wbias. x0. f (. . . ). bias E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 23 / 60.

(24) Réseaux de neurones. Réseau de neurones : Le Bias. Apprentissage Supervisé : le Bias La structure d’un NN pour le ET avec BIAS Avec wbias = −1, w1 = 1, w2 = 1 : f (−1) = 3.10−7 , f (0) = 6.10−3 , f (1) = 0.99 loss ≈ 0.00003 seulement. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 24 / 60.

(25) Réseaux de neurones. Réseau de neurones : la couche cachée. Réseau de neurones : la couche cachée La structure erronée d’un NN pour le OU-Exclusif. Définissons un réseau qui représente le OU exclusif :. x0 0 0 1 1. x1 0 1 0 1. y 0 1 1 0. En utilisant le bias, on peut avoir la forme ci-dessous. x1 w1 w0 wbias. x0. f (. . . ). bias. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 25 / 60.

(26) Réseaux de neurones. Réseau de neurones : la couche cachée. Réseau de neurones : la couche cachée La structure erronée d’un NN pour le OU-Exclusif Sans couche cachée, il faut viser : (wbias ) & 0 (w1 + wbias ) % 1 (w0 + wbias ) % 1 (w0 + w1 + wbias ) & 0 Impossibilité ! =⇒ introduire une couche cachée i1 i0 bias0. E. ADAM. UPHF/INSA HdF. w1h1 w0h wb0 h11 w1h0 w0h0 wb 0 h 0. h1 w1o0 w0o0 wb1 o0. h0. o0. bias1. Intelligence Artificielle. UPHF/INSA HdF. 26 / 60.

(27) Réseaux de neurones. Réseau de neurones : la couche cachée. Réseau de neurones : la couche cachée. La structure erronée d’un NN pour le OU-Exclusif Avec cette couche intermédiaire, il faut viser : (0) & 0 (w1o0 .f (w1h1 + wb0 h1 ) + w0o0 .f (w1h0 + wb0 h0 ) + wb1 o0 ) % 1 (w1o0 .f (w0h1 + wb0 h1 ) + w0o0 .f (w0h0 + wb0 h0 ) + wb1 o0 ) % 1 (w1o0 .f (w1h1 + w0h1 + wb0 h1 ) + w0o0 .f (w1h0 + w0h0 + wb0 h0 ) + wb1 o0 ) & 0 Beaucoup plus de libertées. i1 i0 b0. E. ADAM. UPHF/INSA HdF. w1h1 w0h1 wb0 h1 w1h0 w0h0 wb 0 h 0. h1 h0. w1o0 w0o0 wb1 o0. o0. b1. Intelligence Artificielle. UPHF/INSA HdF. 27 / 60.

(28) Réseaux de neurones. Réseau de neurones : la couche cachée. Réseau de neurones : la couche cachée. La structure erronée d’un NN pour le OU-Exclusif On choisit h1 pour représenter le ET : w1h1 ← 1; w0h1 ← 1; wb0 h1 ← −1; On choisit h0 pour représenter le OU : w1h0 ← 1; w0h0 ← 1; wb0 h0 ← 0; O0 réalise le OU moins le ET : w0o0 ← 1; w1o0 ← −1; wb1 o0 ← 0; i1 i0 b0. E. ADAM. UPHF/INSA HdF. w1h1 w0h1 wb0 h1 w1h0 w0h0 wb 0 h 0. h1 h0. w1o0 w0o0 wb1 o0. o0. b1. Intelligence Artificielle. UPHF/INSA HdF. 28 / 60.

(29) Réseaux de neurones. La descente de gradiants. Corriger les poids Réduire l’erreur en reprenant le calcul de la perte : Loss =. 1P I (y − yi )2 n i i. en supposant que yi = f (xi , w0 , . . . , wn ) en posant W = (w0 , . . . , wn ). Pn. on notera Q(W ) = i=0 (yiI − f (xi , W ))2 = Q(W ) est l’erreur pour chacun des coefs wi. Pn i=0. Qi (W ). le gradiant d’une fonction Q(W ) est le vecteur construit par les dérivées partielles surchacunes des  variables de Q(W ) δQ δw0   ...  ∇Q(W ) =    δQ δwn. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 29 / 60.

(30) Réseaux de neurones. La descente de gradiants. Principe du gradian La descente de gradiant L’algorithme de gradiant est le suivant : 1. 2. Choisir les valeurs initiales de W et de η (coefficient d’apprentissage) tant que valeurs non satisfaisantes ou nb cycles non atteint Mélanger les éléments de l’ensemble d’apprentissage Pour chaque i ∈ [0, . . . , n] W ← W − η∇Qi (W ). La descente de gradiant Prenons 4 points p0 = (1, 0); p1 = (2, 1.5); p2 = (3; 3); p3 = (4, 4.5) D’où X = (1, 2, 3, 4) et Y I = (0, 1.5, 3, 4.5) Tentons de trouver les coef w0 et w1 qui vérifient y = w0 + w1 .x On cherche Pàn minimiser Q(W ) = i=0 (yi − f (xi , W ))2 avec ici W = {w0 , w1 } E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 30 / 60.

(31) Réseaux de neurones. La descente de gradiants. Principe du gradiant La descente de gradiant. . . (yi − (w0 + w1 .xi ))2   2.(w1 .xi − yi + w0 )   δw 0 ∇Qi (W ) =  = 2.xi .(w1 .xi − yi + w0 ) (yi − (w0 + w1 .xi ))2  δw1 Tentons avec η = 0.1; w0 = 1; w1 = 1, on trouve Y = (2, 3, 4, 5) 1 2. Mélangeons  les points (ex. (p2 , p0 , p3 , p1 ))   2.(1 × 3 − 3 + 1) 2 ∇Q2 (W ) = = 2 × 3.(1 × 3 − 3 + 1) 6. . 3 4. . . . 1 2 on adapte les coefs : ∇W = − 0.1 × = 1 6 on répète ceci pour les points p0 , p3 , p1 et on obtient w0 ≈ 0.156; w1 ≈ 0.672. . 0.8 0.4. . en répétant 20 fois ce cycle, on obtient w0 ≈ −1.497; w1 ≈ 1.5005 l’erreur est alors Q(W ) ≈ 0. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 31 / 60.

(32) Réseaux de neurones. La descente de gradiants. Principe du gradiant La descente de gradiant exemple de convergence vers la solution. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 32 / 60.

(33) Réseaux de neurones. La descente de gradiants. Principe du gradiant stochastique. La descente de gradiant stochastique L’algorithme de gradiant stochastique est le suivant : 1. 2. Choisir les valeurs initiales de W et de η (coefficient d’apprentissage) tant que valeurs non satisfaisantes ou nb cycles non atteint Mélanger les éléments de l’ensemble d’apprentissage Pour quelques i ∈ [0, . . . , n] W ← W − η∇Qi (W ). la différence vient que l’on choisit un échantillon d’exemples pour corriger les coefficients. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 33 / 60.

(34) Réseaux de neurones. La descente de gradiants. Optimisation de l’algo du gradiant stochastique. De nombreuses optimisations Diminuer η avec les cycles d’apprentissage. ex. η ← η × 0.99 à chaque pas objectif : diminuer les fluctuations. Considérer la modification précédente ex. W ← W − η∇Q(W ) − γ∆t−1 W. .. (Momentum). où ∆t−1 W est la modification précédente des coefs de W et γ est appelé coefficient d’intertie. Estimer la modification suivante (Nesterov accelerated gradient (NAG)) ex. W ← W − γ∆t−1 W − η∇Q(W − γ∆t−1 W ). E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 34 / 60.

(35) Réseaux de neurones. La descente de gradiants. Optimisation de l’algo du gradiant stochastique Encore des optimisations adapter les coefs η et γ, . . .pour chacun des coefs. AdaGrad (Adaptive Gradient) utilise une matrice diagonale B t construites à partir des gradients calculés aux temps < t : B t ← diag. P. t j=1. ∇Qij (xj ).∇Qij (xj )>. 1/2. B t contient en diagonale les racines carrées de la somme des carrés des gradients pour chaque coefs i On pose ensuite W ← W − ηBt−1 ∇Q(W ). schema!: W0 ... Wn. ←.  W0 ... Wn E. ADAM. 1. pP. !.   . − η. . UPHF/INSA HdF. ∇... 0 0. .... 0. .... 0. .... 1. pP. Intelligence Artificielle. ∇....       . . δf δw0  ...   δf δwn. . UPHF/INSA HdF. 35 / 60.

(36) Réseaux de neurones. La descente de gradiants. Optimisation de l’algo du gradiant stochastique. Encore des optimisations Adam (Adaptive Moment Estimation) [Kingma & Ba, 2015] utilise également les valeurs des instants passés et définit : mt ← β1 .mt−1 + (1 − β1 .mt−1 )∇Qt (W ) et m0 = 0 vt ← β2 .vt−1 + (1 − β2 .vt−1 )(∇Qt (W ))2 et v0 = 0 b t ← mt /(1 − β1t ) et vbt ← vt /(1 − β2t ), en posant m. avec βit = βi à la puissance t. η bt .m vbt +  Empiriquement, les auteurs proposent ces valeurs : β1 = 0.9,β2 = 0.999,  = 10−8 L’algo propose que W ← W − √. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 36 / 60.

(37) Réseaux de neurones. La descente de gradiants. Choisir l’algorithme d’optimisation. Un algorithme par cas Il existe de nombreux algorithmes Chacun converge plus ou moins rapidement, selon le problème, selon la configuration initiale Les algos les plus performantes font partie de la classe des algos adaptatifs. cf. Adam pour adaptive moment estimation [Kingma & Ba, 2015]. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 37 / 60.

(38) Réseaux de neurones. remontée des corrections. Réseaux de neurones : remontée des corrections Réseau de neurones : calcul d’erreurs en sortie Rappel,en MLP la sortie d’un neurone d’une couche n (x n ) est :  P xin = f wijn × xjn−1 j Ci-dessous, la sortie de o1 est f (wo1 0 × h0 + wo1 1 × h1 ) L’erreur en couche de sortie se calcule simplement, en utilisant X le vecteur d’entrées et Y I le vecteur des sorties attendues. Chaque neurone d’une couche intermédiaire k reçoit les erreurs commises dans les neurones des couches k + 1 et on remplace Pn Pn Q(W ) = i=0 (yiI − f (xi , W ))2 par Q(W k ) = i=0 (wik+1 − f (xik , W k ))2 i2 i1. w2h1 w1h1 w0h1 w2h0 w1h0 w0h0. h1 h0. w1o1 w0o1 w1o0 w0o0. o1 o0. i0 E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 38 / 60.

(39) Réseaux de neurones. remontée des corrections. Réseaux de neurones : Tester Réseau de neurones : Le Test Un RN réalise donc des séries de mélange des exemples d’apprentissage propagation vers l’avant des valeurs f (. . . ) des mesures d’erreurs remontée de correction lorsque l’erreur est acceptable, ou lorsque le nombre de séries limite est atteint, il faut tester le réseau L’apprentissage est effectué sur un ensemble d’exemples d’apprentissage (ou d’entrainement) Le test est donc effectué sur un ensemble d’exemples de tests il est possible de créer automatiquement ces ensembles à partir de l’ensemble total des exemples. une mesure d’erreur est effectuée sur la sortie issus des exemples de tests E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 39 / 60.

(40) Réseaux de neurones. test & validation. Réseaux de neurones : Valider l’apprentissage. Réseau de neurones : Le Test Cette erreur est normalement légèrement plus grande que celle d’apprentissage car le réseau s’est optimisé pour ces exemples d’apprentissage k-Cross-Validation : séparation de l’exemple initial en k ensembles. Répéter k fois : choisir un ensemble comme exemple de test, les (k − 1)emes autres sont utilisés pour l’apprentissage sur-apprentissage (over-fitting) : lorsqu’un réseau est bien adapté aux exemples d’apprentissage mais a de mauvais résultats aux exemples de tests → diminuer le nb de neurones intermédiaires. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 40 / 60.

(41) Réseaux de neurones. réseaux convolutifs, deep-learning. Réseaux de neurones convolutifs. Réduire la complexité des exemples Chaque exemple est découpé en sous-parties (tuiles) les tuiles se chevauchent légèrement une série de neurones est reponsable d’une tuile. la profondeur de cette série dépend de la taille de la tuile une couche de neurones d’une même profondeur est un noyeau de convolution tous les neurones d’un un noyeau de convolution partagent le même poids. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 41 / 60.

(42) Réseaux de neurones. réseaux convolutifs, deep-learning. Réseaux de neurones convolutifs. Réduire la complexité des exemples le pooling : la sortie de la couche de convolution est découpée en zone sans chevauchement. ses zones sont réduites par une fonction d’agglomération (ex. le max) une correction peut être effectuée entre les couches de convolution et de pooling (application d’une fonction de type sigmoïde, ReLU (f (x ) = max (0, x )), . . .) une couche totalement connectée (FC, Full Connected) est placée à la suite une couche de perte (LOSS) évalue l’erreur du réseau. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 42 / 60.

(43) Réseaux de neurones. réseaux convolutifs, deep-learning. Architecture de réseaux de neurones convolutifs Architectures L’architecture de base est : input → conv → ReLU → Pool → FC → Loss mais d’autres architectures sont possibles : input → (conv → ReLU → Pool) × 3 → FC → Loss ... http://www.senat.fr/rap/r16-464-1/r16-464-16.html. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 43 / 60.

(44) Réseaux de neurones. Carte Auto-Organisatrice. Réseaux de Kohonen Kohonen : SOM (Self Organisating Maps) Apprentissage non supervisé dans un réseau organisé en grille Utilisé pour clustering Le voisinage d’une cellule renferme des cellules de nature semblable. Principe : Après avoir sélectionné la cellule de sortie la plus proche des entrées, on modifie les poids de cette cellule et de ses voisines. Eléments : une cellule contient une ou des valeurs à classer une valeur est un vecteur à n dimension le réseau est (généralement) une grille m × m de vecteurs de n dimensions.. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 44 / 60.

(45) Réseaux de neurones. Carte Auto-Organisatrice. Réseaux de Kohonen : Algorithme. procedure Kohonen for t = 1 → T do . T est le nombre d’itérations ϕ(t) ← 1 − (t−1) . ϕ est la fonction de voisinage T choisir une exemple E k au hasard trouver la cellule ui,j la plus proche de E k for all ui 0 ,j 0 ∈ voisinage(ui,j ) do wi 0 ,j 0 (t + 1) ← wi 0 ,j 0 (t) + ϕ(t)(E k − wi,j (t)) end for end for end procedure. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 45 / 60.

(46) Réseaux de neurones. Carte Auto-Organisatrice. Réseaux de Kohonen : : Exemple. Exemple : classification de requêtes. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 46 / 60.

(47) Réseaux de neurones. Carte Auto-Organisatrice. Réseaux de Kohonen : : Exemple Exemple : classification de requêtes. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 47 / 60.

(48) Réseaux de neurones. Carte Auto-Organisatrice. Réseaux de Kohonen : : Exemple Exemple : classification de requêtes. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 48 / 60.

(49) Réseaux de neurones. Carte Auto-Organisatrice. Réseaux de Kohonen : : Exemple Exemple : classification de requêtes. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 49 / 60.

(50) Algorithmes génétiques. Algorithmes génétiques Algorithmes génétiques : principes Début : Holand, 1962 Goldberg, 1989 : diffusion des principes, renouveau. Algorithme d’optimisation se basant sur : L’évolution naturelle : croisement, mutation . . . La génétique : codage des données. Nécessite : Une fonction de codage des données sous forme d’une séquence binaire Une fonction d’utilité U(x ) 7→ [0, 1] calcule l’adéquation d’une séquence binaire Correspond au critère à maximiser. Ce sont les seules fonctions spécifiques au problème !. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 50 / 60.

(51) Algorithmes génétiques. Algorithmes génétiques : Algorithme I procedure AlgoG Créer(population) solutionSatisfaisante ← EvaluerEléments(population) iteration ← 0 while non(solutionSatisfaisante) ∧ (iteration < seuil) do . on extrait un certain taux de meilleures séquences pour croisement bestSequences ← extraireMeilleurs(population, tauxMeilleurs) while bestSequences.length 6= ∅ do . on choisit deux séquences au hasard (sequenceA, sequenceB) ← extraireSequences(bestSequences) . on croise deux séquences à partir d’un point de croisement à définir sequenceAB ← croisement(sequenceA, sequenceB) sequenceBA ← croisement(sequenceB, sequenceA) population ← population ∪ {sequenceAB} ∪ {sequenceBA} . les résultats des croisements est ajouté à la population . on peut aussi retirer les moins bonnes séquences end while. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 51 / 60.

(52) Algorithmes génétiques. Algorithmes génétiques : Algorithme II. . on extrait un certain taux de séquences pour mutation mutantSequences ← extraireHasard(population, tauxMutants) for all sequence ∈ mutantSequences do . on effectue un certain taux de mutation dans chaque séquence sequence ← muterSequence(sequence, tauxMutation) . on réinjecte la séquence mutée dans la population population ← population ∪ {sequence} end for solutionSatisfaisante ←EvaluerEléments(population) iteration ← iteration + 1 end while end procedure. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 52 / 60.

(53) Algorithmes génétiques. Algorithmes génétiques : : Exemple. Exemple d’apprentissage par AlgoG. (issu de J.-M. Alliot ? T. Schiex). Trouver le maximum de f (x ) = 4x .(1 − x ) sur [0, 1[ Codage des données : sur 8 bits codage(x ) ← (|x .28 |)2 exemple : codage(0.2) = (|0.2 × 256|)2 = (00110011)2. Choix de la fonction d’utilité : Ici U(x ) = f (x ). E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 53 / 60.

(54) Algorithmes génétiques. Algorithmes génétiques : : Exemple. Exemple d’apprentissage par AlgoG. (issu de J.-M. Alliot & T. Schiex). Génération de 4 séquences (pour l’exemple, généralement génération de centaines). Séquences 0011 0011 (s1 ) 0110 0110 (s2 ) 0111 0100 (s3 ) 1100 1010 (s4 ) .. E. ADAM. UPHF/INSA HdF. Valeur 0.2 0.4 0.456 0.789 .. U(x ) 0.64 0.96 0.992 P0.665 ≈ 3.25. % sélection 0.64/3.25 ≈ 0.19 0.96/3.25 ≈ 0.29 0.992/3.25 ≈ 0.31 0.665/3.25 ≈ 0.21 .. Intelligence Artificielle. Séquences suivante 0110 0100 (s2.3 ) 0110 0110 (s2 ) 0111 0100 (s3 ) 0111 0110 (s3.2 ) .. UPHF/INSA HdF. 54 / 60.

(55) Algorithmes génétiques. Algorithmes génétiques : : Exemple Exemple d’apprentissage par AlgoG. (issu de J.-M. Alliot & T. Schiex). Croisement des meilleures séquences et évaluation. Séquences 0110 0100 (s2.3 ) 0110 0110 (s2 ) 0111 0100 (s3 ) 0111 0110 (s3.2 ) .. Valeur 0.39 0.4 0.456 0.461 .. U(x ) 0.952 0.96 0.992 P0.994 ≈ 3.90. % sélection 0.952/3.9 ≈ 0.24 0.96/3.9 ≈ 0.246 0.992/3.9 ≈ 0.254 0.994/3.9 ≈ 0.255 .. Séquences suivante 0111 0110 (s3.(3.2) ) 0111 0100 (s(3.2).3 ) 0111 0100 (s3 ) 0111 0110 (s3.2 ) .. Remarque : Mutation obligatoire pour éviter de boucler ! !. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 55 / 60.

(56) Algorithmes génétiques. Algorithmes génétiques : : Exemple. Mutation taux de séquences mutantes : 25% −→ (1/4 ici) taux de mutation par séquence : 12.5% −→ (1/8 ici). Séquences 0110 0100 (s2.3 ) 0110 1110 (s2 ) 0111 0100 (s3 ) 0111 0110 (s3.2 ) .. E. ADAM. UPHF/INSA HdF. Valeur 0.39 0.429 0.456 0.461 .. U(x ) 0.952 0.98 0.992 P 0.994 ≈ 3.918. % sélection . . . . .. Intelligence Artificielle. Séquences suivante . . . . .. UPHF/INSA HdF. 56 / 60.

(57) Algorithmes génétiques. Algorithmes génétiques : : Définitions Quelques définitions une séquence A de longueur l(A) est une suite A = a1 a2 . . . al avec ∀i ∈ [1, l], ai ∈ V = {0, 1} un schéma H de longueur l est une suite H = h1 h2 . . . hl avec ∀i ∈ [1, l], hi ∈ V + {0, 1, ∗} une séquence A = a1 . . . al est une instance d’un schéma H = h1 . . . hl si ∀i|(hi 6=∗) : ai = hi Soit H un schéma : i est une position fixe de H si (hi = 1 ∨ hi = 0) i est une position libre de H si hi = ∗. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 57 / 60.

(58) Algorithmes génétiques. Algorithmes génétiques : : Définitions. Quelques définitions o(H) :ordre d’un schéma H = nombre de positions fixes de H δ(H) :longueur fondamentale d’un schéma H = distance entre la 1ere et la dernière position fixe de H f (A) : adaptation de la séquence A f (H) : adaptation du schéma H P2(l(H)−o(H)). f (H) =. E. ADAM. f (Ai ). i=1 2(l(H)−o(H)). UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 58 / 60.

(59) Algorithmes génétiques. Algorithmes génétiques : : Propriétés Quelques propriétés Soit S = {A1 , A2 , . . . , An } un ensembles de n séquences Chaque séquence Ai se reproduira avec la probabilité ) pi = Pnf (Afi (A ) i=1. i. Posons m(H, t) le nombre de séquences représentant le schéma H à l’instant t, on a : m(H, t + 1) = m(H, t) × n × Pnf (H) f (A ) i=1. i. Posons ps (H), la probabilité de survie du schéma H, pc = la fraction de séquences croisées, on a : ps > 1 − pc × δ(H) l−1. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 59 / 60.

(60) Algorithmes génétiques. Algorithmes génétiques : : Améliorations. Quelques propriétés utilisation de séquences de valeurs réelles Technique du ‘Sharing’ Chaque chromosome est modifié en fonction du nombre de chromosomes qui l’entoure Modification de la fonction adaption (fitness) : f (Ai fs (Ai ) = Pn s(d(A ,A )) j=1. i. j. d(Ai , Aj ) est la distance entre les séquences Ai et Aj s est une fonction à définir. . .. E. ADAM. UPHF/INSA HdF. Intelligence Artificielle. UPHF/INSA HdF. 60 / 60.

(61)

Références

Documents relatifs

Utiliser l'algorithme du perceptron pour apprendre les valeurs du réseau τ = 0.5... Utiliser l'algorithme du perceptron pour apprendre les valeurs du réseau τ

Etape 2: Mise à jour du générateur Comme la partie aval (le discriminateur) est commune entre x real et x gan et figée, et que ces deux vecteurs ont les mêmes labels, la perte

Toutes les connexions ne sont pas actives à chaque instant il devient maladroit de programmer une boucle de calcul systématique des états de tous les neurones et de toutes les synapses

• Étape forward : calcul des valeurs des différents neurones, de la couche d’entrée vers la couche de sortie. • Étape backward : calcul des gradients partiels par rapport aux

EPAT’14, Carry-Le-Rouet 7-12 juin 2014 Apprentissage par réseaux de neurones artificiels / Younès Bennani (LIPN-Univ. Paris 13) 7.. Le

• Tester pour différentes tailles de réseaux le nombre de patterns qui sont appris par le réseau. • L’ordre d’apprentissage correspond-il à

Chaque couche contient un biais (neurone permettant d'intégrer le calcul du seuil S dans la somme pondérée, évitant de le faire manuellement).. Exemple de

Lors de la mise à jour avec un exemple, on a calculé et mis à jour les poids des connexions de la couche de sortie pour calculer l’erreur de la couche cachée.. On aurait pu calculer