2016-02-02 15 views
5

Tôi muốn thiết kế một lớp RNN trong Tensorflow sao cho đầu ra cuối cùng (y(t-1)) được tham gia vào việc cập nhật trạng thái ẩn.Làm thế nào tôi có thể cấp dữ liệu đầu ra cuối cùng y (t-1) làm đầu vào để tạo y (t) trong dòng RNN?

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

Làm cách nào để nhập dữ liệu đầu vào cuối y(t - 1) làm đầu vào để cập nhật trạng thái ẩn?

+0

Hiện tại, tôi đang xem hướng dẫn này có vẻ đầy hứa hẹn: https://github.com/ematvey/tensorflow-seq2seq-tutorials/blob/master/2-seq2seq-advanced.ipynb –

Trả lời

2

Có phải y (t-1) là đầu vào hoặc đầu ra cuối cùng không? Trong cả hai trường hợp, nó không phù hợp với sự trừu tượng của tế bào TensorFlow RNN. Nếu RNN của bạn là đơn giản, bạn chỉ có thể viết vòng lặp của riêng bạn, sau đó bạn có toàn quyền kiểm soát. Một cách khác mà tôi sẽ sử dụng là trước quá trình đầu vào RNN của bạn, ví dụ, làm một cái gì đó như:

processed_input [t] = tf.concat (input [t], đầu vào [t-1])

Sau đó gọi ô RNN bằng processed_input và chia nhỏ tại đó.

+1

Nó sử dụng kết quả được tạo cuối cùng bởi chinh no. Làm thế nào tôi có thể viết một vòng lặp cho một RNN đơn giản? Trong cách tối ưu hóa hậu trường là ok. –

Các vấn đề liên quan