瞎聊机器学习——Attention机制

简介: 瞎聊机器学习——Attention机制

本文讲述一下在自然语言处理中很常用的一个机制—Attention机制。


Seq2Seq模型

提到了attention机制我们就不得不说一下Seq2Seq模型,也就是编码器-解码器 (Encode-Decode) 结构,该结构是当前非常热门的一种深度学习结构。


Seq2Seq模型是基于RNN的一种模型(由两个RNN网络构成),模型的一大特点是输入输出序列的长度可以是不相同的,这种结构又可以叫做Encoder-Decoder模型,Encoder部分需要将输入数据编码成一个上下文向量C,得到该上下文向量的方法有很多,最简单的方法就是把Encoder的最后一个引状态赋值给C,还可以对最后一个隐状态做一个变换得到C,也可以对所有的隐状态做变换,在拿到了这个上下文向量C后,就用另一个RNN网络对其进行解码,这部分RNN网络被称为Decoder。因为这种结构不限制输入和输出的序列长度,因此应用的范围非常广泛。


seq2seq的结构图如下所示:


结构图中C左侧的部分便是Encoder,右侧的部分便是Decoder,对于上下文向量C的组成可以有如下的形式:

  • C=h4
  • C=q(h4)
  • C=q(h1,h2,h3,h4)


这种结构的模型通常将输入序列编码成一个固定长度的向量表示,对于长度较短的输入序列而言,该模型能够学习出对应合理的向量表示。然而,这种模型存在的问题在于:当输入序列非常长时,模型难以学到合理的向量表示。


Attention机制

Attention机制的基本思想是,打破了传统编码器-解码器结构在编解码时都依赖于内部一个固定长度向量的限制。也就是让RNN/LSTM的每一步从更大范围的信息中选取。


Attention机制的实现是通过保留LSTM编码器对输入序列的中间输出结果,然后训练一个模型来对这些输入进行选择性的学习并且在模型输出时将输出序列与之进行关联。


 

Attention机制数学原理的推导:Attention机制


Attention机制的应用

文本翻译

文本翻译中,当给定一个法语句子的输入序列,他将翻译并输出英文句子,注意力机制用于观察输入序列中与输出序列每一个词对应的具体单词。生成每个目标词时,我们让模型搜索一些输入单词或由编码器计算得到的单词标注,进而扩展基本的编码器-解码器结构。这让模型不再必须将整个源句子编码成一个固定长度的向量,还能让模型仅聚焦于和下一个目标词相关的信息。


图说模型

基于序列生成的attention机制可以应用在计算机视觉相关的任务上,帮助卷积神经网络重点关注图片的一些局部信息来生成相应的序列,典型的任务就是对一张图片进行文本描述。

给定一张图片作为输入,输出对应的英文文本描述。Attention机制被用在输出输出序列的每个词时会专注考虑图片中不同的局部信息。


语音识别

给定一个英文的语音片段作为输入,输出对应的音素序列。

Attention机制被用于对输出序列的每个音素和输入语音序列中一些特定帧进行关联。


文本摘要

给定一篇英文文章作为输入序列,输出一个对应的摘要序列。

Attention机制被用于关联输出摘要中的每个词和输入中的一些特定词。

相关文章
|
2月前
|
机器学习/深度学习 安全 算法
利用机器学习优化网络安全防御机制
【2月更文挑战第23天】 在数字化时代,网络安全已成为维护信息完整性、保障用户隐私的关键挑战。随着攻击手段的日益复杂化,传统的防御策略逐渐显得力不从心。本文通过引入机器学习技术,探索其在网络安全防御中的应用及优化路径。首先,概述了当前网络安全面临的主要威胁和机器学习的基本概念;其次,分析了机器学习在识别恶意行为、自动化响应等方面的潜力;最后,提出了一个基于机器学习的网络安全防御框架,并通过案例分析展示了其有效性。本研究旨在为网络安全领域提供一种创新的防御思路,以适应不断演变的网络威胁。
66 2
|
2月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
195 0
|
2月前
|
机器学习/深度学习 Python
机器学习中的工作流机制
机器学习中的工作流机制
|
2月前
|
机器学习/深度学习 自然语言处理 并行计算
【机器学习】“注目未来:自注意力机制的巧妙设计引领自然语言处理新潮流“
【机器学习】“注目未来:自注意力机制的巧妙设计引领自然语言处理新潮流“
65 0
|
机器学习/深度学习 数据采集 算法
机器学习基础:令你事半功倍的pipeline处理机制
机器学习基础:令你事半功倍的pipeline处理机制
机器学习基础:令你事半功倍的pipeline处理机制
|
机器学习/深度学习 数据采集 算法
机器学习中令你事半功倍的pipeline处理机制​
机器学习中令你事半功倍的pipeline处理机制​
机器学习中令你事半功倍的pipeline处理机制​
|
机器学习/深度学习 人工智能 算法
用验证机制加强神经网络的能力:研究者提出机器学习防御措施
几年前,我们见证了神经网络和学习算法的快速兴起。人工智能时代正在到来,探索过程中也不可避免出现一些失败的尝试,有些失败的项目往往有迹可循,因为算法足够简单,我们可以以管窥豹,做出合理的猜想。
962 0
|
机器学习/深度学习 分布式计算 Apache
|
机器学习/深度学习 分布式计算 Apache