[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Translation issue"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples/Code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
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
Plus de deux classes ?
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
Un contre tous à plusieurs classes
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.
SoftMax à plusieurs classes
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.
Que faut-il utiliser, et quand ?
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.
Options de Softmax
SoftMax complet
Force brute, calcule pour toutes les classes.
Options de Softmax
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.