In Attention, to produce the current word at each time step, we first need to decide which hidden representations of words in the input sentence to focus on. Essentially, a network will learn to score how well each encoded input matches the current output of the decoder. These scores are normalized by a softmax, then the coefficients are used to compute a weighted sum of the hidden states in the encoder at different time steps. By adjusting the weights, the system can adjust the area of inputs to focus on. The magic of this mechanism is that the network used to compute the coefficients can be trained through backpropagation. There is no need to build them by hand!
Avec l’attention, pour produire le mot courant à chaque pas de temps, nous devons d’abord décider sur quelles représentations cachées des mots de la phrase d’entrée nous devons nous concentrer. Essentiellement, un réseau apprendra à évaluer dans quelle mesure chaque entrée codée correspond à la sortie actuelle du décodeur. Ces scores sont normalisés par une fonction softmax, puis les coefficients sont utilisés pour calculer une somme pondérée des états cachés dans l’encodeur à différents pas de temps. En ajustant les pondérations, le système peut ajuster la zone des entrées sur laquelle se concentrer. La magie de ce mécanisme est que le réseau utilisé pour calculer les coefficients peut être entraîné par rétropropagation. Il n’est pas nécessaire de les construire à la main !