我正在寻找LSTM网络是如何工作的,但我找不到任何好的来源来解释它的成本功能如何工作?
我的意思是我知道我们有一个输入序列x<1> to x<t>和一个y_hat<1> to y_hat<t>序列,但是我们如何计算损失或成本函数呢?我们应该计算每个单元的y_label<i> - y_hat<i>吗?如果是这样的话,我们在哪里积累这些资源,当我们使用它时?哪里?多么?
LSTM网络是监督学习还是我感到困惑?
发布于 2019-02-19 17:31:15
据我所知,与其他神经网络模型相比,RNN的损失函数优化没有差别。损失是在网络输出的最末端计算的。
假设您有这个网络体系结构来预测一个分类变量:
层型,输出尺寸
输入:(无,10,6) = (batch_size,seq len,num_features)
(无,10,100) =(batch_size,sequence_len,hidden_unit_size)
TimeDistributed稠密:(无,10,10) = (batch_size,sequence_len,num_categories)
Softmax激活:(无,10,10) = (batch_size,sequence_len,num_categories)
这里,您对序列有10个时间步骤,而最终的softmax输出是在每个时间步骤对分类变量的下一个值进行预测(假设分类特性的1-热表示)。训练的每一时间步骤的Y值只是t+1上分类值的1-热表示。所以,你现在有一个100维的表示,每一次步骤。您将此传递给TimeDistributed密度,然后传递给softmax。因此,在最后,在softmax输出层,您有一个Y矢量的大小(batch_size,seq_len,1),它包含所有10个时间步骤的真实输出,用于批处理中的每个样本。然后,您将使用与任何其他NN模型相同的精确方式,使用小型批处理来计算网络权重的损失和支持错误。
https://datascience.stackexchange.com/questions/45822
复制相似问题