Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'analyse topologique au secours de l'apprentissage automatique ?
Des chercheurs italiens diminuent fortement la quantité de données nécessaire à l'entraînement d'un modèle

Le , par dourouc05

10PARTAGES

18  0 
L'apprentissage automatique et les réseaux neuronaux convolutifs en particulier sont à l'origine d'une grande révolution en traitement d'images : ces techniques ont donné d'excellents résultats, par exemple pour détecter des visages ou des bandes de circulation. Avant l'arrivée de l'apprentissage automatique, les chercheurs déterminaient une série de points saillants dans une image et cherchaient à en extraire des règles de décision : on peut le faire avec relativement peu d'images d'exemple, puisqu'un humain doit analyser en détail chacune d'entre elles. L'apprentissage automatique a permis d'automatiser cette deuxième partie : pour reconnaître une forme, par exemple, il suffit de transformer une image en une série de valeurs numériques (SIFT, SURF, etc.), sur lesquelles on peut alors utiliser des algorithmes standard d'apprentissage. Pour qu'un tel système fonctionne bien, il faut accumuler une série d'images d'exemple (quelques centaines au moins) et entraîner pendant un certain temps le modèle d'apprentissage (ce qui peut se faire en quelques minutes à heures sur des ordinateurs actuels). L'apprentissage profond utilise nettement moins d'intelligence humaine : le réseau neuronal prend en entrée une image et ressort l'étiquette à lui attribuer ; au lieu d'utiliser des humains pour déterminer les points saillants à utiliser, le réseau l'apprend sur les images d'exemple. Le principal problème est qu'il faut alors des quantités astronomiques d'images (on parle de plusieurs millions) et de la puissance de calcul en conséquence (ce qui limite la recherche dans le domaine aux laboratoires les mieux équipés).

Cependant, ces dernières techniques ne sont pas parfaites : elles cherchent des ressemblances entre images, quelles qu'elles soient. Par exemple, s'il s'agit de déterminer si une image contient un chien ou un loup, si le jeu de données présente les loups uniquement sur de la neige ou les chiens uniquement avec un filigrane de copyright, le réseau neuronal risque bien de s'entraîner à retrouver de la neige ou le message de copyright plutôt que d'apprendre ce qu'on attend de lui. Le principal problème est que les réseaux neuronaux fonctionnent comme des boîtes noires : il est assez difficile de comprendre pourquoi ils prennent telle ou telle décision. Au contraire, quand on utilisait encore des détecteurs de caractéristiques, les modèles d'apprentissage pouvaient souvent dire quelles caractéristiques étaient les plus intéressantes pour donner leur prédiction.

Pour améliorer la performance des réseaux neuronaux, une manière est de contrôler l'espace de paramètres : le réseau neuronal ne pourra plus tout apprendre, mais uniquement ce qu'un humain a décidé qu'il pourrait apprendre. Pour y arriver, on peut ajouter de plus en plus d'images d'exemple : pour reprendre l'exemple des chiens et des loups, on peut ajouter des filigranes sur certaines images, changer la météo, retourner les images, afin de forcer le réseau neuronal à ne pas considérer ces points comme étant cruciaux pour effectuer une prédiction. Le gros problème est que l'on augmente alors fortement la taille du jeu de données ! On n'a cependant toujours aucune garantie que le réseau apprenne bien à généraliser : peut-être n'apprendra-t-il à reconnaître les chiens que dans un certain angle, parce qu'il a mémorisé une série d'éléments présents dans les images qu'il n'a vus que dans quelques orientations.

Encore une fois, c'est là que les mathématiques viennent faire leur apparition : plus précisément, l'analyse topologique des données (TDA, en anglais : topological data analysis), c'est-à-dire l'analyse des formes contenues dans les images. Cette théorie a été développée en 1992 et n'est revenue que récemment à l'honneur. À l'époque, on parlait de "reconnaissance de motifs" : le vocable d'apprentissage automatique est bien plus récent.

En intégrant cette théorie dans les réseaux neuronaux, on peut ainsi ordonner de ne s'intéresser qu'à certaines formes : s'il s'agit de reconnaître des panneaux routiers, que des cercles, des triangles et des carrés sur pointe, peu importe leur orientation. Cette théorie propose d'utiliser des filtres fixes qui représentent la structure interne des éléments à reconnaître. Cette structure interne est notamment indépendante de la rotation des éléments.

Techniquement, on se rapproche des approches précédentes de l'apprentissage automatique : le réseau neuronal dispose, en entrée, de l'image ainsi "filtrée" par des éléments topologiques. Il doit ensuite choisir le filtre le plus approprié à l'image qui lui est présentée. De la sorte, on peut construire un réseau neuronal qui reconnaît des chiffres manuscrits avec à peine une cinquantaine d'images (sur le jeu de données MNIST, relativement ancien) : pour atteindre la même performance, les réseaux neuronaux "classiques" doivent utiliser les trente mille images du jeu de données.

Source : Novel math could bring machine learning to the next level.

Plus d'informations : Towards a topological–geometrical theory of group equivariant non-expansive operators for data analysis and machine learning.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Matthieu76
Membre éclairé https://www.developpez.com
Le 30/09/2019 à 18:15
Je suis un peu sceptique sur cette méthode. Je ne suis pas convaincu que cela soit vraiment plus efficace s'ils ont dispose d'un bon jeu de données ; De plus cela semble plus simple de bruiter son jeu de données que d'applique de l'analyse topologique.
1  0