Introduction au Deep Learning

Introduction au Deep Learning

Lors de l’importation d’une de vos photos sur Facebook, le site va faire passer cette dernière dans un algorithme de détection de visages afin de vous proposer de nommer les personnes présentes sur celle-ci. Pour ce faire, les équipes d’ingénieurs de Facebook ont élaborés un algorithme nommé DeepFace  basé sur le paradigme de l’apprentissage profond. Une immense base de données est nécessaire pour rendre cet algorithme performant. Il s’agit d’un ensemble d’images annotées : des exemples de photographies de visages et de non-visages.

 

Qu’est ce que le deep learning ?

L’apprentissage profond (deep learning en anglais) est un ensemble de méthodes d’apprentissage automatique (machine learning en anglais) qui tentent de modéliser des données avec un haut niveau d’abstraction. Il s’agit d’automatiser une tâche simple, répétitive et calculatoire pour laquelle on a de nombreux exemples. Un tel algorithme consiste en quelque sorte à compresser de l’information contenue dans le signal d’entrée que ce soit une image ou un son dans une classe d’images (présence d’un visage ou absence d’un visage par exemple).

Actuellement les algorithmes les plus importants issus de l’apprentissage profond sont les réseaux de neurones profonds (deep neural networks) car ils ont obtenu des résultats impressionnants ces dernières années. Ce sont l’état de l’art pour la classification d’images avec des centaines de classes complexes à différencier, pour la reconnaissance de sons, la compréhension du langage naturel, la conduite des voitures autonomes, la classification de galaxies, détection de piétons, l’aide au diagnostic médicale (aide à la décision pour la lecture d’imagerie médicale).

Le sujet de ce billet est donc l’application de ce type d’algorithme dans le cadre restreint du traitement d’images d’oeuvres d’art. Il faut cependant garder à l’esprit que de nombreuses autres méthodes issues des sciences dures  peuvent être appliquées à l’histoire de l’art : neurosciences, modélisation 3D, chimie etc.

 

Une histoire qui remonte à … 1957

Cet algorithme est l’aboutissement de très nombreuses années d’études et de recherche en mathématiques et informatiques. Le premier réseau de neurones artificiel est modélisé  par Frank Rosenblatt en 1957 sous le nom de perceptron. Il s’agit d’un modèle simpliste et réducteur des réseaux de neurones biologiques.

En 1990, Yann LeCun et son équipe introduit le premier réseau de neurones profond convolutionnel. L’adjectif profond fait référence à l’accumulation de plusieurs couches de neurones, ce qui permet d’avoir un certain niveau d’abstraction tandis que l’adjectif convolutionnel fait référence à la convolution mathématique, c’est à dire une opération pour mettre en relation les différentes zones du signal (de l’image). Un tel algorithme avait pour but de reconnaître par ordinateur les chiffres manuscrits. Il fut ainsi possible d’automatiser la lecture des codes postaux ou bien des chèques. Cependant la faible puissance de calcul des ordinateurs de l’époque et l’absence de grandes bases de données n’ont pas permis l’essor immédiat des réseaux de neurones profonds.

 

L’importance des bases de données d’images

Le premier élément nécessaire à l’avènement de l’apprentissage profond fut la mise à disposition de grandes bases de données. En 2010, des équipes de recherche de Stanford et Princeton lancent la plus grande base d’images annotées au monde ImageNet. Cette base contenait à l’époque 14 millions d’images annotés avec plus de 21000 mots différents ainsi qu’une hiérarchie entre les mots (les différentes races de chiens sont ainsi regroupés sous la classe chien).  Ce fut à l’époque une grande avancée pour la recherche en vision par ordinateur, car cela a permis aux chercheurs de passer à l’échelle, c’est à dire à puiser dans cette base immense des exemples pour améliorer leurs algorithmes mais aussi pour pouvoir les évaluer sur un très grand nombre d’images. Ce fut le passage de test sur un faible nombre de données à des expériences sur des  grandes bases de données qui permit un réelle augmentation des performances des algorithmes.

Dès la création de la base ImageNet, celle-ci a suscité une compétition annuelle, comme c’était déjà le cas par le passé autour de bases de données plus restreintes. La recherche dans ce domaine est guidée par de grands défis auxquels participent les grands laboratoires académiques et privés (Microsoft, Google, Baidu). Les différentes  compétitions portent sur des tâches différentes :

  • Classification d’images
  • Détection d’objets avec l’emplacement de l’objet dans l’image
  • Description des images

Ainsi d’autres bases d’images ont été mises à disposition des équipes de recherche et de développement par des laboratoires académiques. Mais les bases d’images disponibles sur Internet sont maintenant devenues légion, notamment avec les photos ajoutées par les utilisateurs sur Facebook, Instagram, Tumblr, Flickr, Youtube. Même si ces bases ne sont pas accompagnées d’annotations correctes et propres.

Le deuxième point clé pour faire fonctionner ces algorithmes d’apprentissage profond fut l’accès à une puissance de calcul suffisante pour les faire fonctionner en un temps raisonnable. Cela fut rendu possible par les améliorations de l’informatique et tout particulièrement avec l’amélioration et la généralisation des cartes graphiques très pratiques pour réaliser du calcul parallèle.

L’apprentissage profond a donc commencé à renouveler le paysage des mathématiques appliqués et tout particulièrement de la vision par ordinateur ces dernières années. Mais nous souhaiterions ajouter quelques précisions à cette présentation succincte :

  • Il n’existe pas actuellement d’explications mathématiques théoriques des performances de l’apprentissage profondes
  • Il ne s’agit pas d’une solution miracle à tous les problèmes de vision par ordinateur
  • Il s’agit d’un mot clé très en vogue

 

Exemples d’applications en histoire de l’art

Nous allons maintenant examiner certaines initiatives de recherche intéressantes mêlant apprentissage profond et oeuvres d’art. Ce type d’initiatives sont destinées à être de plus en plus nombreuses en raison de la numérisation croissante des collections d’oeuvres d’art.

Tout d’abord, l’équipe du Visual Geometry Group de l’université d’Oxford (Crowley and Zisserman), effectue de la recherche en ligne d’objets dans une base de données de plus de 200.000 images (“Yours Paintings”) . N’importe quel mot peut être cherché à travers cette base d’images comme on fait une recherche sur Google Images. De manière schématique, lorsque l’utilisateur soumet une requête textuelle (par exemple oiseau, chien, train), des images contenant cet objet sont téléchargées depuis Google Images. Celles-ci sont utilisées pour apprendre un classificateur à la volée (modifier les paramètres de l’algorithme). Cet algorithme est ensuite appliqué à toutes les images de la base de peintures pour récupérer des images contenant cet objet.
La démonstration est disponible sur le site de l’équipe : http://www.robots.ox.ac.uk/~vgg/research/art_search/

Une équipe britannique à l’Université de Bristol (https://research-information.bristol.ac.uk/files/117029431) a quant à elle modifié un algorithme d’apprentissage profond destiné à détecter des personnes dans les photos pour l’utiliser pour détecter des personnes dans des oeuvres d’art (dans des peintures tout particulièrement). Dans ce cas, on va chercher à utiliser un algorithme plutôt performant pour une tâche donnée : détecter des personnes dans des images en donnant sa position exacte dans la photographie (et pour laquelle on a de très nombreux exemples : plusieurs milliers) pour effectuer une nouvelle tâche : détecter une personne dans une photographie de peinture (pour laquelle on a très peu d’exemple moins d’une centaine).
Ces travaux mettent en lumière qu’il s’agit d’une tâche ardue : l’algorithme n’est capable de délimiter correctement les personnes que dans 60% des cas. Cela est dû au fait que les styles, les poses sont très différentes entre les oeuvres d’art. Cependant les pistes de recherche sont nombreuses.

Enfin, l’équipe de Frédéric Kaplan à l’EPFL de Lausanne travaille sur le projet Replica qui a pour objectif ambitieux de détecter automatiquement les ressemblances visuelles entre oeuvres d’art. Cela permettrait alors d’effectuer des recherches par ressemblances visuelles dans les bases de données en sélectionnant qu’un élément d’une image (sélectionné avec l’aide de la souris). Pour ce faire, ils utilisent un algorithme d’apprentissage profond pour mesurer une distance entre deux images.
Une base de données très finement annotées par une historienne de l’art a évidemment été nécessaire. L’équipe a tout d’abord travaillé sur la base de données  Web Gallery of Art mais un passage à l’échelle sur la base de la Fondation Cini sera faite dans le futur.
Vous pouvez visualiser une démonstration de ce moteur de recherche ici : https://seguinbe.github.io/2016/12/19/replica-project-status-and-roadmap.html
La plateforme de leur projet permet aussi d’effectuer des requêtes plus complexes avec par exemple la possibilité de chercher des images qui présentent une ressemblance avec l’image A tout en évitant de retourner celle ressemblant à l’image B.
–> Voir les articles sur le blog de l’APAHAU : retrouver les motifs similaires et CNN et recherche de schéma visuel.

 

Tous ces travaux sont des exemples d’usages d’outils issus des mathématiques et de l’informatique pour l’histoire de l’art. Il s’agit de projets académiques souvent nés des sciences dures. Il y a une véritable volonté de développer des outils et des méthodes pour d’autres domaines de recherche. Il ne s’agit pas de remplacer un historien ou un biologiste mais de les aider dans leur travaux et de valoriser un patrimoine culturel en permettant une navigation bien plus fluide à travers ces immenses bases de données.

 

Nicolas Gonthier, 28 mars 2019.

Leave a Reply