Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Keras LSTM中隐藏状态的含义_Python_Tensorflow_Keras_Nlp_Lstm - Fatal编程技术网

Python Keras LSTM中隐藏状态的含义

Python Keras LSTM中隐藏状态的含义,python,tensorflow,keras,nlp,lstm,Python,Tensorflow,Keras,Nlp,Lstm,因为我是个新手,所以这个问题对你来说可能很有趣。但我无法在脑海中想象它。这就是为什么我要问这个问题 我给一个句子作为LSTM的向量,我想我有一个包含10个单词的句子。然后我把这些句子改成向量,然后把它交给LSTM LSTM单元的长度应为10。但在大多数教程中,我看到它们添加了128个隐藏状态。我无法理解和想象它。“128维隐藏状态”的LSTM层是什么意思 例如: X = LSTM(128, return_sequences=True)(embeddings) 这个夏天看起来不错 lstm_1

因为我是个新手,所以这个问题对你来说可能很有趣。但我无法在脑海中想象它。这就是为什么我要问这个问题

我给一个句子作为LSTM的向量,我想我有一个包含10个单词的句子。然后我把这些句子改成向量,然后把它交给LSTM

LSTM单元的长度应为10。但在大多数教程中,我看到它们添加了128个隐藏状态。我无法理解和想象它。“128维隐藏状态”的LSTM层是什么意思

例如:

X = LSTM(128, return_sequences=True)(embeddings)
这个夏天看起来不错

lstm_1 (LSTM)                (None, 10, 128)           91648    

这里看起来添加了10个LSTM单元,但为什么有128个隐藏状态?希望你能理解我的期望

简短回答: 如果你更熟悉卷积网络,你可以知道LSTM层的厚度(128)相当于卷积层的大小。10只表示输入的大小(序列的长度为10)

更长的回答: 您可以查看本文以了解更多详细信息

在左图中,LSTM层用(
xt
)表示为输入和输出(
ht
)。反馈箭头显示单元格中存在某种内存

在Keras(右图)的实践中,该模型被“展开”,以使整个输入
xt
与我们的层平行

因此,当您的摘要是: lstm_1(lstm)(无,10128)91648
这意味着您的输入序列是10(
x0,x1,x2,…,x9
),并且您的LSTM的大小是128(128将是您的输出
ht


这意味着可以有少量的输入和大量的输出。所以我不明白的是,在你们的图像中,xt和ht的数量是一样的。所以当有大量的ht时,它是如何产生的。你能把它形象化一下吗@Daniel请考虑阅读引用的文章,也许通过公式,你会更清楚。你给出的链接目前不可用,如果可能,请提供其他链接。