zsl-fr
incremental-fr
transfert-learning-fr
Extract-relation-fr
détect-event-fr
synthèse-info-fr
entity-linking-fr
cross-modal-fr
privacy-fr
previous arrow
next arrow
zsl-fr
Apprentissage sans exemple

L'apprentissage sans exemple (zero-shot learning - ZSL) [5] consiste à reconnaître des objets ou autres classes visuelles avec un modèle n'ayant utilisé aucun exemple desdites classes durant sa phase d'apprentissage. Pour palier ce manque d'information, chaque classe est associée à des prototypes sémantiques qui rend compte des caractéristiques de cette classe. Lors de la phase d'apprentissage, le modèle apprend à mettre en correspondance l'information visuelle et ces caractéristiques intermédiaires. Ainsi, durant la phase de test les images des classes non vues (unseen classes) peuvent être reconnues par le modèle.

Ce formalisme, mis en place à la fin des années 2000, a connu depuis quelques années un regain d'intérêt et les modèles proposés ont gagné en performances. Cela s'est aussi accompagné d'une définition plus précise de la tâche, afin de mieux correspondre à des cas d'usage réels. Les travaux du CEA List dans ce domaine s'inscrivent dans cette tendance et nous avons proposé plusieurs contributions pour s'approcher d'une utilisation du ZSL sur des cas réels.

La version généralisée de la tâche (generalized zero-shot learning - GZSL) permet, durant la phase de test, de reconnaître à la fois les classes non vues comme en ZSL classique, mais aussi les classes vues durant l’entraînement. En pratique, les modèles de ZSL classique sont alors fortement biaisés vers la reconnaissance de classes déjà vues.

Nous avons proposé une méthode permettant de sélectionner automatiquement les hyper-paramètres d'une méthode de ZSL classique afin d'améliorer ses performances dans le cas GZSL. En pratique, celles-ci sont améliorée de 48% sur CUB et 102% sur AWA2 [1].

Nous avons aussi identifié certaines hypothèses implicites des approches de ZSL qui pénalisent leur performances et proposé une séries de méthodes pour les corriger [2]. Là encore, cela aboutit à un gain de reconnaissance significatif [2].

Les prototypes sémantique consistent traditionnellement en une liste d'attributs (binaires) décrivant chaque classe, tels que « a un bec » ou « possède une fourrure ». Quand le nombre de classes devient grand (plusieurs centaines), et que le nombre de caractéristiques est grand, il devient fastidieux de créer de tels prototypes manuellement. Il est alors courant d'utiliser des prolongement léxicaux (word embeddings) pré-appris et calculés sur le nom des classes. Ce passage possible à l'échelle entraîne malheureusement une baisse drastique des perfromances.

Nous avons proposé de construire automatiquement des prototypes sémantiques à partir d'une information plus riche [3] ou en utilisant de grand corpus mieux adaptés à la descriptions de caractéristiques visuelles [4]. Ainsi, nous avons obtenus les meilleures performances reportées en 2020 sur ILSVRC en ZSL.


[1] Y. Le Cacheux, H. Le Borgne, M. Crucianu (2019) From Classical to Generalized Zero-Shot Learning: a Simple Adaptation Process, 25th International Conference on MultiMedia Modeling (MMM), Thessaloniki, Greece, January 8-11
[2] Y. Le Cacheux, H. Le Borgne and M. Crucianu (2019) Modeling Inter and Intra-Class Relations in the Triplet Loss for Zero-Shot Learning. In Proceedings of the IEEE International Conference on Computer Vision, ICCV, Seoul, Korea, Oct. 27 - Nov. 2
[3] Y. Le Cacheux, H. Le Borgne, M. Crucianu (2020) Webly Supervised Semantic Embeddings for Large Scale Zero-Shot Learning Task-CV workshop@ECCV, Online, 23-28 August 2020
[4] Y. Le Cacheux, A. Popescu, H. Le Borgne (2020) Using Sentences as Semantic Representations in Large Scale Zero-Shot Learning, Asian Conference on Coputer Vision (ACCV), Kyoto, 2020
[5] Y Le Cacheux, H Le Borgne, M Crucianu (2021) Zero-shot Learning with Deep Neural Networks for Object Recognition, In : J. Benois Pineau and A. Zemmari (Eds.) Multi-faceted Deep Learning. Springer, 2021. Chap. 6, p. 273-288.

previous arrowprevious arrow
next arrownext arrow