Ich bin neu in CNTK und folgte seq2seq tutorial von CNTK.CNTK Sequenz 2 Sequenz Tutorial: placeholder_variable Initialisierung
Innerhalb der LSTM_layer Funktion, gibt es folgenden Code:
dh = placeholder_variable(shape=(output_dim), dynamic_axes=input.dynamic_axes)
dc = placeholder_variable(shape=(output_dim), dynamic_axes=input.dynamic_axes)
LSTM_cell = LSTM(output_dim)
f_x_h_c = LSTM_cell(input, (dh, dc))
h_c = f_x_h_c.outputs
, jetzt in LSTM_Cell(input,(dh,dc))
: was ist der Wert für dh
und dc
?
Ich finde nicht, dass sie überall initialisiert werden, wenn die LSTM_layer-Funktion aufgerufen wird.
Und weiter erklären, warum wir es auf diese Weise in einem RNN, die AVW und dc tatsächlich * nicht * haben Werte für t = 1, weil der RNN/LSTM Update tun müssen Die Gleichung wird unter Verwendung des Wertes des verborgenen Zustands bei t-1 definiert, der nicht existiert. Daher weiß das Netzwerk für diesen ersten Durchlauf durch die RNN, diesen Wert durch einen Standard-Anfangszustand zu ersetzen. –