RNN和多个输出到我们的设置

2024-10-01 22:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我介绍了一系列使用RNN进行文档分类(多对一)的机器学习示例。{rnals,在最后一个步骤中,{rnal}是最密集的一步。在

然而,我也遇到了一些例子,其中使用的不是最后一个输出,而是所有时间步的平均输出(平均池?,例如,[3])。这个平均输出的尺寸当然与最后一个输出的尺寸相同。所以从计算上来说,这两种方法的工作原理是一样的。在

我现在的问题是,这两种不同的方法之间的直觉是什么。由于递归性质,最后一个输出也反映了前一个时间步的输出。所以为什么要在所有时间步长上平均RNN输出。什么时候用什么?在


Tags: 方法文档机器示例尺寸时间分类步骤
1条回答
网友
1楼 · 发布于 2024-10-01 22:29:02

随时间的池化是一种特殊的技术,用于从输入序列中提取特征。来自this question

The reason to do this, instead of "down-sampling" the sentence like in a CNN, is that in NLP the sentences naturally have different length in a corpus. This makes the feature maps different for different sentences, but we'd like to reduce the tensor to a fixed size to apply softmax or regression head in the end. As stated in the paper, it allows to capture the most important feature, one with the highest value for each feature map.

这里需要注意的是,max-over-time(或average-over-time)通常是一个中间层。特别是,可以在一行或并行(具有不同的窗口大小)中有多个。网络产生的最终结果仍然可以是多对一或多对多(至少在理论上)。在

然而,在大多数情况下,RNN有一个单个输出。如果输出必须是一个序列,这个输出通常被输入另一个RNN。因此,这一切都归结为如何准确地学习这个单一的值:获取整个序列中最后一个单元格的输出或聚合,或者应用注意力机制,等等

相关问题 更多 >

    热门问题