Kalchbrenner 等人的逐行卷积和折叠的动机是什么?(2014)?

数据挖掘 机器学习 深度学习 nlp 美国有线电视新闻网 卷积
2022-02-26 01:13:03

我正在阅读 Kalchbrenner 等人的论文。标题为A Convolutional Neural Network for Modeling Sentences并且正在努力理解他们对卷积层的定义。

首先,让我们退后一步,描述一下我所期望的一维卷积的样子,正如Yoon Kim (2014)中所定义的那样。

句子。长度为 n 的句子(必要时填充)表示为

x1:n = x1 ⊕ x2 ⊕ 。. . ⊕ xn, (1)

其中⊕是连接运算符。一般来说,让 xi:i+j 指代单词 xi 、 xi+1 、 . 的串联。. . , xi+j 。卷积操作涉及一个过滤器 w ∈ R^hk,该过滤器应用于 h 个单词的窗口以产生新特征。例如,特征 ci 是从单词 xi:i+h-1 的窗口生成的

ci = f(w · xi:i+h−1 + b) (2)。

这里 b ∈ R 是一个偏置项,f 是一个非线性函数,例如双曲正切。此过滤器应用于句子 {x1:h, x2:h+1, 中的每个可能的单词窗口。. . , xn−h+1:n} 生成特征图

c = [c1, c2, . . . , cn−h+1], (3)

其中 c ∈ R^(n−h+1)。

这意味着单个特征检测器将每个窗口从输入序列转换为单个数字,从而产生 n-h+1 次激活。

而在 Kalchbrenner 的论文中,卷积描述如下:

如果我们暂时忽略池化层,我们可以说明如何计算矩阵 a 中的每个 d 维列 a 在卷积层和非线性层之后得到。将 M 定义为对角线矩阵: M = [diag(m:,1), 。. . , diag(m:,m)] (5) 其中 m 是宽卷积的 d 个滤波器的权重。然后在第一对卷积层和非线性层之后,得到矩阵a中的每一列a如下,对于某个索引j: 在此处输入图像描述 这里 a 是一列一阶特征。通过应用等式类似地获得二阶特征。将图 6 转换为具有另一个权重矩阵 M0 的一阶特征序列 aj, ..., aj+m0-1。除非汇集,等式。图 6 表示特征提取功能的核心方面,并具有我们在下面返回的相当一般的形式。与池化一起,特征函数引入位置不变性并使高阶特征的范围可变。

本问题所述,矩阵 M 的维数为 dx dm,连接 w 的向量的维数为 dm。因此,乘法产生一个维数为 d 的向量(对于单个窗口的单个卷积!)。

论文中的架构可视化似乎证实了这种理解: 在此处输入图像描述

第二层的两个矩阵代表两个特征图。每个特征图都有维度 (s + m - 1) xd,而不是我期望的 (s + m - 1)。

作者将特征图只有一维的“常规”模型称为 Max-TDNN,并将其与自己的区别开来。

正如作者所指出的,不同行中的特征检测器是完全独立的,直到顶层。因此,他们引入了折叠层,该层合并倒数第二层中的每一对行(通过求和),将它们的数量减少一半(从 d 到 d/2)。 建筑学

抱歉介绍太久了,我的两个主要问题是:

1) 这种卷积定义的可能动机是什么(与 Max-TDNN 或例如 Yoon Kim 的模型相反)

2)在Folding层,为什么只有成对的对应行之间存在依赖关系?我不明白完全不依赖的好处。

0个回答
没有发现任何回复~