常见的名词解析

目录

attention

self attention

线性回归&&逻辑回归

实体链接

卷积神经网络(CNN)

递归神经网络(RNN)

前馈神经网络

图神经网络

指针网络

余弦相似度计算​

semantic parsing(语义解析)

无监督预训练(unsupervised pretraining)

跨语言学习(multilingual learning)

元学习和少样本学习(meta learning and few shot learning)

迁移学习(transfer learning)

误差(bias in NLP)

知识融合(knowledge fusion)

word2vec

多头注意力机制

n-gram

Distributed Representation(分布式表示)

LSI(Latent Semantic Indexing)

sigmoid函数 && softmax函数

稀疏向量和稠密向量


attention

https://www.zhihu.com/question/68482809/answer/597944559

1、为什么要引入Attention机制?

根据通用近似定理,前馈网络和循环网络都有很强的能力。但为什么还要引入注意力机制呢?

  • 计算能力的限制:当要记住很多“信息“,模型就要变得更复杂,然而目前计算能力依然是限制神经网络发展的瓶颈。
  • 优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,有效缓解模型复杂度和表达能力之间的矛盾;但是,如循环神经网络中的长距离以来问题,信息“记忆”能力并不高。

可以借助人脑处理信息过载的方式,例如Attention机制可以提高神经网络处理信息的能力。

2、Attention机制有哪些?(怎么分类?)

当用神经网络来处理大量的输入信息时,也可以借鉴人脑的注意力机制,只 选择一些关键的信息输入进行处理,来提高神经网络的效率。按照认知神经学中的注意力,可以总体上分为两类:

  • 聚焦式(focus)注意力:自上而下的有意识的注意力,主动注意——是指有预定目的、依赖任务的、主动有意识地聚焦于某一对象的注意力;
  • 显著性(saliency-based)注意力:自下而上的有意识的注意力,被动注意——基于显著性的注意力是由外界刺激驱动的注意,不需要主动干预,也和任务无关;可以将max-pooling和门控(gating)机制来近似地看作是自下而上的基于显著性的注意力机制。

在人工神经网络中,注意力机制一般就特指聚焦式注意力。

3、Attention机制的计算流程是怎样的?

Attention机制的实质其实就是一个寻址(addressing)的过程,如上图所示:给定一个和任务相关的查询Query向量 q,通过计算与Key的注意力分布并附加在Value上,从而计算Attention Value,这个过程实际上是Attention机制缓解神经网络模型复杂度的体现:不需要将所有的N个输入信息都输入到神经网络进行计算,只需要从X中选择一些和任务相关的信息输入给神经网络。

self attention

线性回归&&逻辑回归

初识线性回归与逻辑回归

实体链接

知识图谱 | 实体链接 - 知乎

实体链接(entity linking)就是将一段文本中的某些字符串映射到知识库中对应的实体上。比如对于文本“郑雯出任复旦大学新闻学院副院长”,就应当将字符串“郑雯”、“复旦大学”、“复旦大学新闻学院”分别映射到对应的实体上。在很多时候,存在同名异实体或者同实体异名的现象,因此这个映射过程需要进行消歧,比如对于文本“我正在读《哈利波特》”,其中的“《哈利波特》”应指的是“《哈利波特》(图书)”这一实体,而不是“《哈利波特》系列电影”这一实体。当前的实体链接一般已经识别出实体名称的范围(一般称作mention),需要做的工作主要是实体(称作entity)的消歧。也有一些工作同时做实体识别和实体消歧,变成了一个端到端的任务。

卷积神经网络(CNN)

深度学习简介(一)——卷积神经网络 - alexcai - 博客园

卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。

卷积网络通过一系列方法,成功将数据量庞大的图像识别问题不断降维,最终使其能够被训练。

递归神经网络(RNN)

递归神经网络(RNN)简介_CarlXie-CSDN博客_递归神经网络

在此之前,我们已经学习了前馈网络的两种结构——多层感知器和卷积神经网络,这两种结构有一个特点,就是假设输入是一个独立的没有上下文联系的单位,比如输入是一张图片,网络识别是狗还是猫。但是对于一些有明显的上下文特征的序列化输入,比如预测视频中下一帧的播放内容,那么很明显这样的输出必须依赖以前的输入, 也就是说网络必须拥有一定的”记忆能力”。为了赋予网络这样的记忆力,一种特殊结构的神经网络——递归神经网络(Recurrent Neural Network)便应运而生了。

 

前馈神经网络

图神经网络

指针网络

余弦相似度计算

相似度计算之(二)——余弦距离_educationer的博客-CSDN博客_余弦距离

​​​​​​

一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小,余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似。
基本思路是:
如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。

第一步,分词
句子A:这只/皮靴/号码/大了。那只/号码/合适。
句子B:这只/皮靴/号码/不/小,那只/更/合适。
第二步,列出所有的词
这只,皮靴,号码,大了。那只,合适,不,小,很
第三步,计算词频
句子A:这只1,皮靴1,号码2,大了1。那只1,合适1,不0,小0,更0
句子B:这只1,皮靴1,号码1,大了0。那只1,合适1,不1,小1,更1
第四步,写出词频向量
  句子A:(1,1,2,1,1,1,0,0,0)
  句子B:(1,1,1,0,1,1,1,1,1)
到这里,问题就变成了如何计算这两个向量的相似程度。我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, …])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合,这是表示两个向量代表的文本完全相等;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

计算两个句子向量
句子A:(1,1,2,1,1,1,0,0,0)
和句子B:(1,1,1,0,1,1,1,1,1)的向量余弦值来确定两个句子的相似度。
计算过程如下:

计算结果中夹角的余弦值为0.81非常接近于1,所以,上面的句子A和句子B是基本相似的
由此,我们就得到了文本相似度计算的处理流程是:
(1)找出两篇文章的关键词;
(2)每篇文章各取出若干个关键词,合并成一个集合,计算每篇文章对于这个集合中的词的词频
(3)生成两篇文章各自的词频向量;
(4)计算两个向量的余弦相似度,值越大就表示越相似

semantic parsing(语义解析)

基于上下文的语义解析(Semantic Parsing) - 知乎

语义解析是一项把自然语言转化为机器可读可执行的逻辑语句(logical form),比如Prolog,SQL,python等等,的任务。例如,英文问题“What are the different pet types? ”通过一个解析器(parser)可以被转化为一个SQL语句“S1 SELECT DISTINCT pettype FROM pets”。而这个SQL语句可以接下来用来查询数据库从而得到这个英文问题的结果。所以语义解析在自动问答,对话系统里面有重要的用途。

通常,我们定义有三种语义解析的方法。

  1. 第一种是符号方法(Symbolic Approaches)。符号方法的特征是会利用预定义的语法(grammar rules)和词表(lexical entries)来把自然语言转化成一些候选的逻辑语句。通常由于语法和词表的空间很大,生成的候选的逻辑语句会非常多,这个时候就需要一些机器学习的模型,比如线性模型来选择最可能正确的逻辑语句。这些线性模型的特征也一般都是手工特征(hand-crafted features)。
  2. 第二种是神经网络的方法(Neural Approaches)。这一种很好理解,通常都是把语义解析当成一个神经机器翻译(neural machine translation)的问题。最常用的模型是Seq2Seq模型,把自然语言转化为一连串逻辑语句的标记(token)。也有一些特殊的结构,比如Seq2Tree的解码器(decoder)就是一个树结构。因为逻辑语言一般都是树状的结构,这个解码器的好处是生成逻辑语言的时候不会产生非树状的结果从而保证句法(syntax)正确。
  3. 第三种是神经符号的方法(Neural-Symbolic Approaches)。这种方法结合了神经网络和符号方法的优点,既能够利用神经网络产生特征的能力,有利用了语法所带来的先验知识。这种方法同样用Seq2Seq来生成逻辑语句,但是跟神经网络的方法不同的是:i)Seq2Seq解码器的会生成一连串动作(action)而不是标记 ii)这一连串的动作会先生成一个中间结构,抽象语法树(Abstract Syntax Tree)。熟悉编译原理的同学应该很了解。这个中间结构会进一步被还原成逻辑语句,而且这一步还原的过程是一个确定(deterministic)的过程。iii)生成抽象语法树的过程是被语法限制的,这样的话生成的语法树就既是句法(syntax)正确也会是语法(syntactic)正确的。

无监督预训练(unsupervised pretraining)

深度学习中的非线性激励函数以及unsupervised pre-training_elwangeij的博客-CSDN博客

无监督预训练是用来训练的数据不包含输出目标,需要学习算法自动学习到一些有价值的信息。

无监督学习在深度神经网络的复兴上起到了关键的、历史性的作用,它使研究者首次可以训练不含诸如卷积或者循环这类特殊结构的深度监督网络。我们将这一过程称为无监督预训练,或者更精确地,贪心逐层无监督预训练。
 此过程是一个任务(无监督学习,尝试获取输入分布的形状)的表示如何有助于另一个任务(具有相同输入域的监督学习)的典型示例。

跨语言学习(multilingual learning)

元学习和少样本学习(meta learning and few shot learning)

一文入门元学习(Meta-Learning)(附代码) - 知乎

preview

元学习Meta Learning,含义为学会学习,即learn to learn,就是带着这种对人类这种“学习能力”的期望诞生的。Meta Learning希望使得模型获取一种“学会学习”的能力,使其可以在获取已有“知识”的基础上快速学习新的任务,如:

  • 让Alphago迅速学会下象棋
  • 让一个猫咪图片分类器,迅速具有分类其他物体的能力

迁移学习(transfer learning)

什么是迁移学习 (Transfer Learning)?这个领域历史发展前景如何?_木东的博客-CSDN博客

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。

误差(bias in NLP)

知识融合(knowledge fusion)

知识图谱之知识融合_摆渡者-CSDN博客_知识融合

知识融合是在知识图谱获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等。知识融合是通过信息抽取的结果中,可能包含大量的冗余和错误信息,数据之间的关系也是扁平化的,缺乏层次性和逻辑性,因此有必要对其进行清理与合并。知识融合包括两部分内容:实体链接和知识合并,通过知识融合,可以消除概念的歧义,剔除冗余和错误概念,从而确保知识的质量。

例子:

 来源于不同知识库的“自由女神像”

word2vec

多头注意力机制

n-gram

自然语言处理中N-Gram模型介绍 - 知乎

N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。

每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每一种gram就是一个特征向量维度。

该模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的Bi-Gram和三元的Tri-Gram。

Distributed Representation(分布式表示)

要将自然语言交给机器学习中的算法来处理,通常需要首先将语言数学化,词向量就是用来将语言中的词进行数学化的一种方式。

一种最简单的词向量方式是 one-hot representation,就是用一个很长的向量来表示一个词,向量的长度为词典的大小,向量的分量只有一个 1,其他全为 0, 1 的位置对应该词在词典中的位置。但这种词表示有两个缺点:(1)容易受维数灾难的困扰,尤其是将其用于 Deep Learning 的一些算法时;(2)不能很好地刻画词与词之间的相似性(术语好像叫做“词汇鸿沟”)。

另一种就是 Distributed Representation 这种表示,它最早是 Hinton 于 1986 年提出的,可以克服 one-hot representation 的缺点。其基本想法是:
通过训练将某种语言中的每一个词映射成一个固定长度的短向量(当然这里的“短”是相对于 one-hot representation 的“长”而言的),将所有这些向量放在一起形成一个词向量空间,而每一向量则为该空间中的一个点,在这个空间上引入“距离”,则可以根据词之间的距离来判断它们之间的(词法、语义上的)相似性了。

LSI(Latent Semantic Indexing

nlp--Latent Semantic Analysis(LSA/ LSI)算法简介_飘过的春风-CSDN博客

我们希望找到一种模型,能够捕获到单词之间的相关性。如果两个单词之间有很强的相关性,那么当一个单词出现时,往往意味着另一个单词也应该出现(同义词);反之,如果查询语句或者文档中的某个单词和其他单词的相关性都不大,那么这个词很可能表示的是另外一个意思(比如在讨论互联网的文章中,Apple更可能指的是Apple公司,而不是水果)  。

     LSA(LSI)使用SVD来对单词-文档矩阵进行分解。SVD可以看作是从单词-文档矩阵中发现不相关的索引变量(因子),将原来的数据映射到语义空间内。在单词-文档矩阵中不相似的两个文档,可能在语义空间内比较相似。

   SVD,亦即奇异值分解,是对矩阵进行分解的一种方法,一个t*d维的矩阵(单词-文档矩阵)X,可以分解为T*S*DT,其中T为t*m维矩阵,T中的每一列称为左奇异向量(left singular bector),S为m*m维对角矩阵,每个值称为奇异值(singular value),D为d*m维矩阵,D中的每一列称为右奇异向量。在对单词文档矩阵X做SVD分解之后,我们只保存S中最大的K个奇异值,以及T和D中对应的K个奇异向量,K个奇异值构成新的对角矩阵S’,K个左奇异向量和右奇异向量构成新的矩阵T’和D’:X’=T’*S’*D’T形成了一个新的t*d矩阵。

sigmoid函数 && softmax函数

一文详解Softmax函数 - 知乎

preview

Softmax从字面上来说,可以分成soft和max两个部分。max故名思议就是最大值的意思。Softmax的核心在于soft,而soft有软的含义,与之相对的是hard硬。很多场景中需要我们找出数组所有元素中值最大的元素,实质上都是求的hardmax。

hardmax最大的特点就是只选出其中一个最大的值,即非黑即白。但是往往在实际中这种方式是不合情理的,比如对于文本分类来说,一篇文章或多或少包含着各种主题信息,我们更期望得到文章对于每个可能的文本类别的概率值(置信度),可以简单理解成属于对应类别的可信度。所以此时用到了soft的概念,Softmax的含义就在于不再唯一的确定某一个最大值,而是为每个输出分类的结果都赋予一个概率值,表示属于每个类别的可能性。

preview

回顾Softmax函数的表达式: ,其中i表示输出节点的编号。

稀疏向量和稠密向量

稠密向量与稀疏向量 - 知乎

使用数组的数据结构对向量建模,这种结构通常存储普通的向量,也称为稠密向量

使用map的数据结构对向量建模,这种结构存储的向量大多数元素等于零,这种向量称为稀疏向量

一个向量(1.0,0.0,3.0)它有2中表示的方法

稠密:[1.0,0.0,3.0]    其和一般的数组无异

稀疏:(3,[0,2],[1.0,3.0])      其表示的含义(元素的个数,元素的序号,元素序号对应的值)   序号从0开始。该向量表示:元素个数为:3个、序号0:对应的值为1.0,需要2对应的值为3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值