我正在使用keras训练2层(无状态)LSTM网络,并且我试图了解使用辍学时网络的哪些部分实际上设置为0。
体系结构如下
model = Sequential()
# first LSTM layer
model.add(LSTM(64, input_shape=(X.shape[1], X.shape[2]), return_sequences=True, dropout=0.4, recurrent_dropout=0.4))
model.add(Dropout(0.5))
# second LSTM layer
model.add(LSTM(64, dropout=0.4, recurrent_dropout=0.4))
model.add(Dropout(0.5))
model.add(Dense(1))
- 辍学:在0到1之间浮动。为输入的线性变换而下降的单位的分数。
- recurrent_dropout :在0到1之间浮动。为递归状态的线性转换,要下降的单位的分数。
我有几个问题需要澄清:
dropout
,recurrent_dropout
参数和Dropout()
方法是否多余?