language-model

___ tag123tensorflow ___ TensorFlow ist eine Open-Source-Bibliothek für maschinelles Lernen und maschinelle Intelligenz. Es wurde von Google entwickelt und wurde im November 2015 Open Source. ___ tag123word2vec ___ Dieses Tool bietet eine effiziente Implementierung der fortlaufenden Bag-of-Word- und Skip-Gramm-Architekturen zur Berechnung von Vektordarstellungen von Wörtern. Diese Repräsentationen können anschließend in vielen Anwendungen zur Verarbeitung natürlicher Sprache und für weitere Forschungen verwendet werden. ___ qstnhdr ___ TensorFlow Einbettungssuche ___ tag123languagemodell ___ hilf uns dieses Wiki zu bearbeiten ___ tag123recurrentneuralnetwork ___ Ein rekurrentes neuronales Netzwerk (RNN) ist eine Klasse von künstlichen neuronalen Netzwerken, wo Verbindungen zwischen Einheiten einen gerichteten Zyklus bilden. ___ qstntxt ___

Ich versuche zu lernen, wie man RNN für Spracherkennung mit TensorFlow baut. Am Anfang wollte ich einige Beispielmodelle ausprobieren, die auf der TensorFlow-Seite TF-RNN

Wie bereits erwähnt, hatte ich mir etwas Zeit genommen, um zu verstehen, wie Wort-IDs in eine dichte Repräsentation (Vektorrepräsentation) eingebettet werden, indem die Basisversion des word2vec-Modellcodes durcharbeitet wird. Ich hatte ein Verständnis dafür, was %code% tatsächlich tut, bis ich tatsächlich die gleiche Funktion wie in einem zweidimensionalen Array in TF-RNN %code% , wenn es keinen Sinn mehr macht.

was habe ich %code% getan:

Bei einem 2-d-Array %code% und einem 1-d-Array %code% ruft die Funktion %code% Zeilen von params ab, die den in %code% angegebenen Indizes entsprechen. Dies gilt für die Dimension output it kommt zurück.

Worüber ich verwirrt bin:

Wenn es mit denselben Parametern und dem 2-d-Array %code% versucht wird, gibt %code% das 3-d-Array anstelle von 2-d zurück, was ich nicht verstehe.

Ich habe das Handbuch nach Einbettung nachschlagen gesucht, aber ich finde es immer noch schwierig zu verstehen, wie die Partitionierung funktioniert und welches Ergebnis zurückgegeben wird. Ich habe vor kurzem ein einfaches Beispiel mit %code% versucht und es scheint, dass es jedes Mal unterschiedliche Werte zurückgibt. Liegt dieses Verhalten an der Zufälligkeit der Partitionierung?

Bitte helfen Sie mir zu verstehen, wie %code% funktioniert, und warum wird in %code% und %code% verwendet, d. h. was ist der Zweck, sie sogar zu verwenden?

    
___ answer37932988 ___

Es gibt bereits eine Antwort darauf, was %code% hier .

  

Wenn es mit denselben Parametern und 2D-Array-IDs versucht wird, gibt tf.nn.embedding_lookup das 3-d-Array statt 2-d zurück, was ich nicht verstehe.

Wenn Sie eine 1-D-Liste der IDs %code% hatten, würde die Funktion eine Liste der Einbettungen ausgeben %code% , wobei %code% ein Array mit der Form %code% ist. Zum Beispiel könnte die Liste von IDs ein Stapel von Wörtern sein.

Nun haben Sie eine Matrix mit IDs oder eine Liste von IDs. Zum Beispiel haben Sie jetzt einen Stapel von Sätzen , d. H. Einen Stapel von Wortlisten, d. H. Eine Liste von Wortlisten.

Wenn Ihre Satzliste lautet: %code% (Satz 1 ist %code% , Satz 2 ist %code% ) berechnet die Funktion eine Matrix von Einbettungen, die die Form %code% haben und wie folgt aussehen :

%Vor%

Was das Argument %code% betrifft, müssen Sie sich nicht darum kümmern. Im Grunde erlaubt es Ihnen, eine Liste von Einbettungsmatrizen als %code% anstelle von 1 Matrix anzugeben, wenn Sie Einschränkungen bei der Berechnung haben.

Sie können also Ihre Einbettungsmatrix der Form %code% in zehn Matrizen der Form %code% aufteilen und diese Liste der Variablen als %code% übergeben. Das Argument %code% behandelt die Verteilung des Vokabulars (die 1000 Wörter) unter den 10 Matrizen.

    
___
1
Antwort

TensorFlow Einbettungssuche

Ich versuche zu lernen, wie man RNN für Spracherkennung mit TensorFlow baut. Am Anfang wollte ich einige Beispielmodelle ausprobieren, die auf der TensorFlow-Seite TF-RNN Wie bereits erwähnt, hatte ich mir etwas Zeit genommen, um zu versteh...
18.06.2016, 14:15