Douce attention vs dur attention
Dans ce blog, La Déraisonnable Efficacité des Réseaux de Neurones Récurrents, Andrej Karpathy mentionne les orientations futures pour les réseaux de neurones à fonction d'apprentissage de la machine:
Le concept de l'attention est le plus intéressant d'architecture de l'innovation dans les réseaux de neurones. [...] doux à l'attention de régime pour l'adressage de mémoire est pratique car il permet de conserver le modèle entièrement dérivable, mais malheureusement on sacrifie l'efficacité parce que tout ce qui peut être assisté à est fréquenté (mais doucement). Pensez à ce que de déclarer un pointeur en C qui ne pointent pas vers une adresse spécifique, mais au lieu de cela définit un ensemble de distribution sur toutes les adresses de l'ensemble de la mémoire, et du déréférencement du pointeur renvoie la somme pondérée de la pointe de contenu (ce qui serait une opération coûteuse!). Cela a conduit plusieurs auteurs à swap doux à l'attention de modèles pour dur attention où l'on échantillonne un particulier partie de la mémoire à assister à l' (par exemple, une action de lecture/écriture de la mémoire de la cellule à la place de la lecture/écriture de toutes les cellules à un certain degré). Ce modèle est nettement plus attrayant du point de vue philosophique, évolutive et efficace, mais malheureusement, il est également non-dérivable.
Je crois que j'ai compris le pointeur de la métaphore, mais ce qui est exactement l'attention et pourquoi est la plus difficile de ne pas dérivable?
J'ai trouvé une explication sur l'attention ici, mais toujours confus au sujet de la mou/dur.
OriginalL'auteur dimid | 2016-02-22
Vous devez vous connecter pour publier un commentaire.
Ce qui est exactement l'attention?
Pour être en mesure de comprendre cette question, nous avons besoin de plonger un peu dans certains problèmes où l'on cherche à résoudre. Je pense que l'une des fondatrices de documents sur les dur attention est Récurrent des Modèles de l'Attention Visuelle et j'encourage le lecteur à passer à travers cette étude, même si elle ne semble pas entièrement compréhensible au premier abord.
Pour répondre à la question de ce qu'est exactement l'attention, je vais essayer et poser une autre question qui je crois est plus facile de répondre. Qui est, Pourquoi l'attention?. Le papier j'ai lié cherche à répondre à cette question de façon succincte et je vais reproduire une partie du raisonnement ici.
Imaginez vous les yeux bandés et prises pour une fête d'anniversaire surprise et que vous venez d'ouvrir vos yeux. Qu'aimeriez-vous voir?
Maintenant, quand nous disons que vous voyez l'image, c'est une version allégée de la suite plus techniquement correcte séquence d'actions, qui est, de déplacer vos yeux au-dessus du temps et de recueillir de l'information sur la scène. Vous ne voyez pas chaque pixel de l'image à la fois. Vous assister à à certains aspects de l'image qu'une seule fois-pas à pas et d'agréger les informations. Même dans un tel encombré image par exemple, vous serait en mesure de reconnaître votre oncle Bill et le cousin de Sam :). Pourquoi est-ce? Parce que vous assister à certains aspects saillants de l'image actuelle.
C'est exactement le genre de pouvoir que nous voulons donner à nos modèles de réseau neuronal. Pourquoi? Penser à cela comme une sorte de régularisation. (Cette partie de la réponse de références de l'étude) Votre habitude convolutifs modèle de réseau a la possibilité d'être en mesure de reconnaître encombré d'images, mais comment pouvons-nous trouver le jeu exact de poids qui sont "bonnes"? C'est une tâche difficile. En fournissant le réseau avec une nouvelle architecture de niveau de la fonction qui permet à assister à pour les différentes parties de l'image de façon séquentielle et de regrouper les informations au fil du temps, nous rendre cette tâche plus facile, parce que maintenant, le réseau peut tout simplement apprendre à ignorer le désordre (ou alors c'est l'espoir).
J'espère que cela répond à la question Ce qui est dur attention?. Maintenant, sur la nature de ses différentiabilité. Eh bien, rappelez-vous comment nous commodément choisi le bon spots à regarder, tout en regardant à l'anniversaire de l'image? Comment avons-nous le faire? Ce processus implique de faire des choix qui sont difficiles à représenter en termes de fonction dérivable de l'entrée(image). Par exemple, en Fonction de ce que vous avez regardé déjà, et l'image, à décider où chercher la prochaine. Vous pourriez avoir un réseau de neurones qui produit la réponse ici, mais nous ne savons pas la bonne réponse! Il n'y a pas de bonne réponse, en fait. Alors, comment pouvons-nous train, les paramètres de réseau? Réseau de neurones de la formation dépend de façon critique sur un dérivable la perte de la fonction des entrées. Des exemples de telles pertes fonctions comprennent la log-vraisemblance de la perte de la fonction, carré de perte de fonction, etc. Mais dans ce cas, nous n'avons pas une réponse correcte de l'endroit où chercher la prochaine. Alors, comment peut-on définir une perte? C'est là un domaine de l'apprentissage machine appelée l'apprentissage par renforcement(RL). RL permet de faire un gradient dans l'espace des politiques en utilisant des méthodes telles que la renforcer méthode et l'acteur critique des algorithmes.
Ce qui est doux attention?
Cette partie de la réponse emprunte un livre qui va par le nom de l'enseignement des machines à lire et à comprendre.
Un problème majeur avec RL méthodes telles que la renforcer méthode, c'est qu'ils ont une variance élevée (en termes de gradient de la récompense attendue calculée), qui évolue de façon linéaire avec le nombre d'unités cachées dans votre réseau. Ce n'est pas une bonne chose, surtout si vous allez à la construction d'un grand réseau. Par conséquent, les gens essaient de chercher dérivable modèles de l'attention. Tout cela signifie que l'attention du terme et en conséquence la perte de la fonction sont une fonction dérivable à l'une des entrées, et donc tous les gradients existent. Par conséquent, nous pouvons utiliser notre standard backprop algorithme de long-avec l'un de l'habitude de perte de fonctions pour la formation de notre réseau. Alors, quelle est douce attention?
Dans le cadre de texte, il se réfère à la capacité du modèle à choisir d'associer plus d'importance avec certains mots dans le document vis-à-vis d'autres jetons. Si vous êtes en train de lire un document et de répondre à une question en se basant sur cela, en se concentrant sur certains tokens dans le document pourrait vous aider à répondre à la question de mieux, que de se contenter de lire chaque jeton comme si elle était tout aussi important. C'est l'idée de base derrière la douce attention dans le texte. La raison pourquoi il est dérivable modèle est parce que vous décidez comment beaucoup d'attention à payer pour chaque jeton basée sur le pion et la requête à la main. Vous pourriez, par exemple, représentent les jetons du document et de la requête dans le même espace vectoriel et regarder dot product/similarité cosinus comme une mesure de la façon dont beaucoup d'attention devrait vous payer pour ce jeton, étant donné que la requête. Notez que le cosinus de la distance de fonctionnement est complètement dérivable à l'égard de ses entrées, et donc le modèle d'ensemble finit par être dérivable.
Notez que le modèle exact utilisé par le livre diffère et cet argument est juste pour la démonstration de l'intérêt, bien que d'autres modèles ne utiliser un produit scalaire en fonction de l'attention score.
votre compréhension de la douce attention est correct. Pour dur attention, c'est moins de le faire avec uniquement quelques entrées sont utilisées, et d'autres sont laissés de côté, mais plus afin que le décision dont les intrants sont utilisés et gauche-out est également calculé avec un réseau de neurones. Donc conjointement apprendre que les entrées de et ce qui à prévoir sur ces entrées est pas dérivable.
OriginalL'auteur Sahil