lstm原理应用小结

keras:

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)

units:

就一个单词而言,你可以把LSTM内部简化看成Y=X1×64W64×128Y=X1×64W64×128 ,X为上面提及的词向量比如64维,W中的128就是units,也就是说通过LSTM,把词的维度由64转变成了128

return_sequences=False(默认)

只输出最后的结果,return_sequences=True,输出所有的结果

lstm原理应用小结_第1张图片

(1)我们把输入的单词,转换为维度64的词向量,小矩形的数目即单词的个数input_length 
(2)通过第一个LSTM中的Y=XW,这里输入为维度64,输出为维度128,而return_sequences=True,我们可以获得5个128维的词向量V1’.....V5’ 
(3)通过第二个LSTM,此时输入为V1’..V5’都为128维,经转换后得到V1”..V5”为256维,最后因为return_sequences=False,所以只输出了最后一个红色的词向量
 

 

 

参考:https://blog.csdn.net/jiangpeng59/article/details/77646186

你可能感兴趣的:(深度学习基础知识)