Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

L'analyse topologique au secours de l'apprentissage automatique ?


Sujet :

Intelligence artificielle

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 24 928
    Points : 170 588
    Points
    170 588
    Par défaut L'analyse topologique au secours de l'apprentissage automatique ?
    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.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre éclairé Avatar de Matthieu76
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mars 2013
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2013
    Messages : 565
    Points : 871
    Points
    871
    Par défaut
    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.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2019, 16h37
  2. Réponses: 16
    Dernier message: 01/03/2014, 19h30
  3. Apprentissage automatique
    Par palador dans le forum OpenCV
    Réponses: 2
    Dernier message: 08/01/2013, 16h58
  4. apprentissage automatique en utilisant SVM
    Par maya 22 dans le forum Général Python
    Réponses: 0
    Dernier message: 11/06/2011, 22h08
  5. Réponses: 1
    Dernier message: 14/07/2008, 23h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo