0% ont trouvé ce document utile (0 vote)
58 vues16 pages

Chap2 2

Transféré par

Móüńá Êł
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues16 pages

Chap2 2

Transféré par

Móüńá Êł
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Résumé :

Le neurone artificiel présente les caractéristiques suivantes:


• Un neurone est une fonction mathématique modelée sur le fonctionnement des neurones
biologiques
• C'est une unité élémentaire dans un réseau neuronal artificiel
• Une ou plusieurs entrées sont pondérées séparément
• Les entrées sont additionnées et transmises via une fonction non linéaire pour produire
une sortie
• Chaque neurone possède un état interne appelé signal d'activation
• Chaque lien de connexion contient des informations sur le signal d'entrée
• Chaque neurone est connecté à un autre neurone via un lien de connexion

Un perceptron
Un perceptron est une unité de réseau neuronal (un neurone artificiel) qui
effectue certains calculs pour détecter des fonctionnalités ou des informations
commerciales dans les données d'entrée.

Un perceptron est un réseau d'unités génératrices de signaux sensoriels (S),


d'association (A) et de réponse (R) Un perceptron couplé en série est à action
directe S → A → R
Un perceptron élémentaire est un perceptron couplé en série avec une unité R
connectée à chaque unité A et des connexions S → A fixes.

Convergence, Théorème:
Étant donné le perceptron élémentaire, le monde de stimulus W et toute
classification C (W) pour laquelle une solution existe, alors si tous les stimuli dans
W se reproduisent en temps fini, la procédure de correction d'erreur trouvera
toujours une solution.

Perceptron Original 1957. Frank Rosenblatt (1928-1971) Modèle simplifié

Le perceptron a été introduit par Frank Rosenblatt en 1957. Il a proposé une règle d'apprentissage du
perceptron basée sur le neurone MCP d'origine.
Un perceptron aussi peut être vu comme un algorithme d'apprentissage supervisé des classificateurs
binaires.

Cet algorithme permet aux neurones d'apprendre et de traiter les éléments de l'ensemble
d'entraînement un par un.

Il existe deux types de perceptrons: monocouche et multicouche.


Les Perceptrons monocouche ne peuvent apprendre que des motifs linéairement séparables.
Les perceptrons multicouches sont des réseaux de neurones à action directe avec deux couches ou
plus ont la plus grande puissance de traitement.

L'algorithme Perceptron determine par apprentissage les poids des signaux d'entrée afin de tracer
une frontière de décision linéaire.
Cela vous permet de distinguer les deux classes linéairement séparables +1 et -1.
Remarque: l'apprentissage supervisé est un type d'apprentissage automatique utilisé pour apprendre
des modèles à partir de données de formation étiquetées. Il permet la prédiction de sortie pour les
données futures ou invisibles.

Règle d’apprentissage du perceptron

Règle d’apprentissage du perceptron stipule que l'algorithme apprendra automatiquement les


coefficients de poids optimaux. Les caractéristiques d'entrée sont ensuite multipliées par ces poids
pour déterminer si un neurone se déclenche ou non.
Règle d’apprentissage de perceptron

Le Perceptron reçoit plusieurs signaux d'entrée et si la somme des signaux d'entrée dépasse un
certain seuil, il émet un signal ou ne renvoie pas de sortie. Dans le contexte de l'apprentissage
supervisé et de la classification, cela peut ensuite être utilisé pour prédire la classe d'un échantillon.

La function perceptron

Perceptron est une fonction qui mappe son entrée «x», qui est multipliée par le coefficient de poids
appris; une valeur de sortie ”f (x)” est générée.

f (x)= 1 if w.x+b >0 , 0 otherwise

Dans l'équation donnée ci-dessus:


"W" = vecteur de poids réels
"B" = biais (un élément qui ajuste la frontière loin de l'origine sans aucune dépendance sur la valeur
d'entrée)
"X" = vecteur des valeurs x d'entrée

i=1..mwixi
"m" = nombre d'entrées dans le Perceptron
La sortie peut être représentée par «1» ou «0». Il peut également être représenté par «1» ou «-1» selon
la fonction d'activation utilisée.

Apprenons les entrées d'un perceptron dans la section suivante.

Entrées d'un perceptron


Un perceptron accepte les entrées, les modère avec certaines valeurs de poids, puis applique la
fonction de transformation pour produire le résultat final. Ce qui précède ci-dessous montre un
perceptron avec une sortie booléenne.

Règle d’apprentissage du perceptron


Une sortie booléenne est basée sur des entrées telles que salarié, marié, âge, profil de crédit
antérieur, etc. Elle n'a que deux valeurs: Oui et Non ou Vrai et Faux. La fonction de sommation «∑»
multiplie toutes les entrées de «x» par les poids «w» puis les additionne comme suit:

w 0 + w1x1+ w2x2+… + wnxn


Dans la section suivante, discutons des fonctions d'activation du perceptron.
Fonctions d'activation de Perceptron
La fonction d'activation applique une règle de pas (convertir la sortie numérique en +1 ou -1) pour
vérifier si la sortie de la fonction de pondération est supérieure ou non à zéro.

step function sign function sigmoid function

Par exemple:

If ∑ wixi> 0 Then final output “o” = 1 (émettre un prêt bancaire)

Else, final output “o” = -1 (refuser un prêt bancaire

La fonction de pas est déclenchée au-dessus d'une certaine valeur de la sortie du neurone; sinon, il
sort zéro. La fonction de signe génère +1 ou -1 selon que la sortie des neurones est supérieure ou
non à zéro. Sigmoid est la courbe en S et génère une valeur comprise entre 0 et 1.

Sortie de Perceptron
Perceptron avec une sortie booléenne:
Entrée: x1… xn
Sortie: o (x1….xn)

 (x1….xn) =1 if w0 +w1+…+xn >0

=-1 otherwise

Poids: wi => contribution de l'entrée xi à la sortie du Perceptron;


w0 => biais ou seuil
If .w.x> 0, Then la sortie est +1,
Else la sortie est -1.
C'est-à-dire, le neurone n'est déclenché que lorsque l'entrée pondérée atteint une certaine valeur de
seuil.

sgn(y) =1 si y>0 -1 sinon

Une sortie de +1 spécifie que le neurone est déclenché. Une sortie de -1


spécifie que le neurone n'a pas été déclenché. sgn désigne fonction de
signe avec sortie +1 ou -1.

Erreur dans Perceptron


Dans la règle d'apprentissage Perceptron, la sortie prévue est comparée à la
sortie connue. S'il ne correspond pas, l'erreur est propagée vers l'arrière pour
permettre l'ajustement du poids.
Discutons de la fonction de décision de Perceptron dans la section suivante.
Perceptron: fonction de décision
Une fonction de décision φ (z) de Perceptron est définie pour prendre une ) de Perceptron est définie pour prendre une
combinaison linéaire de vecteurs x et w. w= (w1,…,wm)T x= (x1,…,xm)T

La valeur z dans la function de decision est donnée par :

Z = w1x1+ w2x2+… + wmxm

La fonction de décision est +1 si z est supérieur à un seuil θ, et -1 sinon.

φ (z) = 1 if z z) = 1 if z ) = 1 if z) = 1 if z  θ -1 otherwiz) = 1 if z e

Il s'agit de l'algorithme Perceptron.


Unité de polarisation
Par souci de simplicité, le seuil θ peut être amené à gauche et représenté par

w0.x0, où w0 = -θ et x0 = 1.

z= w0x0+w1x1+ w2x2+… + wmxm= wTx

La valeur w0 est appelée l'unité de biais.


La fonction de décision devient alors:

φ (z) = 1 if z z) = 1 if z ) = 1 if z) = 1 if z  0 -1 otherwiz) = 1 if z e

Output (sortie)
La figure montre comment la fonction de décision écrase wTx à +1 ou -1 et comment elle peut être
utilisée pour discriminer entre deux classes linéairement séparables.
En bref, le perceptron a les caractéristiques suivantes:

• Perceptron est un algorithme pour l'apprentissage supervisé du classifieur linéaire binaire


monocouche.
• Les coefficients de poids optimaux sont automatiquement appris.
• Les poids sont multipliés par les caractéristiques d'entrée et la décision est prise si le neurone est
déclenché ou non.
• La fonction d'activation applique une règle de pas pour vérifier si la sortie de la fonction de
pondération est supérieure à zéro.
• Une frontière de décision linéaire est tracée permettant la distinction entre les deux classes
linéairement séparables +1 et -1.
• Si la somme des signaux d'entrée dépasse un certain seuil, elle émet un signal; sinon, il n'y a pas de
sortie.
Les types de fonctions d'activation incluent les fonctions signe, pas et sigmoïde.

Implémenter des portes logiques avec Perceptron

Perceptron - Classifieur Hyperplane


La règle d'apprentissage Perceptron converge si les deux classes peuvent être séparées par
l'hyperplan linéaire. Cependant, si les classes ne peuvent pas être parfaitement séparées par un
classifieur linéaire, cela pourrait donner lieu à des erreurs.
Comme indiqué dans la rubrique précédente, la frontière du classifieur pour une sortie binaire dans
un Perceptron est représentée par l'équation donnée ci-dessous:

wT.x = 0
Le diagramme ci-dessus montre la surface de décision représentée par un Perceptron à deux
entrées.

Sur la figure (a) ci-dessus, les exemples peuvent être clairement séparés en valeurs positives et
négatives; par conséquent, ils sont linéairement séparables. Cela peut inclure des portes logiques
comme AND, OR, NOR, NAND. La figure (b) montre des exemples qui ne sont pas séparables
linéairement (comme dans une porte XOR).
Le diagramme (a) est un ensemble d'exemples de formation et la surface de décision d'un Perceptron
qui les classe correctement.
Le diagramme (b) est un ensemble d'exemples d'apprentissage qui ne sont pas séparables
linéairement, c'est-à-dire qu'ils ne peuvent pas être correctement classés par une ligne droite.
X1 et X2 sont les entrées du Perceptron.
Dans la section suivante, parlons des portes logiques.

Les Portes Logiques

Les portes logiques sont les éléments constitutifs d'un système numérique, en particulier le réseau
neuronal. En bref, ce sont les circuits électroniques qui aident en plus, au choix, à la négation et à la
combinaison pour former des circuits complexes.
En utilisant les portes logiques, Neural Networks peut apprendre par lui-même sans avoir à coder
manuellement la logique. La plupart des portes logiques ont deux entrées et une sortie.
Chaque borne a l'une des deux conditions binaires, basse (0) ou haute (1), représentée par différents
niveaux de tension. L'état logique d'un terminal change en fonction de la façon dont le circuit traite
les données.
Sur la base de cette logique, les portes logiques peuvent être classées en sept types:

 AND
 NAND

 OR

 NOR

 NOT

 XOR

 XNOR

Implémenter des portes logiques de base avec le perceptron


Les portes logiques qui peuvent être implémentées avec perceptron sont décrites ci-
dessous.
AND (ET, )
Si les deux entrées sont VRAIES (+1), la sortie de Perceptron est positive, ce qui équivaut à
VRAI.
Il s'agit du comportement souhaité d'une porte ET.
x1 = 1 (VRAI), x2 = 1 (VRAI)
w0 = -.8, w1 = 0,5, w2 = 0,5
=> o (x1, x2) => -.8 + 0,5 * 1 + 0,5 * 1 = 0,2> 0

OR (OU, )
Si l'une des deux entrées est VRAIE (+1), la sortie de Perceptron est positive, ce qui équivaut
à VRAI.
Il s'agit du comportement souhaité d'une porte OU.
x1 = 1 (VRAI), x2 = 0 (FAUX)
w0 = -.3, w1 = 0,5, w2 = 0,5
=> o (x1, x2) => -,3 + 0,5 * 1 + 0,5 * 0 = 0,2> 0

XOR (OU exclusive, )


Une porte XOR, également appelée porte OU exclusive, a deux entrées et une sortie.

La porte renvoie VRAI comme sortie si et UNIQUEMENT si l'un des états d'entrée est vrai.
Table de vérité XOR

Input Output (A  B)
A B
0 0 0
0 1 1
1 0 1
1 1 0

Porte XOR avec réseaux de neurones


Contrairement aux portes ET et OU, une porte XOR nécessite une couche intermédiaire
cachée pour une transformation préliminaire afin de réaliser la logique d'une porte XOR.
Une porte XOR attribue des poids afin que les conditions XOR soient remplies.
Il ne peut pas être implémenté avec un Perceptron monocouche et nécessite un Perceptron
multicouche ou MLP.

H représente la couche cachée, ce qui permet l'implémentation XOR.


I1, I2, H3, H4, O5 sont 0 (FAUX) ou 1 (VRAI)
t3 = seuil pour H3; t4 = seuil pour H4; t5 = seuil pour O5
H3 = sigmoïde (I1 * w13 + I2 * w23 – t3);

H4 = sigmoïde (I1 * w14 + I2 * w24 – t4)


O5 = sigmoïde (H3 * w35 + H4 * w45 – t5);

Discutons de la fonction d'activation Sigmoid dans la section suivante.

Fonction d'activation sigmoïde


Le diagramme donné ici montre un Perceptron avec fonction d'activation sigmoïde. Sigmoid est l'une
des fonctions d'activation les plus populaires.

ai = g (j wi,j aj)

Une fonction sigmoïde est une fonction mathématique avec une courbe sigmoïde (courbe «S»). C'est
un cas particulier de la fonction logistique et est défini par la fonction donnée ci-dessous:

Logistic(z) =1/(1+e-z)

Ici, la valeur de z est: z= w0x0+….+ wmxm =i=0..m wixi= wTx


La courbe Sigmoid appelée “S courbe ou S curve” est presenté ici:
Cette function d’activation est appellée une sigmoïde logistique. Il est clair qu’elle comprise
entre 0 et 1. Elle très utile comme fonction d'activation lorsque l'on s'intéresse aux
probabilités plutôt qu'aux valeurs précises du paramètre d'entrée t.
- Sa sortie est proche de zéro pour une entrée très négative.
Cela peut être un problème dans la construction du réseau neurone et peut entraîner un
apprentissage latent (ralentissement), et la convergence prématurée (modèle sera planté
dans les minima locaux pendant la formation).
Donc, on fait appel à d’autre function d’activation pour les couches caches d’un RdN, par
exemple la tangente hyperbolique.

En python ‘sigmoid’:
import matplotlib.pylab as plt
import numpy as np
x = np.arange(-8, 8, 0.1)
f = 1 / (1 + np.exp(-x))
plt.plot(x, f)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.show()

La function sigmoid logic pour quelques exemples de données


Production
La sortie du Perceptron est de 0,888, ce qui indique la probabilité que la sortie y soit un 1.
Si le sigmoïde génère une valeur supérieure à 0,5, la sortie est marquée comme TRUE.
Puisque la sortie ici est de 0,888, la sortie finale est marquée comme VRAIE.

Dans la section suivante, concentrons-nous sur les fonctions redresseur et softplus.


Fonctions redresseur et Softplus
En_plus des fonctions d'activation Sigmoid et Sign vues précédemment, d'autres fonctions
d'activation courantes sont ReLU et Softplus.
Ils éliminent les unités négatives car une sortie de la fonction max affichera 0 pour toutes les unités 0
ou moins.

Un redresseur ou ReLU (Rectified Linear Unit) est une fonction d'activation couramment utilisée.
Cette fonction permet d'éliminer les unités négatives dans un RdN. Il s'agit de la fonction d'activation
la plus utilisée dans les réseaux de neurones profonds.
Une approximation douce du redresseur est la fonction Softplus:
La dérivée de Softplus est la fonction logistique ou sigmoïde:
Dans la section suivante, discutons des avantages de la fonction ReLu.

Avantages des fonctions ReLu

Les avantages de la fonction ReLu sont les suivants:


• Permettre une formation plus rapide et efficace des architectures neuronales profondes
sur des ensembles de données volumineux et complexes
• Activation clairsemée de seulement environ 50% des unités d'un réseau de neurones (car
les unités négatives sont éliminées)
• Plus plausible ou unilatéral, par rapport à l'anti-symétrie du tanh
• Propagation efficace du gradient, ce qui signifie pas de problèmes de gradient qui
disparaissent ou explosent
• Calcul efficace avec la seule comparaison, addition ou multiplication
• Échelle bien
Limitations des fonctions ReLu
• Non différenciable à zéro - non différenciable à zéro signifie que des valeurs proches de
zéro peuvent donner des résultats incohérents ou insolubles.
• Centré non nul - Le fait de ne pas être centré crée une asymétrie autour des données
(seules les valeurs positives traitées), conduisant à une gestion inégale des données.
• Illimité - La valeur de sortie n'a pas de limite et peut entraîner des problèmes de calcul
avec de grandes valeurs transmises.
• Problème de ReLU mourant - Quand le taux d'apprentissage est trop élevé, les neurones
ReLu peuvent devenir inactifs (mourir).

Dans la section suivante, concentrons-nous sur la fonction Softmax.


Fonction Softmax
Une autre fonction d'activation très populaire est la fonction Softmax. Le Softmax génère la
probabilité que le résultat appartienne à un certain ensemble de classes. Il s'apparente à une logique
de catégorisation à la fin d'un réseau neuronal.

Par exemple, il peut être utilisé à la fin d'un réseau de neurones qui essaie de déterminer si l'image
d'un objet en mouvement contient un animal, une voiture ou un avion.
En mathématiques, la fonction exponentielle Softmax ou normalisée est une généralisation de la
fonction logistique qui écrase un vecteur dimensionnel K de valeurs réelles arbitraires en un vecteur
dimensionnel K de valeurs réelles dans la plage (0, 1) qui s'additionnent à 1.
Dans la théorie des probabilités, la sortie de la fonction Softmax représente une distribution de
probabilité sur K résultats différents.

Dans Softmax, la probabilité d'un échantillon particulier avec l'entrée nette z appartenant à la i ème
classe peut être calculée avec un terme de normalisation dans le dénominateur, c'est-à-dire la
somme de toutes les M fonctions linéaires:
p(y=i|z) =  (z) = exp(zi)/(j=1.M exp(zj,)
La fonction Softmax est utilisée dans les classificateurs RdN et Naïve Bayes.

Par exemple, si nous prenons une entrée de [1,2,3,4,1,2,3],


le Softmax est de [0,024, 0,064, 0,175, 0,475, 0,024, 0,064, 0,175].
La sortie a la plupart de son poids si l'entrée d'origine est «4»

Cette fonction est normalement utilisée pour :


• Mettre en évidence les plus grandes valeurs
• Suppression de valeurs nettement inférieures à la valeur maximale.
La fonction Softmax est illustrée ici

Ce code implémente la formule softmax et imprime la probabilité d'appartenir à l'une des trois
classes.
La somme des probabilités dans toutes les classes est de 1.
Parlons des fonctions hyperboliques dans la section suivante.

Fonctions hyperboliques
Tangente hyperbolique
La fonction hyperbolique ou tanh est souvent utilisée dans les réseaux de neurones comme fonction
d'activation. Il fournit une sortie entre -1 et +1. Il s'agit d'une extension de la sigmoïde logistique; la
différence est que la sortie s'étend ici entre -1 et +1.

tanh (z) = 2logistic (2z)-1= (exp(z,)-exp(-z))/ (exp(z,)+exp(-z))

L'avantage de la tangente hyperbolique sur la fonction logistique est qu'elle a un spectre de sortie
plus large et des plages dans l'intervalle ouvert (-1, 1), ce qui peut améliorer la convergence de
l'algorithme de rétropropagation.
Fonctions d'activation hyperbolique
Le graphique ci-dessous montre la courbe de ces fonctions d'activation:
En dehors de ceux-ci, tanh, sinh et cosh peuvent également être utilisés pour la fonction d'activation.

Sur la base de la sortie souhaitée, un data scientist peut décider quelles fonctions d'activation
doivent être utilisées dans la logique Perceptron.

Tangente hyperbolique
Ce code implémente la formule tanh. Ensuite, il appelle les fonctions logistiques et tanh sur la valeur
z.
La fonction tanh a un espace de sortie deux fois plus grand que la fonction logistique.

Avec un espace de sortie plus grand et une symétrie autour de zéro, la fonction tanh conduit à une
gestion plus uniforme des données, et il est plus facile d'arriver aux maxima globaux dans la fonction
de perte.

Aperçu des fonctions d'activation


Diverses fonctions d'activation pouvant être utilisées avec Perceptron sont présentées ici.
La fonction d'activation à utiliser est une décision subjective prise par le data scientist, basée sur
l'énoncé du problème et la forme des résultats souhaités.
Si le processus d'apprentissage est lent ou présente des gradients qui disparaissent ou explosent, les
scientifiques peuvent essayer de modifier la fonction d'activation pour voir si ces problèmes peuvent
être résolus.

Vous aimerez peut-être aussi