• LSTM算法

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 一. LSTM算法的简介

    1.1 概述

          LSTM是指长短期记忆网络,其是一种时间循环神经网络。LSTM主要用来解决RNN(循环神经网络)中存在的长期依赖问题。LSTM 也是一种特殊的循环神经网络因此也具有链状结构, 但是相比循环神经网络的重复模块有着不同的结构. 它有四层神经网络层,各个网络层之间以特殊的方式相互作用, 并非单个简单的神经网络层。下图是LSTM神经网络的基本结构。

                                                         

           在上图中,X表示缩放的信息,+表示添加的信息,б表示Sigmoid层,tanh(双曲正切)表示tanh层,h(t-1)表示上一个LSTM单元的输出,c(t-1)表示上一个LSTM单元的记忆,X(t)表示输入,c(t)表示最新的记忆,h(t)表示输出。每个传输单元的状态是决定 LSTM 网络的核心,就是穿过图中的每条水平线。一个单元状态就相当于于一个传送带,它贯穿于整个结构,在这个过程中仅通过一些线性的作用保证了信息传输的不变性。LSTM还具有一个很好的性能就是可以增加和去除向单元状态中传输的信息,通过几个结构来管理信息的传输并将其称为门限,门限就是有选择地让信息通过。

    1.2 LSTM算法的发展史

          1997年,Sepp Hochreiter和Jürgen Schmidhuber提出了长短期记忆神经网络(LSTM),有效解决了RNN难以解决的人为延长时间任务的问题,并解决了RNN容易出现梯度消失的问题。
          1999年,Felix A.Gers等人发现Sepp Hochreiter提出的LSTM在处理连续输入数据时,如果没有重置网络内部的状态,最终会导致网络崩溃。因此,他们在此基础上引入了遗忘门机制,使得LSTM能够重置自己的状态。
          2000年,Felix A.Gers和Jiirgen Schmidhuber发现,通过在LSTM内部状态单元内添加窥视孔(Peephole)连接,可以增强网络对输入序列之间细微特征的区分能力。
          2005年,Alex Graves和Jürgen Schmidhuber在前人的基础上提出了一种双向长短期记忆神经网络(BLSTM),也称为vanilla LSTM,是当前应用最广泛的一种LSTM模型。
           2005-2015年期间,相关学者提出了多种LSTM变体模型,此处不多做描述。2016年,Klaus Greff 等人回顾了LSTM的发展历程,并比较分析了八种LSTM变体在语音识别、手写识别和弦音乐建模方面的能力,实验结果表明这些变体不能显著改进标准LSTM体系结构,并证明了遗忘门和输出激活功能是LSTM的关键组成部分。在这八种变体中,vanilla LSTM的综合表现能力最佳。另外,还探索了LSTM相关超参数的设定影响,实验结果表明学习率是最关键的超参数,其次是网络规模(网络层数和隐藏层单元数),而动量梯度等设置对最终结果影响不大。

     

     

     

     

          

    • 二. 研究背景

    2.1 简介

          随着人工智能时代的到来,人们对于数据内部潜在的价值越来越关注,对于数据的挖掘和使用能力越来越强.在大数据时代,神经网络技术受到了极大关注,其中备受瞩目的便是循环神经网络(RNN).RNN因为隐藏层内部存在自连接结构常被用于处理时间序列数据数据,但这个经典的神经网络也存在其无法克服的缺点.RNN在训练过程中容易出现梯度消失和梯度爆炸的问题,虽然梯度消失问题可以通过改变激活函数,调整学习率等方法来缓解;梯度爆炸问题可以通过梯度截断和权重衰减来缓解,但这并不是很好的解决方式.在1997年所提出的长短期记忆神经网络(LSTM)通过在隐藏层节点内加入记忆单元和门控机制,不仅可以记忆长期信息,还可以有效避免RNN中的梯度消失问题.后来更多学者对LSTM的结构不断进行探索与优化,形成了各种结构的LSTM的变体,在不同领域有着广泛的应用.本文主要深入探讨了LSTM的由来,通过了解LSTM是为何提出以及其网络结构的工作原理达到对模型的深入了解,并列举了近些年来关于LSTM网络的研究进展.在此了解基础上对LSTM网络进行实际操作应用.期货市场数据具有非线性高噪声的特点,一般的模型难以准确提取数据特征把控数据的走势,但是LSTM网络具有长期记忆能力,对于时间序列数据的学习能力表现优异.因此在本文应用LSTM神经网络来预测豆粕期货的收盘价格,并且取得了不错的预测效果,并与传统的机器学习算法-支持向量机(SVM)预测结果作对比,发现LSTM的预测效果要优于SVM.

    2.2 国内研究现状

          深度学习作为机器学习发展的更高级形式,凭借其自动提取数据特征的优势,已在计算机视觉、自然语言处理等领域得到成功应用。例如在城市降雨的预测上:由于降雨径流是一种内联相关性极强的时序数据,其某一时刻的数据与之前时刻的数据之间存在着密切的关系,因此要求预测降雨径流的数据驱动模型具有“记忆”的能力。为此,具有循环神经网络架构的深度学习网络——长短期记忆(LSTM)模型被引入水文预测领域,并取得了良好的效果。在比如在恶意软件检测方面,LSTM算法也发挥了重大作用,Fcizollah等为了评估意图信息作为识别恶意软件特征的有效性,提出了Andro Dialysis系统。该系统提取了意图特征,采用贝叶斯网络结合简单估计算法和LAGDHill Cilmber搜索算法进行恶意软件的检测,在1 846个良性应用和5 560个恶意软件组成的数据集上达到了91%的检测精度,误报率和漏检率均为9%。Li等为了应对Android恶意软件数量的快速增长,提出了一种基于权限使用分析的恶意软件检测系统(Sig PID),提取权限特征后通过负比率权限排序、基于支持度的权限排序和关联规则权限挖掘3个级别的剪枝来识别最重要的权限,以有效区分良性应用和恶意应用;采用Functional Tree模型,在各有5 494个良性应用和恶意应用的数据集上达到了95.63%的检测精度,误报率为2.36%,漏检率为6.38%。Alotaibi提出了Mal Res LSTM框架用于恶意软件识别。该框架提取硬件组件、请求权限、应用程序组件、意图和可疑应用程序接口调用等8组静态特征组成特征向量,利用Res LSTM网络进行恶意软件的检测,在Drbin数据集(包含123 453个良性应用和5 560个恶意软件)上的检测精度达到了99%,误报率为0.36%,漏检率为9%。Xu等提出了Deep Refiner网络用于Android恶意软件的检测。

    2.3 LSTM的应用

           LSTM应用的领域包括:文本生成、机器翻译、语音识别、生成图像描述和视频标记等。基于LSTM的系统可以学习翻译语言、控制机器人、图像分析、文档摘要、语音识别图像识别、手写识别、控制聊天机器人、预测疾病、点击率和股票、合成音乐等等任务。

    • 三. LSTM算法模型
        LSTM神经网络是基于循环神经网络(RNN)的一种深度学习神经网络。RNN的每个循环单元当前时间步的状态由该时间步的输出和上一个时间步的状态决定,t时刻的RNN网络结构见图1。图1中R表示1个RNN神经元,在神经元内部,对于给定序列x=x1,x2,…,xn,通过式(1)和式(2)可以计算得到1个隐藏层序列h=h1,h2,…,hn和1个输出序列y=y1,y2,…,yn

    式中,Wxh为输入层到隐藏层的权重系数矩阵,Whh为隐藏层的权重系数矩阵,Why为隐藏层到输出层的权重系数矩阵;bh为隐藏层的偏置向量,by为输出层的偏置向量;σ为sigmoid激活函数;下标t表示t时刻。       

                                                                          图1 t时刻RNN网络结构   
     
        LSTM在RNN的基础上增加了遗忘门、输入门和输出门等门控单元,同时根据历史时刻和当前时刻的信息决定是否更新当前时间步的单元状态,很好地解决了RNN在长序列数据训练过程中的梯度消失和梯度爆炸问题。t时刻的LSTM神经网络结构见图2,图2中L表示一个LSTM网络神经元,其隐藏层结构见图3。

                                                                           图2 t时刻LSTM神经网络结构   

                                                                                     图3 t时刻LSTM神经元隐藏层结构   
     
          LSTM神经网络包含有3个门控单元,分别是输入门It、遗忘门Ft和输出门Ot,门输入均为当前时间步xt和上一时间步的隐藏状态ht-1,通过式(3)~式(5)计算得到It、遗忘门Ft、输出门Ot的值。
     
    式(3)~式(5)中,Wxi、Whi、Wxf、Whf、Wxo、Who分别为门控单元对应的权重参数,bi、bf、bo分别为门控单元对应的偏置向量。

    当前时间步候选记忆细胞状态~c t的计算与上述3个门控单元类似,但是选择双曲正切函数tanh作为激活函数,可以得到:

    式中,Wxc、Whc为权重参数,bc为偏置参数。
    输入门、遗忘门和输出门共同控制LSTM神经网络中信息的流动,当前时间步记忆细胞的计算组合了上一步记忆细胞和当前时间步候选记忆细胞的信息,由遗忘门和输入门来控制信息的流动:
                                                              
    式中,ct为当前时间步记忆细胞状态,ct-1为上一时间步记忆细胞状态。
    按照式(7),遗忘门控制上一时间步的记忆细胞的信息是否传递到当前时间步,而输入门的作用则是控制当前时间步的输入通过候选记忆细胞流入当前时间步的记忆细胞,如果遗忘门一直近似1且输入门一直近似0,过去的记忆细胞将一直保存并传递到当前的时间步。这个设计可以解决RNN中出现的梯度衰减或者梯度消失问题,可以记忆不定时间长度的数值,在复杂序列特征学习方面具有优势,适合处理炼油循环冷却水系统中水质这类影响因素较复杂、时间间隔和延迟较长的时间序列数据。
    t时刻隐藏状态ht的计算,是通过输出门来控制记忆细胞到隐藏状态的信息流动:

    得到隐藏状态ht后,与对应的权重参数相乘并加上偏置项得到当前时间步的输出yt:

    式中,Why为当前时间步对应的权重参数矩阵,by为对应的偏置项。
    • 四. LSTM应用举例
    4.1基于LSTM-SVM模型的恶意软件检测方法
          安卓(Android)系统因其开放性成为了恶意软件最易滋生的平台。许多恶意软件会诱导用户安装木马,或者通过申请过多或不当的权限来获取相关信息,实现其搜集用户隐私的目的。为了避免或减少恶意软件带来的损害,对恶意软件实现高精度的检测具有重要意义。Android系统恶意软件的检测技术主要分为静态检测和动态检测。静态检测是指在不执行应用软件的情况下判断其是否是恶意的;动态检测是指在执行Android应用软件时收集系统调用、网络流量、用户交互等信息来判断其是否是恶意的。静态检测能够在安装前发现恶意软件,实现有效预防。
    4.2LSTM—SVM检测框架
          长短期记忆(LSTM)网络是为了克服递归神经网络(Recurrent Neural Network,RNN)中梯度消失和梯度爆炸问题而提出的一种深度学习方法,通常应用在具有时间序列的分类问题中。它可以通过基于时间序列的记忆门学习长期依赖关系,模拟多个输入变量的问题,因此常用于时间序列检测。此外,由于LSTM网络能够有效保留长序列数据中对最终判定结果有益的历史信息,因此,对于挖掘数据之间的关联关系也表现出了良好的效果。考虑到XML特征描述了应用软件的运行特性,其中存在着时序关系,采用LSTM构建基于XML长特征的异常检测模型。
          LSTM添加了记忆单元专门用于保存历史信息,记忆单元的结构如图所示。每个记忆单元含有3个输入:来自原始输入序列中当前时刻t传入模型的所有有用数据x t、到t-1时刻模型记录的历史状态ct-1和所有有用的隐藏信息ht-1。每一个记忆单元的输出包括当前时刻记录的所有有用信息h t和当前状态c t
                                                                     
          为了寻找历史信息中的有效内容,输入数据要通过3个门:遗忘门(f)、输入门(i)、输出门(o)。遗忘门负责判断是否丢弃历史信息,它的输入是历史隐藏信息ht-1以及当前序列节点信息x t,使用Sigmoid函数输出一个0到1之间的值,表示是否遗忘历史单元状态模式的信息,1表示保留历史信息,0表示遗忘历史信息。遗忘门的计算如式所示:
                                                                          
         其中:W表示神经单元中的权重矩阵;下标f表示遗忘门;下标x表示当前节点信息;下标h表示历史隐藏信息(即Wfx表示遗忘门当前节点信息的权重矩阵;Wfh表示遗忘门历史隐藏信息的权重矩阵);为b对应权重偏置;σ表示Sigmoid函数。
    同理可得输入门和输出门对应的计算公式,如式所示:
                                                                       
     
    候选状态g t和当前状态s t决定了在当前单元中可以保留哪些新的信息到下一个神经元。
                                                                      
     
                                                                 
     
    最终根据传输信息的状态确定输出值,以tanh函数处理当前单元状态,并与输出门相乘得到当前单元的隐藏信息h t,再传递给下一个单元。
                                                               
     
     
    • 五. LSTM在教育中的应用
    一.DE-LSTM模型在教育大数据统计的应用
        当前,教育大数据呈现数据量大和数据类型多样的特点,准确有效地对教育统计数据进行分析和预测,对教育部门相关政策的制定和社会的发展具有重要的参考价值。
        教育统计数据是一种时间序列数据,针对时序数据进行模型预测时,易受到多方面因素的影响,引起梯度消失或梯度爆炸,具有不稳定性,而LSTM神经网络模型是一种循环神经网络RNN的变体形式,在RNN结构的基础上增加了单元状态以及3个门,即遗忘门、输入门、输出门,在一定程度上避免了RNN模型不具备长期记忆功能,适用于处理与时间序列高度相关的问题。LSTM神经网络模型参数中,学习率作为控制神经网络学习速度的参数,合适的参数选取对模型的收敛速度具有一定的作用,隐含层节点对神经网络的泛化能力具有一定的作用。学习率和隐含层节点的取值会影响网络训练的性能。当前在LSTM教育数据预测模型中,学习率和隐含层节点的调整需要根据经验和尝试才能确定,调参会耗费大量的时间。因此,本文选用LSTM模型,通过优化学习率和隐含层结点来构建时间序列数据预测模型。
         差分进化算法是一种模拟生物进化的全局寻优算法。在进化过程中,算法通过不断的迭代,选出适应度值最小的个体,不断引导搜索过程向全局最优解逼近。该算法对复杂函数具有较强的优化能力、全局收敛能力和鲁棒性,且简单易用,因此采用差分进化算法来优化神经网络模型中的学习率和隐含层节点。
    由于差分进化算法对复杂函数具有较强的优化能力,通过对LSTM神经网络中的学习率、隐含层节点数进行自动寻优,避免了人工调参耗费大量的时间以及容易陷入局部最优,使提出的DE-LSTM模型具有较好的预测性能。

    二.LSTM算法在高校学生学业预警中的应用

          针对学生不同维度信息,本文以时间为基准,对时间依赖较长的信息利用LSTM网络进行训练,其他信息则通过人工神经网络进行训练,这样的好处是能够很好地将不同维度的信息以时间为考量,进行长与短划分,既避免了其信息本身的复杂与多态性,又保留了其数据特征。对输入数据进行量化与清洗,使用RBF核映射数据在对数据进行多维正态分布特征前馈特征提取、归一化处理并划分标准与奇异类后输入模型,采用LSTM对时间依赖高的数据进行训练,其他数据则采用弹性反向传播算法的人工神经网络训练。最终通过概率拟合得到预测结果,从而解决学业预警问题。
    基于自适应激励函数的LSTM优化神经网络的学生成绩信息训练:
    由于学生一卡通信息是以时间为基准与量化的,利用LSTM网络进行训练,针对时序数据的特殊性改进LSTM的激励函数,使得其在对时间敏感的同时对数据也敏感。而其他非时间敏感数据则采用改进Rprop算法进行训练。

    式中v+u=1。采用LSTM网络对学生的每日一卡通相关信息进行训练,现有技术中LSTM网络结构为:LSTM模块设有三个输入分别为:ct-1,ht-1和xt,LSTM模块输出分别是ct,ht和yt。其中,xt表示本轮的输入;ht-1表示上一轮的状态量输出;ct-1表示上一轮全局一个信息的载体;yt表示本轮的输出;ht表示本轮的状态量输出;ct表示本轮全局的一个信息。将xt和ht-1合并成一个向量再乘以向量W,输入tanh函数,得到向量z,采用自适应激活函数将现有技术中LSTM网络结构中的xt和ht-1合并成一个向量,再分别乘以矩阵Wf,Wi和Wo得到zf,zi和zo,Wf,Wi,Wo分别为遗忘门、输入门、输出门权重矩阵,用于乘以各门输入的变量;zf,zi,zo为乘以权重W加上偏置后的各门输出                      

    由式(6)得ct;

    由式(7)得到ht

    由式(8)得到本轮的输出yt
    带自适应激励函数LSTM单元如图3所示。

    图3 带自适应激励函数LSTM单元

                                                                          图3 带自适应激励函数LSTM单元   下载原图
    将原本的tanh激励函数变为自适应激励函数ReLU+tanh的加权平均函数,对于LSTM的每一个门传入的数据x进行激励,如下:

    从而通过LSTM对学生一卡通消费相关信息进行训练,对每个学生进行预警分类,为每个学生针对性地生成个人分析报告,如果为高危预警会收到相应的预警信息并将预警信息与图4中的人工神经网络进行级联从而预测该学生毕业概率。

    • 参考文献

    [1]崔忠捷,卿晓霞,杨森雄.基于DM-LSTM的城市降雨径流预测研究[J].中国给水排水,2022,38(19):132-138.DOI:10.19853/j.zgjsps.1000-4602.2022.19.021.

    [2]赵敏,张雪芹,朱唯一,朱世楠.基于LSTM-SVM模型的恶意软件检测方法[J].华东理工大学学报(自然科学版),2022,48(05):677-684.DOI:10.14135/j.cnki.1006-3080.20210517005.

    [3]周昌野,李程.基于GS-LSTM模型的铁路货运量预测[J].计算机与现代化,2022(10):24-28.

    [4]刘宝宝,杨菁菁,陶露,王贺应.基于DE-LSTM模型的教育统计数据预测研究[J].计算机科学,2022,49(S1):261-266.

    [5]贾彤华,范磊,程光旭,胡海军,陈之腾,王璐.长短期记忆神经网络模型改进及其在循环冷却水管道腐蚀预测的应用[J].石油化工设备,2022,51(04):1-6.

    [6]成浩,欧阳宁,林乐平.一种LSTM优化算法在高校学生学业预警中的应用[J].现代电子技术,2022,45(10):142-147.DOI:10.16652/j.issn.1004-373x.2022.10.027.

    • 标签:
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部