Mon problème est le suivant: j'ai un ensemble de prédicteurs qui produisent chacun une distribution sur un ensemble de classes.
Ce que je voudrais faire, c'est d'abord avoir un préalable non informatif sur l'apparence de cette distribution d'étiquettes, puis le mettre à jour avec la prédiction de chaque membre de l'ensemble.
J'ai donc pensé à utiliser un Dirichlet non informatif avant, que je mets à jour avec chaque distribution d'échantillon qui vient comme une prédiction.
Ma question est: cette approche est-elle valide, et si oui, comment pourrais-je mettre à jour mon a priori pour qu'il devienne plus défini à mesure que davantage d'échantillons s'accumulent?
Réponses:
Dirichlet a priori est un a priori approprié, et est le conjugué avant une distribution multinomiale. Cependant, il semble un peu délicat de l'appliquer à la sortie d'une régression logistique multinomiale, car une telle régression a un softmax comme sortie, pas une distribution multinomiale. Cependant, ce que nous pouvons faire, c'est échantillonner à partir d'un multinomial, dont les probabilités sont données par le softmax.
Si nous dessinons cela comme un modèle de réseau neuronal, cela ressemble à:
Nous pouvons facilement en échantillonner, dans le sens direct. Comment gérer la direction arrière? Nous pouvons utiliser l'astuce de reparameterization, de l'article de Kingma 'Auto-encoding variationational Bayes', https://arxiv.org/abs/1312.6114 , en d'autres termes, nous modélisons le tirage multinomial comme une cartographie déterministe, étant donné la distribution de probabilité d'entrée, et un tirage d'une variable aléatoire gaussienne standard:
où:ϵ ∼ N( 0 , 1 )
Ainsi, notre réseau devient:
Ainsi, nous pouvons retransmettre des mini-lots d'exemples de données, puiser à partir de la distribution normale standard et effectuer une rétro-propagation via le réseau. Ceci est assez standard et largement utilisé, par exemple le document Kingma VAE ci-dessus.
Une légère nuance est que nous dessinons des valeurs discrètes à partir d'une distribution multinomiale, mais le papier VAE ne traite que le cas des sorties réelles continues. Cependant, il existe un article récent, l'astuce de Gumbel, https://casmls.github.io/general/2017/02/01/GumbelSoftmax.html , à savoir https://arxiv.org/pdf/1611.01144v1.pdf , et https://arxiv.org/abs/1611.00712 , qui permet des tirages à partir de papiers multinomiaux discrets.
Les formules astuces de Gumbel donnent la distribution de sortie suivante:
Les sont des probabilités antérieures pour les différentes catégories, que vous pouvez modifier, pour pousser votre distribution initiale vers la façon dont vous pensez que la distribution pourrait être distribuée initialement.αk
Nous avons donc un modèle qui:
Éditer:
Donc, la question demande:
"est-il possible d'appliquer ce type de technique lorsque nous avons plusieurs prédictions (et chaque prédiction peut être un softmax, comme ci-dessus) pour un seul échantillon (d'un ensemble d'apprenants)." (voir commentaires ci-dessous)
Donc oui :). C'est. Utiliser quelque chose comme l'apprentissage multi-tâches, par exemple http://www.cs.cornell.edu/~caruana/mlj97.pdf et https://en.wikipedia.org/wiki/Multi-task_learning . Sauf que l'apprentissage multitâche a un seul réseau et plusieurs têtes. Nous aurons plusieurs réseaux et une seule tête.
La «tête» comprend une couche d'extrait qui gère le «mélange» entre les filets. Notez que vous aurez besoin d'une non-linéarité entre vos «apprenants» et la couche «de mélange», par exemple ReLU ou tanh.
Vous faites allusion à donner à chaque «apprendre» son propre tirage multinomial, ou au moins, softmax. Dans l'ensemble, je pense qu'il sera plus standard d'avoir la couche de mélange en premier, suivie d'un seul tirage softmax et multinomial. Cela donnera le moins d'écart, car moins de tirages. (par exemple, vous pouvez consulter le document `` abandon variationnel '', https://arxiv.org/abs/1506.02557 , qui fusionne explicitement plusieurs tirages aléatoires, pour réduire la variance, une technique qu'ils appellent `` reparameterization locale '')
Un tel réseau ressemblera à quelque chose comme:
Celui-ci présente alors les caractéristiques suivantes:
Notons au passage que ce n'est pas le seul moyen de regrouper les apprenants. Nous pourrions également les combiner de manière plus «autoroute», un peu comme le boost, quelque chose comme:
Dans ce dernier réseau, chaque apprenant apprend à résoudre les problèmes causés par le réseau jusqu'à présent, plutôt que de créer sa propre prédiction relativement indépendante. Une telle approche peut très bien fonctionner, c'est-à-dire Boosting, etc.
la source