• Aucun résultat trouvé

Les réseaux d’apprentissage non supervisé

1 .6 Les architectures d’apprentissage profond

1.6.2 Les réseaux d’apprentissage non supervisé

les auto-encodeurs empilés (SAE)

Un auto-encodeur empilé est un réseau de neurones composé d’une succession d’auto-encodeurs (figure 1.11). Un auto-encodeur est composé de deux parties : encodeur et décodeur. L’encodeur est utilisé pour trans-former les données en entrée x à une représentation compressée. Ensuite, le décodeur utilise cette représentation pour reconstruire les données en entréesx.b

Le processus d’empilement des auto-encodeurs permet à SAE d’ap-prendre des structures plus complexes. L’apprentissage est divisé en deux parties : apprentissage non supervisé et apprentissage supervisé basé sur l’apprentissage transféré. Contrairement à un MLP, dans chaque itération, l’apprentissage dans un SAE est réalisé seulement au niveau d’une unité d’auto-encodeur, où chaque unité prend en entrée les sorties de l’unité précédente. Cela permet à chaque auto-encodeur de minimiser l’erreur de la couche précédente. Enfin, cette procédure est suivie par un apprentis-sage transféré dans les couches cachées.

Figure 1.11 – La structure d’un auto-encodeur empilé.

Les SAE ont été exploité dans différentes applications comme : la com-pression des données [Tan & Eswaran 2011], la réduction de dimension-nalité [Zabalza et al. 2016], la réduction de bruit [Ishii et al. 2013] et la dé-tection des anomalies [An & Cho 2015].

Les réseaux de croyances profondes (DBN)

Le réseau de croyance profond [Hinton et al. 2006] appartient à la caté-gorie des réseaux de neurones génératifs. Selon la figure 1.12, un DBN est composé d’un ensemble de réseaux empilés de type machine Boltzmann restreinte (RBM). L’apprentissage en DBN est effectué d’une manière suc-cessive dans chaque module RBM, où chaque module prend en entrée les sorties du module précédent. L’apprentissage est basé sur la méthode de divergence constructive.

DBN a été largement exploité dans plusieurs domaines d’applications comme la reconnaissance des images [Wu & Chen 2015], la prédiction et la classification du mouvement humain [Butepage et al. 2017], et la modé-lisation des séquences de vidéos [Gan et al. 2015].

Figure 1.12 – La structure d’un réseau de croyance profond.

Les réseaux contradictoires génératifs (GAN)

GAN [Goodfellow et al. 2014] est un modèle génératif basé sur les ré-seaux neurones. La modélisation générative est une tâche d’apprentissage non supervisé en apprentissage automatique. Cette tâche permet de gé-nérer de nouvelles instances à partir des instances existantes. GAN est composé de deux modèles : générateur G et discriminateur D. Le mo-dèle générateur permet de générer de nouvelles instances. Ensuite, ces instances sont classifiées en deux classes : réel ou truqué.

Les modèles générateur et discriminateur sont des réseaux de neu-rones de type DL et qui varient selon le domaine d’application, par exemple les réseaux de neurones convolutifs (CNN) sont exploités en traitement des images. Les réseaux contradictoires génératifs peuvent êtres utilisé dans différents domaines et applications comme : l’aug-mentation des données [Antoniou et al. 2018], la segl’aug-mentation sémantique [Luc et al. 2016], la traduction image-à-image [Isola et al. 2017], et la géné-ration de musique [Dong et al. 2018].

1.7 conclusion

Dans ce chapitre, nous avons présenté les différents principes liés à l’apprentissage profond. Les réseaux d’apprentissage profond sont des al-gorithmes d’apprentissage automatique basés sur les réseaux de neurones. Le perceptron a été le premier algorithme proposé pour l’apprentis-sage d’un neurone artificiel. Cet algorithme a rapidement montré ses li-mites dans la résolution des problèmes non linéaires. Afin de résoudre

cette limitation, le perceptron multicouche a été proposé. Ce dernier per-met d’introduire la non-linéarité à travers les fonctions d’activation non li-néaires dans les couches cachées. L’apprentissage dans un MLP est réalisé à l’aide de la méthode de rétroprobagation basée sur la technique d’op-timisation SGD ou ses variantes optimisées. Les neurones dans un MLP profond sont fortement connectés, ce qu’il peut conduire à un problème de sur-apprentissage sur les volumes de données limités. Pour répondre à ce problème, d’autres variants de réseaux DL ont été proposés en ap-prentissage supervisé (RNN, LSTM, CNN) et non-supervisé (SAE, DBN, GAN), où chaque réseau est spécialisé dans des domaines d’application précis et répond aux limitations des autres réseaux.

Le chapitre suivant présente les principes liés à CNN qui est le sujet d’intérêt de cette thèse. Dans ce cadre, nous commencerons par la présen-tation de l’architecture générale d’un CNN. Ensuite, nous détaillerons les différentes architectures communes de type CNN en apprentissage super-visé.

2

convolutif

Sommaire

2.1 Introduction . . . . 34

2.2 Historique . . . . 35

2.3 L’architecture générale d’un réseau de neurones convolutif . . . . 36 2.3.1 Couche de convolution . . . . 36 2.3.2 Couche de pooling . . . . 37 2.3.3 Couche entièrement connectée . . . . 37

2.4 Les types d’apprentissage . . . . 38 2.4.1 Apprentissage à partir des initialisations aléatoires . . . . 38 2.4.2 Apprentissage par transfert et fine-tuning . . . . 38

2.5 Les architectures communes. . . . 40 2.5.1 Classification . . . . 43 2.5.2 Détection des objets . . . . 64 2.5.3 Segmentation sémantique . . . . 69

U

nréseau de neurones convolutif (CNN) est un algorithme d’appren-tissage profond. Ce réseau a été largement exploité en vision par ordinateur pour la classification et la détection des objets grâce à ses fonctionnalités inspirées du cortex visuel. Contrairement aux réseaux DL classiques, les CNN sont caractérisées par des couches de convolution et de pooling. Ces couches introduisent des liens partiels pour réduire le nombre des paramètres et renforcer le partage des caractéristiques com-munes. Malgré ces avantages, ils ont plusieurs défis liés aux problèmes de sur-apprentissage sur les volumes limités de données et une complexité de calcul élevée. Pour résoudre ces problèmes, des architectures connues de type CNN ont été proposées. Ces architectures sont basées sur des blocs convolutionnels optimisés qui permettent de générer des structures plus profondes et moins exigeantes en termes de capacité de calcule et de stockage. Le but de ce chapitre est de détailler la structure générale d’un CNN et de comparer entre les architectures communes de type CNN en classification, en détection des objets, et en segmentation.

Mots clés : Réseau de neurones convolutif, Classification, Détection des objets, Segmentation, Convolution, Pooling, ImageNet, PASCAL VOC.

2.1 Introduction

Les réseaux de neurones convolutif sont des réseaux d’apprentissage profond inspirés du cortex visuel [Hubel & Wiesel 1962]. Ces réseaux ont été utilisés dans les systèmes de recommandation [Ying et al. 2018], en traitement du langage naturel [Kim 2014], et en vision par ordina-teur [Krizhevsky et al. 2012]. Leur exploitation en vision par ordinaordina-teur a connu un grand succès grâce à leurs caractéristiques inspirées des sys-tèmes visuels naturels.

En vision par ordinateur, le processus de classification par les mé-thodes d’apprentissage classiques est basé sur 2 étapes principales : l’ex-traction des caractéristiques et l’apprentissage. Ces caractéristiques sont considérées comme des handcrafted features à cause de l’effort manuel et nécessaire dans l’étude des attributs discriminants. Les méthodes utilisées extraient ces caractéristiques d’une manière non supervisée. Cette sépara-tion entre les modules d’extracsépara-tion et de classificasépara-tion peut nuire la tâche de classification si certains attributs discriminants ont été négligés dans la phase de l’extraction.

Contrairement aux méthodes d’apprentissage classiques, les CNN réa-lisent implicitement le processus d’extraction des caractéristiques à travers les couches de convolution, où les premières couches représentent les ca-ractéristiques simples. Ensuite, ces caca-ractéristiques sont combinées pour former d’autres qui sont plus complexes dans les couches profondes. Cette spécificité a rendu les CNN un bon outils pour la classification des don-nées non structurées comme les images et les textes. Malgré ces avantages, les CNN profonds risquent le problème de sur-apprentissage sur les vo-lumes limités de données, car ils sont plus adaptés aux grands vovo-lumes à cause du problème de sur-apprentissage [Keshari et al. 2018].

Les CNN ont prouvé leur efficacité par rapport aux réseaux de neu-rones profonds classiques en termes de complexité temporelle et stiale. Ces réseaux sont caractérisés par leur stratégie de partage des pa-ramètres. Contrairement à un DNN, où les couches adjacentes sont forte-ment connectées, dans un CNN, chaque neurone de la couche courante est connecté seulement à un sous ensemble de neurones de la couche pré-cédente (figure 2.1). Les CNN sont considérés comme des méthodes de stabilisation structurelle qui permettent de réduire les problèmes de sur-apprentissage à travers l’optimisation du nombre des paramètres.

Figure 2.1 – La différence entre le nombre de connexions dans une couche fortement connectée et une couche de convolution.

entre les architectures connues de type CNN exploitées en classification, en détection des objets, et en segmentation.

2.2 Historique

Les réseaux de neurones convolutifs sont inspirés du cortex visuel. Le cortex visuel est la partie de cerveau responsable du traitement des informations provenant de l’œil.

En 1962, les chercheurs [Hubel & Wiesel 1962] ont inséré des élec-trodes dans des parties spécifiques du cortex visuel d’un chat afin de me-surer l’activation lorsque le chat observe quelques formes de base. Ils ont remarqué que les cellules simples répondent seulement aux barres hori-zontales en bas d’une image. Tandis que les cellules complexes sont carac-térisées par une invariance spatiale, où ils peuvent répondre à ces barres dans différents emplacements dans l’image. Cette invariance est assurée par la combinaison des sorties des cellules simples.

En fonction de ces hypothèses, [Fukushima 1980] a développé un mo-dèle (figure 2.2) composé de deux types de cellules neuronales : les cellules simples (S) et complexes (C). Les cellules S sont activées à la détection des formes basiques, tandis que les cellules C combinent les activations des cellules S. L’idée est de transformer les concepts biologiques introduits précédemment à des concepts mathématiques pour modéliser la tâche de reconnaissance visuelle des formes. Ce modèle a été exploité pour la re-connaissance des formes dans une approche non supervisée.

Figure 2.2 – La structure du modèle proposé par [Fukushima 1980].

En 1998, [LeCun et al. 1998] ont introduit le réseau de neurones convo-lutif qui est basé sur l’architecture proposée par Fukushima, où ils ont exploité la methode de rétropropagation afin d’accomplir une tâche de classification supervisée. Leur modèle a été testé sur la base d’apprentis-sage MNIST spécialisée en classification des caractères manuscrits.

Au début des années 2000, la recherche sur les réseaux CNN a stagné à cause de la puissance insuffisante des processeurs et des capacités des mémoires internes limités pour les besoins de tels algorithmes. Durant cette période, les algorithmes d’apprentissage automatique classiques ont

été largement exploités grâce à leurs exigences raisonnables en termes de complexité de calcul et espace de stockage.

En 2012, l’architecture AlexNet de type CNN a réussi le meilleur taux d’erreur dans l’état de l’art sur la base d’apprentissage ImageNet [Krizhevsky et al. 2012]. Cette bonne performance et la capacité des GPUs dans l’optimisation de la complexité temporelle ont encouragé la commu-nauté de l’intelligence artificielle à proposer d’autres variantes optimisées de l’architecture CNN.

2.3 L’architecture générale d’un réseau de neurones