• QQ空间
  • 回复
  • 收藏

用卷积网络处理序列数据

KUO 科技金融 2020-4-3 08:07 205792人围观

我们知道卷积神经网络(convnet)在计算机视觉问题上表现出色,原因在于它能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据。这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效。时间可以被看作一个空间维度,就像二维图像的高度或宽度。

对于某些序列处理问题,比如金融时间序列数据,这种一维卷积神经网络的效果可以媲美RNN[循环神经网络],而且计算代价通常要小很多。最近,一维卷积神经网络[通常与空洞卷积核(dilated kernel)一起使用]已经在音频生成和机器翻译领域取得了巨大成功。除了这些具体的成就,人们还早已知道,对于文本分类和时间序列预测等简单任务,小型的一维卷积神经网络可以替代RNN,而且速度更快。

理解序列数据的一维卷积

通常我们遇见的卷积层都是二维卷积,从图像张量中提取二维图块并对每个图块应用相同的变换。按照同样的方法,你也可以使用一维卷积,从序列中提取局部一维序列段(即子序列),见下图:

注:图片来自《Deep Learning with Python 》弗朗索瓦·肖莱,Keras之父

这种一维卷积层可以识别序列中的局部模式。因为对每个序列段执行相同的输入变换,所以在句子中某个位置学到的模式稍后可以在其他位置被识别,这使得一维卷积神经网络具有平移不变性(对于时间平移而言)。

举个例子,使用大小为 5 的卷积窗口处理字符序列的一维卷积神经网络,应该能够学习长度不大于 5 的单词或单词片段,并且应该能够在输入句子中的任何位置识别这些单词或单词段。因此,字符级的一维卷积神经网络能够学会单词构词法。在金融时序预测中,卷积网络可以提取近期时序特征(局部特征)来预测短期走势,这是浅层机器学习模型不具备的优势。

序列数据的一维池化

二维池化运算,比如二维平均池化和二维最大池化,在卷积神经网络中用于对图像张量进行空间下采样。一维也可以做相同的池化运算:从输入中提取一维序列段(即子序列), 然后输出其最大值(最大池化)或平均值(平均池化)。与二维卷积神经网络一样,该运算也是用于降低一维输入的长度(子采样)。


免责申明:本文内容(包括但不限于文字,图片等内容)来自网络或者宽客之家社区用户发布,仅代表作者本人观点,与本网站无关。本网站不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,并读者理性阅读,并自行承担全部责任!如内容不慎侵犯了您的权益,请联系告知,核实情况后我们将尽快更正或删除处理!

路过

雷人

握手

鲜花

鸡蛋

职业投资人

关注微信