为啥RNN在隐藏和输出之间没有权重?

Posted

技术标签:

【中文标题】为啥RNN在隐藏和输出之间没有权重?【英文标题】:Why is RNN no weigth between hidden and output?为什么RNN在隐藏和输出之间没有权重? 【发布时间】:2021-09-03 17:30:36 【问题描述】:

PyTorch RNN 有RNN.weight_ih,这是输入层和隐藏层之间的权重,RNN.weight_hh,是隐藏层和隐藏层之间的权重。为什么隐藏和输出之间没有权重?

当我学习 RNN 时,我了解到有 3 个权重。

【问题讨论】:

【参考方案1】:

那里没有权重,因为 PyTorch RNN 没有规定如何从隐藏状态创建输出。当您将RNN 应用于序列时,它会返回隐藏状态的序列。

您可以决定如何处理这些:也许线性变换是获得输出的正确方法(正如您所了解的那样)。也许你不需要输出,除了最后一个。在这种情况下,您只需手动计算最终输出即可节省 O(T) 计算。

【讨论】:

以上是关于为啥RNN在隐藏和输出之间没有权重?的主要内容,如果未能解决你的问题,请参考以下文章

RNN和LSTM

在语言建模中,为啥我必须在每个新的训练时期之前初始化隐藏权重? (火炬)

神经网络入门——15反向传播

RNN学习

RNN循环神经网络学习——概述

深度学习LSTM结构推导,为啥比RNN好?