Try   HackMD

IREN - Introduction aux réseaux neuronnaux

Un neurone

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • On reflechis selon les impulsions electriques dans notre cerveau
  • Il y a des seuils pour les impulsions electriques

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • Poid:
    w0
  • Energie de la part du voisin:
    x0
  • Si on a une mauvaise "connexion", on recoit pas ou peu les informations des voisins
  • On a une fonction d'activation
    f
    (seuil) pour savoir si on ressort du neurone
  • A la sortie on a une combinaison lineaire de l'entree de base
    • La fonction d'activation casse la linearite
    • Les problemes ne se reglent pas lineairement a chaque fois

Les maths d'un neurone

  1. z=b+iwixi
  2. y=σ(z)

avec

  • les
    i
    entrees
    xi
  • b
    le biais
  • wi
    les poids
  • σ
    la fonction d'activation

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • ReLU:
    • cancer ?
      2,5
      en reponse
  • Logistique (sigmoide)
    • vrai ou faux
  • Tangente hyperbolique
    • Varie de
      1
      a
      1
    • Choisi entre vrai ou faux

Un premier reseau neuronal

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Évaluer les couples d’entrée

(1,1),
(0,1)
,
(1,0)
et
(0,0)
avec
σ
une logistique

  • (0,0)=0

Construction d'un reseau neuronal

Pour construire un réseau neuronal par apprentissage supervisé il faut :

  • un grand jeu de données étiquetées par la sortie voulue
  • définir l’architecture du réseau avec
    • le nombre de couches
    • les types de couches
    • le nombre de nœuds par couche
    • les fonctions d’activations
    • les connexions inter-couches
    • toutes astuces qui fonctionnent
  • une fonction d’erreur pour guider la correction sur les poids
  • une méthode pour faire converger le réseau (trouver les bons poids)

En cas de problème, on sacrifie un poulet.

Les donnees

Les données doivent être

  • très nombreuses (assez pour définir toutes les inconnues du réseau)
  • de bonne qualité (pour ne pas tromper le réseau)

On appronfondira avec des exemples et l’utilisation de Pandas pour nettoyer les données.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Est-ce un champignon ? Précision suivant la qualité des étiquettes.

L’architecture du réseau

C’est la partie tactique et artistique.

L’étude des différents réseaux n’entre pas dans le cadre de ce cours d’introduction. On se limitera à quelques réseaux lors des TP.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

La fonction d’erreur

La fonction d’erreur indique de combien le réseau s’est trompé par rapport à
la vérité terrain (

y vs
t
). Elle doit

  • être dérivable
  • correspondre au problème traité

Cette fonction est aussi appelée fonction de coût (cost function ou loss function en anglais).

Exemple

  • L’erreur quadratique
    E=(yt)2
  • E=log(cosh(yt))
    quadratique puis linéaire lorsque l’écart croît
  • L’entropie croisée pour des probabilités (valeurs entre
    0
    et
    1
    )

E=ktklog(yk)+(1tk)log(1yk)

Une méthode pour trouver les bons poids

Comment l’erreur nous guide pour trouver les poids ?

Exemple

Vous êtes le directeur et tous les jours vous invitez votre équipe à déjeuner. Il y a le choix entre le plat A, B ou C. Vous payez chaque jour l’addition.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Avec les données

[(5,3,2),114],
[(6,2,2),108]
,
[(3,4,5),147]
qui correspondent aux quantités de chaque plat et au prix global, déduire le prix de chaque plat par une méthode d’apprentissage

Que proposez-vous ?

C'est une equations a 3 inconnues mais on veut faire apprendre au reseau de neurones.

Supposons qu'on met tous les prix a 10euros et qu'au lieu de payer 100euros pour 10 plats, on paye 114euros.
Reflechir comme un reseau neuronal:

  • On augmente tous les prix
  • On augment les poids en fonction du nombre de fois ou un plat a ete prit
    • On fait un pourcentage
      50
      • La somme de tous les
        i
        divise par
        i0

Utilisons l’erreur pour corriger les poids

L’algorithme consiste à trouver les

wi qui minimisent l’erreur :

  1. On initialise les poids à une valeur probable (disons 10 pour tous)
  2. On corrige les poids au prorata de leur part dans l’erreur
    E=yt
    :

wj=wjηdj

  • dj=E×ijkik
  • η
    petit pour éviter de sur-corriger

Déroulons l’algorithme avec

η=110:

  • [(5,3,2),114]
    Notre prix estimé est de 100.
    • d0=(yt)×i010=7.0
      donc
      w0=10+0.70=10.7
    • d1=(yt)×i110=4.2
      donc
      w0=10+0.42=10.42
    • d2=(yt)×i210=2.8
      donc
      w0=10+0.28=10.28
  • [(6,2,2),108]
    Notre prix estimé est de 105.6 et on obtient
    • w0=10.84
      ,
      w1=10.46
      et
      w2=10.33
  • [(3,4,5),147]
    Notre prix estimé est de 126.04 et on obtient
    • w0=11.37
      ,
      w1=11.16
      et
      w2=11.20

On peut rejouer les données jusqu’à converger

  • la convergence peut être longue avec un petit
    η
  • cela peut diverger avec un trop grand
    η

E×ijkik=αδ(yt)2δwj
derivee partielle par rapport a
wj

Rétropropagation du gradient

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Fonction logistique

Calculons l’influence du poids

w2,22 sur l'erreur quadratique
E:δEδw2,22

La derivee partielle de

y par rapport a
z
est
y(1y)

C'est

ex qui se balade. Il croise
2
tout panique qui lui dit "Derivee me court apres!" et part en courant pendant que
ex
se marre. Ensuite
ex
tombe sur un gars qui cherche quelqu'un, et le gars lui demande "T'as pas peur de moi ?",
ex
repond "Bah non pourquoi?", le gars lui repond "Bah parce que je suis
ddy
"

Que vaut le gradient de
E:E
?

Pourquoi ce titre ?