PAGE15
基于神经网络的金融时间序列算法设计综述
问题描述
神经网络发展到现在已经算是比较成熟的了,开始像葡萄一样开始分支、缠绕螺旋旋转式的上升,不同领域的神经网络算法也去到别的领域发展,为了探索神经网络对金融时间线序列的作用,这里选用最经典的循环神经网络和现在最流行的神经网络进行比较。
LSTM框架
背景介绍
所有的循环神经网络都有链式重复模块,在传统的RNN(循环神经网络)中,具有非常简单的链式重复模块结构,例如整个RNN中只有一个tanh层,就让数据通过tanh层后直接优化输出了,如图3.1所示。
图STYLEREF1\s3.SEQ图\*ARABIC\s11RNN神经单元的内部结构
对RNN改进后的LSTM
LSTM(长短期记忆神经网络)是一种在传统RNN的基础上优化得出的改进模型。
LSTM也具有像RNN这种类似的链式结构,但循环模块结构与RNN不同。不同于RNN是一个单独的神经网络层,LSTM是四个神经网络层,并且以非常不寻常的方式进行交互,如图3.2所示,通过it、ft、gt
神经单元的状态有点像生活中的开关导线,它贯穿整个数据传导过程,只有一些次要的线性交互作用。数据信息可以不用改变自身状态就直接通过。LSTM主要是通过对神经网络中的神经单元进行创新,来解决传统RNN无法解决的长期依赖的问题,LSTM可以通过所谓“开关”的精细结构向神经单元状态添加或移除,让神经单元每次使用时,忘掉一点输入的信息或记住一些输入的信息。让数据信息通过“开关”去做训练,像人类的记忆细胞一样,通过不断刺激-平静-刺激-平静来传递信息,以便于可以强化神经网络。
图STYLEREF1\s3.SEQ图\*ARABIC\s12LSTM神经单元的内部结构
LSTM的主要阶段
一个LSTM有三种这样的“开关”用来保持和控制神经单元的状态。
忘记阶段。这个部分主要是选择性地选择忘记一些从前一个节点传递过来的输入信息,会忘记不重要的,记住重要的。ft(f表示forget)来作为忘记开关,来控制上一个状态的ct?1
ft=σWif
ct=
选记阶段。这个部分会选择性地选择一些输入信息来记住。这主要是为了选择和记住输入xt。重要的被全部记录下来,不太重要的会少数被记录。当前的输入内容由前面计算得到的gt表示。而选择的门控信号则是由i
it=σWii
gt=tan?
输出阶段。这个阶段会确定哪个输出会被视为当前状态。主要是通过ot来进行控制的。并且还对上一阶段得到数据,让其通过一个tanh激活函数进行变化,从而进行数据的放缩,
ot=σ
?t=
LSTM有效的解决了对长期数据的问题,所以可以用于金融时间序列,但也因为引入了很多内容,导致参数变多,也使得训练难度加大了很多。
Transformer框架
背景介绍
Google在2017时候通过论文《Attentionisallyouneed》提出来Transformer架构,这个框架通过创新注意力机制的方案[12],给全球带来了许多新的惊喜。Transformer架构主要可以分为两个概念:广义Transformer和狭义Transformer,狭义Transformer是指拥有《Attentionisallyouneed》里提出来的那个结构,包括编码器(Encoder)和解码器(Decoder);广义Transformer可以指使用了自注意力机制(self-attention)的各种应用。最开始Transformer只是用于NLP(自然语言处理)领域,但随着后面的发展,他在别的领域也发挥着强大的作用。
Transformer主要结构
Transformer架构主要有两部分组成:Encoder(编码器)和Decoder(解码器)组成的,可以最抽象看出图3.3所示的效果。但在一般情况下,都会同时存在多个编码器和解码器,因为Transformer是一个基于Encoder-Decoder而设计的神经网络模型,如图3.4所示。
图STYLEREF1\s3.SEQ图\*ARABIC\s13Encoder和Decoder的关系
图STYLEREF1\s3.SEQ图\*ARABIC\s14Encoder和Decoder的内部
Transformer架构的整体的结构,如图3.5所示。拆开来看,可以把主体分为四个部分,其中除了input(输入)和output(输出)这两部分外,最重要的就是以图3.5的中线为中心分开出来,左右两边的Encoder和Decoder部分。下文就具体的介绍Encoder和Decoder的组成。
图STYLEREF1\s3.SEQ图\*ARABIC\s