[1] 多层感知机(MLP)

  最典型的MLP包括包括三层:输入层、隐层和输出层,MLP神经网络不同层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。

  由此可知,神经网络主要有三个基本要素:权重、偏置和激活函数

  权重:神经元之间的连接强度由权重表示,权重的大小表示可能性的大小

  偏置:偏置的设置是为了正确分类样本,是模型中一个重要的参数,即保证通过输入算出的输出值不能随便激活。

  激活函数:起非线性映射的作用,其可将神经元的输出幅度限制在一定范围内,一般限制在(-11)或(01)之间。最常用的激活函数是Sigmoid函数,其可将(-∞,+∞)的数映射到(0~1)的范围内。

[2] 编码器-解码器(encoder-decoder)

  编码器-解码器一般使用在机器翻译任务中,基于注意力机制的编码器-解码器架构如下:


  这里只做简单介绍,了解更多可以查看文末的参考文章列表。

  编码器的最终隐藏状态可以传给另一个RNN(解码器)。该RNN的每个输出都是输出序列中的一个单词,并作为RNN下一步的输入。然而,这样的架构需要编码器编码整个输入序列为最终隐藏状态。相反,如果使用注意力模型,解码器不仅接受最终隐藏状态作为输入,还接受编码器处理输入序列的每一步的输出作为输入。编码器可以赋予编码器输出不同的权重,在计算解码器输出序列的每次迭代中使用。

  解码器循环层的最终输入为注意力加权的编码器输出和循环单元前一步的预测单词索引。下为这一过程的示意图,其中“Context”(上下文)表示编码器输出张量。为了简化图形,示意图中省略了嵌入层。

[3] 编码器-解码器(encoder-decoder)

  为了解决由长序列到定长向量转化而造成的信息损失的瓶颈,Attention注意力机制被引入了。Attention机制跟人类翻译文章时候的思路有些类似,即将注意力关注于我们翻译部分对应的上下文。同样的,Attention模型中,当我们翻译当前词语时,我们会寻找源语句中相对应的几个词语,并结合之前的已经翻译的部分作出相应的翻译,如下图所示,当我们翻译“knowledge”时,只需将注意力放在源句中“知识”的部分,当翻译“power”时,只需将注意力集中在"力量“。这样,当我们decoder预测目标翻译的时候就可以看到encoder的所有信息,而不仅局限于原来模型中定长的隐藏向量,并且不会丧失长程的信息。

  数学运算可以查看文末的参考文章列表。

[4] 残差连接(residual connection)


  如上图,上面是来自于resnet模型的skip block的示意图。我们可以使用一个非线性变化函数来描述一个网络的输入输出,即输入为X,输出为F(x),F通常包括了卷积,激活等操作。

  这就是residual connection的思想,将输出表述为输入和输入的一个非线性变换的线性叠加,没用新的公式,没有新的理论,只是换了一种新的表达。

  残差连接是何的首创吗?当然不是,传统的神经网络中早就有这个概念,文【2】中则明确提出了残差的结构,这是来自于LSTM的控制门的思想。

y=H(x,WH)•T(x,WT)+X•(1−T(x,WT))y = H(x,WH)•T(x,WT) + X•(1- T(x,WT))y=H(x,WH)•T(x,WT)+X•(1−T(x,WT))

  可以看出,当T(x,WT)=0T(x,WT) = 0T(x,WT)=0,y=xy=xy=x,当T(x,WT)=1T(x,WT) = 1T(x,WT)=1,y=H(x,WH)y= H(x,WH)y=H(x,WH)。

  总之,为我们所知道的就是下面的式子叫残差连接,residual connection:

y=H(x,WH)+Xy = H(x,WH) + Xy=H(x,WH)+X

参考文章:

[1] MLP参考:https://zhuanlan.zhihu.com/p/63184325
[2] 编码器-解码器参考:https://zhuanlan.zhihu.com/p/52036405
[3] 注意力机制参考:https://zhuanlan.zhihu.com/p/46313756
[4] skip connect参考:https://zhuanlan.zhihu.com/p/42833949

【神经网络】MLP 编码器-解码器 注意力机制 残差连接相关推荐

  1. 循环神经网络RNN 2—— attention注意力机制(附代码)

    attention方法是一种注意力机制,很明显,是为了模仿人的观察和思维方式,将注意力集中到关键信息上,虽然还没有像人一样,完全忽略到不重要的信息,但是其效果毋庸置疑,本篇我们来总结注意力机制的不同方 ...

  2. 理解卷积神经网络中的自注意力机制

    作者 | Shuchen Du 编译 | ronghuaiyang 转自 | AI公园 导读 计算机视觉中的编解码结构的局限性以及提升方法. 卷积神经网络(CNN)广泛应用于深度学习和计算机视觉算法中 ...

  3. 收藏 | 理解卷积神经网络中的自注意力机制

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨Shuchen Du.ronghuaiyang(译) ...

  4. 基于Seq2Seq的中文聊天机器人编程实践(Encoder编码器-Decoder解码器框架 + Attention注意力机制)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) Encoder编码器-Decoder解码器框架 + Atten ...

  5. 机器翻译 MXNet(使用含注意力机制的编码器—解码器,即 Encoder编码器-Decoder解码器框架 + Attention注意力机制)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) Encoder编码器-Decoder解码器框架 + Atten ...

  6. 用卷积神经网络和自注意力机制实现QANet(问答网络)

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/ ,学习更多的机器学习.深度学习的知识! 在这篇文章中,我们将解决自然语言处理(具体是指问答)中最具挑战性 ...

  7. 空间注意力机制sam_一种基于注意力机制的神经网络的人体动作识别方法与流程...

    本发明属于计算机视觉领域,具体来说是一种基于注意力机制的神经网络的人体动作识别的方法. 背景技术: 人体动作识别,具有着非常广阔的应用前景,如人机交互,视频监控.视频理解等方面.按目前的主流方法,可主 ...

  8. 跟李沐学AI之注意力机制+transformer

    注意力机制 注意力提示 注意力的可视化 注意力汇聚 平均汇聚 非参数注意力汇聚 带参数注意力汇聚 注意力评分函数 掩蔽softmax操作 加性注意力 缩放点积注意力 Bahdanau注意力 多头注意力 ...

  9. 注意力机制详解(脉络版)

    10.1 注意力提示 att有价值 人类对att的使用 10.1.1 生物学中的注意力 心理学中的双组件 非自主性提示 自主性提示 10.1.2 查询.键和值 非自主性提示:使用 FC 或者是 非参数 ...

最新文章

  1. oracle 查询数据横向,Oracle 查询存储过程做横向报表的方法
  2. 缓存框架(Java缓存)与框架缓存(介绍mybatis缓存)
  3. java web start error_java web start——启动文件错误,没法启动指定应用程序这个问题如何解决?谢谢...
  4. GDCM:无效的DICOM文件的测试程序
  5. 13.1.2 WEB应用程序
  6. [转载]dbms_lob用法小结
  7. mysql 5.7 主从切换_mysql5.7 主从复制的正常切换【转】
  8. php+代码行数常量,php统计文件中的代码行数
  9. 页面点击提交跳转_一个入口一次提交!“六税合一”综合申报操作指南请收好~...
  10. php主控,IcePHP框架中的快速后台中的通用CRUD功能框架(五) SCrud 主控类
  11. 企业级多用户发卡平台源码 源码完全开源 无任何加密
  12. vnc远程控制软件官网,值得一用的5款vnc远程控制软件官网
  13. 软件测试级别详细介绍
  14. 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔...
  15. 2022年热传递与热物理国际研讨会(HTT 2022)
  16. docker入门——构建镜像
  17. 华为服务器管理工具uMATE
  18. 政府行政管理思维与互联网思维
  19. 知识图谱论文阅读(十三)【2020 arXiv】Attentive Knowledge Graph Embedding for Personalized Recommendation
  20. 16MnCr5齿轮钢板成分|性能|执行标准|淬火+回火|产地舞钢

热门文章

  1. jquery-autoComplete 插件使用
  2. Spring---rabbitmq生产者配置
  3. JQuery $post函数
  4. python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别
  5. android sdk 如何重新生成debug.keystore
  6. c++软件开发面试旋极面试题_经典软件开发面试题:浏览器中输入一个网址后发生了什么?...
  7. python绘制动态图表怎么存下来_用python如何实现导入excel数据后自动生成图表?python如何实现交互式动态图表?...
  8. 入门 Python GUI 开发的第一个坑
  9. 在线作图|如何绘制带分组的散点图
  10. R语言与数据分析(11)R语言的数据结构