对于tf.nn.rnn_cell.BasicRNN,状态和输出之间有什么区别

时间:2016-11-02 16:18:23

标签: tensorflow deep-learning

据我所知 state = tanh(w * input + u * pre_state + b) output = state * w_out 但对于tf.nn.rnn_cell.BasicRNN,我只得到unit_num(我认为它是状态的暗淡) 在api网页上,最基本的RNN:output = new_state =激活(W *输入+ U *状态+ B 所以我能想到这个功能 州=输出?而且函数只有w,u,b,但没有w_out?

1 个答案:

答案 0 :(得分:3)

您描述的“vanilla”RNN是否计算新的隐藏状态,然后使用一些输出投影来计算输出。在张量流中,他们将“计算新隐藏状态”和“计算输出投影”部分分开。 Application.AutomationSecurity=msoAutomationSecurityForceDisable 只输出隐藏状态作为输出,另一个名为BasicRNN的类可以对其应用投影(乘以OutputProjectionWrapper只是应用投影)。要获得所需的行为,您需要执行以下操作:

w_out

它还允许您在隐藏状态和输出投影中拥有不同数量的神经元。