众所周知,CNN在机器视觉问题上表现出色,因为它能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效利用数据。
这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让他对序列处理特别有效。时间可以被看做一个空间维度,就像二维图像的高度或宽度。
对于某些序列处理问题,这种一维卷积神经网络的效果可以媲美RNN,而且计算代价通常要小很多。最近,一维卷积神经网络【通常与空洞卷积核(dilated kernel)一起使用】已经在音频生成和机器翻译领域取得了巨大成功。对于文本分类和时间序列预测等简单任务,小型的一维卷积神经网络可以代替RNN,而且速度更快。
序列数据的一维池化
CNN中提到了二维池化运算,比如二维平均池化和二维最大池化,在卷积神经网络中用于对图像张量进行空间下采样。一维也可以做相同的池化运算:从输入中提取一维序列短(即子序列),然后输出其最大值(最大池化)或平均值(平均池化)。与二维卷积神经网络一样,该运算也是用于降低一维输入的长度(子采样)。
结合CNN和RNN来处理长序列
一维卷积神经网络分别处理每个输入序列段,所以它对时间步的顺序不敏感(此处说的顺序范围要大于局部尺度,即大于卷积窗口的大小),这一点与RNN不同。 为了识别更长期的模式,可以将许多卷积层和池化层堆叠在一起,这样上面的层能够观察到原始输入中更长序列段,但这仍然不是一种引入顺序敏感性的好方法。CNN在输入时间序列的所有位置寻找模式,它并不知道所看到某个模式的时间位置(距开始多长时间&#