热门标签 | 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),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 图像分类算法的优化策略与实践
    本文探讨了《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文中的多项技术,旨在通过具体实例和实验验证,提高卷积神经网络在图像分类任务中的性能。文章详细介绍了从模型训练加速、网络结构调整到训练参数优化等多个方面的改进方法。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文详细介绍了如何在WebStorm中配置File Watchers,以实现在编辑LESS文件时自动生成压缩后的CSS文件和对应的源映射(.map)文件。通过简单几步设置,可以大幅提升前端开发效率。 ... [详细]
  • 获取Jedis和Commons Pool JAR包的两种方法及详细步骤
    本文介绍如何通过网盘链接或官方网站获取Jedis和Commons Pool的JAR包,并提供详细的图文教程。同时,还附有导入JAR包到项目的相关建议。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
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社区 版权所有