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:
Xen dehors= g(Xdans, ϵ )
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:
pα,λ(x)=(n−1)!λn−1∏k=1n(αkx−λ−1k∑ni=1αix−λi)
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:
- contient une régression logistique multinomiale (la couche linéaire suivie du softmax)
- ajoute une étape d'échantillonnage multinomiale à la fin
- qui comprend une distribution préalable sur les probabilités
- peut être formé à l'aide de la descente de gradient stochastique ou similaire
É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:
- peut inclure un ou plusieurs apprenants indépendants, chacun avec ses propres paramètres
- peut inclure un prior sur la distribution des classes de sortie
- va apprendre à se mélanger entre les différents apprenants
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.