南昌网站建设规划方案传媒公司网站源码php

news/2025/9/24 16:38:04/文章来源:
南昌网站建设规划方案,传媒公司网站源码php,小红书的网络营销模式,如何设置网站默认首页引人入胜的开篇#xff1a;想要搞清楚LSTM中的每个公式的每个细节为什么是这样子设计吗#xff1f;想知道simple RNN是如何一步步的走向了LSTM吗#xff1f;觉得LSTM的工作机制看不透#xff1f;恭喜你打开了正确的文章#xff01; 前方核弹级高能预警#xff01;本文信息… 引人入胜的开篇想要搞清楚LSTM中的每个公式的每个细节为什么是这样子设计吗想知道simple RNN是如何一步步的走向了LSTM吗觉得LSTM的工作机制看不透恭喜你打开了正确的文章 前方核弹级高能预警本文信息量非常大文章长且思维连贯性强建议预留20分钟以上的时间进行阅读。 前置知识1:在上一篇文章《前馈到反馈解析RNN》中小夕从最简单的无隐藏层的前馈神经网络引出了简单的循环神经网络 它就是无隐藏层的循环神经网络起名叫“simple RNN”。 这种方式即在每个时刻做决策的时候都考虑一下上一个时刻的决策结果。画出图来就是酱的 其中圆球里的下半球代表两向量的内积上半球代表将内积结果激活 虽然通过这种简单反馈确实可以看出每个时间点的决策会受前一时间点决策的影响但是似乎很难让人信服这竟然能跟记忆扯上边 想一下人的日常行为流程是这样的。比如你在搭积木那么每个时间点你的行为都会经历下面的子过程1、眼睛看到现在手里的积木。2、回忆一下目前最高层的积木的场景。3、结合1和2的信息来做出当前时刻积木插到哪里的决策。 相信聪明的小伙伴已经知道我要表达的意思啦。第1步手里的积木就是当前时刻的外部输入X第2步就是调用历史时刻的信息/记忆第3步就是融合X和历史记忆的信息来推理出决策结果即RNN的一步前向过程的输出y(t)。 有没有更加聪明的小伙伴惊奇的注意到第2步我们在回忆历史的时候一般不是简单的回忆上一个积木的形状而是去回忆一个更加模糊而宏观的场景。在这个例子中这个场景就是最近几次行为所产生出的抽象记忆——即“积木最高层的地形图” 也就是说人们在做很多时序任务的时候尤其是稍微复杂的时序任务时潜意识的做法并不是直接将上个时刻的输出y(t-1)直接连接进来而是连接一个模糊而抽象的东西进来这个东西是什么呢当然就是神经网络中的隐结点h啊也就是说人们潜意识里直接利用的是一段历史记忆融合后的东西h而不单单是上一时间点的输出。而网络的输出则取自这个隐结点。所以更合理的刻画人的潜意识的模型应该是这样的记忆在隐单元中存储和流动输出取自隐单元 这种加入了隐藏层的循环神经网络就是经典的RNN神经网络即“standard RNN”。 RNN从simple到standard的变动及其意义对于本文后续内容非常重要哦。 前置知识2: 在上一篇文章《从前馈到反馈循环神经网络RNN》中简单讲解和证明过由于在误差反向传播时算出来的梯度会随着往前传播而发生指数级的衰减或放大而且这是在数学上板上钉钉的事情。因此RNN的记忆单元是短时的。好啦那我们就借鉴前辈设计RNN的经验从simple版本开始即无隐藏层的、简单完成输出到输入反馈的网络结构开始去设计一个全新的、可以解决梯度爆炸消失问题从而记住长距离依赖关系的神经网络吧 那么如何让梯度随着时间的流动不发生指数级消失或者爆炸呢好像想起来挺难的但是这个问题可能中学生会解答那就是让算出来的梯度恒为1因为1的任何次方都是1嘛(∇) 所以按照这个搞笑的想法我们把要设计的长时记忆单元记为c以下全部用c指代长时记忆单元那么我们设计出来的长时记忆单元的数学模型就是这样子喽 c(t) c(t-1) 这样的话误差反向传播时的导数就恒定为1啦误差就可以一路无损耗的向前传播到网络的前端从而学习到遥远的前端与网络末端的远距离依赖关系。  路人Excuse me 不要急不要急反正假设我们的c中存储了信息那么c就能把这个信息一路带到输出层没问题吧在T时刻算出来的梯度信息存储在c里后它也能把梯度一路带到时刻0而无任何损耗也没问题吧对吧(∇) 所以信息的运输问题解决了那么就要解决对信息进行装箱和卸车的问题。   先来看装箱问题即如何把新信息写入c里面去呢 当然要先定义一下新信息是什么。不妨直接拿来simple RNN中对新信息的定义即当前时刻的外部输入x(t)与前一时刻的网络输出即反馈单元y(t-1)联合得到网络在当前这一时刻get到的新信息记为。即  好新信息定义完成。下面考虑把加到c里面去。如果把这个问题拿去问小学生的话那么可能会兵分两路 1、乘进去2、加进去 那么这两种哪种可行呢 其实稍微一想就很容易判断乘法操作更多的是作为一种对信息进行某种控制的操作比如任意数与0相乘后直接消失相当于关闭操作任意数与大于1的数相乘后会被放大规模等而加法操作则是新信息叠加旧信息的操作。 下面我们深入的讨论一下乘性操作和加性操作这在理解LSTM里至关重要。当然首先你要掌握偏导的概念和方法、复合函数的求导法则、链式求导法则。有了这三点微积分基础后才能看懂哦。害怕数学和基础不够的童鞋可以跳过这里的论乘法和论加法小节。论乘法乘法时即令长时记忆添加信息时的数学模型为 因此网络完整数学模型如下    公式【0.1】    公式【0.2】    公式【0.3】 为了计算方便还是像之前一样假设激活函数为线性激活即没有激活函数。实际上tanh在小值时可以近似为线性relu在正数时也为线性这个假设还是很无可厚非的这时网络模型简化为     【1】 假如网络经过了T个时间步到了loss端这时若要更新t0时刻下网络参数V的权重则即对t0时刻的参数V求偏导即计算 其中其中的f_loss(·)为损失函数好稍微一算发现中的f_loss的值就是我们要往前传的梯度参数更新信息则我们的目标就是讨论y(tT)写全了就是    【2】 对V求偏导时其他变量就是说的W和x自然也就成了常量这里我们再做一个过分简化直接删掉项在y二阶乘方存在的情况下忽略一阶乘方这时就可以直接展开公式【1】 对v(0)求导的话会得到 如果说RNN的是音速级的梯度爆炸和消失那这简直是光速级爆炸和消失了呐所以说直接将历史记忆乘进长时记忆单元只会让情况更糟糕导致当初c(t)c(t-1)让导数恒为1的构想完全失效这也说明了乘性更新并不是简单的信息叠加而是控制和scaling。 论加法如果改成加性规则呢此时添加信息的数学模型为与前面的做法一样假设线性激活并代入网络模型后得到 噫也有指数项不过由于v加了一个偏置1导致爆炸的可能性远远大于消失。不过通过做梯度截断也能很大程度的缓解梯度爆炸的影响。嗯梯度消失的概率小了很多梯度爆炸也能勉强缓解看起来比RNN靠谱多了毕竟控制好爆炸的前提下梯度消失的越慢记忆的距离就越长嘛。 因此在往长时记忆单元添加信息方面加性规则要显著优于乘性规则。也证明了加法更适合做信息叠加而乘法更适合做控制和scaling。 由此我们就确定应用加性规则啦至此我们设计的网络应该是这样子的    【3.1】    【3.2】    【3.3】 那么有没有办法让信息装箱和运输同时存在的情况下让梯度消失的可能性变的更低让梯度爆炸的可能性和程度也更低呢你想呀我们往长时记忆单元添加新信息的频率肯定是很低的现实生活中只有很少的时刻我们可以记很久大部分时刻的信息没过几天就忘了。因此现在这种模型一股脑的试图永远记住每个时刻的信息的做法肯定是不合理的我们应该只记忆该记的信息。 显然对新信息选择记或者不记是一个控制操作应该使用乘性规则。因此在新信息前加一个控制阀门只需要让公式【3.1】变为 这个我们就叫做“输入门”啦取值0.01.0。为了实现这个取值范围我们很容易想到使用sigmoid函数作为输入门的激活函数毕竟sigmoid的输出范围一定是在0.0到1.0之间嘛。因此以输入门为代表的控制门的激活函数均为sigmoid因此控制门 当然这是对一个长时记忆单元的控制。我们到时候肯定要设置很多记忆单元的要不然脑容量也太低啦。因此每个长时记忆单元都有它专属的输入门在数学上我们不妨使用来表示这个按位相乘的操作用大写字母C来表示长时记忆单元集合。即    【4】 嗯由于输入门只会在必要的时候开启因此大部分情况下公式【4】可以看成C(t)C(t-1)也就是我们最理想的状态。由此加性操作带来的梯度爆炸也大大减轻啦梯度消失更更更轻了。  等等爱思考的同学可能会注意到一个问题。万一神经网络读到一段信息量很大的文本以致于这时输入门欣喜若狂一直保持大开状态狼吞虎咽的试图记住所有这些信息会发生什么呢 显然就会导致c的值变的非常大要知道我们的网络要输出的时候是要把c激活的参考公式【0.3】当c变的很大时sigmoid、tanh这些常见的激活函数的输出就完全饱和了比如如图tanh 当c很大时tanh趋近于1这时c变得再大也没有什么意义了因为饱和了脑子记不住这么多东西 这种情况怎么办呢显然relu函数这种正向无饱和的激活函数是一种选择但是我们总不能将这个网络输出的激活函数限定为relu吧那也设计的太失败啦 那怎么办呢其实想想我们自己的工作原理就知道啦。我们之所以既可以记住小时候的事情也可以记住一年前的事情也没有觉得脑子不够用不就是因为我们。。。爱忘事嘛。所以还需要加一个门用来忘事这个门就叫做“遗忘门”吧。这样每个时刻到来的时候记忆要先通过遗忘门忘掉一些事情再考虑要不要接受这个时刻的新信息。 显然遗忘门是用来控制记忆消失程度的因此也要用乘性运算即我们设计的网络已进化成 或者向量形式的 好啦解决了如何为我们的长时记忆单元可控的添加新信息的问题又贴心的考虑到并优雅解决了信息输入太过丰富导致输入控制门“合不拢嘴”的尴尬情况那么是时候考虑我们的长时记忆单元如何输出啦 有人说输出有什么好考虑的当前的输出难道不就仅仅是激活当前的记忆吗难道不就是最前面说的y(t)f(c(t))其中f(·)为激活函数 试想假如人有1万个长时记忆的脑细胞每个脑细胞记一件事情那么我们在处理眼前的事情的时候是每个时刻都把这1万个脑细胞里的事情都回忆一遍吗显然不是呀我们只会让其中一部分跟当前任务当前时刻相关的脑细胞输出即应该给我们的长时记忆单元添加一个输出阀门也就是说应该输出  嗯终于看起来好像没有什么问题了。 那么我们最后再定义一下控制门们输入门、遗忘门、输出门受谁的控制就可以啦。这个问题也很显然当然就是让各个门受当前时刻的外部输入x(t)和上一时刻的输出y(t-1)啦即。。。。。。好像这样的思维在RNN中并不会有什么问题但是不要忘了在我们这个新设计的网络中多了一堆阀门尤其注意到输出门一旦输出门关闭就会导致其控制的记忆f(c(t))被截断下一时刻各个门就仅仅受当前时刻的外部输入x(t)控制了这显然不符合我们的设计初衷尽可能的让决策考虑到尽可能久的历史信息。怎么办呢最简单的做法就是再把长时记忆单元接入各个门即把上一时刻的长时记忆c(t-1)接入遗忘门和输入门把当前时刻的长时记忆c(t)接入输出门当信息流动到输出门的时候当前时刻的长时记忆已经被计算完成了。即当然这个让各个门考虑长时记忆的做法是后人打的补丁这些从长时记忆单元到门单元的连接被称为peephole猫眼。至此还有什么问题吗看起来真没有问题啦我们设计的simple版的网络就完成啦总结一下即就起名叫“门限simple RNN”吧非学术界认可  然而作为伟大的设计者怎么能止步于simple呢我们要像simple RNN推广出standardRNN的做法那样推广出我们的standard版本即加入隐藏层 为什么要加隐藏层已经在本文开头提到了这也是simpleRNN到standardRNN的核心区别这也是RNN及其变种可以作为深度学习的主角之一的原因。模仿RNN的做法我们直接用隐藏层单元h来代替最终输出y   显然由于h随时都可以被输出门截断所以我们可以很感性的把h理解为短时记忆单元。而从数学上看的话更是短时记忆了因为梯度流经h的时候经历的是h(t)-c(t)-h(t-1)的连环相乘的路径在输入输出门关闭前显然如前边的数学证明中所述这样会发生梯度爆炸和消失而梯度消失的时候就意味着记忆消失了即h为短时记忆单元。同样的思路可以再证明一下由于梯度只从c走的时候存在一条无连环相乘的路径可以避免梯度消失。又有遗忘门避免激活函数和梯度饱和因此c为长时记忆单元。 好啦我们standard版本的新型网络也完成了有没有觉得信息量超级大又乱掉了呢不要急贴心的小夕就再带你总结一下我们这个网络的前馈过程 新时刻t刚刚到来的时候1、首先长时记忆单元c(t-1)通过遗忘门g_forget去遗忘一些信息。2、其中g_forget受当前时刻的外部输入x(t)、上一时刻的输出(短时记忆)h(t-1)、上一时刻的长时记忆c(t-1)的控制。3、然后由当前时刻外部输入x(t)和上一时刻的短时记忆h(t-1)计算出当前时刻的新信息。4、然后由输入门g_in控制将当前时刻的部分新信息写入长时记忆单元产生新的长时记忆c(t)。5、其中g_in受x(t)、h(t-1)、c(t-1)的控制。6、激活长时记忆单元c(t)准备上天输出。7、然后由输出门g_out把控将至目前积累下来的记忆c(t)选出部分相关的记忆生成这一时刻我们关注的记忆h(t)再把这部分记忆进行输出y(t)。8、其中输出门g_out受x(t)、h(t-1)和当前时刻的长时记忆c(t)的控制。 前馈的过程写完了梯度反传的过程就让深度学习平台去自动求导来完成吧有M倾向的同学可以尝试对上述过程进行手动求导。 好啦最后对全文的设计过程总结一下 1、我们为了解决RNN中的梯度消失的问题为了让梯度无损传播想到了c(t)c(t-1)这个朴素却没毛病的梯度传播模型我们于是称c为“长时记忆单元”。2、然后为了把新信息平稳安全可靠的装入长时记忆单元我们引入了“输入门”。3、然后为了解决新信息装载次数过多带来的激活函数饱和的问题引入了“遗忘门”。4、然后为了让网络能够选择合适的记忆进行输出我们引入了“输出门”。5、然后为了解决记忆被输出门截断后使得各个门单元受控性降低的问题我们引入了“peephole”连接。6、然后为了将神经网络的简单反馈结构升级成模糊历史记忆的结构引入了隐单元h并且发现h中存储的模糊历史记忆是短时的于是记h为短时记忆单元。7、于是该网络既具备长时记忆又具备短时记忆就干脆起名叫“长短时记忆神经网络(Long Short Term Memory Neural Networks简称LSTM)“啦。 呼历时三天终于完稿了。将12000字的手稿强行压缩到了5600字将初稿里5、6个啰哩啰嗦的故事全都删了。天我只想说我再也不抱着讲透彻的想法给别人讲解LSTM了 参考文献1. Hochreiter S, Schmidhuber J. Long Short-Term Memory[J]. Neural Computation, 1997, 9(8): 1735-1780.2. Gers F A, Schmidhuber J, Cummins F, et al.Learning to Forget: Continual Prediction with LSTM[J]. Neural Computation,2000, 12(10): 2451-2471.3. Gers F A, Schraudolph N N, Schmidhuber J, etal. Learning precise timing with lstm recurrent networks[J]. Journal of MachineLearning Research, 2003, 3(1): 115-143.4. A guide to recurrent neural networks and backpropagation. Mikael Bod ́en.5. http://colah.github.io/posts/2015-08-Understanding-LSTMs/6. 《Supervised Sequence Labelling with Recurrent Neural Networks》Alex Graves7. 《Hands on machine learning with sklearn and tf》Aurelien Geron8. 《Deep learning》Goodfellow et.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信版网站开发用安卓做网站

幸福树,一种寓意美好的观赏型植物,它生长非常迅速,稍不注意就长的非常茂盛。而要想保证幸福树的美貌,跟人的头发一样,我们要给它适当的修剪,那幸福树怎么修剪呢?为了大家能养出美丽的幸福树来&a…

HarmonyOS后台任务调度:JobScheduler与WorkManager实战指南

本文将深入探讨HarmonyOS 5(API 12)中的后台任务调度机制,重点讲解JobScheduler和WorkManager的使用方法、适用场景及最佳实践,帮助开发者实现高效、智能的后台任务管理。1. 后台任务调度概述 HarmonyOS提供了两种…

总线传输的四个阶段

1.申请分配阶段 由需要使用总线的主模块或主设备提出申请,经过总线仲裁机构决定下一个传输周期的总线使用权。也可将此阶段细分为传输请求和总线仲裁两个阶段 2.寻址阶段 获得使用权的主模块,通过总线发出本次要访问…

学校站群框架如何开发插件实现Word图片的批量上传与编辑?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

化妆品公司网站源码wordpress ip锁定插件

在React的类组件中,从组件创建到组件被挂载到页面中,这个过程react存在一系列的生命周期函数,最主要的生命周期函数是componentDidMount、componentDidUpdate、componentWillUnmount 生命周期图例如下 1. componentDidMount组件挂载 如果你…

怎样改网站英文域名保定定兴网站建设

来源:新战略机器人为什么需要协作机器人?协作机器人的兴起意味着传统机器人必然有某种程度的不足,或者无法适应新的市场需求。总结一下,主要有几点:传统机器人部署成本高其实相对来讲,工业机器人本身的价格…

广西工程造价信息网佛山seo优化排名推广

1、先登录服务器创建新目录aaa 2、云盘都快照备份下。后续操作完核实无误了,您根据您需求删除快照就行, 然后登录服务器内执行: fdisk -l sblk blkid ll /aaa 3、执行:(以下命令是进行数据盘做ext4文件系统并挂载…

HarmonyOS事件订阅与通知:后台事件处理

本文将深入探讨HarmonyOS 5(API 12)中的事件订阅与通知机制,重点讲解如何在后台处理事件,实现应用的实时响应和跨设备协同。内容涵盖核心API、实现步骤、实战示例及性能优化建议。1. 事件订阅与通知机制概述 Harmo…

HarmonyOS后台任务管理:短时与长时任务实战指南

本文将深入探讨HarmonyOS 5(API 12)中的后台任务管理机制,详细讲解短时任务和长时任务的适用场景、实现方法、性能优化及最佳实践,帮助开发者构建高效节能的后台任务系统。1. 后台任务概述与分类 HarmonyOS提供了完…

案例分享 | 芯片企业官网优化

案例分享 | 芯片企业官网优化

Kali Linux 2025.3 发布 (Vagrant Nexmon) - 领先的渗透测试发行版

Kali Linux 2025.3 发布 (Vagrant & Nexmon) - 领先的渗透测试发行版Kali Linux 2025.3 发布 (Vagrant & Nexmon) - 领先的渗透测试发行版 The most advanced Penetration Testing Distribution 请访问原文链接…

C语言多线程同步详解:从互斥锁到条件变量

在多线程编程中,线程同步是确保多个线程正确协作的关键技术。当多个线程访问共享资源时,如果没有适当的同步机制,可能会导致数据竞争、死锁等问题。本文将详细介绍C语言中常用的线程同步技术。 为什么需要线程同步?…

收废铁的做网站有优点吗完整网站设计

一、卸载 1. sudo apt-get autoclean 如果你的硬盘空间不大的话,可以定期运行这个程序,将已经删除了的软件包的.deb安装文件从硬盘中删除掉。如果你仍然需要硬盘空间的话,可以试试apt-get clean,这会把你已安装的软件包的安装包也…

微网站的好处服务器架设国外做违法网站

文章目录 给飞行中的飞机换引擎安全意识十原则开发层面产品层面运维层面给飞行中的飞机换引擎 所谓给飞行中的飞机(或飞驰的汽车)换引擎,说的是我们需要对一个正在飞速发展的系统进行大幅度的架构改造,比如把 All-in-one 的架构改造成微服务架构,尽可能减少或者消除停服的…

企业网站建设前言宁海县做企业网站

数据挖掘主要侧重解决四类问题:分类、聚类、关联、预测。数据挖掘非常清晰的界定了它所能解决的几类问题。这是一个高度的归纳,数据挖掘的应用就是把这几类问题演绎的一个过程。 数据挖掘最重要的要素是分析人员的相关业务知识和思维模式。一般来说&…

确实网站的建设目标一个网站突然打不开

https://www.jb51.net/article/106525.htm 本文实例讲述了JS实现的五级联动菜单效果。分享给大家供大家参考,具体如下: js实现多级联动的方法很多,这里给出一种5级联动的例子,其实可以扩展成N级联动,在做项目的时候碰到了这样一…

Browser Use调用浏览器入门

用的是deepseek的api 一定要去官网看示例,网上的文章都比较老了,python的很多库版本基本都是不兼容的。新版的api跟老版的区别很大、、 运行的时候,要把电脑的代理关了,或者os设置一下不走代理。详情见 https://gi…

安防视频监控新时代:国标GB28181平台EasyGBS的可视化首页如何重塑运维与管理体验?

在视频监控迈入全面联网、集中管理的时代,GB/T28181国家标准已成为实现设备互联互通的核心基石。然而,仅仅实现接入是远远不够的,如何高效、直观地管理和运维海量视频资源成为新的挑战。本文将深入探讨基于GB28181协…

What is bad statistics

Bad statistics must involve self proof of the authors viewpoint and establish on a few of samples. Mathematical statistics only establishes on a huge sample space like PHYSICS. So the findings of PHYSI…

LazyForEach性能优化:解决长列表卡顿问题

本文将深入解析HarmonyOS中LazyForEach的工作原理、性能优势、实战优化技巧及常见问题解决方案,帮助你构建流畅的长列表体验。1. LazyForEach 核心优势与原理 LazyForEach 是鸿蒙ArkUI框架中为高性能列表渲染设计的核…