NLP(1)--NLP基础与自注意力机制

这篇具有很好参考价值的文章主要介绍了NLP(1)--NLP基础与自注意力机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、词向量

1、概述

2、向量表示

二、词向量离散表示

1、one-hot

2、Bag of words

3、TF-IDF表示

4、Bi-gram和N-gram

三、词向量分布式表示

1、Skip-Gram表示

2、CBOW表示 

四、RNN

五、Seq2Seq

 六、自注意力机制

1、注意力机制和自注意力机制

2、单个输出

3、矩阵计算

4、multi-head self-attention     

5、positional encoding


一、词向量

1、概述

        在自然语言处理中,用词向量表示一个词,将词映射为向量的形式。

        词向量:又叫Word嵌入式自然语言处理中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。

2、向量表示

        词向量可以有两种表示方法:dispersed representation和distribution representation

        dispersed representation:离散表示,一般使用one-hot独热编码。

        distribution representation:分布式表示,词嵌入就是分布式表示的形式,可以将一个词通过嵌入空间(embedding)映射为一个定长,稠密且存在语义关系的高维向量,这样可以保证语义接近的词之间的向量相似度较高。

二、词向量离散表示

1、one-hot

        one-hot:就是独热编码,将一句话中的每个词都对应一个独热编码,如“我爱学习人工智能”,编码后为:

        “我”:[1,0,0,0]

        “爱”:[0,1,0,0]

        “学习”:[0,0,1,0]

        “人工智能”:[0,0,0,1]

        独热编码存在问题:缺少词与词之间的关系,由于单词量巨大而产生的维度爆炸和词向量稀疏。

2、Bag of words

        将每个单词在语料库中出现的次数加到one-hot编码中。

        存在问题:仍没有解决词与词之间关系问题和维度爆炸问题,单词顺序也没有考虑。

3、TF-IDF表示

        将罕见的单词加上高权重,常见的加上低权重,其实跟上面一种方法类似。

        NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

        上述公式中,N为文档总数,表示词t的文档数。

        存在问题:同上

4、Bi-gram和N-gram

        将两个单词再次组成单词表,或多个单词组成单词表。

        存在问题:仍没有解决词义关系问题。

三、词向量分布式表示

       一般以Word2Vec作为分布式表示的示例。

        Word2Vec:从大量文本中以无监督学习方式训练语义知识的模型,通过学习文本来用词向量的方式表征词的语义信息,也就是在嵌入空间中两个词的空间距离近,则相似度更高。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

1、Skip-Gram表示

        通过中心词预测上下文词,在中心词已知情况下,预测上下文词出现概率

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

2、CBOW表示 

        通过上下文词,推理中心词,预测中心词出现的概率。在具体实现中,会使用滑动窗口的方式,读取上下文的词,来计算输出的中心词的极大似然值,训练输出词与真实中心词的相关性,利用梯度下降来进行迭代训练。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

四、RNN

        RNN:循环神经网络,指在全连接神经网络的基础上增加了前后时序上的关系。RNN的目的是用来处理序列数据,通过在网络中引入循环连接,使得RNN可以记忆之前的信息,并用于当前的输入。

        RNN结构:输入层+隐藏层+输出层。RNN结构中的隐藏层,会在每个时间点进行更新,作为网络对序列数据的内部表示,也会收到当前输入和之前隐藏层的影响。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

        RNN的优点:适用于处理序列数据,具有记忆能力,可以处理变长序列数据。

        RNN的缺点:处理长期依赖性问题时,容易产生梯度消失或梯度爆炸问题。由于每个时间点都要进行计算隐藏层和输出,计算效率过低,在长序列数据中会面临资源爆炸问题。

        如何解决梯度消失:合理的初始化权重,保证避免梯度消失(有点好笑了),使用ReLU函数作为激活函数,使用LSTM等新型结构。

五、Seq2Seq

        Seq2Seq:序列到序列模型,根据给定的序列,通过特定的生成方法生成另一个序列的方法,这两个序列可以不等长。这种结构又叫做Encoder-Decoder模型(编码-解码模型),也可以称为RNN的一个变种,解决了RNN序列等长的问题。

        Seq2Seq由三部分构成,Encoder编码器,语义编码c,Decoder解码器构成,编码器通过学习将输入序列编码成一个固定大小的向量c,解码器通过对c的学习进行输出。一般来说编码器和解码器都会代表一个RNN,如LSTM或GRU。(也有一般的RNN模型)

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

         另外另一种方式下,语义编码c将参加解码的每一个过程,而不是只作为初始化参数。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

 六、自注意力机制

1、注意力机制和自注意力机制

        传统注意力机制发生在Target元素和Source元素的所有元素中,权重的计算需要Target来参与。

        自注意力机制存在于输入语句内部元素之间或者输出语句内部元素之间,计算权重时也不需要Target来参与。

2、单个输出

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

        对于每一个输入向量a1,经过self-attention后都会输出一个向量b1,而这个b1是考虑了所有的输入向量a1,a2,...对a1产生的作用才得到的。首先我们将计算两个输入向量之间的α也就是相关性。

        下图中两个绿框,可以代表任意两个输入,比如a1和a2,左侧方法为,a1经过一个矩阵得到q(乘积运算),a2经过一个矩阵得到k(乘积运算),将q和k做内积运算得到,也就是图中的α。右侧方法为,a1经过一个矩阵得到q,a2经过一个矩阵得到k,将q和k做concat运算后投射到tanh激活函数,在与W矩阵(权重矩阵)做一次乘积得到。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

        接下来的操作计算每一个相关性α,下图中为,, ,。

        几个注意点:都是超参数,是输入进去的,通过与不同的a进行乘积运算得到的也是不同的。

        将,, ,放入softmax中进行归一化处理,获得,, ,,softmax的数学公式如下图右上角。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

          最后将每一个乘以矩阵得到,再与α进行相乘,将每一个相乘后的值相加求和,得到输出的b。b的计算公式如下图的右上角。        

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

3、矩阵计算

        首先可以将一个序列sequence的每一个a都进行concat这样形成了一个矩阵I,分别与进行矩阵乘法,就可以得到相应的q,k,v。      

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

        再将生成的每一个q和每一个k分别在x轴和y轴进行concat,形成Q和(K的转置),与Q进行矩阵乘法,就得到了A(也就是所有α所构成的二维矩阵),经过softmax就得到了A'(α'所构成的二维矩阵)

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

        第三步,将每一个v进行concat操作得到V,将V与A'做矩阵乘法,就得到了O(b进行concat构成的矩阵) 

        ​​​​​​​​​​​​​​

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

 

        整体来看,就是下图这样的一个矩阵运算操作。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

4、multi-head self-attention     

        多头自注意力机制,由于相关性可能有不同的形式,有不同的定义,所以可以有多个q,k,v来表示多种类型的相关性,也就是在超参数中存在   ​​​​​​,,...。对应的k,v也有多个。

        计算每一个的方式如下,最后需要对多个进行y轴方向的concat,也就是,将乘上权重矩阵W,得到

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

5、positional encoding

        对于训练self-attention时,存在位置信息缺失的问题,位置信息引入到训练数据中,所以我们可以在Self-attention中加入位置信息。

        通过设置一个新的positional vector,用表示,对于不同的处都有一个体现位置信息,vector的长度时人为规定,也可以通过大量数据训练出适合数据的vector。

NLP(1)--NLP基础与自注意力机制,自然语言处理,自然语言处理,人工智能,nlp,rnn,自注意力机制

参考视频:

37.39、 自注意力机制P37_哔哩哔哩_bil​​​​​​ibili

3-注意力机制的作用_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-693705.html

到了这里,关于NLP(1)--NLP基础与自注意力机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vision Transformer (ViT):图像分块、图像块嵌入、类别标记、QKV矩阵与自注意力机制的解析

    作者:CSDN @ _养乐多_ 本文将介绍Vision Transformers (ViT)中的关键点。包括图像分块(Image Patching)、图像块嵌入(Patch Embedding)、类别标记(class_token)、QKV矩阵计算过程、余弦相似度(cosine similarity)、Softmax、自注意力机制等概念。主要介绍QKV矩阵计算过程。 一、Image Patc

    2024年02月15日
    浏览(45)
  • Transformer(一)简述(注意力机制,NLP,CV通用模型)

    目录 1.Encoder 1.1简单理解Attention 1.2.什么是self-attention 1.3.怎么计算self-attention 1.4.multi-headed(q,k,v不区分大小写) 1.5.位置信息表达  2.Decoder(待补充)  3.BERT 参考文献 比方说,下图中的热度图中我们希望专注于小鸟,而不关注背景信息。那么如何关注文本和图像中的重点呢

    2024年02月13日
    浏览(39)
  • NLP 学习笔记十-simple RNN+attention(注意力机制)

    感兴趣的伙伴,看这个笔记,最好从头开始看哈,而且我的笔记,其实不面向零基础,最好有过一些实践经历的来看最好。 紧接上一回,我们谈到seq2seq模型解决用于机器翻译的问题。其中seq其实是采用lstm作为自己的基础记忆网络实现的,当然也可以用RNN实现实现seq2seq模型。

    2024年02月09日
    浏览(61)
  • 自然语言处理实战项目12-基于注意力机制的CNN-BiGRU模型的情感分析任务的实践

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目12-基于注意力机制的CNN-BiGRU模型的情感分析任务的实践,本文将介绍一种基于注意力机制的CNN-BiGRU模型,并将其应用于实际项目中。我们将使用多条CSV数据样例,并展示如何加载数据、训练模型、输出准确率和

    2024年02月13日
    浏览(83)
  • 注意力机制-基础

    基础部分比较简单,也还没有涉及到应用的核心,全是搬运,主要介绍几个例子。 主要是搬运来的: 动手学深度学习 NLP-王树森 人类的注意力是有限的、有价值和稀缺的资源。而环境中的干扰注意力的信息却并不少。 比如人类的视觉神经系统大约每秒收到 位的信息, 这远

    2024年02月12日
    浏览(37)
  • Bert基础(一)--自注意力机制

    当下最先进的深度学习架构之一,Transformer被广泛应用于自然语言处理领域。它不单替代了以前流行的循环神经网络(recurrent neural network, RNN)和长短期记忆(long short-term memory, LSTM)网络,并且以它为基础衍生出了诸如BERT、GPT-3、T5等知名架构。 本文将带领你深入了解Transformer的实

    2024年02月21日
    浏览(32)
  • 大模型基础之注意力机制和Transformer

    核心思想:在decoder的每一步,把encoder端所有的向量提供给decoder,这样decoder根据当前自身状态,来自动选择需要使用的向量和信息. decoder在每次生成时可以关注到encoder端所有位置的信息。 通过注意力地图可以发现decoder所关注的点。 注意力使网络可以对齐语义相关的词汇。

    2024年02月11日
    浏览(43)
  • 基于3D卷积的图像序列特征提取与自注意力的车牌识别方法

    【摘  要】 近年来,基于自注意力机制的神经网络在计算机视觉任务中得到广泛的应用。随着智能交通系统的广泛应用,面对复杂多变的交通场景,车牌识别任务的难度不断提高,准确识别的需求更加迫切。因此提出一个基于自注意力的免矫正的车牌识别方法T-LPR。首先对图

    2023年04月09日
    浏览(34)
  • 【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解

    注意力机制一直是一个比较热的话题,其实在很早之前就提出了,我们在学习图像分类时在SENet就见到过(直通车:经典神经网络论文超详细解读(七)——SENet(注意力机制)学习笔记(翻译+精读+代码复现))自从谷歌发表了《Attention Is All You Need》这篇论文后,注意力

    2024年02月06日
    浏览(68)
  • 自注意力机制与注意力机制

    基本内容理解的话推荐看一下这篇博客Transformer:注意力机制(attention)和自注意力机制(self-attention)的学习总结,这个博主讲的很细致,比较容易理解。 这里借用一下上述博客的总结: 注意力可以分为两种方式分别是 自主提示 和 非自主提示 。其中非自主提示是键,自主

    2023年04月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包