我想把layer normalization应用到递归神经网络特斯拉斯. 在TensorFlow 2.0中,tf.layers.experimental
中有一个LayerNormalization
类,但不清楚在每个时间步,如何在一个递归层(如LSTM
)内使用它。我应该创建一个自定义单元格,还是有更简单的方法?在
例如,在每个时间步应用dropout就像在创建LSTM
层时设置recurrent_dropout
参数一样简单,但是没有recurrent_layer_normalization
参数。在
您可以通过继承
SimpleRNNCell
类来创建自定义单元格,如下所示:这个实现运行一个常规的
^{pr2}$SimpleRNN
单元一个步骤,没有任何activation
,然后对结果输出应用层规范,然后应用activation
。你可以这样使用它:对于GRU和LSTM单元,人们通常在门上应用层规范(在输入和状态线性组合之后,在sigmoid激活之前),所以实现起来有点困难。或者,在应用
activation
和recurrent_activation
之前应用layer norm可能会得到很好的结果,这将更容易实现。在相关问题 更多 >
编程相关推荐