【NLP】注意力机制在神经网络中的应用

注意力机制在神经网络中的应用0. 前言
这篇是我在一门专业选修课上的结课论文,当时的认识还是太过浅薄 。
最近开始系统学习NLP相关知识,先将这篇小论文发出来,之后会写关于2017年谷歌发布的《 Is All You Need》的笔记,还有的代码实现 。鼓励自己学习,欢迎大家批评指正 。
1. 相关认知神经科学的实验结果
注意力视觉同认识神经科学的联系是在视觉方面,我们经常说的注意力不集中都是体现在我们使用眼睛去看的过程 。对于注意力机制的研究,早在上世纪九十年代就有人研究,但是在本世纪才出现了对于注意力机制在视觉领域和自然语言处理方面的应用 。
2014年,Deep Mind发表了题为《of
》的论文,第一次将注意力机制应用在计算机视觉领域,该研究组织将注意力机制引入到RNN模型当中,提出了RAM(The
Model)模型按照时间顺序处理输入,一次在一张图像中处理不同位置,结合信息以建立一个同环境相关的动态间隔表示,该模型可以基于过去的信息和任务需要选择下一个位置进行处理,可以摆脱源文件的大小约束 。
同年,[1]等人发表论文《byto Align and 》,在这篇文章中,将类似注意力机制应用在了NLP(,自然语言处理)领域,其采用+模型来进行机器翻译,效果得到显著提升,之后,基于的RNN模型被广泛应用到各种NLP任务中 。
2015年,Minh-Thang Luong[2]发表论文《to -based》,本篇论文极大促进了后续各种基于机制的模型在NLP领域的应用,在该篇文章中,提出了全局注意力机制和局部注意力机制 。
机制的研究重要节点是2017年,的机器翻译团队在NIPS
2017发表《 is All You Need》[3],该研究中,完全摆脱了RNN和CNN等现有网络结构的束缚,仅仅采用了机制来完成机器翻译任务,提出了网络结构,在NLP、CV( , 计算机视觉)领域都得到充分应用 。
2018年,进一步发展网络,发布《Pre- of Deep
for
》[4],BERT模型是基于发展而来,对机制的应用更加充分,成功在11项NLP任务中取得优秀成果,在自然语言处理领域得到不少赞声 。
2. 算法的基本原理
人工智能这个学科的出现,便是人们对机器拟人态的追求,机制便是对人的感知方式和注意力原理的应用 。
人类视觉领域的注意力机制是人类视觉特有的信号处理机制,人大脑视觉领域可以通过快速扫描图像局部,获取需要重点关注的目标区域,集中注意力 。对于判断为无关的区域,将给予极少的和注意力,这样的视觉原理使得人类可以利用有限的注意力资源从大量信息中筛选得到高价值的信息,极大提高了人类视觉处理信息的效率,同时保证了准确性,下图很好的表示了人类对于注意力的合理安排 。
人类将更多的注意力分配到人脸、文字等具有极高辨识度的区域,而对文章中的空白背景等不具有特征的部分则不会倾注太多注意力[7] 。
注意力机制便是将该原理应用到机器学习中,计算机视觉领域就是使机器训练识别关注点,从而忽略其他不重要的部分,在机器中的操作是使其模糊化 。而在自然语言处理领域,则是采取提取关键字的方式来集中机器注意力 。
对于机制原理的阐述离不开-模型,最初注意力机制便是在这个模型中得到使用,而且目前大多数注意力模型也都是依赖于-框架下 。
该框架可以看作是一种研究模式,抽象框架中,我们是先将源语言输入中进行编码,得到语义编码c传递给中进行解码,从而实现语言间的翻译 。
这种传统的-框架是没有体现出注意力的重要性的,它属于注意力不集中的分心模型,在这样的框架下的翻译,对每个词翻译时,其他单词都对翻译产生一样的影响,而实际上我们在翻译特定词时,这个单词本身应该占有很大的权重,这样才能在翻译长句子时也保证准确性 。