Aiuto proteggere la Grande Barriera Corallina con tensorflow sul Kaggle Join Sfida

Il quadro di apprendimento strutturato neurale

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 la formazione di una rete neurale, costringendo il modello per ottenere previsioni accurate (minimizzando la perdita di supervisione), mentre allo stesso tempo mantenendo l'ingresso somiglianza strutturale (minimizzando la perdita vicina , vedere la figura sottostante). Questa tecnica è generica e può essere applicata su architetture neurali arbitrarie (come NN Feed-forward, NN convoluzionali e NN ricorrenti).

NSL Concept

Si noti che l'equazione di perdita dei vicini generalizzata è flessibile e può avere altre forme oltre a quella illustrata sopra. Ad esempio, si può anche selezionare\(\sum_{x_j \in \mathcal{N}(x_i)}\mathcal{E}(y_i,g_\theta(x_j))\) essere la perdita vicina, che calcola la distanza tra la verità terra \(y_i\)e la previsione dal vicino \(g_\theta(x_j)\). Questo è comunemente usato per l'apprendimento del contraddittorio (Goodfellow et al., ICLR'15) . Pertanto, NSL generalizza a Neural Grafico Learning se i vicini sono esplicitamente rappresentati da un grafico, e al contraddittorio apprendimento se i vicini sono implicitamente indotte da perturbazioni contraddittorio.

Il flusso di lavoro generale per l'apprendimento strutturato neurale è illustrato di seguito. Le frecce nere rappresentano il flusso di lavoro di addestramento convenzionale e le frecce rosse rappresentano il nuovo flusso di lavoro introdotto da NSL per sfruttare i segnali strutturati. Innanzitutto, 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 loro corrispondenti 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 del vicino, che viene trattata come un termine di regolarizzazione e aggiunta alla perdita finale. Per la regolarizzazione esplicita basata sui vicini, in genere calcoliamo la perdita dei vicini 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 del vicino. D'altra parte, per la regolarizzazione basata sul vicino indotto (avversario), calcoliamo la perdita del vicino come la distanza tra la previsione dell'output del vicino contraddittorio indotto e l'etichetta di verità fondamentale.

Flusso di lavoro NSL

Perché usare la NSL?

NSL offre i seguenti vantaggi:

  • Maggiore precisione: il segnale strutturato (s) fra campioni possono fornire informazioni che non è sempre disponibile in input includono; Pertanto, l'approccio della formazione (con entrambi i segnali strutturati e funzionalità) ha dimostrato di superare molti metodi esistenti (che si basano sulla formazione con caratteristiche solo) su una vasta gamma di operazioni, quali la classificazione dei documenti e semantica classificazione intenti ( Bui et al ., WSDM'18 & Kipf et al., ICLR'17 ).
  • Robustezza: modelli addestrati con esempi contraddittorio hanno dimostrato di essere robusta contro le perturbazioni contraddittorio progettati per ingannare previsione o la classificazione di un modello ( Goodfellow et al, ICLR'15. & Miyato et al, ICLR'16. ). Quando il numero di campioni di training è di piccole dimensioni, la formazione con esempi contraddittorio aiuta anche a migliorare la precisione del modello ( Tsipras et al., ICLR'19 ).
  • Meno dati etichettati richiesti: NSL permette alle reti neurali di sfruttare sia i dati etichettati e non etichettati, che estende il paradigma di apprendimento per l'apprendimento semi-supervisionato . Nello specifico, NSL consente alla rete di eseguire l'addestramento 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 avere o meno etichette. Questa tecnica ha mostrato una grande promessa per migliorare la precisione del modello quando la quantità di dati marcati è relativamente piccolo ( 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 dati, costruiti o indotti esplicitamente. Eccone alcuni:

Altri esempi e tutorial può essere trovato nella esempi directory del nostro repository GitHub.