2016-02-02 8 views
5

Desidero progettare un RNN a strato singolo in Tensorflow in modo che l'ultima uscita (y(t-1)) abbia partecipato all'aggiornamento dello stato nascosto.Come posso alimentare l'ultima uscita y (t-1) come input per generare y (t) in tensorflow RNN?

h(t) = tanh(W_{ih} * x(t) + W_{hh} * h(t) + **W_{oh}y(t - 1)**) 
y(t) = W_{ho}*h(t) 

Come posso nutrire ultimo ingresso y(t - 1) come input per l'aggiornamento dello stato nascosto?

+0

Attualmente, sto esaminando questo tutorial che sembra promettente: https://github.com/ematvey/tensorflow-seq2seq-tutorials/blob/master/2-seq2seq-advanced.ipynb –

risposta

2

È y (t-1) l'ultimo ingresso o uscita? In entrambi i casi non si adatta perfettamente all'astrazione delle celle TensorFlow RNN. Se il tuo RNN è semplice, puoi semplicemente scrivere il ciclo da solo, quindi hai il pieno controllo. Un altro modo che avrei usato è quello di pre-processo il vostro contributo RNN, ad esempio, fare qualcosa di simile:

processed_input [t] = tf.concat (ingresso [t], in entrata [t-1])

Quindi chiamare la cella RNN con processing_input e dividere lì.

+1

Utilizza l'ultimo output generato da si. Come posso scrivere un ciclo per un semplice RNN? Nel modo in cui le ottimizzazioni dietro le quinte sono ok. –

Problemi correlati