• 预测算法

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 深度学习神经网络介绍
    • 1 浅谈预测算法

    算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。一个算法应该具有以下三个重要的特征:

    1、有穷性,算法必须能在执行有限个步骤之后终止。

    2、确切性,算法的每一步骤必须由确切的定义。

    3、可行性,每个计算步骤都可以在有限时间内完成。

    在这个信息过载的时代,如何快速有效地从纷繁复杂的数据中获得有价值的信息成为了当前大数据发展的关键难题。计算机相关人员根据用户需求、兴趣等,通过算法从海量数据中挖掘出用户感兴趣的项目,并将预测结果以个性化列表的形式推荐给用户。

    2016年3月份,以深度增强学习为核心技术的人工智能围棋程序AlphaGo以4:1击败了围棋界曾经的第一人李世石。深度学习(Deep Learning)彻底火了起来。到如今人工智能(Artificial Intelligence,AI)遍地开花,目前,不只是互联网、人工智能、算法领域,生活中的各大领域都能反映出深度学习引领的巨大变革。

    深度学习是机器学习领域一个重要的研究方向,近年来在图像处理、自然语言理解、语音识别和再现广告领域取得了突破性进展,将深度学习融入推荐系统中,研究如何整合海量的多源异构数据,构建更加贴合用户偏好需求的用户模型,以提高推荐系统的性能和满意度,成为基于深度学习的推荐系统的主要任务。

    本文以神经网络为主,介绍其模型算法的一些相关基础知识和应用。

     

    • 2 神经网络的介绍

    2.1   人工神经网络的概念

    人工神经网络(Artificial Neural Network,ANN),简称神经网络(Neural Network,NN),是一种模仿生物神经网络的结构和功能的数学模型,用于对函数进行估计和近似。与其他机器学习方法一样,神经网络用于解决各种各样的问题,例如机器视觉和语音识别,这些问题都是很难被传统基于规则的编程所解决的。

    2.2   神经元的概念

    在生物神经网络中,每个神经元与其他神经元相连,当神经元收到刺激时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值,那么它就会被激活,向其他神经元发送化学物质。

    1943年,McCulloch和Pitts将上述情形抽象为M-P神经元模型,把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。

    一个简单的神经元

    其中a1,a2,...,an为各个输入的分量,w1,w2,...,wn为各个输入分量对应的权重参数,b为偏置,f为激活函数,常见的激活函数有tanh,sigmoid,relu;t为神经元的输出。使用数学公式表示就是:

    可见,一个神经元的功能是求得输入向量与权向量的内积后。经一个非线性传递函数得到一个标量结果。

    2.3   单层神经网络

    单层神经网络是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所有单层神经元的输出是一个向量,向量的维数等于神经元的数目。

    2.4   感知机

    感知机是由两层神经网络组成,输入层接收外界输入后传递给输出层,输出层是M-P神经元。

     

    感知机的作用就是把一个n维向量空间用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入时正类或者反类,对应到2维空间就是一条直线把一个平面分为两个部分。

    2.5   多层神经网络

    多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了层的概念,常见的多层神经网络有如下结构:

    输入层:众多神经元接受大量输入消息,输入的消息称为输入向量

    输出层:消息到神经元链接中传输、分析、权衡,形成输出结果。输出的消息称为输出向量。

    隐藏层:是输入层和输出层之间众多神经元好链接组成的各个层面,隐藏层可以有一层或多层。隐藏层的节点数目不定,但数目越多神经网络的非线性越显著,从而神经网络 的强健性更显著。

    • 3 循环神经网络

    循环神经网络(RNN)是一类非常强大的用于处理和预测序列数据的神经网络模型,循环结构的神经网络克服了传统机器学习方法对输入和输出数据的许多限制,使其成为深度学习领域中的一类非常重要的模型。

    传统的神经网络,也称为前馈神经网络(Feed-Forward Neural Network,FNN),由一系列简单的神经元组成。图1是一个简单的FNN,包括输入层、隐藏蹭和输出层。其层级结构通常为每层神经与下一层神经元全连接,同层的神经元之间不存在连接。网络结构上不存在环或者回路,网络的输出和模型本身不存在反馈连接。数据从输入层开始逐层通过网络,直到输出层,这些连接的权重编码了网络的知识。

    图1   前馈神经网络

    卷积神经网络(Convolutional Neural Network,CNN)已经为当前图像理解领域的热点,卷积神经网络是一种多层感知机,主要用于处理二维图像数据。随后提出的循环神经网络(Recurrent Neural Networks,RNN)的概念。因为能够建模序列数据中不同时刻数据之间的依赖关系,在机器翻译、语音识别、图标标注生成等领域取得了广泛应用。RNN的最大特点在于神经网络各隐层之间的节点是具有连接的,它能够通过获取输入层的输出和前一时刻的隐层状态来计算当前时刻隐层的输出。RNN能够对任意长度的序列数据进行建模,但在实际应用中往往假设当前状态仅与前几个时刻的历史状态相关,从而帮助降低模型的复杂度。图2是一个典型的RNN结构,包含输入单元、输出单元和隐层单元。

    图2   RNN结构

    一般以序列数据为输入,通过网络内部的结构设计可以有效捕捉序列之间的关系特征,通常也是以序列形式进行输出。

    例如RNN的输入是向量序列:

    输出是另外一串向量序列:

    它们满足递归关系:

    普通神经网络如图3所示,输入数据为3维的x(x_1,x_2,x_3)经过权重相乘后成为中间层的输入h1,然后经过激活函数sigmoid后成为中间层的输出o1。

    图3   普通神经网络

    RNN和普通神经网络额区别就是:上一个数据的输出会作为这应该的输出,其和普通神经网络的区别就是在输入层多出来的数量取决于中间层的神经单元数量。

    需要注意的是,RNN的输入是一组数据,一般在一组数据中,只有最后一个才有实际数据给到下一层或者作为结果给出。但是如果RNN层的下一层还是RNN结构,那么就需要每一个数据都要输出结果到下一层。

    下面使用Tensorflow搭建一个简单的RNN模型:

    首先创建模型,需要说明搭建的神经网络有几层,每一层有几个神经元,神经元怎样连接。

    然后输出模型结构。

    接着编译模型。

    训练模型。

    最后就可以使用模型进行预测了。

    • 4 长短期记性网络

    将RNN展开之后发现,它是一类所有层共享相同权值的深度前馈神经网络。但是,普通的RNN结构存在梯度消失问题,很难解决学习数据之间的长程依赖关系。针对这问题,研究者相继提出了一些RNN的变种,其中最著名的包括长短时记忆网络(LongShort-TermMemory,LSTM)和门限循环单元(GatedRecurrentUnit,GRU)。

    4.1   LSTM结构

    长短期记性网络是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消毒和梯度爆炸问题。所有循环网络都具有神经网络的重复模块链的形式。在标准的RNN中,该重复模块将具有非常简单的结构,例如单个tanh层。LSTM也具有这种链式结构,但是它的重复单元不停与标准RNN网络里的单元只有一个网络层,它的内部有四个网络层。LSTMs的结构如下如所示。

    4.2 LSTM的组成

    LSTM由三个门来控制细胞状态,这三个门分别称为遗忘门、输入门和输出门。遗忘门。在输入新的信息时,模型若需遗忘旧的信息,可以通过“遗忘门”完成,以避免梯度随时间反向传播引发的梯度小时和梯度爆炸的问题。“输入门”用于控制网络当前输入数据图片流入记忆单元的多少,即有多少输入信息可以保存在图片中。由sigmoid组成的“输出门”产生的介于0到1之间的控制信号图片,将最终产生的输出信号图片与控制信号图片想成,得到最终的输出值图片。

    RNN和LSTM相比,后者更加复杂,且RNN只有一条链路串联起各个神经元,而LSTM是由两条链路串联起来的。同LSTM一样能够有效捕捉长序列之间的语义关联,缓解梯度消失或爆炸现象。 LSTM设计一个记忆细胞,具有选择性记忆的功能,选择记忆重要信息,过滤掉噪声信息,减轻记忆负担。LSTM神经网络模型的形式较为复杂,同时也存在着训练时间较长,对预测的时间较长等问题,

     

    • 5 门限循环单元模型

    LSTM模型是为了解决RNN神经网络中的梯度爆炸问题。RNN是把所有信息都记住,不管是有用的信息还是没用的信息。在LSTM神经网络中提出了遗忘门(ForgetGate)、输入门(InputGate)和输出门(OutputGate),这些“门”的设计是为了对输入的信息进行剔除或增强到神经细胞单元中,来做到控制细胞状态。而GRU神经网络改良了“门”的设计,将LSTM中的遗忘门和输入门整合为一个更新门(UpdateGate),也就是将原来由三个“门”组成的细胞结构优化成两个“门”组成的细胞结构:更新门和重置门。同时也对细胞状态进行了融合和其他的一些改进。整体的GRU神经网络结构如图4所示。

    图4   GRU网络结构

    重置门用来决定需要丢弃哪些上一个神经元细胞的信息。更新门决定哪些信息会丢弃,以及哪些信息会增加。

    图5   GRU内部结构

    GRU的内部结构如图5所示。其中,Ht-1为相对于当前时刻t,为上一时刻的状态:Xt为当前时刻GRU模块的输入和输出;Rt与Zt为GRU模块的重置门和更新门。每一个门都是一个简单的神经网络;为了使门的输出固定在0~1之间,神经网络的激活函数采用sigmoid函数。

    • 6 深度学习相关应用领域

    随着计算机时代的进步,计算机视觉处理方法快速发展,机器视觉分为了三个层次,分别为初级视觉、中级视觉和高级视觉。初级视觉研究的是对图像进行预处理,中级视觉研究室对图像的特征进行提取,高级视觉研究的是利用计算机对图像特征进行识别。计算机视觉中包含了图像识别,图像识别包含两个核心问题:物体检测和图像分类,前者主要定位图像中特定物体出现的区域并判断其类别,后者则对图像整体的语义内容进行类别判定。图像识别是深度学习最早尝试的应用领域,在2009年提出的采用稀疏编码来表征图像,通过大规模数据来训练支持向量机进行图像分类。百度在2012年将深度学习技术成功应用于自然图像识别和人脸识别等问题上,并退出相应的移动搜索产品和桌面应用。

    语音识别是人机交互领域的一座桥梁。语音识别是指能够让计算机自动地识别语音中所携带信息的技术,从而实现人类与计算机的智能交互化。比如我们日常生活中熟悉的Siri语音助手、天猫智能音响等产品都是基于语音识别技术的研究而产生的应用。深度学习理论在语音识别和图像识别领域取得了令人振奋的性能提升,在语音拾取和提取特征方面,避免了低频产生失真的问题;在模拟训练与语音识别判断方面大幅度提升了准确率。目前国内外知名互联网企业(谷歌、科大讯飞及百度等)的语音识别算法采用的就是深度学习网络算法例如微软在一次活动上公开演示的一个全自动的同声传译系统。

    自然语言处理是一种以理论为基础的自动分析和表示人类语言的计算技术。自然语言处理涉及许多研究和应用技术,如语言建模、文本分类、机器翻译、自动问答等。近年来,由于深度学习拥有强大的特征提取和学习能力,已逐渐成为自然语言处理领域的主流技术。基于深度学习模型的特征学习还在语义消歧、情感分析等自然语言处理任务中均超越了当时最优系统、取得了优异表现。但在少数语种的语言收集和数据验证,处理、组合符号数据和向量数据,多回合对话任务等方面仍然需要改进,结合语言生成、语言理解、对话管理、推理和知识库访问等多种技术相结合可能是未来主要的研究方向。

    图像分割技术为定量医学评估提供极具价值的参考信息,如脑肿瘤分割、肺部肿瘤图像分割、视网膜分割等。其中,如何对医学图像中的病变信息进行自动识别和分割,已经成为人们广泛关注的研究课题。将医学分割成灰度、颜色、纹理、亮度、对比度等属性相似区域的过程称之为医学图像的精确分割。医学图像分割是医学图像处理中最为复杂和关键的技术,具有重要的临床实用价值和研究意义。近年来随着深度学习技术的飞速发展,以卷积神经网络为主流的图像分割方式,能够有效的克服传统的降噪算法的不足,使其获得更多的图像特征信息,提高了图像分割精度。

    • 7 参考文献

    [1]黄立威,江碧涛,吕守业,刘艳博,李德毅.基于深度学习的推荐系统研究综述[J].计算机学报,2018,41(07):1619-1647.

    [2]杨丽,吴雨茜,王俊丽,刘义理.循环神经网络研究综述[J].计算机应用,2018,38(S2):1-6+26.

    [3]刘洋. 基于GRU神经网络的时间序列预测研究[D].成都理工大学,2017.

    [4]Guo-Bing Zhou,Jianxin Wu,Chen-Lin Zhang,Zhi-Hua Zhou.Minimal Gated Unit for Recurrent Neural Networks[J].International Journal of Automation and Computing,2016,13(03):226-234.

    [5]朱群雄,孙锋.RNN神经网络的应用研究[J].北京化工大学学报(自然科学版),1998(01):88-92.

    [6]袁冰清,陆悦斌,张杰.神经网络与深度学习基础[J].数字通信世界,2018(05):32-33+62.

    [7]刘礼文,俞弦.循环神经网络(RNN)及应用研究[J].科技视界,2019(32):54-55.DOI:10.19694/j.cnki.issn2095-2457.2019.32.022.

    [8]范竣翔,李琦,朱亚杰,侯俊雄,冯逍.基于RNN的空气污染时空预报模型研究[J].测绘科学,2017,42(07):76-83+120.DOI:10.16251/j.cnki.1009-2307.2017.07.013.

    [9]牛哲文,余泽远,李波,唐文虎.基于深度门控循环单元神经网络的短期风功率预测模型[J].电力自动化设备,2018,38(05):36-42.DOI:10.16081/j.issn.1006-6047.2018.05.005.

    [10]张军阳,王慧丽,郭阳,扈啸.深度学习相关研究综述[J].计算机应用研究,2018,35(07):1921-1928+1936.

    [11] Dong Shi and Wang Ping and Abbas Khushnood. A survey on deep learning and its applications[J]. Computer Science Review, 2021, 40

    [12]黄界生.基于深度学习的计算机视觉中图像检索算法研究[J].信息技术与信息化,2022(09):181-184.

    [13]李小艳. 基于深度学习的医学图像处理研究与应用[D].河南大学,2022.DOI:10.27114/d.cnki.ghnau.2022.000031.

    [14]温伍正宏,潘甦,张坤.基于大数据和深度学习的语音识别研究[J].软件,2022,43(01):133-135.

    [15]江洋洋,金伯,张宝昌.深度学习在自然语言处理领域的研究进展[J].计算机工程与应用,2021,57(22):1-14.

    Dong Shi and Wang Ping and Abbas Khushnood. A survey on deep learning and its applications[J]. Computer Science Review, 2021, 40
    Dong Shi and Wang Ping and Abbas Khushnood. A survey on deep learning and its applications[J]. Computer Science Review, 2021, 40
    Dong Shi and Wang Ping and Abbas Khushnood. A survey on deep learning and its applications[J]. Computer Science Review, 2021, 40
    Dong Shi and Wang Ping and Abbas Khushnood. A survey on deep learning and its applications[J]. Computer Science Review, 2021, 
    • 标签:
  • 加入的知识群:
    学习元评论 (0条)

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



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