1.NLP Tasks
知识图谱
知识图谱(Knowledge Graph)是一种通过节点(实体)和边(关系)构建的图形化数据结构,用于表示和存储知识。它是通过将信息中的实体(如人、地点、事物、概念等)以及它们之间的关系以图形的方式组织起来,从而实现对世界的结构化表示。
知识图谱的核心特点包括:
1.实体(Nodes):表示知识中的重要概念或对象。例如:人物、地点、事件、产品等。
2.关系(Edges):表示实体之间的关联或互动。例如:某人“居住在”某地、某事物“属于”某类等。
3.属性(Attributes):实体或关系的详细信息。例如:人物的“出生日期”,地点的“面积”等。
- 机器翻译
- 情感分类
Word representation(词表示)
-
让机器理解词的意思
-
计算词之间的相似度
-
词之间的语言关系
-
one-hot representation
eg:
-
use context words to represent stars(用上下文的词来表示单词)
eg:
-
Word2Vec
Language Model
-
两个任务
-
N-gram Model
-
Neural Language Model
经典论文: A Neural probabilistic Language Model
2.大模型基础相关知识
- 需要掌握的知识:
3.神经网络基础
- 损失函数
1.MSE
2.Cross-entropy - 梯度下降
- 前向传播,反向传播
3.1Word2Vec
3.2RNN
- 交叉熵损失
- RNNs的更多应用
3.3GRU
3.4LSTM
3.5双向RNN
通常用来对序列抽取特征、填空,而不是预测未来
4.自注意力机制
4.1 Embedding
4.2 编码器-解码器架构
编码器:将输入编程成中间表达形式(特征)
解码器:将中间表示解码成输出
4.3 Seq2Seq
- 编码器是一个RNN,读取输入句子(可以是双向)
- 解码器使用另外一个RNN来输出
- 编码器是没有输出的RNN
- 编码器最后时间步的隐状态用作解码器的初始隐状态
4.4 注意力机制
- 问题来源:
为了解决Encoder端的信息瓶颈问题
4.5 自注意力机制
4.6 Transformer
- 模型结构
4.5.1 Input Embedding
在 Transformer 或其他深度学习模型中,BPE(Byte Pair Encoding)是一种常用于文本预处理的子词分词方法。它的目的是将文本中的词汇表减少到更小的子词单位,从而提高模型在处理低频词和新词时的鲁棒性。BPE 方法最初是为压缩数据设计的,但在自然语言处理(NLP)任务中,它常被用来解决词汇表稀疏问题,并且能够有效地处理未登录词(out-of-vocabulary, OOV)
4.5.2 Positional Encoding
Positional Encoding(位置编码)是Transformer模型中用于表示输入序列中各个元素位置的技术。在传统的RNN(循环神经网络)或CNN(卷积神经网络)中,模型通过网络结构自身来处理输入的顺序信息。然而,Transformer模型的结构并不依赖于序列的顺序,它是完全并行的,没有内建的序列顺序信息。因此,需要通过额外的机制来显式地为每个输入元素注入位置相关的信息,这就是位置编码的作用。
- Input = BPE + PE
4.5.3 Encoder Block
- 多头注意力
4.5.4 Dncoder Block
- Masked 多头注意力
在 Transformer 架构中,Masked Multi-Head Attention(掩蔽多头注意力)通常在 Decoder(解码器)中使用,尤其是在序列生成任务中。掩蔽注意力的主要目的是在解码过程中,防止模型“看到”当前时间步之后的词语,从而避免模型在生成过程中泄露未来的信息。
4.5.5 归一化
- b:batch_size
- d:每一个单词的维度
- len:句子的长度(单词的个数)
4.5.6 信息传递
4.5.7 预测
4.7 BERT
-
BERT的动机:
1.基于微调的NLP模型
2.预训练的模型抽取了足够多的信息
3.新的任务只需要增加一个简单的输出层 -
BERT架构:只有编码器的Transformer
5. 预训练语言模型
预训练语言模型(Pre-trained Language Models,简称 PLMs)是基于大规模语料库进行训练的深度学习模型,能够捕捉语言的语法、语义、上下文等复杂特征。这些模型通常通过无监督或自监督学习方式预先训练,并在此基础上进行微调(fine-tuning)来解决具体的下游任务,如文本分类、机器翻译、问答系统等。
- 语言模型最基本的任务:
- BERT微调(fine-tuning)
1.句子分类
将<cls>对应的向量输入到全连接层分类
-
命名实体识别
识别一个词元是不是命名实体,例如人名、机构、位置 将非特殊词元放进全连接层分类
3. 问题回答
给定一个问题,和描述文字,找出一个片段作为回答
对片段中的每个词元预测它是不是回答的开头或结束
-
总结
即使下游任务各有不同,使用BERT微调时均只需要增加输出层 但根据任务的不同,输入的表示,和使用的BERT特征也会不一样