APPRENTISSAGE vf

RAPPORT SUR L’ARTICLE

INTRODUCTION

Dans ce rapport, nous ferons une ébauche de l’article «Under standing Représentations in Deep architectures» par Erhan, Courville et Bengio. Erhan est Senior Research Scientist pour Google Brain, Courville un professeur adjoint dans Le Département de recherche en informatique et de recherche opérationnelle (DIRO) de l’Université de Montréal Bengio est professeur titulaire au Département d’informatique et de recherche opérationnelle, directeur de l’Institut d’apprentissage de l’algorithme de Montréal. Cet article a été publié par l’université de Montréal et mis à disposition sur researchgate.net réseau social qui permet aux scientifiques de publier leur travail gratuitement afin d’atteindre un public le plus large possible.

Dans un premier temps, nous allons aborder le contexte suivi de son positionnement et de sa contribution. Enfin nous tenterons de faire une partie de l’expérience.

Contexte de l’article

Les premiers articles traitant du deep learning datent des années 80, avec l’apparition réseaux de neurone. Les neurones sont rangés sur plusieurs couches qui sont interconnectées. Un réseau neuronal s’inspire du fonctionnement des neurones biologiques et prend corps dans un ordinateur sous forme d’un algorithme(1). Les résultats d’une couche de neurones servent d’entrée au calcul de la couche suivante. L’avantage des réseaux de neurones c’est qu’ils apprennent d’eux même sans la main de l’homme. Il va se modifier en fonction des entrées qu’on lui apporte. Le contexte scientifique sur lequel repose cet article est le deep Learning. Le deep Learning se base sur un apprentissage supervisé, c’est à dire que le programmateur doit à apprendre à sa machine à reconnaitre des objets, par exemple des avions sur une image. Une fois entrainé à reconnaitre des avions, la machine est capable de reconnaitre et de classifier d’autres avions sans jamais les avoir vus auparavant. Pour cela elle utilise des réseaux de neurones sur plusieurs couches, d’ou ”deep Learning”. (2)

Positionnement

Jusqu’à présent, il était difficile de savoir ce que les hiérarchies profondes de réseaux neuronaux apprenaient. Elijah Polak a apporté un gradient(3) qui permet de mieux appréhender les invariances dans les couches profondes. Les couches de neurones jouent un rôle d’expert, c’est à dire qu’elles doivent être en mesure de classifier des objets. Les différents neurones d’une couche doivent donc trouver les critères dans cette classification. De précédents travaux, notamment ceux de Hinton, ont permis d’optimiser le rôle d’expert des neurones pour une meilleure classification. Néanmoins les précédentes recherches sur le domaine de la compréhension des machines sont très quantitative et peu qualitative. Erhan Courville et Bengio ont donc voulu une démarche plus qualitative afin d’apporter plus de réponse sur ce qu’apprennent les différentes couches afin d’optimiser l’apprentissage.

Contributions

Erhan Courville et Bengio ont comparé différents filtres: sampling units, linear combination et activation maximization sur deux modèles de deep Learning: DBN and SDAE, afin de savoir ce que les machines assimilaient. Tout ceci a été appliqué sur des bases de données existantes d’image de chiffres écrites a la main (MNIST et Caltech silhouettes). Leurs conclusions est que la linear combination et activation maximization sont plus interprétable. https://camo.githubusercontent.com/d440ac2eee1cb3ea33340a2c5f6f15a0878e9275/687474703a2f2f692e7974696d672e636f6d2f76692f3051493378675875422d512f687164656661756c742e6a7067 Ils ont ensuite cherché les invariances dans les modèles sur les couches profondes. Ils ont pour cela élaboré des collecteurs d’invariances pour avoir une meilleure compréhension de l’apprentissage dans les couches plus profondes.

Experiences

La base de données utilisée est composé de 60000 chiffres. On applique les algorithmes sur un modèle DBN et SDAE. En y appliquant 1 puis 10 époques, on observe que l’apprentissage est améliorer (cf. figure) et aussi que l’erreur de reconstruction est réduite.

resultat de l’erreur de reconstruction obtenu sur Octave:

epoch 1/10. Average reconstruction error is: 65.566

epoch 2/10. Average reconstruction error is: 50.063

epoch 3/10. Average reconstruction error is: 46.573

epoch 4/10. Average reconstruction error is: 44.951

epoch 5/10. Average reconstruction error is: 43.964

epoch 6/10. Average reconstruction error is: 43.316

epoch 7/10. Average reconstruction error is: 42.787

epoch 8/10. Average reconstruction error is: 42.346

epoch 9/10. Average reconstruction error is: 42.055

epoch 10/10. Average reconstruction error is: 41.75

figure1: (SDAE) A gauche l’algorithme a été appliqué pour 1 époque et 10 a droite