深度学习是机器学习的一个新的分支[2],它旨在构建更深层的结构来加强模型在海量数据中捕捉隐含特征的能力。与传统的浅层神经网络相比,深度学习有一系列能够进行非线性变换的隐含层,从而能够挑战更加复杂的环境与问题。卷积神经网络与GRU均是深度学习中的重要方法。
(一)卷积神经网络
卷积神经网络是一种适合用来处理计算机视觉图像的神经网络,它的核心结构是卷积层。每一层卷积层中都包含一定数量的特征探测器,当输入传入卷积层后,每一个特征探测器都会沿着图像滑动平移进行卷积运算,产生与之对应的特征图谱。而随着卷积层的堆叠,输入中隐含的更深层的特征将会被提取并学习。
图11-8展示了一个二维卷积层的基本结构,其特征捕捉器是一个3×3维的矩阵,输入矩阵经过特征捕捉器的平移卷积之后得到特征图谱。即对于输入矩阵元素aij,特征图谱M为:
其中,σ为卷积层的激活函数;ωkl为一个3×3维系数矩阵的元素;ai+k,j+l为卷积层的输入中与ωkl对应相乘的元素,i表示行,j表示列;b为偏置项。每一个系数矩阵只能学习一种单一的特征,故一层中需要多个特征捕捉器,而数据中深层次的特征则需要堆叠更多的卷积层来捕捉。
图11-8 二维卷积层空间结构
本书中的输入为时间序列向量,因此将一维的卷积神经网络设置在整个模型的顶部,使之对输入的原始风功率和风速等时间序列进行处理。如图11-9所示,a1—a7为输入的一维时间序列,F与T分别为2层一维卷积层中的特征捕捉器,max表示最大值池化层,它是一种最常用的池化方法,即对邻域内特征点取最大值。经过池化层后的模型参数将会减少,计算速度得到提升,最终得到特征图谱m1—m3。相比于输入,特征图谱在向量维度上有了一定的减小,并且携带着更加明显的风功率数据特征,这样就可以更好地被之后的网络利用。
(www.xing528.com)
图11-9 双卷积层的一维卷积神经网络
(二)GRU神经网络
GRU神经网络是循环神经网络RNN的一种。相比于传统神经网络,RNN能够更好地处理输入为时间序列的任务,因为RNN能够将之前输入产生的影响保留到模型,并共同参与到对下一步输出的计算中。
鉴于RNN的这种特殊结构,它被广泛应用于文本的词句划分以及机器翻译中。理论上,RNN可以利用任意长度的时间序列信息,但是实际中当2个输入之间的步长太大时会很快出现梯度消失或者梯度爆炸现象,从而难以实现。GRU神经网络作为RNN的一种新型变体,它特殊的门结构能够有效地解决长短时间序列上的变化问题。
GRU内部结构如图11-10所示。图11-10中,ht-1为相对于当前时刻t,上一时刻的状态;xt与ht分别为当前时刻GRU模块的输入和输出;rt与zt为GRU模块中的两个关键结构,即重置门和更新门,每一个门都是一个简单的神经网络,为了使门的输出固定在0~1之间,神经网络的激活函数采用sigmoid函数;为经过重置门处理后的输出候选值。用公式来表示GRU模块的结构如下:
图11-10 GRU内部结构
其中,Wrh与Wrx为重置门中的参数;Wzh与Wzx为更新门中的参数;Whh和Whx为求取输出候选值h~t过程中的参数;运算符“°”表示进行数组元素依次相乘。
可以看出,重置门rt可以控制当前输入xt与之前时刻状态ht-1的结合方式,rt越趋近于0,则前一时刻的输出状态所占的比例就越小。更新门zt决定有多少前一时刻的状态信息能够进入现在的时刻,zt越趋近于1,表示当前状态对之前时刻的信息利用得越多。因此,如果将重置门的值设置为1,而更新门的值设置为0,就会得到一个传统的RNN。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。