网站开发网页页面跳转,网站的横幅怎么做的,怎么做网站设计方案,东莞建站响应式网站多少钱文章目录 RNN网络简介传统RNN网络结构RNN的分类 长-短期记忆网络 (LSTM)GRU网络横空出世的Transformer网络Self-AttentionVisionTransformer Mamba模型Reference: RNN网络简介 “当人类接触新事物时#xff0c;他们不会从头开始思考。就像你在阅读这篇文章时#xff0c;你会根… 文章目录 RNN网络简介传统RNN网络结构RNN的分类 长-短期记忆网络 (LSTM)GRU网络横空出世的Transformer网络Self-AttentionVisionTransformer Mamba模型Reference: RNN网络简介 “当人类接触新事物时他们不会从头开始思考。就像你在阅读这篇文章时你会根据以前的知识理解每个单词而不是舍弃一切从字母开始重新学习。换句话说你的思维有延续性。” 如同卷积神经网络Convolutional Neural Network, CNN在计算机视觉领域深度学习模型的地位循环神经网络Recurrent Neural NetworkRNN同样对计算机听觉、时间序列预测、自然语言处理Natural Language ProcessingNLP做出了巨大贡献。 使用循环神经网络最重要的目的就是解决输入数据的次序问题当前时刻输入的信息可能受前一时刻输出的影响存在时序关联性。比如对于人们日常对话中的语音和文本而言播放一段录音和倒放一段录音、正着读一段文字和倒着读一段文字所能获取的信息并不相同当然通过一定训练能听懂的唱跳rap古神语或阿米诺斯除外。 因此为解决这一类需要捕捉序列数据中的时序依赖关系的问题基于传统机器学习中包含输入、隐藏、输出三层的神经网络结构演变出的循环神经网络模型通过引入一个递归、延迟或称作循环的单元结构来建立输入信息之间的时序依赖关系从而允许信息在网络中传递并保持一定的记忆。 传统RNN单元基本结构 传统RNN网络结构
RNN 网络的基本结构包括一个输入层 x t x_t xt、隐藏层 h t h_t ht含激活函数Activation Function、延迟器循环单元、输出层 h t h_t ht
网络中的神经元通过时间步骤连接形成循环允许信息从一个时间步骤的输出 h t − 1 h_{t-1} ht−1通过与输入 X t X_t Xt经过tanh函数激活后传递至下一个时间步骤输入的一部分 RNN具体计算公式 h t t a n h ( W i h x t b i h W h h x t − 1 b h h ) h_ttanh(W_{ih}x_tb_{ih}W_{hh}x_{t-1}b_{hh}) httanh(WihxtbihWhhxt−1bhh)
单个展开的RNN结构 整体展开的RNN结构 对于某 t 时刻的步骤RNN隐藏状态大致的计算方法为 RNN的分类
按照输入和输出的结构分类N vs N - RNN输入长度为N输出长度为NN vs 1 - RNN输入长度为N输出长度为11 vs N - RNN输入长度为1输出长度为NN vs M - RNN输入长度为N输出长度为M
在机器翻译里常见的是N vs M的情况即包含编码器 (Encoder) 和解码器 (Decoder) 两部分的seq2seq模型也是一种RNN的变体后来的Transformer模型也是基于Encoder-Decoder架构。
长-短期记忆网络 (LSTM)
为了解决 RNN 处理长期依赖关系时存在梯度消失/爆炸问题随着前后信息之间的距离不断拉大RNN会逐渐难以学习其中的连接信息陆续出现了一些改进的 RNN 变体如长短期记忆网络LSTM和门控循环单元Gated Recurrent UnitGRU。这些模型通过引入门控机制允许网络有选择性地更新记忆和遗忘信息从而更有效地处理时间序列的长期依赖关系避免梯度消失。
LSTM的全称是Long Short-Term Memory顾名思义它具有记忆更长的短期信息能力的神经网络。
就像我们学习知识时会不断加深特别重要的记忆和遗忘部分不那么感兴趣的记忆LSTM引入了门控机制用于控制特征的流通和损失。
标准RNN中只包含单个tanh层的重复模块
而LSTM中包含了与之相似的链式结构但不同的是它的重复模块结构不同是加入了门控机制的神经网络
LSTM结构中的符号定义 LSTM单元包含的内容 Cell 状态/记忆单元Cell State cell状态本身是一个向量包含了关于序列中过去的信息以及在当前时刻步骤的输入中保留的新信息。它是LSTM单元的主要内部状态用于存储长期依赖关系。 cell状态有点像传送带它将遗忘门与cell状态的计算结果和输入门与候选记忆的计算结果贯穿整个链式结构这其实也就是信息记忆的地方因此信息能很容易地以不变的形式从中流过。 F t × C t − 1 F_t×C_{t−1} Ft×Ct−1表示希望删除的信息 I t × C ~ t I_t× \widetilde{C}_t It×C t表示新增的信息 输入门Input Gate 控制有多少信息可以流入cell状态。它使用输入数据和先前的隐藏状态来决定更新哪些信息。 遗忘门Forget Gate 决定在cell状态中丢弃多少旧的信息。通过考虑先前的隐藏状态和输入它确定要保留多少过去的信息。 输出门Output Gate 控制从cell状态到输出的信息流。通过考虑先前的隐藏状态和输入它决定将多少cell状态的信息传递到当前的隐藏状态和输出。 候选记忆单元 tanh将信息值映射到[-1,1]之间有助于缓解梯度爆炸问题。 GRU网络
相比LSTM网络GRU(Gate Recurrent Unit门控循环单元)网络更为简化 记录自B站大学上看到的一段针对GRU的讨论凝炼了对GRU的理解十分精彩
“ R t R_t Rt 和 Z t Z_t Zt 都是根据过去的状态 H t − 1 H_{t-1} Ht−1和当前输入 X t X_t Xt计算得到的 [0,1] 之间的量 R t R_t Rt首先与 H t − 1 H_{t-1} Ht−1 进行元素积由于 R t R_t Rt 内部都是 [0,1] 的变量因此是对过去的状态 H t − 1 H_{t-1} Ht−1 进行一次选择 R t R_t Rt在某个位置的值越趋近于0则表示这个位置的过去信息越倾向于被丢弃反之保留。随后与 X t X_t Xt一起构成候选隐藏变量 H ~ t \tilde{H}_t H~t。同样由于 R t R_t Rt的值在 [0,1] 中它只会削弱过去的状态而不会增强因此被称为遗忘门或重置门重置过去的状态。 Z t Z_t Zt被称为更新门因为它控制了隐藏状态的更新。假如 Z t Z_t Zt全为1则 H t H_t Ht将完全保留上一个时间的状态 H t − 1 H_{t-1} Ht−1反之则全盘采用当前时刻的候选隐藏变量 H ~ t \tilde{H}_t H~t;
或许各位会有疑问感觉 R t R_t Rt已经对过去有所选择为何还要加上 Z t Z_t Zt多此一举。 实际上 Z t Z_t Zt 是对当前进行选择比如如果一个文本序列中已经有很多的“猫”那么再输入猫实际上对于网络的正收益不大可以抛弃而 R t R_t Rt 只能选择过去不能抛弃当前而 Z t Z_t Zt 可以。 总而言之GRU通过两个门控网络根据过去状态和当前输入一方面对过去状态进行选择一方面对当前状态也进行选择。”
横空出世的Transformer网络
如今在AI领域家喻户晓的Transformer网络源自Google 2017年发表的 Attention is all you need
网络采用Encoder-Decoder结构
基于自注意力机制以及多头自注意力机制增强全局上下文特征的整合能力相比传统RNN、LSTM能捕捉更长的关联距离起初Transformer由于该优点主要应用于NLP领域后来热度逐渐攀升诞生了诸多其他领域甚至具体下游任务的变体如可用于语音信号处理的Conformer、用于CV的VisionTransformer去雾的DeHazeFormer复原的RestoreFomer等等其中不乏SOTA级别。
Self-Attention
根据查询Q、键K和值V向量计算和分配全局注意力权重
计算过程就是对输入数据编码或者说特征提取的过程而编码的依据则是数据内部各元素之间的相关性。想要形象地理解自注意力机制的计算细节可以通过结合网上博客、视频讲解的“顾客买衣服”“海王选妃”之类的例子消化一下。
此外还要通过位置编码给序列进行编号排序计算公式本质上就是利用积化合差
VisionTransformer
ViT受NLP中应用Transformer的启发将图像数据拆分降维成序列数据送入Encoder处理并同样引入一个位置编码用于class分类排序
相比CNNViT的优点在于可以建立全局的依赖关系扩大图像的感受野。相比于CNN其感受野更大可以获取更多上下文信息。
缺点自注意力机制是通过筛选重要信息过滤不重要信息实现的这就导致其有效信息的抓取能力会比CNN小一些。这样是因为自注意力机制相比CNN无法利用图像本身具有的尺度平移不变性以及图像的特征局部性图片上相邻的区域有相似的特征即同一物体的信息往往都集中在局部这些先验知识只能通过大量数据进行学习。这就导致自注意力机制只有在大数据的基础上才能有效地建立准确的全局关系而在小数据的情况下其效果不如CNN。
Mamba模型
在Mamba out之前RWKV被认为是Transformer的时代的新RNN它将Transformer与RNN各自的优点相结合同时实现高度并行化训练与高效推理时间复杂度为线性复杂度在长序列推理场景下具有优于Transformer的性能潜力。 后来Mamba 因其在语言处理、基因组学和音频分析等各个领域的应用而脱颖而出。这种创新模型采用线性时间序列建模架构该架构结合了选择性状态空间可在不同模式包括语言、音频和基因组学中提供一流的性能。 这种突破性的模型代表了机器学习方法的重大转变这可能会提高效率和性能。 Mamba 的主要优势之一是能够解决与传统 Transformer 在处理长序列时相关的计算挑战。通过将选择机制集成到其状态空间模型中Mamba 可以根据序列中每个token的相关性有效地决定是传播还是丢弃信息。这种选择性方法可显着加快推理速度吞吐率比标准 Transformer 高出五倍并展示了随序列长度的线性缩放。值得注意的是即使在序列扩展到一百万个元素的情况下Mamba 的性能也会随着实际数据的不断提高而不断提高。 状态空间模型结构图如下 状态空间模型计算公式及其离散化中间水去了海量推导细节和算法对比… 离散化方法同样也是采用信号处理中常见的双线性变换法和零阶保持器。
在近几个月里基于Mamba模型的研究在AI领域的热度居高不下可见其相比Transformer具有一定的推理优势和有效性。
Reference:
[1] 爱生活爱自己_RNN的网络结构 [2] 落花雨时_深度学习 RNN架构解析 [3] 程序遇上智能星空_【RNN】深入浅出讲解循环神经网络介绍、原理 [4] 大师兄_详解LSTM [5] 李倩_LSTM的工作原理究竟是什么深入了解LSTM [6] 跟李沐学AI_56 门控循环单元GRU【动手学深度学习v2】 [7] 57 长短期记忆网络LSTM【动手学深度学习v2】 [8] 狗中赤兔–在线激情讲解transformerAttention注意力机制 [9] RWKV解读在Transformer的时代的新RNN [10] markconca_一文搞定自注意力机制 [11] 人工智能Mamba 介绍 [12] MindSpore_RWKV解读在Transformer的时代的新RNN