1. 程式人生 > >Keras官方中文文檔:循環層Recurrent

Keras官方中文文檔:循環層Recurrent

reset mask list long cell 矩陣 逆向 返回 窗口

循環層Recurrent

Recurrent層

keras.layers.recurrent.Recurrent(return_sequences=False, go_backwards=False, stateful=False, unroll=False, implementation=0)

這是循環層的抽象類,請不要在模型中直接應用該層(因為它是抽象類,無法實例化任何對象)。請使用它的子類LSTMGRUSimpleRNN

所有的循環層(LSTM,GRU,SimpleRNN)都繼承本層,因此下面的參數可以在任何循環層中使用。

參數

  • weights:numpy array的list,用以初始化權重。該list形如[(input_dim, output_dim),(output_dim, output_dim),(output_dim,)]

  • return_sequences:布爾值,默認False,控制返回類型。若為True則返回整個序列,否則僅返回輸出序列的最後一個輸出

  • go_backwards:布爾值,默認為False,若為True,則逆向處理輸入序列並返回逆序後的序列

  • stateful:布爾值,默認為False,若為True,則一個batch中下標為i的樣本的最終狀態將會用作下一個batch同樣下標的樣本的初始狀態。

  • unroll:布爾值,默認為False,若為True,則循環層將被展開,否則就使用符號化的循環。當使用TensorFlow為後端時,循環網絡本來就是展開的,因此該層不做任何事情。層展開會占用更多的內存,但會加速RNN的運算。層展開只適用於短序列。

  • implementation:0,1或2, 若為0,則RNN將以更少但是更大的矩陣乘法實現,因此在CPU上運行更快,但消耗更多的內存。如果設為1,則RNN將以更多但更小的矩陣乘法實現,因此在CPU上運行更慢,在GPU上運行更快,並且消耗更少的內存。如果設為2(僅LSTM和GRU可以設為2),則RNN將把輸入門、遺忘門和輸出門合並為單個矩陣,以獲得更加在GPU上更加高效的實現。註意,RNN dropout必須在所有門上共享,並導致正則效果性能微弱降低。

  • input_dim:輸入維度,當使用該層為模型首層時,應指定該值(或等價的指定input_shape)

  • input_length:當輸入序列的長度固定時,該參數為輸入序列的長度。當需要在該層後連接Flatten

    層,然後又要連接Dense層時,需要指定該參數,否則全連接的輸出無法計算出來。註意,如果循環層不是網絡的第一層,你需要在網絡的第一層中指定序列的長度(通過input_shape指定)。

輸入shape

形如(samples,timesteps,input_dim)的3D張量

輸出shape

如果return_sequences=True:返回形如(samples,timesteps,output_dim)的3D張量

否則,返回形如(samples,output_dim)的2D張量

例子

# as the first layer in a Sequential model
model = Sequential()
model.add(LSTM(32, input_shape=(10, 64)))
# now model.output_shape == (None, 32)
# note: `None` is the batch dimension.

# the following is identical:
model = Sequential()
model.add(LSTM(32, input_dim=64, input_length=10))

# for subsequent layers, no need to specify the input size:
         model.add(LSTM(16))

# to stack recurrent layers, you must use return_sequences=True
# on any recurrent layer that feeds into another recurrent layer.
# note that you only need to specify the input size on the first layer.
model = Sequential()
model.add(LSTM(64, input_dim=64, input_length=10, return_sequences=True))
model.add(LSTM(32, return_sequences=True))
model.add(LSTM(10))

指定RNN初始狀態的註意事項

可以通過設置initial_state用符號式的方式指定RNN層的初始狀態。即,initial_stat的值應該為一個tensor或一個tensor列表,代表RNN層的初始狀態。

也可以通過設置reset_states參數用數值的方法設置RNN的初始狀態,狀態的值應該為numpy數組或numpy數組的列表,代表RNN層的初始狀態。

屏蔽輸入數據(Masking)

循環層支持通過時間步變量對輸入數據進行Masking,如果想將輸入數據的一部分屏蔽掉,請使用Embedding層並將參數mask_zero設為True

使用狀態RNN的註意事項

可以將RNN設置為‘stateful’,意味著由每個batch計算出的狀態都會被重用於初始化下一個batch的初始狀態。狀態RNN假設連續的兩個batch之中,相同下標的元素有一一映射關系。

要啟用狀態RNN,請在實例化層對象時指定參數stateful=True,並在Sequential模型使用固定大小的batch:通過在模型的第一層傳入batch_size=(...)input_shape來實現。在函數式模型中,對所有的輸入都要指定相同的batch_size

如果要將循環層的狀態重置,請調用.reset_states(),對模型調用將重置模型中所有狀態RNN的狀態。對單個層調用則只重置該層的狀態。


SimpleRNN層

keras.layers.GRU(units, activation=‘tanh‘, recurrent_activation=‘hard_sigmoid‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False)

全連接RNN網絡,RNN的輸出會被回饋到輸入

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

參考文獻

  • A Theoretically Grounded Application of Dropout in Recurrent Neural Networks

GRU層

keras.layers.recurrent.GRU(units, activation=‘tanh‘, recurrent_activation=‘hard_sigmoid‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0)

門限循環單元(詳見參考文獻)

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

參考文獻

  • On the Properties of Neural Machine Translation: Encoder–Decoder Approaches

  • Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling

  • A Theoretically Grounded Application of Dropout in Recurrent Neural Networks


LSTM層

keras.layers.recurrent.LSTM(units, activation=‘tanh‘, recurrent_activation=‘hard_sigmoid‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0)

Keras長短期記憶模型,關於此算法的詳情,請參考本教程

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • recurrent_activation: 為循環步施加的激活函數(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

參考文獻

  • Long short-term memory(original 1997 paper)

  • Learning to forget: Continual prediction with LSTM

  • Supervised sequence labelling with recurrent neural networks

  • A Theoretically Grounded Application of Dropout in Recurrent Neural Networks

ConvLSTM2D層

keras.layers.ConvLSTM2D(filters, kernel_size, strides=(1, 1), padding=‘valid‘, data_format=None, dilation_rate=(1, 1), activation=‘tanh‘, recurrent_activation=‘hard_sigmoid‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, go_backwards=False, stateful=False, dropout=0.0, recurrent_dropout=0.0)

ConvLSTM2D是一個LSTM網絡,但它的輸入變換和循環變換是通過卷積實現的

參數

  • filters: 整數,輸出的維度,該參數含義同普通卷積層的filters
  • kernel_size: 整數或含有n個整數的tuple/list,指定卷積窗口的大小
  • strides: 整數或含有n個整數的tuple/list,指定卷積步長,當不等於1時,無法使用dilation功能,即dialation_rate必須為1.
  • padding: "valid" 或 "same" 之一
  • data_format: * data_format:字符串,“channels_first”或“channels_last”之一,代表圖像的通道維的位置。該參數是Keras 1.x中的image_dim_ordering,“channels_last”對應原本的“tf”,“channels_first”對應原本的“th”。以128x128的RGB圖像為例,“channels_first”應將數據組織為(3,128,128),而“channels_last”應將數據組織為(128,128,3)。該參數的默認值是~/.keras/keras.json中設置的值,若從未設置過,則為“channels_last”。
  • dilation_rate: 單個整數或由兩個個整數構成的list/tuple,指定dilated convolution中的膨脹比例。任何不為1的dilation_rate均與任何不為1的strides均不兼容。
  • activation: activation:激活函數,為預定義的激活函數名(參考激活函數),或逐元素(element-wise)的Theano函數。如果不指定該參數,將不會使用任何激活函數(即使用線性激活函數:a(x)=x)
  • recurrent_activation: 用在recurrent部分的激活函數,為預定義的激活函數名(參考激活函數),或逐元素(element-wise)的Theano函數。如果不指定該參數,將不會使用任何激活函數(即使用線性激活函數:a(x)=x)
  • use_bias: Boolean, whether the layer uses a bias vector.
  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers
  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers
  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers
  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象
  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象
  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象
  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象
  • kernel_constraints:施加在權重上的約束項,為Constraints對象
  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象
  • bias_constraints:施加在偏置上的約束項,為Constraints對象
  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例
  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例
  • 其他參數參考Recurrent的說明

輸入shape

若data_format=‘channels_first‘, 為形如(samples,time, channels, rows, cols)的5D tensor
若data_format=‘channels_last‘ 為形如(samples,time, rows, cols, channels)的5D tensor

輸出shape

if return_sequences:
if data_format=‘channels_first‘ :5D tensor (samples, time, filters, output_row, output_col)
if data_format=‘channels_last‘ :5D tensor (samples, time, output_row, output_col, filters)
else
if data_format =‘channels_first‘ :4D tensor (samples, filters, output_row, output_col)
if data_format=‘channels_last‘ :4D tensor (samples, output_row, output_col, filters) (o_row和o_col由filter和padding決定)

參考文獻

Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
* 當前的實現不包含cell輸出上的反饋循環(feedback loop)

SimpleRNNCell層

keras.layers.SimpleRNNCell(units, activation=‘tanh‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0)

SinpleRNN的Cell類

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

GRUCell層

keras.layers.GRUCell(units, activation=‘tanh‘, recurrent_activation=‘hard_sigmoid‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1)

GRU的Cell類

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

LSTMCell層

keras.layers.LSTMCell(units, activation=‘tanh‘, recurrent_activation=‘hard_sigmoid‘, use_bias=True, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, dropout=0.0, recurrent_dropout=0.0, implementation=1)

LSTM的Cell類

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

StackedRNNCells層

keras.layers.StackedRNNCells(cells)

這是一個wrapper,用於將多個recurrent cell包裝起來,使其行為類型單個cell。該層用於實現搞笑的stacked RNN

參數

  • cells:list,其中每個元素都是一個cell對象

例子

cells = [
    keras.layers.LSTMCell(output_dim),
    keras.layers.LSTMCell(output_dim),
    keras.layers.LSTMCell(output_dim),
]

inputs = keras.Input((timesteps, input_dim))
x = keras.layers.StackedRNNCells(cells)(inputs)

CuDNNGRU層

keras.layers.CuDNNGRU(units, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False)

基於CuDNN的快速GRU實現,只能在GPU上運行,只能使用tensoflow為後端

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

CuDNNLSTM層

keras.layers.CuDNNLSTM(units, kernel_initializer=‘glorot_uniform‘, recurrent_initializer=‘orthogonal‘, bias_initializer=‘zeros‘, unit_forget_bias=True, kernel_regularizer=None, recurrent_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, recurrent_constraint=None, bias_constraint=None, return_sequences=False, return_state=False, stateful=False)

基於CuDNN的快速LSTM實現,只能在GPU上運行,只能使用tensoflow為後端

參數

  • units:輸出維度

  • activation:激活函數,為預定義的激活函數名(參考激活函數)

  • use_bias: 布爾值,是否使用偏置項

  • kernel_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • recurrent_initializer:循環核的初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • bias_initializer:權值初始化方法,為預定義初始化方法名的字符串,或用於初始化權重的初始化器。參考initializers

  • kernel_regularizer:施加在權重上的正則項,為Regularizer對象

  • bias_regularizer:施加在偏置向量上的正則項,為Regularizer對象

  • recurrent_regularizer:施加在循環核上的正則項,為Regularizer對象

  • activity_regularizer:施加在輸出上的正則項,為Regularizer對象

  • kernel_constraints:施加在權重上的約束項,為Constraints對象

  • recurrent_constraints:施加在循環核上的約束項,為Constraints對象

  • bias_constraints:施加在偏置上的約束項,為Constraints對象

  • dropout:0~1之間的浮點數,控制輸入線性變換的神經元斷開比例

  • recurrent_dropout:0~1之間的浮點數,控制循環狀態的線性變換的神經元斷開比例

  • 其他參數參考Recurrent的說明

艾伯特(http://www.aibbt.com/)國內第一家人工智能門戶

Keras官方中文文檔:循環層Recurrent