NLP-题-Bilibili
#国科大#
#复习#
#nlp#
有错题
一、题型
- 填空题20道,每道1分;
- 简答题6道,每道7分;
- 综合题38分(计算、设计等)
二、考试内容
- 填空题
(1)卷积层作用是什么?
通过卷积操作减少参数
(2)池化层作用是什么?
通过采样减少网络规模
(3)Prompt核心思想是什么?
更好更充分的使用预训练模型,重构下游任务以迁就预训练模型。
(4)什么是软注意力?
后面的填空和简单PPT上都有或者其他材料。
(5)RNN训练方法是什么?
(6)CBOW是训什么?
(7)SkipGram是训什么
(8)激活函数有什么作用?
(9)随机梯度下降与梯度下降的异同?
(10)Attention中普通模式与键值对模式的异同?
(11)什么是BERT?
(12)什么是BART?
(13)GPT使用的是Transformer的什么?
(14)CRF的作用是什么?
(15)BERT中为什么要使用位置嵌入?
(16)什么是曝光偏差?
(17)生成任务中常用的评价指标是什么?
(18)二范式的特点是什么?
(19)梯度消失的原因是什么?
(20)prompt适合什么语言模型?
- 简答题
(1)Attention是什么?其在NLP领域有什么应用?优势是什么?
(2)指针网络与指针生成网络的异同
(3)第三范式与第四范式的异同
(4)RNN语言模型与DNN语言模型相比有什么优势
(5)GPT与BERT的异同
(6)词向量的特点是什么?在NLP领域有什么价值?
- 综合题
(1)维特比算法(10分)
123三个状态,ABC三种观测,计算量不大,都是一位小数。每个状态只能转换到自身与后面的状态,一个状态只对应两个观测。比如1状态只能转换到1和2,产生A或B观测。
(2)语言模型
假设输入是 (x1, x2, x3, x4, x5) 的一个序列,写出下列LM的输入与目标输出:
- DNN
- RNN
- CBOW
- SkipGram
- GPT
- BERT
(3)设计题
设计一个能够处理翻译与摘要任务的model,且含有Attention机制
- 画图,描述输入输出与函数关系;
- 训练方法,损失函数是什么损失函数是对数损失。初始化随机权重和偏差,把输入传入网络,正向传播,得到输出值。计算预测值和真实值之间的误差。然后BPTT,对每一个产生误差的神经元,改变相应的(权重)值以减小误差。迭代更新,直到找到最佳权重。
- 工作原理是什么将编码-解码+注意力模型和指针网结合,生成既可产生也可选择的输出。
重点知识:
只想及格的话,背过下面的知识点,会做大题的1,2即可。
常见损失函数:绝对值损失函数,平方损失函数,交叉熵损失函数
CNN的结构:卷积层,池化层,全连接层交叉堆叠
CNN结构特性:局部连接,参数共享,空间或时间次采样
RNN有哪些改进和变形:LSTM,GRU LSTM用来解决RNN的长距离依赖问题 GRU将LSTM的输入门输出门简化为更新门
激活函数有什么作用?应该具有哪些性质作用:增强网络表达能力,加入非线性因素性质:连续可导,激活函数和导函数简单,导函数值域范围合理。
什么是反向传播算法? 将前馈输出的误差以某种形式反传给各层的所有单元,各层按照本层误差修正各单元连接权值。
什么是梯度下降算法? 误差反向传播时,沿着梯度的负方向调整参数,使得最快达到误差最小的一种方法。什么是梯度消失问题?如何解决?
梯度消失: 在误差反向传播时,每一层都要乘以激活函数的导数,若 该导数值小于1,将导致误差愈来愈小,甚至消失。(如果导数很大将导致梯度爆炸)解决办法:选择合适的激活函数(Relu),用复杂的门结构代替激活函数,残差结构。
卷积层: 通过卷积操作减少参数池化层:通过采样减少网络规模全连接层:将池化层的单元平化
RNN 有什么优点? DNN,CNN输入输出定长,RNN处理变长问题效率更高 DNN,CNN无法处理时序相关的问题
相较于BP,BPTT有什么特点? BPTT损失函数定义为每一个时刻的损失之和,它会在每一个时间步长内叠加所有对应的权重梯度
概率语言模型的参数学习方法:最大似然估计常见的离散词表示:one-hot,词袋
常见神经网络语言模型: NNLM,RNNLM,C&W,CBOW,Skip-gram
什么是语言模型?/ 语言模型的思想?
用数学的方法描述语言规律.用句子S=w1,w2,…,wn 的概率 p(S) 刻画句子的合理性概率
语言模型存在的问题? 由于参数数量过多问题需要进行词i的历史简化n-gram由于数据匮乏引起0概率问题需要进行数据平滑
RNN为什么能解决神经网络语言模型“需历史简化”的问题? 随着模型逐个读入语料中的词,RNN隐藏层实际上包含了此前所有的上文信息,因此不需要简化为n-gram
什么是词向量? 一些词表示方法(one-hot)导致模型耗空间大,且稀疏,需要构造低维稠密的词向量作为词的分布式表示
词向量特征语义相似的词,其词向量在空间距离更相近,相似关系对的词向量之差也相似。
注意力机制优势? 让任务处理系统找到与当前任务相关显著的输入信息,并按照重要性进行处理。不需要监督信号,可推导多种不同模态数据之间的难以解释、隐蔽性强、复杂映射关系,对于先验知识少的问题极为有效。可以解决长距离依赖问题,提升任务性能。
隐马尔可夫研究的三大问题:评估问题,解码问题,学习问题
隐马尔可夫的五元组: 状态序列,观察序列,状态转移矩阵,观察概率矩阵/发射矩阵,初始状态
Seq2seq可以分为: 生成式-序列生成模型,选择式-序列生成模型,选择-生成式-生成模型
Transformer在训练过程中采用什么技术实现并行操作:MASK
序列生成模型评价指标:正确率,召回率,BLEU,ROUGE
什么是马尔科夫模型? 马尔科夫模型是定量描述随机事件变化过程的模型,t时间的状态qt 只与其在时间 t -1的状态相关。
什么是隐马尔可夫模型? 隐马尔可夫模型是一个双重随机过程,模型的状态转移过程不可观察,可观察事件的随机过程是隐蔽状态转换过程的随机函数、
Transformer有哪些特点? 全部采用Attention机制。训练时解码端和编码端都能并行预测时编码端并行,解码端串行具有捕捉长距离依赖的能力。
Transformer的结构?
编码端:6层Attention堆叠,包含2个子层(Multi-head attention 和Feed Forward Network)
解码端:6层Attention堆叠,包含3个子层(Multi-head attention ,cross-attention和 Feed Forward Network)
交叉注意力部分:解码端的每一层与编码端的最后输出层做 cross-attention
MASK有什么作用?有几种? mask通过对某些值进行覆盖,使其不产生效果。
Padding Mask:使不定长序列可以按定长序列统一并行操作。 Sequence Mask:防止标签泄露,只用在decoder中的self-attention。
序列生成有什么问题?如何解决
曝光偏差问题: 模型生成的分布与真实的数据分布并不严格一致,也就是 OOD 问题
Scheduled Sampling,在训练的过程中混合使用真实数据和生成数据训练
与评价目标不一致问题:用强化学习的策略进行模型训练
第三范式是:预训练-精调范式,分为Pre-training阶段(大量语料库非监督训练),Fine-tune阶段(针对特定任务的训练集监督学习)是预训练语言模型“迁就“各种下游任务。具体体现就是通过引入各种辅助任务loss,将其添加到预训练模型中,然后继续pre-training,以便让其更加适配下游任务。总之,这个过程中,预训练语言模型做出了更多的牺牲。
第四范式是: 预训练-提示-预测范式,是各种下游任务“迁就“预训练语言模型。我们需要对不同任务进行重构,使得它达到适配预训练语言模型的效果。总之,这个过程中,是下游任务做出了更多的牺牲。
指针网络解决了什么问题?
解决了传统编码-解码架构输出词表大小固定,无法根据输入情况动态变化的问题
指针生成网络解决了什么问题?
输出词表与输入词表相同,无法处理输出需要产生输出词表以外词的情况
拷贝网络解决了什么问题? 遇到OOV(out-of-vocabulary)时,出现表达不准确问题,对输入中的生僻字直接拷贝到输出序列中。
prompt的两种形式: 完形填空,前缀提示 。改变任务形式利用预训练模型完成任务(用于小样本学习或半监督学习,某些场景下甚至能做到零样本学习)
EMLO: 学习深层的上下词表示知识,并用此来更好地增强各类NLP任务。
GPT:采用transformer的decoder部分 BERT: 采用堆叠的双向transformer encoder
预训练语言模型是采用迁移学习的方法,通过自监督学习从大规模的数据中获得与具体任务无关的预训练模型,然后用训练好的预训练模型提高下游任务性能的一种数据增强方法。
预训练语言模型的优势?
通用知识:利用几乎无限的文本,隐式地学习到通用的语法语义知识
知识迁移:可以将开放域学习到的知识迁移到下游任务,改善低资源任务。
扩展性强:预训练+微调机制有更好的扩展性,支持新任务时,只需要利用该数据的标注任务进行微调即可。
预训练语言模型分为哪几类?并分别举一个例子。
自回归:输入上文内容,预测下一个词。例如:GPT。
自编码:根据上下文内容,预测MASK掉的值。例如:BERT。
广义自回归:根据上下文内容,预测下一个可能的单词。例如:XLNet。
什么是BART?-
BART是一个用来预训练seq-to-seq模型的去噪自编码器。它通过在输入序列中加入随机的噪声函数,并利用seq2seq结构从损坏的文本中重构原始文本来训练模型。BART运用了基于Transformer的机器翻译结构,可以看作是BERT(encoder结构)和GPT(decoder结构)的结合体。
GPT GPT全称为 Generative Pre-Training,即生成式预训练。类似于 ELmo,GPT 是一个两阶段模型,第一阶段 pre-training,第二阶段 fine-tuning。它们之间的区别在于,ELmo 模型的基本框架采用的是双向 LSTM,而 GPT 采用的是 Transformer Decoder 结构。
BERT中为什么要使用位置嵌入? 添加该嵌入是为了克服transformer的局限性,与rnn不同,transformer无法捕获“序列”或“顺序”信息