Il gradiente delle reti neurali rispetto agli input con codifica one-hot

Oct 31 2020

La codifica one-hot come input grezzi per i modelli di deep learning può trovare le sue applicazioni in molti domini, come la bioinformatica, la PNL, la chimica e così via. Supponiamo di aver addestrato una rete neurale$f(x)$ con $x$codificato a caldo. Ora voglio valutare l'importanza di ogni carattere in base al gradiente$\partial f(x)/\partial x$(es. salienza, inputxgrad, gradienti integrati ...). Durante l'allenamento$f(x)$, la funzione del gradiente di perdita è ben definita sui pesi della rete. Quindi la domanda principale qui è se$f(x)$ è differenziabile rispetto a $x$?

In senso stretto, $f(x)$è definito su valori binari. Quindi, ad esempio, nella figura seguente, una piccola deviazione nella posizione di "T" non avrebbe senso. Così$\partial f(x)/\partial x$ non è ben definito, è corretto?

Nel caso della PNL, le parole con codifica one-hot vengono prima rappresentate incorporando vettori di valori continui, ad esempio word2vec. Quindi per un modello linguistico addestrato, per valutare il contributo delle parole, non è necessario risalire alla codifica one-hot ma solo ai vettori incorporati.

Non ho trovato discussioni simili dopo una rapida ricerca. È banale? Grazie mille per i tuoi input!

Risposte

1 JayAlammar Oct 31 2020 at 17:55

In NLP, l'ho visto fare con una codifica a caldo: https://colab.research.google.com/github/AndreasMadsen/python-textualheatmap/blob/master/notebooks/huggingface_bert_example.ipynb

Ma ho visto più posti usare l'incorporamento, quindi normalizzare l'incorporamento per ottenere un singolo punteggio per token. Questa recente indagine sulla salienza dell'input mostra risultati migliori per l'aggregazione utilizzando la norma L2:https://arxiv.org/pdf/2009.13295.pdf(al contrario della media). Credo anche che (embedding) sia ciò che utilizza la libreria di interpretabilità Captum. Esempi:

  • https://captum.ai/tutorials/Bert_SQUAD_Interpret
  • https://colab.research.google.com/github/elsanns/xai-nlp-notebooks/blob/master/electra_fine_tune_interpret_captum_ig.ipynb#scrollTo=di_oai-BvG5k