La documentazione di Keras non è chiara su cosa sia effettivamente. Capisco che possiamo usare questo per comprimere lo spazio delle caratteristiche di input in uno più piccolo. Ma come viene fatto da una prospettiva di progettazione neurale? È un auto-processore, RBM?Che cos'è un incorporamento in Keras?
risposta
Per quanto ne so, il livello Incorporamento è una semplice moltiplicazione di matrice che trasforma le parole nei loro corrispondenti embeddings di parole.
I pesi del livello Incorporamento sono di forma (vocabulary_size, embedding_dimension). Per ogni campione di allenamento, il suo input sono numeri interi, che rappresentano determinate parole. Gli interi sono nella gamma della dimensione del vocabolario. Il livello Incorporamento trasforma ciascun intero i nella linea ith della matrice dei pesi di incorporamento.
Per eseguire rapidamente questa operazione come moltiplicazione di una matrice, gli interi di input non vengono memorizzati come un elenco di numeri interi ma come una matrice one-hot. Pertanto la forma di input è (nb_words, vocabolario_size) con un valore diverso da zero per riga. Se si moltiplica questo dai pesi incorporamento, si ottiene l'output nella forma
(nb_words, vocab_size) x (vocab_size, embedding_dim) = (nb_words, embedding_dim)
Quindi, con una semplice moltiplicazione matrice di trasformare tutte le parole in un campione nelle immersioni parola corrispondente.
Interessante che si tratta di una semplice moltiplicazione di matrice. Pensi che otterremmo qualcosa imparando l'incorporamento con un autoencoder? –
Definitivamente un approccio valido (vedere [Apprendimento sequenziale semi-supervisionato] (https://papers.nips.cc/paper/5949-semi-supervised-sequence-learning.pdf)). Puoi anche imparare le immersioni con un autoencoder e quindi usarle come inizializzazione del livello Incorporamento per ridurre la complessità della tua rete neurale (presumo che tu faccia qualcos'altro dopo il livello Incorporamento). – Lorrit
[Here] (http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/) è un bell'articolo di blog sulle parole e sui loro vantaggi. – sietschie
Per capire meglio qualsiasi funzione è buona norma guardare il codice sorgente. Ecco per Embedding Quindi in pratica si tratta di un tavolo di ricerca trainable.
- 1. Come utilizzare il layer di incorporamento per reti neurali ricorrenti (RNN) in Keras
- 2. Keras + IndexError
- 3. Incorporamento di un font in delphi
- 4. Incorporamento Python in MATLAB
- 5. Incorporamento di un PowerPoint in un'applicazione C#
- 6. Converti modello Keras in C++
- 7. Incorporamento Lua in C++
- 8. Incorporamento pygal in web2py
- 9. mascheramento per keras BLSTM
- 10. Ottenere una previsione in Keras
- 11. Incorporamento mono in Delphi Win32
- 12. Keras, emissione sparse matrix
- 13. Incorporamento di XML in HTML
- 14. Incorporamento di VLCJ in JPanel
- 15. Incorporamento di un documento di markdown in un altro
- 16. Uscita flusso di pronostici in Keras
- 17. Come accedere uscita perdita Keras in un file
- 18. Incorporamento di JAR in un pacchetto OSGi in Eclipse
- 19. Come implementare correttamente un regolatore di attività personalizzato in Keras?
- 20. Moltiplicando l'uscita di due strati in keras
- 21. keras: come prevedere le classi in ordine?
- 22. Keras | Ottenere l'Inception v3 esempio in esecuzione
- 23. come implementare la metrica personalizzata in keras?
- 24. Incorporamento di un grafico nello spazio euclideo
- 25. Incorporamento Python con C
- 26. JPA/Hibernate - Incorporamento di un attributo
- 27. Come utilizzare log_loss come metrica in Keras?
- 28. Incorporamento di Base64 Immagini
- 29. Controllo versione incorporamento nell'app
- 30. Incorporamento F # interattivo
È una tabella di ricerca che può essere addestrata –