• Aucun résultat trouvé

Vers une simplification des calculs

divergence contrastive suit approximativement le gradient d’une fonction différente. L’ap- prentissage du maximum de vraisemblance minimise la divergence de Kullback Leibler des distributions liées aux données et au modèle,

KL(p0||p∞) =

x

p0(x)log

p0(x)

p(x; W). (2.31)

Puis l’apprentissage par divergence contrastive suit approximativement le gradient de la différence de deux divergences [60],

CDn= KL(p0||p∞)−KL(pn||p∞). (2.32)

L’apprentissage par CD consiste à lancer une chaîne de Markov à la distribution des don- nées p0 et à parcourir la chaîne pour un faible nombre d’itérations. La divergence contras-

tive se révèle efficace dans divers problèmes exigeant un échantillonnage de Gibbs ou une méthode hybride de Monte Carlo en tant qu’opérateur de transition pour une chaîne de Markov.

Il existe une version améliorée, la divergence contrastive persistante (ou Persistant Contrastive Divergence, PCD). L’approximation via PCD est obtenue par CD en remplaçant l’échantillon v(k) par un échantillon produit par une chaîne de Gibbs indépendante de l’échantillon v(0) de la distribution d’entraînement [42]. L’idée fondamentale sous-jacente du PCD s’appuie sur la proximité d’une chaîne de Gibbs à une distribution stationnaire si le taux d’apprentissage est suffisamment petit. Par conséquent, la variation du modèle est minimale entre les mises à jour des paramètres.

L’algorithme 1 démontre que l’apprentissage d’un réseau de neurones repose sur le cal- cul du gradient des poids et biais afin de satisfaire la minimisation de la fonction de coût. Cette dernière définit le type de modèle du réseau (discriminatif ou génératif) impliquant respectivement l’usage de l’algorithme de rétro-propagation ou de divergence contrastive. Cependant, quel que soit le type de modèle, l’apprentissage de ces réseaux de neurones reste coûteux, et ce d’autant plus que le nombre de neurones par réseau et la quantité de données à traiter s’accroissent. Il est indispensable de simplifier les calculs afin de répondre à l’usage des réseaux de neurones dans des applications toujours plus variées, et disponibles sur un plus grand panel de supports de calcul.

2.4

Vers une simplification des calculs

Désormais les réseaux feed-forward sont utilisés en apprentissage profond (DNN) [90] [93] consistant à empiler successivement des couches de neurones. La méthode DNN repose principalement sur les réseaux convolutionnels (CNN) dont l’utilisation est prédominante

Algorithme 1Phase d’apprentissage en fonction du type de réseau Discriminatif Fonction à minimiser : 1: argminW,bE(W,b) = 12ky−yW,b(x)k2. 2: h ∂E ∂Wl, ∂E ∂bl | ∂E ∂ωl(t−T) i =Rétro-propagation| à travers le temps. 3: W(l)=W(l)α ∂E ∂Wl 4: b(l)=b(l)−α∂E ∂bl 5: ω(l)(t − T) = ω(l)(t − T) −α ∂E ∂ω(l)(t−T) (BPTT) Génératif Énergie du réseau : 1: E(v,h; θ) =−1 2vTLv−12hTJh−vTWh, Fonction à minimiser : 2: argmax θ log(p(v,θ)) =log

h exp(E(v,h; θ)) ! −log

ˆv p(ˆv)

h exp(E(ˆv,h; θ)) ! (2.33) 3: log(p(v;θ)) ∂θ =Divergence contrastive 4: θ =θα∂L∂θ(θ)

dans les logiciels mis à disposition gratuitement tels que TensorFlow [1], Theano [12] [14], Torch [30] ou Caffe [77] pour ne citer que les principaux.

L’usage de ces réseaux s’inscrit dans un contexte de classification, de détection [10] [116] [125] et reconnaissance d’objets [129] [143] ou de régions dans les images. Ces tâches s’effec- tuent de manière supervisée et lorsque les données d’apprentissage sont abondantes, comme pour la reconnaissance de formes dans le jeu de Go [120], la détection et reconnaissance de visages [47] [127] ou de textes dans des images naturelles [36]. Puisque les images peuvent être étiquetées directement à partir des pixels, ce type de reconnaissance peut être utilisé par des véhicules dans une optique de conduite autonome [54].

Le succès de ces architectures s’explique notamment par l’utilisation des régularisations qui rendent les réseaux plus efficaces en généralisant au-delà des données d’apprentissage. Outre la méthode d’abandon (ou dropout) [123], permettant au réseau d’abandonner aléatoi- rement des connexions afin d’empêcher un sur-apprentissage des données, l’utilisation de la fonction d’activation d’unités linéaires rectifiées (ou Rectified linear units, ReLU) est devenue primordiale [34][102]. Cependant, les performances obtenues doivent beaucoup à l’efficacité des cartes graphiques (GPU) et à la possibilité de créer des étiquettes supplémentaires en augmentant la base d’apprentissage.

Une contrainte des réseaux de neurones optimisés réside dans leur besoin élevé de res- sources en terme de puissance, d’énergie et de temps lors de la phase d’apprentissage [66]. De plus, avec l’avènement des réseaux profonds (DNN), la demande en ressources aug- mente avec le nombre de couches du réseau, et donc du nombre de neurones disponibles

2.4 – Vers une simplification des calculs 23 dans l’ensemble du réseau. Désormais, les réseaux profonds sont principalement entraînés sur des cartes graphiques devenues depuis peu une ressource de calcul moins onéreuse [29]. L’usage de ces cartes graphiques limite l’implantation des DNN sur des environnements embarqués tels que des puces à faible consommation ou des smartphones. Le défi est dé- sormais de faire évoluer les réseaux afin de les porter sur des supports nécessitant moins de ressources. Une évolution récente est l’émergence des réseaux de neurones composés de poids binaires afin de simplifier les calculs durant l’apprentissage [33]. Une solution alterna- tive que nous explorons dans cette thèse, est l’emploi de réseaux de neurones conceptualisés sous forme de mémoires. En effet, dans un contexte de classification, un réseau de neurones optimisé (à travers ses couches cachées) crée un nouvel espace afin de classer linéairement des variables non séparables. Ce nouvel espace est défini par la transformation de la dimen- sion des données en caractéristiques spécifiques afin de maximiser leurs classifications.

L’intégration d’une mémoire dans ce type de réseau permet d’utiliser la temporalité en tant que notion discriminante supplémentaire dans les données. En revanche, dans les mé- moires associatives, c.-à-d. des réseaux devenant eux-mêmes une mémoire, le changement de représentation des données correspond à un plan où toutes les informations stockées forment des bassins d’attraction. Le paradigme de la classification se trouve modifié par ce changement d’architecture. La classification par les mémoires associatives, de par leurs bas- sins d’attraction, se rapproche de la méthode des plus proches voisins. Les données sont codées sans altérations dans le réseau. Par conséquent, les mémoires associatives sont prin- cipalement basées sur des architectures binaires réduisant l’impact de la mémoire nécessaire pour la phase d’apprentissage. La mémoire est notamment sollicitée durant la phase de récu- pération afin de retrouver un objet, mais son architecture binaire réduit le coût des calculs. La récupération est accomplie de manière itérative à l’instar de la phase d’apprentissage d’un réseau optimisé.

Afin de bien illustrer la distinction entre un réseau de neurones optimisé et une mé- moire associative, nous présentons ici un exemple. Nous définissons l’espace des données initial comme une chambre d’adolescent lambda que nous considérons comme chaotique. Les données sont des objets qui y sont présents tels qu’un lit, des meubles, vêtements, livres, déchets, etc. L’usage des réseaux optimisés consiste en premier lieu à ranger la chambre afin que chaque objet soit discernable. Au travers du rangement, nous créons un espace linéaire- ment séparable. Ce rangement nécessite du temps et de l’énergie, mais une fois effectué, le futur rangement n’en est que plus simplifié. Au contraire, l’usage d’une mémoire associative consiste à laisser telle quelle la chambre et mémoriser l’emplacement des objets créant leurs bassins d’attraction associés, c.-à-d. qu’un objet pourra attirer l’œil plus qu’un autre. Aucun rangement n’est nécessaire, tout est là, et c’est la recherche d’un objet qui requiert du temps et de l’énergie. La question à se poser est la suivante : à l’ouverture de la chambre dans son état initial, si on souhaite rechercher un objet, quelle est la méthode qui nécessite le moins

de ressources pour un résultat similaire ?

Nous allons maintenant entrer dans les détails de ces mémoires associatives afin de jus- tifier notre utilisation des réseaux à cliques.

Documents relatifs