Réseaux de neurones à classes multiples

Plus tôt, vous avez vu des modèles de classification binaires capables de choisir entre deux choix possibles, comme par exemple :

  • Est-ce qu'un e-mail donné est indésirable ou non ?
  • Est-ce qu'une tumeur donnée est maligne ou bénigne ?

Dans ce module, nous allons étudier la classification à classes multiples, qui est capable de choisir parmi plusieurs possibilités. Exemple :

  • Ce chien est-il un beagle, un basset ou un limier ?
  • Cette fleur est-elle un iris de Sibérie, un iris de Hollande, un iris versicolore ou un iris nain ?
  • Cet avion est-il un Boeing 747, un Airbus 320, un Boeing 777 ou un Embraer 190 ?
  • Cette image représente-t-elle une pomme, un ours, des friandises, un chien ou un œuf ?

Certains problèmes à plusieurs classes concrets impliquent de choisir parmi des millions de classes distinctes. Prenons l'exemple d'un modèle de classification à plusieurs classes capable d'identifier une image représentant presque n'importe quoi.

Réseaux de neurones à classes multiples

  • La régression logistique fournit des probabilités utiles pour les problèmes à deux classes.
    • courrier indésirable / pas indésirable
    • clic / pas clic
  • Qu'en est-il des problèmes à plusieurs classes ?
    • pomme, banane, voiture, cardiologue, …, panneau de signalisation, zèbre, zoo
    • rouge, orange, jaune, vert, bleu, indigo, violet
    • animal, végétal, minéral
  • Créez un résultat unique pour chaque classe possible.
  • Formez ce résultat sur un signal "ma classe" par opposition à "toutes les autres classes".
  • Vous pouvez le faire sur un réseau profond ou avec des modèles distincts.
Un réseau de neurones avec cinq couches cachées et cinq couches de résultat.
  • Ajoutez une contrainte supplémentaire : exigez que la somme des résultats de tous les nœuds un contre tous soit égale à 1.
  • Cette contrainte supplémentaire permet de faire converger l'apprentissage rapidement.
  • Elle permet en outre d'interpréter les résultats comme des probabilités.
Un réseau de neurones profonds avec une couche d'entrée, deux couches cachées quelconques, puis une couche Softmax, et enfin une couche de sortie avec le même nombre de nœuds que la couche Softmax.
  • Classification à plusieurs classes et à une étiquette :
    • Un exemple peut appartenir à une seule classe.
    • La contrainte obligeant les classes à s'exclure mutuellement est une structure utile.
    • Il est utile de l'encoder dans la perte.
    • Utilisez une perte Softmax pour toutes les classes possibles.
  • Classification à plusieurs classes et à plusieurs étiquettes :
    • Un exemple peut appartenir à plusieurs classes.
    • Aucune contrainte supplémentaire à exploiter sur l'appartenance des classes.
    • Une perte de régression logistique pour chaque classe possible.
  • SoftMax complet
    • Force brute, calcule pour toutes les classes.
  • SoftMax complet
    • Force brute, calcule pour toutes les classes.
  • Échantillonnage de candidats
    • Calcule pour toutes les étiquettes positives, mais seulement pour un échantillon aléatoire d'étiquettes négatives.