Publié le Laisser un commentaire

jojonki / Réseaux de pointeurs

Réseaux de pointeursoriol Vinyals, Meire Fortunato, Navdeep Jaitly.
https://arxiv.org/abs/1506.03134

Pointer Networks est une nouvelle architecture neuronale pour apprendre la probabilité conditionnelle d’une séquence de sortie avec des éléments qui sont des jetons discrets correspondant à des positions dans une séquence d’entrée.

Dans ce dépôt, j’ai mis deux exemples de modèles de réseaux de pointeurs.

Le modèle de séquence

Dans le modèle de séquence, la longueur de sortie est la même que la longueur d’entrée. J’ai mis une tâche de jouet de tâche de tri. La sortie est les indices triés de l’entrée. Voir l’exemple suivant.

// An example// Input : // Output: $ python sequence_train.pyepoch: 0, Loss: 0.99817Acc: 0.57% (51/9000)epoch: 2, Loss: 0.00077Acc: 100.00% (9000/9000)epoch: 4, Loss: 0.00032Acc: 99.99% (8999/9000)----Test result---Acc: 100.00% (1000/1000)

Le modèle de limite

Dans le modèle de limite, la sortie est un tuple comme (start_index, end_index). J’ai pris la tâche de jouet de limite suivante. Voir ce site.

Essayons du code sur un problème de jouet. Les réseaux de pointeurs sont vraiment les plus pertinents pour les séquences de données sensibles à la récurrence, nous en créerons donc une. Supposons que nous supposons que nos données d’entrée sont une séquence d’entiers entre 0 et 10 (avec des doublons possibles) de longueur inconnue. Chaque séquence commence toujours par des entiers faibles (valeurs aléatoires comprises entre 1 et 5), a une série d’entiers élevés (valeurs aléatoires comprises entre 6 et 10), puis redevient faible pour terminer (1 à 5).Par exemple, une séquence peut être « 4,1,2,3,1,1,6,9,10,8,6,3,1,1 », avec la série d’entiers élevés en gras, entourée de séries d’entiers faibles. Nous voulons former un réseau capable de pointer vers ces deux points de changement — le début et la fin de la série de sommets au milieu, quelle que soit la longueur de la séquence.

// An example// Input : // Output: $ python boundary_train.pyepoch: 0, Loss: 0.28288accAcc: 98.79% (8891/9000)epoch: 2, Loss: 0.00291accAcc: 99.96% (8996/9000)epoch: 4, Loss: 0.00091accAcc: 100.00% (9000/9000)----Test result---Acc: 100.00% (1000/1000)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.