大模型基础

自然语言处理(NLP)

15年的 Advances in Natural Language Processing 综述详细介绍了NLP的迭代

NLP的任务:

1、进行词性标注(Part of speech)

2、命名实体识别(Named entity recognition):识别出特定的人名、日期、地点等

3、共指消解(Co-reference):代词与上文出现的事物进行替代识别

4、基本依赖关系(Basic dependenxies):主谓宾等关系

完成这些完任务后,我们可以将NLP应用到不同的领域,如搜索引擎上。

以下是自然语言处理所所能做的事:

结构化的知识(Structural Knoeledge):

如何从文本中抽取知识,从而理解文本中的关键信息,比如三元组来表示两个实体间的关系

知识图谱(Knowledge Graph)

将丰富多彩的知识以结构化和可连接的方式呈现,让计算机能容易理解、查询和推理这些知识。

机器阅读(Machine Reading)能够从文本中提取出结构化知识,结构化知识能够扩大和更新知识图谱

词表示(Word Representation)

能够将词符号转换为机器可理解的意思

目标

1.能够计算词之间的相似性,motel与hotel

2.能够推断词之间的关系,China;Beijing与Japan ; Tokyo

同义词或上位词的一些问题:忽略同义词之间的细微差别;忽略了新词的意思;主观因素;数据吸收;需要大量的人工维护词表

方法:

1、首先提出的是唯热编码(One-Hot),它对于文档编码是有效的,可以唯一标识一个文档中几百个词,但

缺点是一些有相近意思的词之间的相似度会均为0,因为编码的唯一性,各个向量之间是两两正交的。

2、为了解决以上问题,提出了上下文表示(Contextual representation),利用这个词其上下文出现的词的出现频率或重要性进行编码,利用这个稠密向量算出两个词之间的相似度。

缺点是当随着词表中单词数目的增多,导致需要大量的存储空间,且对于出现频率较低的词,其上下文的词也很少导致模型的效果不好

3、解决以上问题,深度学习或大模型采用的是单词嵌入(Word Embedding)的方式,是一种分布表示(Distributed Representation)的方法,具体为:为每个单词构建一个稠密向量(dense vector),这个稠密向量是从大范围的语料库中学习的,学习方法代表作为Word2Vec,后面会进行介绍。

语言模型(Language Model)

它是一个预测即将到来的词的任务

他是一个在一个单词序列上的概率分布

目标

1、计算一个单词序列的联合概率分布(一系列单词序列能够构成句子的概率)

2、计算即将出现单词出现的概率

对第一点的理解:

为什么计算一系列单词组成句子的概率是求它的联合概率分布?

因为一个句子的构建是一个序列生成的过程

假设我们有一系列单词 w_1, w_2, w_3, ..., w_n,它们组成一个句子。句子的生成过程可以看作是逐个生成单词的过程,每个单词的生成都依赖于前面已生成的单词

根据条件概率的定义,一个句子的概率可以表示为:

P(w_1, w_2, w_3, ..., w_n) = P(w_1) \cdot P(w_2|w_1) \cdot P(w_3|w_1, w_2) \cdot ... \cdot P(w_n|w_1, w_2, w_3, ..., w_{n-1})

其中,P(w_i|w_1, w_2, w_3, ..., w_{i-1})表示在已知前面所有单词的情况下,生成第 i 个单词的条件概率;\cdot为概率论中的乘法运算。

由此我们得到语言概率的公式:

P(w1,w2,...,wn) = \prod p(wi|w1,w2,...,wi-1)

方法:

1.N-gram Model:

        经典的方法,是基于统计的,其中 n-gram 表示一个文本系列中的连续n个项的集合。该模型的原理是:统计这个n个项集合出现的频率,并使用这一频度预测接下来的词。注意:这里只考虑带上要预测的单词后的n个词集合,他是基于马尔可夫的猜想的,例如:

4-gram :

p(wj | never,too,late,to ) \approx p(wj | too,late,to)= \frac{count(too,late,to,wj)}{count(too,late,to)}, 其中的never 就没再考虑了。

count() 就是表示我们在大规模的语料库里对()中n个单词组成的句子出现频度的统计量

缺点:

1.需要存储所有出现的 n-grams 情况,因此模型的大小为 O(exp(n))

2.n 越大,统计的频度越稀疏,因此 n 一般取1 or 2 

2. Neural Language Model:

       

基于deeping learning的,首先将这n个单词,第n 个为要预测的,前n-1 个各单词利用 distributed representation 方法得到各单词的低维上下文向量,再将各个低维向量拼接在一起形成一个高维上下文向量,由非线性函数 tanh 等许多操作得到最终向量并用来预测第n 个单词

大模型基础

为什么大模型或大规模预训练模型很重要?

首先阐述一下两者的异同点:大模型和大规模预训练模型大致可以看作是相关的概念,但大模型通常是指具有大量参数的神经网络模型,可达数十亿到数百亿;而大规模预训练模型是指在大规模无监督数据上进行预训练的模型,通过阅读大量文本或图像提取特征。

性能强、准确率高、不需要或仅需要少量的样本就能从文本或图像中学习到知识(与经典深度学习的有监督训练是不同的)等

大模型背后的范式:

预训练语言模型一个核心的要素是可以从无标注的数据中进行学习,通过自监督的任务进行预训练,得到丰富的知识。

预训练-微调范式是:

首先通过大量的无标记数据训练出一个预训练模型,这个预训练模型只是对于一些通用知识的学习,再将特定任务训练数据加入预训练模型中来调整这个预训练模型,将与任务不相关的数据刨除,训练出适用于具体任务的模型,最终得到最终的模型。这就是一种预训练-微调范式。

这种范式可以追溯到迁移学习

神经网络基础

对于输出层:

二分类问题用sigmoid 函数作用后的结果作为输出,如对于Linear output 的 y ,我们用sigmoid函数得到新的y = sigmoid(y),得到的结果是 y 为一种类别的概率,1 - y为另一种类别的概率;

多分类则用 softmax 函数作为输出   softmax(z)j = \frac{exp(zj)}{\sum exp(zj)},得到的各个结果即为不同类别的概率。

对于训练目标:

1.平均平方损失(Mean Squared Error)函数:适用于回归问题,所谓回归问题就是给计算机读入一系列的属性值,计算机由这些属性值预测出一个具体的值,此时就用到MSE,我们的训练目标就是使MSE最小。MSE 可作为损失函数LOSS。

2.交叉熵损失(Cross-entropy)函数:适用于分类预测问题,公式为:

min_{\theta } J(\theta ) = min_{\theta } - \frac{1}{N}\sum_{i=1}^{N}log P_{model}(F_{\theta }(x_{i})=y_{i})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值