当前位置:   article > 正文

Transformer在量化投资的应用_tranformer 量化分析 如何解决单只股票数据不多的问题

tranformer 量化分析 如何解决单只股票数据不多的问题

导语

RNN、LSTM和GRU网络已在序列模型、语言模型、机器翻译等应用中取得不错的效果。循环结构(recurrent)的语言模型和编码器-解码器体系结构取得了不错的进展。 但是,RNN固有的顺序属性阻碍了训练样本间的并行化,对于长序列,内存限制将阻碍对训练样本的批量处理。这样,一是使得RNN的训练时间会相对比较长,对其的优化方法也比较少,二是对于长时间记忆来说,其的效果也大打折扣。 而Transformer的核心,注意力机制(Attention)允许对输入输出序列的依赖项进行建模,而无需考虑它们在序列中的距离,这样对上面两个RNN中比较突出的问题就有了一个比较好的解决办法。本文将对Attention、Transformer以及其在选股策略中的应用进行讲解。

Attention介绍

Attention本质

Attention机制如果浅层地理解,跟它的名字非常匹配。它的核心逻辑就是“从关注全部到关注重点”。

Attention机制很像人类看图片的逻辑,当我们在看一张图片时,我们并没有看清图片的全部内容,而是将注意力集中在了图片的焦点上:

img

比如上面的图片,我们一眼望去,最先接收到的是“锦江饭店”的信息,所以,我们的视觉系统就是一种 Attention 机制,将有限的注意力集中在重点信息上,从而节省资源,快速获得最有效的信息

Attention机制最早是在CV中应用的,随后在NLP领域也开始应用了,真正发扬光大的是在NLP领域,因为2018年BERT和GPT效果出奇地好,进而走红,Transformer、Attention这些核心开始被大家重点关注。

Attention原理

在说到Attention的原理之前,我们要先介绍一下什么是 Encoder-Decoder结构。

Encoder-Decoder模型

encoder-decoder模型也可以称为 seq2seq,它是为了应对 RNN 中无法满足不等长序列的输入输出而产生的一个 RNN 变种。encoder-decoder是深度学习中非常常见的一个模型框架,比如无监督算法的 auto-encoder 就是用编码的结构设计并训练的,再比如神经网络机器翻译NMT模型,往往就是LSTM-LSTM的编码-解码框架。

准确的说,encoder-decoder并不是一个具体的模型,而是一类框架。Encoder和Decoder部分可以是任意的文字,语音,图像,视频数据,模型可以采用CNN,RNN,BiRNN,LSTM,GRU等等。其中,encoder对数据进行编码,decoder对encoder生成的编码进行解码。

Encoder

encoder先将输入数据编码成一个上下文向量c:

img

得到 c 的方式有多种,最简单的方法就是把encoder的最后一个隐状态赋值给 c ,还可以对最后的隐状态做一个变换得到 c,也可以对所有的隐状态做变换。

Decoder

拿到 c 后,就用另一个 RNN 网络对其进行解码,这部分 RNN 网络被称为 Decoder,具体的做法就是将 c 当作之前的初始化状态 h0 输入到 Decoder 中:

img

Attention图解

在 encoder-decoder 结构中,encoder把所有的输入序列都编码成一个统一的语义特征 c 再解码,因此,c 中必须包含原始序列中的所有信息,它的长度就变成了限制模型性能的瓶颈,如机器翻译问题,当要翻译的句子较长时,一个 c 可能存不下那么多信息,就会造成翻译精度的下降。

Attention机制通过在每个时间输入不同的 c 来解决这个问题,下面是带有 Attention 机制的 Decoder:

img

每一个 c 会自动去选取与当前所要输出的 y 最合适的上下文信息。具体来说,我们用 aij 衡量 encoder 中第 j 阶段的 hj 和解码时第 i 阶段的相关性,最终 decoder 中第 i 阶段的输入的上下文信息 ci,就来自于所有 hj 对 aij 的加权和。这里的 aij 就是我们要学习的参数

img

比如上图中,输入的序列是“我爱中国”,因此,Encoder中的 h1、h2、h3、h4 就可以分别看是“我”、“爱”、“中国”所代表的信息。在翻译成英语时,第一个上下文 c1 应该和“我”这个字最相关,因此对应的 a11 就比较大,而相应的 a12、a13、a14 就比较小。c2 应该和“爱”最相关,同理,a22 的值就比较大。

那么 aij 这个权重是怎么算出来的呢?

事实上,aij 是从模型中学出来的,它实际和 decoder 的第 i - 1 阶段的隐状态、encoder第 j 个阶段的隐状态有关。比如 a1j 的计算:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/707323
推荐阅读
相关标签
  

闽ICP备14008679号