Recherche de l’information dans les réseaux de neurones convolutifs pré-entraînés

L’apprentissage et la classification basés sur les images utilisent le plus souvent des filtres de convolution pour identifier les informations pertinentes sur les images, par exemple les réseaux de neurones convolutifs (CNN) LeCun et al. (1989), où les filtres sont ajustés au contenu d’intérêt. À l’époque, il était impossible de calculer l’algorithme de rétro-propagation Rosenblatt (1958), Rumelhart et al. (1986) sur une grande base de données d’images, car les performances des ordinateurs étaient très limitées donc plusieurs recherches se sont intéressées à l’utilisation des filtres conçus manuellement, comme par exemple, Harris et al. (1988) , Lindeberg (1994), SIFT (Lowe (2004)), etc. Depuis 2012 cependant, la méthodologie la plus utilisée consiste à former des séries de filtres de réseaux neuronaux convolutifs (CNN) via l’algorithme de rétropropagation (Rumelhart et al. (1986)), où la mise en œuvre d’unités de traitement graphique (GPU) hautement parallélisées permet de dériver des filtres de convolution à partir de grands ensembles de données d’images, par exemple ImageNet (Deng et al. (2009)).

Malgré l’utilisation des GPU, l’entraînement de CNN est difficile pour plusieurs raisons. La rétropropagation Rumelhart et al. (1986) reste un processus à forte intensité de calcul, où de nombreuses itérations et des hyperparamètres soigneusement choisis sont nécessaires pour assurer la convergence du modèle. En outre, un grand nombre d’images étiquetées sont nécessaires pour l’entraînement, et dans de nombreux cas, les données sont insuffisantes pour estimer les paramètres d’un grand réseau.

En raison de ces défis, un grand nombre de méthodes (Shin et al. (2016), Deniz et al. (2018), Kaur & Gandhi (2020)) évitent l’entraînement de CNN à partir de zéro et utilisent plutôt des réseaux existants et préformés comme extracteurs de caractéristiques générales d’images, une méthodologie connue sous le nom de transfert d’apprentissage. De cette manière, les nouvelles données d’images peuvent être encodées en termes de réponses génériques d’activations de réseau, et classées via des modèles d’apprentissage standard basés sur des données en mémoire , c’est-à-dire basés sur l’indexation du plus proche voisin, l’esimation de la densité par noyau, etc. L’hypothèse est que les réponses d’activation des filtres entraînés sur un grand ensemble de données diverses (par exemple, ImageNet (Deng et al. (2009)) 1000 catégories d’objets x 1000 exemples par catégories) sont en fait accordées sur des caractéristiques génériques, qui peuvent être utilisées pour classer de nouvelles catégories d’images jamais vues auparavant.

Apprentissage profond

Les systèmes d’apprentissage automatique, avec des architectures peu profondes ou profondes, ont la capacité d’apprendre et de s’améliorer avec l’expérience. Le processus d’apprentissage automatique commence par les données brutes qui sont utilisées pour extraire des informations utiles qui aident à la prise de décision. L’objectif principal est de permettre à une machine d’apprendre des informations utiles, tout comme les humains.

Les architectures non profondes sont bien comprises et fonctionnent bien sur de nombreux problèmes d’apprentissage automatique courants, et elles sont toujours utilisées dans la grande majorité des applications d’apprentissage machine d’aujourd’hui. Cependant, il y a eu récemment un intérêt accru sur les architectures profondes, dans l’espoir de trouver des moyens de résoudre des problèmes plus complexes du monde réel (par exemple, l’analyse d’images ou la compréhension du langage naturel) pour lesquels les architectures peu/non profondes ne sont pas en mesure de construire des modèles pertinents.

Les architectures profondes fait référence aux architectures qui contiennent plusieurs couches cachées pour apprendre différentes fonctionnalités avec plusieurs niveaux d’abstraction. Les algorithmes d’apprentissage profond cherchent à exploiter la structure inconnue dans la distribution d’entrée afin de découvrir de bonnes représentations, souvent à plusieurs niveaux, avec des caractéristiques apprises de niveau supérieur définies en termes de caractéristiques de niveau inférieur.

Les techniques classiques d’apprentissage machine sont limitées dans la façon dont elles traitent les données naturelles sous leur forme brute. Pendant des décennies, la construction d’un système de reconnaissance de formes ou d’apprentissage automatique a nécessité une expertise considérable dans le domaine et une ingénierie manuelle minutieuse pour trouver un extracteur de caractéristiques qui transforme les données en entrée (telles que les valeurs de pixels d’une image) en une représentation interne appropriée ou un vecteur de caractéristiques à partir duquel le système d’apprentissage, tel qu’un classificateur, pourrait détecter ou classer des motifs en entrée.

Les algorithmes d’apprentissage profond peuvent apprendre les bonnes caractéristiques et ils sont de loin mieux que d’extraire ces caractéristiques manuellement, c’est à dire, au lieu de construire un ensemble d’algorithmes pour encoder les données en des vecteurs de caractéristiques, les architectures profondes impliquent l’apprentissage automatique de ces caractéristiques au cours du processus d’apprentissage.

Le mot «profond» fait référence à l’apprentissage de couches successives de représentations de plus en plus significatives des données d’entrée. Le nombre de couches utilisées pour modéliser les données détermine la profondeur du modèle. L’apprentissage en profondeur actuel implique souvent l’apprentissage automatique de dizaines, voire de centaines de couches successives de représentation à partir des données d’entraînement.

Bien que l’apprentissage profond existe depuis l’année 1986 par Dechter (1986), il était relativement impopulaire pendant plusieurs années car l’infrastructure informatique (à la fois matérielle et logicielle) n’était pas adéquate et les bases de données disponibles étaient assez petites. Ce n’est que récemment que les réseaux profonds ont fait une grande réapparition en obtenant des résultats spectaculaires dans les tâches de reconnaissance vocale et de vision par ordinateur grâce aux réseaux de neurones convolutifs LeCun et al. (1990, 1998).

Réseaux de neurones convolutifs (CNN) : Concepts de base

Les CNNs LeCun et al. (1989) s’inspirent biologiquement du cortex visuel. Ce dernier comprend de petites régions de cellules sensibles à des régions spécifiques du champ visuel. Cette idée a été développée par une expérience guidée par Hubel & Wiesel (1962), qui ont montré que certaines cellules neuronales individuelles du cerveau ne réagissaient (ou n’étaient déclenchées) qu’en présence des contours d’une certaine orientation. Par exemple, certains neurones sont activés lorsqu’ils sont exposés à des bords verticaux et d’autres lorsqu’ils sont représentés par des bords horizontaux ou diagonaux. Hubel et Wiesel ont découvert que tous ces neurones étaient organisés dans une architecture en colonnes et ils étaient capables de produire une perception visuelle. Cette idée de composants spécialisés à l’intérieur d’un système ayant des tâches spécifiques (les cellules neuronales du cortex visuel recherchant des caractéristiques spécifiques) est également utilisée par les machines et constitue la base des CNNs. Un aperçu plus détaillé de ce que font les CNNs serait de prendre l’image, de la passer à travers une série de couches convolutives, non linéaires (ReLU), de sous-échantillonnage (Pooling) et entièrement connectées. Le résultat peut être une classe unique ou une probabilité de classes décrivant la catégorie de l’image.

Un réseau de neurones convolutifs classique commence toujours par une couche de convolution. Cette couche détecte les caractéristiques de bas niveau telles que les arêtes et les courbes etc. Comme on pourrait l’imaginer, pour prédire si une image est un type d’objet, il est nécessaire que le réseau soit capable de reconnaître les caractéristiques de niveau supérieur telles que les mains, les pattes ou les oreilles. Lorsque nous traversons une autre couche de convolution, la sortie de la première couche de convolution devient l’entrée de la deuxième couche. Ainsi, chaque couche de l’entrée décrit en gros les emplacements de l’image d’origine à l’endroit où certaines entités de bas niveau apparaissent. Désormais, lorsque nous appliquons un ensemble de filtres par-dessus (la deuxième couche de convolution), les activations générées représentent des entités de niveau supérieur. Les types de ces caractéristiques peuvent être des demi-cercles (combinaison d’une courbe et d’un bord) ou des carrés (combinaison de plusieurs bords droits) etc. Au fur et à mesure que nous passons sur le réseau et que nous passons à travers plus de couches de convolution, nous obtenons des cartes d’activation qui représentent des fonctionnalités de plus en plus complexes (Zeiler & Fergus, 2014).

Table des matières

INTRODUCTION
CHAPITRE 1 REVUE DE LA LITTÉRATURE
1.1 Apprentissage profond
1.2 Réseaux de neurones convolutifs (CNN) : Concepts de base
1.2.1 CNN vs ANN
1.2.2 Opération de convolution
1.2.3 Les fonctions d’activations
1.2.4 La couche de Pooling
1.2.5 Couches entièrement connectées
1.2.6 Les architectures populaires des CNNs pour la classification d’images
1.2.7 Le transfert d’apprentissage
1.2.8 Aperçu sur les représentations des images par des vecteurs de caractéristiques locales
CHAPITRE 2 RECHERCHE DE L’INFORMATION DANS LES COUCHES DE CNN
2.1 Motivation
2.2 Méthodologies
2.2.1 Mise en correspondance des réponses des filtres
2.2.2 Normalisation des caractéristiques
2.2.3 Combinaison des vecteurs de caractéristiques des modèles préentraînés différents
2.2.4 Binarisation des vecteurs de caractéristiques
CHAPITRE 3 EXPÉRIENCES ET RÉSULTATS
3.1 Base de données
3.2 Protocoles d’expérimentation
3.2.1 Pré-traitement des données
3.2.2 Détails d’implémentation
3.3 Résultats
3.3.1 Résultats de mise en correspondances des réponses des filtres
3.3.2 Résultats de combinaison des vecteurs de caractéristiques des modèles pré-entraînés différents
3.3.3 Généraliser à partir de peu d’exemples (few shot learning)
3.3.4 Résultats de binarisation des vecteurs de caractéristiques
3.3.5 Discussion
CONCLUSION

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *