Dopo la sua prima apparizione, BERT ha mostrato risultati fenomenali in una varietà di attività di PNL tra cui l’analisi del sentiment, la somiglianza del testo, la risposta alle domande, ecc. Da allora, i ricercatori hanno notoriamente cercato di rendere BERT ancora più performante modificando la sua architettura, aumentando i dati di addestramento, aumentare la dimensione del vocabolario o modificare la dimensione nascosta dei livelli.
Nonostante la creazione di altri potenti modelli basati su BERT come RoBERTa, i ricercatori hanno trovato un altro modo efficiente per aumentare le prestazioni di BERT che verrà discusso in questo articolo. Ciò ha portato allo sviluppo di un nuovo modello chiamato StrutturaBERT che supera con sicurezza BERT sui migliori parametri di riferimento.
L’idea StructBERT è relativamente semplice e si concentra sulla leggera modifica dell’obiettivo pre-formazione di BERT.
In questo articolo, esamineremo i principali dettagli del documento StructBERT e comprenderemo gli obiettivi originariamente modificati.
Per la maggior parte, StructBERT ha gli stessi principi architetturali di BERT. Tuttavia, StructBERT presenta due nuovi obiettivi di preformazione per espandere la conoscenza linguistica di BERT. Il modello viene addestrato su questo obiettivo insieme alla modellazione del linguaggio mascherato. Esaminiamo di seguito questi due obiettivi.
Gli esperimenti hanno dimostrato che il compito di modellazione del linguaggio mascherato (MSM) svolge un ruolo cruciale nel contesto BERT per aiutarlo a ottenere una vasta conoscenza linguistica. Dopo il pre-addestramento, BERT può indovinare correttamente le parole mascherate con elevata precisione. Tuttavia non è in grado di ricostruire correttamente una frase le cui parole siano mescolate. Per raggiungere questo obiettivo, gli sviluppatori di StructBERT hanno modificato l’obiettivo MSM mescolando parzialmente i token di input.
Come nel BERT originale, una sequenza di input viene tokenizzata, mascherata e quindi mappata su incorporamenti di token, posizionali e segmenti. Tutti questi incorporamenti vengono quindi sommati per produrre incorporamenti combinati che vengono inviati a BERT.
Durante il mascheramento, il 15% dei token scelti casualmente vengono mascherati e quindi utilizzati per la modellazione del linguaggio, come in BERT. Ma subito dopo il mascheramento, StructBERT seleziona casualmente il 5% di K token consecutivi non mascherati e li mescola all’interno di ciascuna sottosequenza. Per impostazione predefinita, StructBERT opera sui trigrammi (K = 3).
Quando viene calcolato l’ultimo livello nascosto, vengono quindi utilizzati gli incorporamenti di output dei token mascherati e mescolati per prevedere i token originali tenendo conto delle loro posizioni iniziali.
In definitiva, l’obiettivo della frase di parole viene combinato con l’obiettivo MLM con uguali pesi.
La previsione della frase successiva, che è un altro compito di pre-addestramento BERT, è considerata relativamente semplice. Padroneggiarlo non porta a un aumento significativo delle prestazioni BERT nella maggior parte delle attività a valle. Ecco perché i ricercatori di StructBERT hanno aumentato la difficoltà di questo obiettivo facendo prevedere a BERT l’ordine delle frasi.
Prendendo una coppia di frasi sequenziali S₁ e S₂ in un documento, StructBERT le utilizza per costruire un esempio di training in uno dei tre modi possibili. Ciascuno di questi modi si verifica con pari probabilità di 1/3:
- S₂ è seguito da S₁ (etichetta 1);
- S₁ è seguito da S₂ (etichetta 2);
- Un’altra frase S₃ da un documento casuale viene campionata ed è seguita da S₁ (etichetta 0).
Ognuna di queste tre procedure dà come risultato una coppia ordinata di frasi che vengono poi concatenate. Il token (CLS) viene aggiunto prima dell’inizio della prima frase e i token (SEP) vengono utilizzati per contrassegnare la fine di ciascuna frase. BERT prende questa sequenza come input e restituisce una serie di incorporamenti sull’ultimo livello nascosto.
L’output dell’incorporamento (CLS), originariamente utilizzato in BERT per il compito di previsione della frase successiva, viene ora utilizzato in StructBERT per identificare correttamente una delle tre possibili etichette corrispondenti al modo originale in cui è stata costruita la sequenza di input.
L’obiettivo finale consiste in una combinazione lineare di obiettivi strutturali di parole e frasi.
Tutti i principali dettagli di pre-formazione sono gli stessi in BERT e StructBERT:
- StructBERT utilizza lo stesso corpus di pre-addestramento di BERT: Wikipedia inglese (2500 milioni di parole) e BookCorpus (800 milioni di parole). La tokenizzazione viene eseguita dal tokenizzatore di WordPiece.
- Ottimizzatore: Adam (tasso di apprendimento l = 1e-4, decadimento ponderale L₂ = 0,01, β₁ = 0,9, β₂ = 0,999).
- Il riscaldamento della velocità di apprendimento viene eseguito nel primo 10% dei passaggi totali e quindi ridotto in modo lineare.
- Il livello Dropout (α = 0,1) viene utilizzato su tutti i livelli.
- Funzione di attivazione: GELU.
- La procedura di preaddestramento viene eseguita per 40 epoche.
Come il BERT originale, StructBERT presenta versioni base e grandi. Tutte le impostazioni principali come il numero di livelli, i livelli di attenzione, la dimensione nascosta e i parametri numerici corrispondono esattamente rispettivamente alle versioni base e grande di BERT.
Introducendo una nuova coppia di obiettivi formativi, StructBERT raggiunge nuovi limiti nella PNL, superando costantemente BERT in vari compiti a valle. È stato dimostrato che entrambi gli obiettivi svolgono un ruolo indispensabile nel contesto StructBERT. Mentre l’obiettivo strutturale della parola migliora soprattutto le prestazioni del modello su problemi a frase singola rendendo StructBERT in grado di ricostruire l’ordine delle parole, l’obiettivo strutturale della frase migliora la capacità di comprendere le relazioni tra le frasi, il che è particolarmente importante per i compiti relativi a coppie di frasi.
Tutte le immagini, se non diversamente specificato, sono dell’autore
Fonte: towardsdatascience.com