Basis van machine learning
Welke beschrijving van de self-attention die in de Transformer wordt gebruikt, is juist?
- AZe leest de elementen van een reeks een voor een vanaf het begin en combineert de informatie van de hele reeks door de verborgen toestand van elk element aan het volgende element door te geven
- BZe berekent gewichten uit de gelijkenis tussen de query van elk token en de keys van alle tokens en neemt de gewogen som van de values, zodat de berekening voor alle posities van de reeks parallel kan gebeuren
- CVoor elk token stapelt ze veel lagen convoluties die alleen naar een vast aantal naburige tokens kijken, zodat relaties met verafgelegen tokens niet worden behandeld
Antwoord en toelichting tonen
Antwoord: B. Ze berekent gewichten uit de gelijkenis tussen de query van elk token en de keys van alle tokens en neemt de gewogen som van de values, zodat de berekening voor alle posities van de reeks parallel kan gebeuren
Bij self-attention worden uit de vector van elk token een query (Q), een key (K) en een value (V) gemaakt; de inproducten van een query met alle keys worden met de softmaxfunctie in gewichten omgezet, en de gewogen som van de values wordt berekend. Elk token kan rechtstreeks informatie van verafgelegen tokens opnemen, en omdat de berekening als matrixproducten kan worden geschreven en niet zoals bij een RNN op het resultaat van de vorige tijdstap hoeft te wachten, kunnen bij het trainen alle posities van de reeks parallel worden berekend. De berekening zelf bevat geen informatie over de woordvolgorde; daarom wordt ze gecombineerd met positionele codering (positional encoding), die positie-informatie toevoegt. Anderzijds groeit de hoeveelheid rekenwerk met het kwadraat van de reekslengte.