据我所知 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?
答案 0 :(得分:3)
您描述的“vanilla”RNN是否计算新的隐藏状态,然后使用一些输出投影来计算输出。在张量流中,他们将“计算新隐藏状态”和“计算输出投影”部分分开。 Application.AutomationSecurity=msoAutomationSecurityForceDisable
只输出隐藏状态作为输出,另一个名为BasicRNN
的类可以对其应用投影(乘以OutputProjectionWrapper
只是应用投影)。要获得所需的行为,您需要执行以下操作:
w_out
它还允许您在隐藏状态和输出投影中拥有不同数量的神经元。