转载自  自然语言处理中的Attention Model:是什么以及为什么[一]

自然语言处理中的Attention Model:是什么以及为什么[一]

1、前言

要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词。

AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效。听起来AM很高大上,其实它的基本思想是相当直观简洁的。

本文作者可以对灯发誓:在你读完这篇啰里啰嗦的文章及其后续文章后,一定可以透彻了解AM到底是什么,以及轻易看懂任何有关论文看上去复杂的数学公式部分。

怎么样,这广告打的挺有吸引力吧,尤其是对那些患有数学公式帕金森病的患者。

2、Encoder-Decoder框架

本文只谈谈文本处理领域的AM模型,在图片处理或者(图片-图片标题)生成等任务中也有很多场景会应用AM模型,但是我们此处只谈文本领域的AM模型,其实图片领域AM的机制也是相同的。

要提文本处理领域的AM模型,就不得不先谈Encoder-Decoder框架,因为目前绝大多数文献中出现的AM模型是附着在Encoder-Decoder框架下的,当然,其实AM模型可以看作一种通用的思想,本身并不依赖于Encoder-Decoder模型,这点需要注意。

Encoder-Decoder框架可以看作是一种文本处理领域的研究模式,应用场景异常广泛,本身就值得非常细致地谈一下,但是因为本文的注意力焦点在AM模型。

所以此处我们就只谈一些不得不谈的内容,详细的Encoder-Decoder模型以后考虑专文介绍。下图是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示:

Encoder-Decoder框架可以这么直观地去理解:可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。

对于句子对<X,Y>,我们的目标是给定输入句子X,期待通过Encoder-Decoder框架来生成目标句子Y。

X和Y可以是同一种语言,也可以是两种不同的语言。而X和Y分别由各自的单词序列构成:

Encoder顾名思义就是对输入句子X进行编码,将输入句子通过非线性变换转化为中间语义表示C:

对于解码器Decoder来说,其任务是根据句子X的中间语义表示C和之前已经生成的历史信息y1,y2….yi-1来生成i时刻要生成的单词yi

每个yi都依次这么产生,那么看起来就是整个系统根据输入句子X生成了目标句子Y。

Encoder-Decoder是个非常通用的计算框架,至于Encoder和Decoder具体使用什么模型都是由研究者自己定的,常见的比如CNN/RNN/BiRNN/GRU/LSTM/Deep LSTM等,这里的变化组合非常多,而很可能一种新的组合就能攒篇论文,所以有时候科研里的创新就是这么简单。

比如我用CNN作为Encoder,用RNN作为Decoder,你用BiRNN做为Encoder,用深层LSTM作为Decoder,那么就是一个创新。所以正准备跳楼的憋着劲想攒论文毕业的同学可以从天台下来了,当然是走下来,不是让你跳下来。

你可以好好琢磨一下这个模型,把各种排列组合都试试,只要你能提出一种新的组合并被证明有效,那恭喜你:施主,你可以毕业了。

扯远了,再拉回来。

3、总结

Encoder-Decoder是个创新游戏大杀器,一方面如上所述,可以搞各种不同的模型组合,另外一方面它的应用场景多得不得了,比如对于机器翻译来说,<X,Y>就是对应不同语言的句子,比如X是英语句子,Y是对应的中文句子翻译。

再比如对于文本摘要来说,X就是一篇文章,Y就是对应的摘要;

再比如对于对话机器人来说,X就是某人的一句话,Y就是对话机器人的应答;再比如……总之,太多了。哎,那位施主,听老衲的话,赶紧从天台下来吧,无数创新在等着你发掘呢。

由于篇幅不宜过多,后面的内容在自然语言处理中的Attention Model:是什么以及为什么[二]中推送。

自然语言处理中的Attention Model:是什么以及为什么[一]相关推荐

  1. 自然语言处理中的Attention Model:是什么以及为什么[二]

    转载自  自然语言处理中的Attention Model:是什么以及为什么[二] 自然语言处理中的Attention Model:是什么以及为什么[二] 1.Attention Model 图一见下: ...

  2. [转]自然语言处理中的Attention Model:是什么及为什么

    自然语言处理中的Attention Model:是什么及为什么 https://blog.csdn.net/malefactor/article/details/50550211 /* 版权声明:可以 ...

  3. 自然语言处理中的Attention Model原理介绍

    原文作者:张俊林 原文地址:自然语言处理中的Attention Model:是什么及为什么 版权声明:转载时请附上原文作者和地址 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Att ...

  4. (zhuan) 自然语言处理中的Attention Model:是什么及为什么

    自然语言处理中的Attention Model:是什么及为什么 2017-07-13 张俊林 待字闺中 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model( ...

  5. (转载)自然语言处理中的Attention Model:是什么及为什么

    转载说明来源:http://blog.csdn.net/malefactor/article/details/50550211 author: 张俊林 原文写得非常好! 原文: 要是关注深度学习在自然 ...

  6. 自然语言处理中的Attention Model:是什么及为什么

    /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 (想更系统地学习深度学习知识?请参考:深度学习枕边书) 要是关注深度学习在自然语言处理方面的研究进展, ...

  7. 深度学习方法(九):自然语言处理中的Attention Model注意力模型

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.NET/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 上一篇博文深度学习方法(八):Enc ...

  8. 自然语言处理中的Attention机制总结

    在面试的过程中被问到了attention,原来虽然其实已经实际用过attention了,也知道个大概原理是加权求和,但是对于加权的具体方法以及权值得分的计算并不是很清晰,面试答的一般,正好最近实习的地 ...

  9. 【NLP】Attention Model(注意力模型)学习总结

    最近一直在研究深度语义匹配算法,搭建了个模型,跑起来效果并不是很理想,在分析原因的过程中,发现注意力模型在解决这个问题上还是很有帮助的,所以花了两天研究了一下. 此文大部分参考深度学习中的注意力机制( ...

最新文章

  1. 转载:JMS-ActiveMQ浅析
  2. 大道至简:软件工程实践者的思想——第七、八章感想
  3. 【自动驾驶】33.【图像坐标系】 到 【像素坐标系】 的度量单位变换、【英寸】、【感光芯片】
  4. Spring boot切换Servlet容器
  5. grid布局浏览器兼容_CSS Grid布局尝试
  6. UVALive 8518 - Sum of xor sum
  7. Spring Tools 4 for Eclipse 下载
  8. Yii 2.0 权威指南(7) 关键概念
  9. Oracle 条件语句/循环语句
  10. MySQL 基本语法
  11. 扫描工具扫描法查看网内IP使用情况
  12. 正则划分省市区(直辖市和附详细地址包括市,区)
  13. 大数据常用的架构有哪些
  14. 氨基酸三字母序列转单字母序列
  15. go reflection
  16. cesium--entity
  17. forensics - make virtual machine with E01[ewf] files on OSX ———— 电子取证 MAC OS平台仿真
  18. 宽带电视显示服务器错误是什么意思,智能电视提示“WiFi登录失败”什么原因?当贝市场告诉你...
  19. EFR32 xG1x的bootloader被擦除
  20. python判断正数和负数教案_正数和负数优秀教案

热门文章

  1. c++的assert函数
  2. Java手撕Linkedlist(双向链表)基本用法的实现
  3. 算法-排序-冒泡排序
  4. SpringCloud常见问题总结(二)
  5. sas sql中有类似mysql的 g_SAS中的SQL
  6. Sequence II (HDU 5919)(主席树)
  7. [AGC026D]Histogram Coloring
  8. PAT 1152 Google Recruitment (20 分)- 甲级
  9. AtCoder 2305 [AGC010D] Decrementing(博弈)
  10. 【学习笔记】浅谈短小可爱的左偏树(可并堆)