Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformers

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformers

Nodul sursă: 1894868

Rețelele neuronale învață prin numere, astfel încât fiecare cuvânt va fi mapat la vectori pentru a reprezenta un anumit cuvânt. Stratul de încorporare poate fi gândit ca un tabel de căutare care stochează înglobările de cuvinte și le regăsește folosind indici.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

Cuvintele care au același înțeles vor fi apropiate în ceea ce privește distanța euclidiană/asemănarea cosinusului. de exemplu, în reprezentarea cuvântului de mai jos, „sâmbătă”, „duminică” și „luni” sunt asociate cu același concept, astfel încât putem vedea că cuvintele sunt similare.
 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer

Determinarea poziției cuvântului, De ce trebuie să stabilim poziția cuvântului? Deoarece, codificatorul transformatorului nu are recurență ca rețelele neuronale recurente, trebuie să adăugăm câteva informații despre poziții în înglobările de intrare. Acest lucru se face folosind codificarea pozițională. Autorii lucrării au folosit următoarele funcții pentru a modela poziția unui cuvânt.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

Vom încerca să explicăm codificarea pozițională.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

Aici „pos” se referă la poziția „cuvântului” în secvență. P0 se referă la încorporarea poziției primului cuvânt; „d” înseamnă dimensiunea încorporarii cuvântului/jetonului. În acest exemplu d=5. În cele din urmă, „i” se referă la fiecare dintre cele 5 dimensiuni individuale ale înglobării (adică 0, 1,2,3,4)

dacă „i” variază în ecuația de mai sus, veți obține o grămadă de curbe cu frecvențe diferite. Citirea valorilor de încorporare a poziției față de frecvențe diferite, oferind valori diferite la diferite dimensiuni de încorporare pentru P0 și P4.

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

În acest interogare, Q reprezintă un cuvânt vector, the cheile K sunt toate celelalte cuvinte din propoziție și valoarea V reprezintă vectorul cuvântului.

Scopul atenției este de a calcula importanța termenului cheie în comparație cu termenul de interogare legat de aceeași persoană/lucru sau concept.

În cazul nostru, V este egal cu Q.

Mecanismul atenției ne oferă importanța cuvântului dintr-o propoziție.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

Când calculăm produsul punctual normalizat dintre interogare și chei, obținem un tensor care reprezintă importanța relativă a fiecărui cuvânt pentru interogare.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

Când calculăm produsul punctual între Q și KT, încercăm să estimăm modul în care vectorii (adică cuvintele dintre interogare și chei) sunt aliniați și returnăm o pondere pentru fiecare cuvânt din propoziție.

Apoi, normalizăm rezultatul pătrat al lui d_k și funcția softmax regularizează termenii și îi redimensionează între 0 și 1.

În cele din urmă, înmulțim rezultatul (adică ponderile) cu valoarea (adică toate cuvintele) pentru a reduce importanța cuvintelor nerelevante și ne concentrăm doar pe cuvintele cele mai importante.

Vectorul de ieșire a atenției cu mai multe capete este adăugat la încorporarea de intrare pozițională inițială. Aceasta se numește conexiune reziduală/omitere conexiune. Ieșirea conexiunii reziduale trece prin normalizarea stratului. Ieșirea reziduală normalizată este trecută printr-o rețea de feed-forward punctual pentru procesare ulterioară.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer

Masca este o matrice care are aceeași dimensiune cu scorurile de atenție umplute cu valori de 0 și infinitate negative.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer
 

Motivul pentru măști este că odată ce luați softmax-ul scorurilor mascate, infiniturile negative devin zero, lăsând scoruri de atenție zero pentru viitoarele jetoane.

Acest lucru îi spune modelului să nu se concentreze pe acele cuvinte.

Scopul funcției softmax este de a lua numere reale (pozitive și negative) și de a le transforma în numere pozitive care însumează 1.

 

Concepte pe care ar trebui să le cunoașteți înainte de a intra în Transformer

 
 
Ravikumar Naduvin este ocupat cu construirea și înțelegerea sarcinilor NLP folosind PyTorch.

 
Original. Repostat cu permisiunea.
 

Timestamp-ul:

Mai mult de la KDnuggets