• 直观地、透彻地理解RNN、LSTM与Attention,这三种结构


    直观地、透彻地理解RNN、LSTM与Attention,这三种结构

      写在前面:文中的图画大部分截图于B站梗直哥丶的视频,欢迎大家根据下面的链接去选择观看,每个视频都不长,但是讲得非常透彻易懂,我呢则整理一下,以供自己以后的学习。
      梗直哥丶的讲解视频链接:
    RNN的:【循环神经网络】5分钟搞懂RNN,3D动画深入浅出
    LSTM的:【LSTM长短期记忆网络】3D模型一目了然,带你领略算法背后的逻辑
    Attention的:【Attention 注意力机制】激情告白transformer、Bert、GNN的精髓

    RNN

      RNN全称循环神经网络(Recurrent Neural Network, RNN),在自然语言处理(Natural Language Processing,NLP)应用非常广泛,在图像处理中同样非常火热,涉及到时间序列问题,尤其是网络中有上下文结构,那RNN通常是少不了的,下面我梳理一下看视频学习到的东西。(这一章我就不在每张图片下进行标题解释,只会给予标号,但文中我会加以解释。)

    1. RNN的三维结构
      图1-1是RNN直观上的三维结构,可以看出网络在时间尺度长进行了展开,将Xt与前一时刻Xt-1和后一时刻Xt+1进行关联,如图1-2所示进行时间尺度上的权重共享。
      在这里插入图片描述
    图1-1

    在这里插入图片描述

    图1-2
    1. 三维结构画成二维结构的解释
      图1-3为我们常见的RNN简易二维示图,下面将从三维向二维映射,观察搞清楚为什么这般表示。

    在这里插入图片描述

    图1-3
    我们的任务就是将图1-4中的左图映射到右图上,其实难度不大。

    在这里插入图片描述

    图1-4
    压缩垂直于屏幕的坐标轴上的结点,图1-5可以看到粉球代表输入层 X,蓝球未中间层 S,黄绿球为输出层 O。而后在时间轴上进行压缩,便会在中间层出现一个循环,这里面便是对应的权重 W。

    在这里插入图片描述

    图1-5
    同理将图1-5的左图逆时针旋转90度,便可以解释为图1-6中右图的简易表达形式了。

    在这里插入图片描述

    图1-6

    LSTM

      RNN在时间尺度长的延展非常的有限,不能有效查询较长一段时间内的信息,所以LSTM(长短期记忆网络,Long Short-Term Memory)诞生了,这是一个非常有趣的网络,我曾经为它的二维图像发愁的不得了,现在总算弄明白一些了,说白了,就如人的记忆力一样,我们需要不断地忘记,再不断地记忆,很有意思哎!

    1. LSTM的三维结构
      很有趣吧,就是加了一个 “日记本”,由图2-1可以看到,这个“日记本”所代表的支链连接着不同时刻的中间状态。
      在这里插入图片描述
    图2-1
    1. 三维结构画成二维结构的解释
      针对图2-1的St进行平铺展开,图2-2可以直观看到中间层与“日记本”互动过程,主要是删除和增加两个过程的进行。
      在这里插入图片描述
    图2-2
    图2-3对“橡皮”的删除过程进行了解释,那便是使用sigmoid函数把极大多数的负值给抹去,而“铅笔”的增加过程则使用tanh函数,延展增强负值,具体的情形可以看图2-3中的函数示意,非常的棒!这个两个函数便是后续我们看到的 σtanh ,而且删除和增加的学名便是遗忘门(forget gate)和输入门(input gate)。

    在这里插入图片描述

    图2-3
    进一步的计算可达到S t输入时刻在“笔记本”中的 c t,图2-4是图2-3的一个总结。

    在这里插入图片描述

    图2-4
    下面将上述的图像转化为常见的LSTM形式,如图2-8右图所示,首先将图2-5中的“日记本”正对我们朝上,成为图2-6。

    在这里插入图片描述

    图2-5

    在这里插入图片描述

    图2-6
    图2-6中“日记本”和中间层重叠,我们可以错位展开如图2-7所示。

    在这里插入图片描述

    图2-7
    现在可以对上了吧!这里需要注意图2-8中右图的h t-1以及h t就是我们上述图中的S t-1和S t,图2-8的右图中有关h t的计算没有进行展示,不过与遗忘门和输入门非常详尽,试着理解一下吧。

    在这里插入图片描述

    图2-8

    Attention

      主要是注意力机制,不过梗直哥说到这里的Attention就是权重的意思哦!!记住了,它(Attention) == 权重(Weight)。这里就不进行三维到二维的展开了,它没有LSTM那么抽象,所以我们就对典型的注意力机制和自注意力机制进行一个了解即可。

    1. 注意力机制
      图3-1为RNN结构示意,我们由此引出注意力结构。
      在这里插入图片描述
    图3-1
    图3-2可以看到只通过一个“笔记本”C进行权重共享,显然其处理能力是有限的。

    在这里插入图片描述

    图3-2
    一个不行那就多上几个,图3-3我们为每一个输出的状态配一个“笔记本”,这便是注意力机制了。

    在这里插入图片描述

    图3-3
    1. 自注意力机制
      仍然使用RNN中的时序结构对注意力结构的运行造成了一定障碍,为提高运行的速度,自注意力机制应运而生了,图3-4便是自注意力结构示意图。
      在这里插入图片描述
    图3-4
    将图3-4逆时针旋转90度,并详细的添加上中间层,那便是图3-5的自注意力结构了。

    在这里插入图片描述

    图3-5

    总结

      这三个结构的理解大多是使用图框进行通俗易懂的理解,至于具体的数学公式就不多赘述了,我需要有一个清晰地认识,至少我用到了LSTM以及Attention,我必须搞明白这是什么样的结构,这些结构在时间尺度上延展,有利于解决带有时序性质的问题。

  • 相关阅读:
    【RocketMQ 十二】RocketMQ工作原理之消息的消费
    加密大崩盘,Web3游戏到底还有没有未来?5篇论文深度探讨
    基于JAVA软件技术课程学习系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署
    【Vue】VueCLI 的使用和单文件组件(1)
    《海洋湍流导论》-Thorpe-2007读书笔记-第四章
    flink 写入 starrocks 报错 too many filtered rows attachment
    详解Python的__new__()方法
    网络安全(黑客)—小白自学
    【软件逆向】如何逆向Unity3D+il2cpp开发的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】
    挑战10个最难回答的Java面试题(附答案)
  • 原文地址:https://blog.csdn.net/weixin_42269028/article/details/126369596