Il problema è:
Deriva il gradiente rispetto allo strato di input per una singola rete neurale a strato nascosto usando sigmoid per input -> nascosto, softmax per nascosto -> output, con una perdita di entropia incrociata.
Posso superare gran parte della derivazione usando la regola della catena, ma non sono sicuro su come "legarli" insieme.
Definisci alcune notazioni
, è la funzione sigmoid
,
, è la funzione softmax
, è un vettore hot-label con etichetta reale
Quindi secondo la regola della catena,
I singoli gradienti sono:
Ora dobbiamo concatenare le definizioni. In una variabile è semplice, moltiplichiamo tutto insieme. Nei vettori, non sono sicuro se usare la moltiplicazione degli elementi o la moltiplicazione della matrice.
Dove è la moltiplicazione dei vettori in termini di elementi e è una matrice moltiplicata. Questa combinazione di operazioni è l'unico modo in cui mi sembra di metterli insieme per ottenere un vettore di dimensione , che so che deve essere .
La mia domanda è: qual è il modo di principio per me di capire quale operatore utilizzare? Sono specificamente confuso dalla necessità dell'elemento tra e .
Grazie!