热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

深入解析LSTM理论在深度学习中的应用与核心机制

在深度学习领域,长短期记忆(LSTM)网络作为递归神经网络的一种改进形式,能够有效捕捉时间序列数据中的长期依赖关系。与传统的神经网络不同,LSTM通过引入门控机制,使得模型能够在处理当前时刻的信息时,选择性地保留或遗忘之前时刻的数据,从而更好地理解上下文信息。例如,在对电影场景进行逐帧分类时,LSTM能够利用先前帧的信息来提高分类的准确性。这种机制不仅增强了模型的时间感知能力,还显著提升了其在自然语言处理、语音识别等任务中的表现。

递归神经网络

在传统神经网络中,模型不会关注上一时刻的处理会有什么信息可以用于下一时刻,每一次都只会关注当前时刻的处理.举个例子,我们想对一部影片中每一刻出现的事件进行分类.如果我们知道视频前面的时间序列信息,那么对于当前时刻观看量的预测就会非常简单.实际上,传统神经网络没有记忆功能,所以它对每一刻出现的时间进行预测不会用到之前已经出现的信息.那么有什么办法可以让神经网络能够记住这些信息呢?


递归神经网络就是把以前的信息传播下去的.(有记忆功能的神经网络)

递归神经网络的结果与传统神经网络有一些不同,它带有一个指向自身的环,用来表示传递当前时刻处理的信息给下一时刻使用.

其中ht为隐藏变量,W是权重,Yt为输出.

其中X表示输入,W为各类权重,y表示输出,h表示隐藏层状态.上图可以认为它是对相同神经网络的多重复制,每一时刻的神经网络会传递信息给下一时刻.

长时依赖问题

长时依赖是这样的一个问题.当预测点与依赖的相关信息距离比较远的时候,就难以学到该相关信息.例如对于视频预测第几十分钟的预测和几千分钟后的预测关系.理论上,递归神经网络是可以处理这样的问题,但是实际上,常规的递归神经网络不能很好地解决长时依赖。而LSTM就是为了解决这样的问题.

LSTM神经网络

LSTM的核心思想

遗忘门输出公式:

ft=sigmoid(Wf*[h(t-1),xt]+bf),ft∈[0,1]

物理含义:这个决定由遗忘门通过sigmoid控制,它会根据上一时刻的输出h(t-1)和当前输入Xt来决定产生一个0到1的ft值.目的是决定是否让上一时刻学到的信息C(t-1)通过多少.

输入门

第二步是产生我们想要更新的信息.这一步包含两部分.

第一个是输入门通过sigmoid决定哪些值用来更新(注意对象是h(t-1),xt).it∈[0,1].

第二个是用tanh函数生成新的候选值C`t,作为当前输入门产生的候选值会添加到细胞状态Ct(时间序列).

把这两部分产生的值结合起来更新.

更新好的Ct有两部分,我们将老的细胞状态乘以ft忘掉不需要的信息,使用候选细胞乘以it更新需要更新的新,再把两者加起来,得到新的细胞状态.如下图所示.

输出门

第三步是决定模型的输出.

首先h(t-1),Xt通过sigmoid函数得到一个初始输出Ot.(h(t-1)是上一时刻的输出,Xt是本次的输入.h(t-1)与Xt理想化是一样的.实际上存在误差.).

输出:使用tanh将Ct值缩放到(-1,1)状态.再与s初始输出Ot相乘得到模型输出ht.

这可以理解,首先sigmoid函数的输出是不考虑先前时刻学习到的信息,tanh函数是对先前学到的信息Ct压缩处理,起到稳定数值的作用.

两者的结合学习就是RNN的学习思考.至于模型是如何学习的,这就是后向传播误差学习权重的过程.

上面是对LSTM的典型结构的理解,一般下,它会有一些结构上的变形,但是基本思想不变.

 [1]https://blog.csdn.net/shijing_0214/article/details/52081301?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control


推荐阅读
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 卷积神经网络(CNN)基础理论与架构解析
    本文介绍了卷积神经网络(CNN)的基本概念、常见结构及其各层的功能。重点讨论了LeNet-5、AlexNet、ZFNet、VGGNet和ResNet等经典模型,并详细解释了输入层、卷积层、激活层、池化层和全连接层的工作原理及优化方法。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 获取Jedis和Commons Pool JAR包的两种方法及详细步骤
    本文介绍如何通过网盘链接或官方网站获取Jedis和Commons Pool的JAR包,并提供详细的图文教程。同时,还附有导入JAR包到项目的相关建议。 ... [详细]
  • 本文深入探讨了基于Pairwise和Listwise方法的排序学习,结合PaddlePaddle平台提供的丰富运算组件,详细介绍了如何通过这些方法构建高效、精准的排序模型。文章不仅涵盖了基础理论,还提供了实际应用场景和技术实现细节。 ... [详细]
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
  • 精致小屏灰色风格苹果CMS v10模板,支持DIY主题管理系统
    探索一款专为影视站设计的苹果CMS v10模板,具备强大的主题管理系统和500多个设置项,无需二次开发即可轻松配置。下载地址:https://www.mytheme.cn/maccms/244.html,演示地址:http://demo.mytheme.cn/index.php?id=244。 ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 回顾与学习是进步的阶梯。再次审视卷积神经网络(CNNs),我对之前不甚明了的概念有了更深的理解。本文旨在分享这些新的见解,并探讨CNNs在图像识别和自然语言处理等领域中的实际应用。 ... [详细]
author-avatar
李大乔vivi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有