def __init__(self, units, activation='tanh', recurrent_activation='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., recurrent_dropout=0., implementation=2, **kwargs):
其中units是我一直困惑的点,源码中是这样解释的units: Positive integer, dimensionality of the output space.(翻译:正整数,输出空间的维数),看了源码解释之后还是不理解,只知道是输出的维度,那么这个维度到底代表什么?,看了很多人的解释是隐藏层神经元个数。隐藏层神经元个数与输出维度是什么关系呢?
实际上LSTM中4个门相当于4个全连接层,其经过Sigmoid函数输出也为隐藏神经元大小一致的实数向量。这样就与源码中units解释的输出的维度相对应了。