明天期末考试,胡玥老师亲自出题,整理一下我觉得最最最重点的地方押押题😶😶
目录
题型
- 填空题 1分x20个
- 简答题 7分x6个
- 综合题 38分 - 计算题:维特比算法- 设计题
第三章:深度学习基础
👨🏫:“第一章和第二章不考,第三章不考GNN,只考CNN DNN RNN ,是一些基本概念,比如BPTT 训练方法”
🍓【一起入门NLP】中科院自然语言处理第3课-前馈神经网络DNN(反向传播+梯度下降)
🍓【一起入门NLP】中科院自然语言处理第4课-卷积神经网络CNN
🍓【一起入门NLP】中科院自然语言处理第5课-循环神经网络RNN(BPTT+LSTM+GRU)
1️⃣填空:
- 常见激活函数:Sigmoid,Tanh,ReLu
- 常见损失函数:绝对值损失函数,平方损失函数,交叉熵损失函数
- 常见梯度下降算法:梯度下降,随机梯度下降,min-batch梯度下降
- DNN训练参数的方法:梯度下降BP
- 可能导致梯度消失的激活函数:sigmoid,Tanh
- CNN的结构:卷积层,池化层,全连接层交叉堆叠
- CNN结构特性:局部连接,参数共享,空间或时间次采样
- 常见的采样方法:Max Pooling , Mean Pooling
- RNN的参数训练方法:BPTT✅
- RNN有哪些改进和变形:LSTM,GRU
- LSTM用来解决RNN的长距离依赖问题
- GRU将LSTM的输入门输出门简化为更新门
2️⃣简答:
激活函数有什么作用?应该具有哪些性质
- 作用:增强网络表达能力,加入非线性因素✅
- 性质:连续可导,激活函数和导函数简单,导函数值域范围合理。
什么是反向传播算法?
- 将前馈输出的误差以某种形式反传给各层的所有单元,各层按照本层误差修正各单元连接权值。
什么是梯度下降算法?
- 误差反向传播时,沿着梯度的负方向调整参数,使得最快达到误差最小的一种方法。
什么是梯度消失问题?如何解决?
- 梯度消失:在误差反向传播时,每一层都要乘以激活函数的导数,若 该导数值小于1,将导致误差愈来愈小,甚至消失。(如果导数很大将导致梯度爆炸)✅
- 解决办法:选择合适的激活函数(Relu),用复杂的门结构代替激活函数,残差结构。
相对于DNN,CNN为什么适用于处理图片?
- 设一张图像的大小为 10 x 10 ,如果第一隐藏层有 1024 个神经元, 则该层全连接参数 102400,参数太多难以训练,而CNN卷积层的卷积操作能大大减少参数。
CNN各层的作用是什么?✅
- 卷积层:通过卷积操作减少参数
- 池化层:通过采样减少网络规模
- 全连接层:将池化层的单元平化
相较于DNN,CNN,RNN有什么优点?
- DNN,CNN输入输出定长,RNN处理变长问题效率更高
- DNN,CNN无法处理时序相关的问题
相较于BP,BPTT有什么特点?
- BPTT损失函数定义为每一个时刻的损失之和,它会在每一个时间步长内叠加所有对应的权重梯度
3️⃣计算
虽然老师讲了计算题考维特比,但是我觉得这里还是很容易出一个简单的计算题的。
- 对3个32x32的特征图进行卷积操作,卷积核10个5x5,Stride=1,pad=2,输出特征图的尺寸是多少?卷积层的参数是多少个?写出公式和结果。
第四章:语言模型+词向量
👨🏫:“要知道什么叫做语言模型?神经网络语言模型是怎么回事,神经网络语言模型有什么优点,词向量有什么特征等等”
🍓【一起入门NLP】中科院自然语言处理第6课-语言模型-传统语言模型(n-gram)
🍓【一起入门NLP】中科院自然语言处理第7课-语言模型-神经语言模型(NNLM+RNNLM)
🍓【一起入门NLP】中科院自然语言处理第8课-语言模型-词向量
1️⃣填空:
- 概率语言模型的参数学习方法:最大似然估计
- 常见的离散词表示:one-hot,词袋
- 常见神经网络语言模型:NNLM,RNNLM,C&W,CBOW,Skip-gram
2️⃣简答:
什么是语言模型?/ 语言模型的思想?
- 用数学的方法描述语言规律
- 用句子S=w1,w2,…,wn 的概率 p(S) 刻画句子的合理性
概率语言模型存在的问题?
- 由于参数数量过多问题需要进行词i的历史简化n-gram
- 由于数据匮乏引起0概率问题需要进行数据平滑
什么是神经网络语言模型?
- 用神经网络来学习语言模型的参数
RNN为什么能解决神经网络语言模型“需历史简化”的问题?
- 随着模型逐个读入语料中的词,RNN隐藏层实际上包含了此前所有的上文信息,因此不需要简化为n-gram
什么是词向量?✅
- 一些词表示方法(one-hot)导致模型耗空间大,且稀疏,需要构造低维稠密的词向量作为词的分布式表示
词向量的特征?✅
- 语义相似的词,其词向量在空间距离更相近
- 相似关系对的词向量之差也相似
CBOW与skip-gram的区别?✅
- CBOW用上下文预测中心词
- skip-gram用中心词预测上下文
C&W模型的思想?它与NNLM有什么区别?
- C&W求中心词与上下文的联合打分
- C&W中心词在输入层,输出层只有一个结点(分数)
- NNLM中心词在输出层,输出层有V个结点
第五章:注意力机制
👨🏫:“第五章注意力机制就考课件上的那些东西” 🤷♀️:“mo?”
【一起入门NLP】中科院自然语言处理第9课-NLP中的注意力机制(Attention)
1️⃣填空:
- 注意力机制本质上是一个加权求和模块✅
- 注意力机制种类:软注意力,硬注意力,全局注意力,局部注意力
2️⃣简答:
什么是注意力机制?✅
- 注意力机制是一个加权求和模块,对于输入Q,K(K是一个集合),需要回答的问题是:对于Q而言,每一个Ki有多重要,重要性由V描述。
注意力机制有哪些模块?✅
- F(Q,Ki):注意力打分函数,描述Q与Ki之间的关系
- softmax(F(Q,Ki)):得到对于Q,各个Ki的权重
- 加权求和:计算V
注意力机制有哪些优势?✅
- 让任务处理系统找到与当前任务相关显著的输入信息,并按照重要性进行处理。
- 不需要监督信号,可推导多种不同模态数据之间的难以解释、隐蔽性强、复杂映射关系,对于先验知识少的问题极为有效。
- 可以解决长距离依赖问题,提升任务性能
第六章:NLP基础任务
👨🏫:“文本分类不考,文本匹配不考,序列标注考维特比算法,序列生成的代表模型要会” 👩:“拿捏了”
🍓【一起入门NLP】中科院自然语言处理第10课-NLP基础任务①:文本分类问题
🍓【一起入门NLP】中科院自然语言处理第11课-NLP基础任务②:文本匹配问题
🍓【一起入门NLP】中科院自然语言处理第12课-NLP基础任务③:序列标注问题(马尔可夫模型)
🍓【一起入门NLP】中科院自然语言处理第13课-NLP基础任务④:序列生成问题(Seq2Seq)
🍓【一起入门NLP】中科院自然语言处理第14课-Transfomer以及Transfomer架构生成模型
1️⃣填空:
- 隐马尔可夫研究的三大问题:评估问题,解码问题,学习问题
- 解决隐马尔可夫评估问题的方法:前向算法,后向算法
- 解决隐马尔可夫解码问题的方法:维特比算法
- 解决隐马尔可夫无法利用上下文信息的方法:最大熵模型
- 解决隐马尔可夫输出之间独立问题的方法:条件随机场CRF✅
- 隐马尔可夫的五元组:状态序列,观察序列,状态转移矩阵,观察概率矩阵/发射矩阵,初始状态
- Seq2seq按照生成方式可以分为:生成式-序列生成模型,选择式-序列生成模型,选择-生成式-生成模型
- 生成式-序列生成模型的代表:基于RNN,基于RNN+Attention,基于Transformer
- 选择式-序列生成模型的代表:指针网络
- 选择-生成式-序列生成模型的代表:指针生成网络PGnet,拷贝网络
- Transformer在训练过程中采用什么技术实现并行操作:MASK
- 序列生成模型评价指标:正确率,召回率,BLEU,ROUGE✅
2️⃣简答:
什么是马尔科夫模型?
- 马尔科夫模型是定量描述随机事件变化过程的模型,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。
指针网络解决了什么问题?✅
- 解决了传统编码-解码架构输出词表大小固定,无法根据输入情况动态变化的问题
指针生成网络解决了什么问题?✅
- 输出词表与输入词表相同,无法处理输出需要产生输出词表以外词的情况
拷贝网络解决了什么问题?
- 遇到OOV(out-of-vocabulary)时,出现表达不准确问题,对输入中的生僻字直接拷贝到输出序列中。
BLEU和ROUGE有什么区别?
- BLEU关注精度
- ROUGE关注召回率
序列生成有什么问题?如何解决
- 曝光偏差问题:Scheduled Sampling,在训练的过程中混合使用真实数据和生成数据
- 训练与评价目标不一致问题:用强化学习的策略进行模型训练
3️⃣计算
维特比计算题
第七章:预训练语言模型
👨🏫:“预训练语言模型,从GPT开始,基本的几个要知道是怎么回事,emlo只要一些小的概念就行,另外还需要知道,预训练语言模型第三范式有什么特点?第三范式和第四范式有什么区别不同” 👩:“很重点”
🍓【一起入门NLP】中科院自然语言处理第15课-预训练语言模型:预训练+精调范式(第三范式)
🍓【一起入门NLP】中科院自然语言处理第16课-简明扼要:红到发紫的prompt是什么?【上】
🍓【一起入门NLP】中科院自然语言处理第17课-详细介绍:红到发紫的Prompt是什么?【下】
1️⃣填空:
- 第三范式是:预训练-精调范式✅
- 第四范式是:预训练-提示-预测范式✅
- 第三范式分为哪两个阶段:Pre-training阶段,Fine-tune阶段✅
- prompt的两种形式:完形填空,前缀提示
- EMLO:学习深层的上下词表示知识,并用此来更好地增强各类NLP任务。
- GPT:采用transformer的decoder部分
- BERT:采用堆叠的双向transformer encoder
2️⃣简答:
什么是预训练语言模型?
- 预训练语言模型是采用迁移学习的方法,通过自监督学习从大规模的数据中获得与具体任务无关的预训练模型,然后用训练好的预训练模型提高下游任务性能的一种数据增强方法。
预训练语言模型的优势?
- 通用知识:利用几乎无限的文本,隐式地学习到通用的语法语义知识
- 知识迁移:可以将开放域学习到的知识迁移到下游任务,改善低资源任务。
- 扩展性强:预训练+微调机制有更好的扩展性,支持新任务时,只需要利用该数据的标注任务进行微调即可。
第三范式的特点?✅
- 训练过程分为两个阶段
- Pre-training:利用大型语料库完成预训练模型的非监督学习。
- Fine-tuning:针对特定任务在相应数据集中进行监督学习,用过Fine-tuning技术来适配任务。
第四范式的思想?✅
- 改变任务形式利用预训练模型完成任务(用于小样本学习或半监督学习,某些场景下甚至能做到零样本学习)
预训练语言模型分为哪几类?并分别举一个例子。✅
- 自回归:输入上文内容,预测下一个词。例如:GPT。
- 自编码:根据上下文内容,预测MASK掉的值。例如:BERT。
- 广义自回归:根据上下文内容,预测下一个可能的单词。例如:XLNet。
第三范式和第四范式的联系?✅
- 第三范式:是预训练语言模型“迁就“各种下游任务。具体体现就是通过引入各种辅助任务loss,将其添加到预训练模型中,然后继续pre-training,以便让其更加适配下游任务。总之,这个过程中,预训练语言模型做出了更多的牺牲。
- 第四范式:是各种下游任务“迁就“预训练语言模型。我们需要对不同任务进行重构,使得它达到适配预训练语言模型的效果。总之,这个过程中,是下游任务做出了更多的牺牲。
👨🏫:“后面的都不考了”
👨👧👧:“嗷””
👨🏫:“怎么?你们想加一点啊?”
👨👧👧:“不要
设计题
我猜想应该是在序列标注和序列生成中出一个问题
第一步:确定任务类型
- 标注问题:命名实体识别、信息抽取、词性标注…
- 生成问题:机器翻译、自动文摘、机器阅读理解、对话生成…
第二步:数据处理
- 判断题目所给的数据是否需要处理
第三步:🍓模型设计
- 标注问题:一般选双向RNN+CRF。
- 生成问题:一般选RNN+Attention,encoder使用双向RNN,接双线性Attention,decoder使用单向RNN。
第四步:训练
第五步:预测
- 说明使用什么预测指标
- 标注问题:准确率,精确率,召回率,F1值
- 生成问题:BLEU或ROUGE
实验复习
🍓【一起入门NLP】中科院自然语言处理作业一:RNN,DNN,CNN 进行猫狗分类(pytorch入门)【代码+报告】
🍓【一起入门NLP】中科院自然语言处理作业二:中英文语料训练CBOW模型获得词向量(pytorch实现)【代码+报告】
🍓【一起入门NLP】中科院自然语言处理作业三:用BiLSTM+CRF实现中文命名实体识别(TensorFlow入门)【代码+报告】
🍓【一起入门NLP】中科院自然语言处理作业四:RNN+Attention实现Seq2Seq中英文机器翻译(Pytorch)【代码+报告】
🍓【一起入门NLP】中科院自然语言处理作业五:BiLSTM+Attention实现SemEval-2010 Task 8上的关系抽取(Pytorch)【代码+报告】
考试顺利~
2022/1/4 晚 更
考完啦!我怎么觉得一点都不简单呢😭
2021秋季胡玥自然语言处理期末考试题
填空题
20个填空题,押中的地方用✅标记了,除此之外还考察了:
- bert输入为什么要进行位置标注
- 梯度下降与随机梯度下降的区别
- attention输出键值对和输出值有什么区别
- 软注意力机制的概念
简答题
- attention的结构,应用,优势
- 指针网络和指针生成网络的区别
- 词向量的产生原因,优势
- 第三范式和第四范式的区别
- bert和GPT的相同点和不同点
- (还有一个不记得了)
综合题
- 第一题:计算,维特比算法
- 第二题:写出各种模型的输入输出。比如CBOW输入(x1x2x4x5)输出x3
- 🍓设计题:设计一个带有Attention机制的神经网络序列生成模型,要求可完成机器翻译任务也可完成自动文摘任务。画出模型结构,写出输入,输出,函数关系,解释模型原理,介绍模型如何训练,说明加入attention有哪些好处。
最后一个设计题万万没想到要同时完成生成任务和选择任务,PGnet连看都没看一眼😭
版权归原作者 请叫我懒羊羊 所有, 如有侵权,请联系我们删除。