2016-02-06 17 views
6

Ho letto documenti su LSTM e ne ho verificato le implementazioni. C'è un punto che non mi è chiaro.
Nella maggior parte dei documenti si dice che le matrici di peso dai vettori cella a porta dovrebbero essere diagonali (es: Alex pagina 5, 2013), ma non l'ho visto in nessuna implementazione.
Per esempio questo:
1 2 Un altro esempio da laboratorio mila. 3Implementazione LSTM con spioncino

Queste persone stanno implementando in modo errato o mi manca qualcosa?

risposta

5

L'implementazione TensorFlow utilizza una matrice diagonale, vedere here. Si noti che ciò significa in pratica che gli spioncini vanno solo dalla cella a se stessa, e quindi si stanno facendo moltiplicazioni vettoriali elementwise.

+1

Ho visto anche che nel laboratorio Mila è implementato in questo modo. Penso che le prime due implementazioni siano sbagliate. – seleucia