Neural Structured Learning (NSL) si concentra sull'addestramento di reti neurali profonde sfruttando segnali strutturati (se disponibili) insieme a input di funzionalità. Come introdotto da Bui et al. (WSDM'18) , questi segnali strutturati vengono utilizzati per regolarizzare l'addestramento di una rete neurale, costringendo il modello ad apprendere previsioni accurate (riducendo al minimo la perdita supervisionata), mantenendo allo stesso tempo la somiglianza strutturale di input (riducendo al minimo la perdita del vicino , vedere la figura seguente). Questa tecnica è generica e può essere applicata su architetture neurali arbitrarie (come NN feed-forward, NN convoluzionali e NN ricorrenti).
Si noti che l'equazione di perdita del vicino generalizzato è flessibile e può avere altre forme oltre a quella illustrata sopra. Ad esempio, possiamo anche selezionare\(\sum_{x_j \in \mathcal{N}(x_i)}\mathcal{E}(y_i,g_\theta(x_j))\) come la perdita del vicino, che calcola la distanza tra la verità fondamentale \(y_i\)e la previsione dal vicino \(g_\theta(x_j)\). Questo è comunemente usato nell'apprendimento contraddittorio (Goodfellow et al., ICLR'15) . Pertanto, NSL si generalizza a Neural Graph Learning se i vicini sono rappresentati esplicitamente da un grafo e ad Adversarial Learning se i vicini sono implicitamente indotti da perturbazione contraddittoria.
Il flusso di lavoro generale per l'apprendimento strutturato neurale è illustrato di seguito. Le frecce nere rappresentano il flusso di lavoro di formazione convenzionale e le frecce rosse rappresentano il nuovo flusso di lavoro introdotto da NSL per sfruttare i segnali strutturati. In primo luogo, i campioni di addestramento vengono aumentati per includere segnali strutturati. Quando i segnali strutturati non sono forniti esplicitamente, possono essere costruiti o indotti (quest'ultimo si applica all'apprendimento contraddittorio). Successivamente, i campioni di addestramento aumentati (inclusi sia i campioni originali che i relativi vicini) vengono inviati alla rete neurale per calcolare i loro incorporamenti. La distanza tra l'incorporamento di un campione e l'incorporamento del suo vicino viene calcolata e utilizzata come perdita vicina, che viene trattata come un termine di regolarizzazione e aggiunta alla perdita finale. Per la regolarizzazione esplicita basata sul neighbor, in genere calcoliamo la perdita del neighbor come la distanza tra l'incorporamento del campione e l'incorporamento del vicino. Tuttavia, qualsiasi livello della rete neurale può essere utilizzato per calcolare la perdita di prossimità. D'altra parte, per la regolarizzazione basata sul vicino indotto (avversariale), calcoliamo la perdita del vicino come la distanza tra la previsione di output del vicino contraddittorio indotto e l'etichetta di verità fondamentale.
Perché usare NSL?
NSL offre i seguenti vantaggi:
- Maggiore precisione : i segnali strutturati tra i campioni possono fornire informazioni che non sono sempre disponibili negli input delle funzioni; pertanto, è stato dimostrato che l'approccio di formazione congiunto (con segnali strutturati e caratteristiche) supera molti metodi esistenti (che si basano solo sulla formazione con funzionalità) su un'ampia gamma di compiti, come la classificazione dei documenti e la classificazione dell'intento semantico ( Bui et al . ., WSDM'18 & Kipf et al., ICLR'17 ).
- Robustezza : i modelli addestrati con esempi contraddittori hanno dimostrato di essere robusti contro perturbazioni contraddittorie progettati per fuorviare la previsione o la classificazione di un modello ( Goodfellow et al., ICLR'15 & Miyato et al., ICLR'16 ). Quando il numero di campioni di addestramento è ridotto, l'addestramento con esempi contraddittori aiuta anche a migliorare l'accuratezza del modello ( Tsipras et al., ICLR'19 ).
- Dati meno etichettati richiesti : NSL consente alle reti neurali di sfruttare sia i dati etichettati che quelli non etichettati, estendendo il paradigma di apprendimento all'apprendimento semi-supervisionato . In particolare, NSL consente alla rete di addestrarsi utilizzando dati etichettati come nell'impostazione supervisionata e allo stesso tempo guida la rete ad apprendere rappresentazioni nascoste simili per i "campioni vicini" che possono o meno avere etichette. Questa tecnica ha mostrato una grande promessa per migliorare l'accuratezza del modello quando la quantità di dati etichettati è relativamente piccola ( Bui et al., WSDM'18 & Miyato et al., ICLR'16 ).
Tutorial passo dopo passo
Per ottenere un'esperienza pratica con l'apprendimento strutturato neurale, abbiamo tutorial che coprono vari scenari in cui i segnali strutturati possono essere esplicitamente forniti, costruiti o indotti. Eccone alcuni:
Regolarizzazione dei grafi per la classificazione dei documenti mediante grafi naturali . In questo tutorial, esploriamo l'uso della regolarizzazione dei grafi per classificare i documenti che formano un grafo naturale (organico).
Regolarizzazione dei grafici per la classificazione dei sentimenti mediante grafici di sintesi . In questo tutorial, dimostriamo l'uso della regolarizzazione dei grafi per classificare i sentimenti delle recensioni di film costruendo (sintetizzando) segnali strutturati.
Apprendimento contraddittorio per la classificazione delle immagini . In questo tutorial, esploriamo l'uso dell'apprendimento contraddittorio (in cui vengono indotti segnali strutturati) per classificare immagini contenenti cifre numeriche.
Altri esempi e tutorial possono essere trovati nella directory degli esempi del nostro repository GitHub.