Ehilà! Sono un fornitore di Transformers e oggi parlerò di come funziona il meccanismo di autoattenzione in un trasformatore. Potrebbe sembrare un po 'tecnico, ma lo suddividerò in un modo facile da capire.
Cominciamo con le basi. I trasformatori sono un tipo di architettura di rete neurale che ha rivoluzionato il campo dell'elaborazione del linguaggio naturale (NLP) e altre aree. Il meccanismo di auto -attenzione è uno dei componenti chiave che rendono i trasformatori così potenti.
Cos'è l'attenzione di sé?
L'attenzione di sé è un modo per il modello di valutare l'importanza di diverse parti della sequenza di input durante l'elaborazione. In termini semplici, aiuta il modello a concentrarsi sulle parti rilevanti dell'input. Immagina di leggere un lungo articolo. Non leggi ogni singola parola con lo stesso livello di attenzione. Potresti prestare maggiore attenzione alle frasi chiave, alle intestazioni e ai dettagli pertinenti. Questo è esattamente ciò che fa l'attenzione per un modello di trasformatore.
Come funziona passo dopo passo?
1. Vettori di query, chiave e valore
Il primo passo nel meccanismo di auto -attenzione è quello di creare tre tipi di vettori per ciascun elemento nella sequenza di input: query (Q), chiave (k) e valore (v) vettori. Questi vettori sono creati moltiplicando gli incorporamenti di input per tre diverse matrici di peso.
Diciamo che abbiamo una sequenza di input di parole e ogni parola è rappresentata come vettore. Moltiplichiamo questi vettori di input per le matrici di peso (W_Q), (W_K) e (W_V) per ottenere rispettivamente i vettori di query, chiave e valore.
[Q = XW_Q]
[K = xw_k]
[V = xw_v]
Qui, (x) è la matrice degli incorporati input.
2. Calcolo dei punteggi dell'attenzione
Successivamente, calcoliamo i punteggi dell'attenzione. Lo facciamo prendendo il prodotto DOT dei vettori di query con i vettori chiave. Il prodotto DOT misura la somiglianza tra la query e le chiavi.
Per ogni vettore di query (Q_i) nella sequenza, calcoliamo i punteggi dell'attenzione (a_ {i, j}) con tutti i vettori chiave (K_J) nella sequenza.
[a_ {i, j} = q_i \ CDOT K_J]
Questi punteggi ci dicono quanto l'elemento (i) - th nella sequenza dovrebbe prestare attenzione all'elemento (j) - th.
3. Ridimensionamento e softmax
I punteggi di attenzione vengono quindi ridimensionati dividendoli per la radice quadrata della dimensione dei vettori chiave ((\ sqrt {d_k})). Questo ridimensionamento aiuta a impedire ai prodotti DOT di diventare troppo grandi, il che potrebbe far sì che i gradienti siano instabili durante l'allenamento.
[a_ {i, j}^{scalad} = \ frac {a_ {i, j}} {\ sqrt {d_k}}]
Dopo il ridimensionamento, applichiamo la funzione SoftMax ai punteggi ridimensionati. La funzione Softmax converte i punteggi in probabilità, in modo che si sommino fino a 1.
[\ alpha_ {i, j} = \ frac {\ exp (a_ {i, j}^{scaled})} {\ sum_ {k = 1}^{n} \ exp (a_ {i, k}^{scalad})}}]
Qui, (\ alpha_ {i, j}) è il peso dell'attenzione, che rappresenta l'importanza dell'elemento (j) - th all'elemento (i) - th.


4. Somma ponderata di valori
Infine, calcoliamo l'output del meccanismo di auto -attenzione prendendo una somma ponderata dei vettori di valore. Moltiplichiamo ogni vettore di valore (v_j) per il suo corrispondente peso di attenzione (\ alpha_ {i, j}) e riassumili per tutti (j).
[o_i = \ sum_ {j = 1}^{n} \ alpha_ {i, j} v_j]
I vettori di output (O_I) sono l'output del meccanismo di auto -attenzione per ciascun elemento nella sequenza di input.
Perché l'attenzione di sé è importante?
Il meccanismo di auto -attenzione presenta diversi vantaggi. In primo luogo, consente al modello di acquisire dipendenze a distanza lunga nella sequenza di input. Nelle architetture tradizionali di rete neurale come reti neurali ricorrenti (RNN), è difficile catturare dipendenze tra elementi che sono molto distanti nella sequenza. L'attenzione può facilmente gestire le dipendenze così lunghe perché può calcolare direttamente la relazione tra due elementi nella sequenza.
In secondo luogo, l'attenzione è parallelizzabile. A differenza delle RNN, che elaborano la sequenza di input in sequenza, l'autorizzazione può elaborare tutti gli elementi nella sequenza contemporaneamente. Questo rende la formazione e l'inferenza molto più veloci, soprattutto per lunghe sequenze.
Applicazioni di trasformatori e autoattenzione
I trasformatori con meccanismi di auto -attenzione sono stati utilizzati in una vasta gamma di applicazioni. Nella PNL, vengono utilizzati per compiti come la traduzione di macchine, la generazione di testo, i sistemi di risposta alle domande e l'analisi del sentimento. Ad esempio, modelli come Bert e GPT si basano sull'architettura del trasformatore.
Nella visione informatica, l'autorizzazione è stata anche applicata. Può essere utilizzato per analizzare immagini, rilevare oggetti e generare didascalie per le immagini.
I nostri prodotti per trasformare
Come fornitore di trasformisti, offriamo una varietà di trasformatori di alta qualità. Ad esempio, abbiamo il167 trasformatore di pole telefoniche KVA, che è adatto per applicazioni esterne e può fornire un alimentatore affidabile. NostroOlio immerso a bassa perdita di trasformatoreè progettato per ridurre la perdita di energia e ha una lunga durata. E se hai bisogno di un trasformatore secco, il nostroTrasformatore a secco da 400 kVAè un'ottima scelta, con eccellenti caratteristiche di prestazioni e sicurezza.
Se sei interessato ai nostri prodotti o hai domande su Transformers, non esitate a contattarci per una negoziazione di acquisto. Siamo qui per fornirti le migliori soluzioni per le tue esigenze di potenza.
Riferimenti
- Vaswani, A., Shazer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, An, ... & Polosukhin, I. (2017). L'attenzione è tutto ciò di cui hai bisogno. Progressi nei sistemi di elaborazione delle informazioni neurali.
- Devlin, J., Chang, MW, Lee, K., & Toutanova, K. (2018). BERT: Allenamento pre -trasformatori in profondità per la comprensione del linguaggio. arxiv preprint arxiv: 1810.04805.
- Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). I modelli di lingua sono studenti multitask non supervisionati. Openai Blog, 1 (8), 9.
