一. 语言模型基本概念
语言模型是自然语言处理(NLP)领域的一个核心概念,它主要用于预测自然语言中下一个词或者序列的
2. Word2Vec
Word2veç算法的核心是将词向量的计算转换为机器学习的分类问题,将每个词的词向量看作模型参数进行训练,定义分类损失函数,通过梯度下降算法进行优化,最终将模型训练收敛后得到的参数作为最终的词向量。
1. CBOW 与 skip-gram
Word2Vec提出了两种分类问题的建模方式,即连续词袋模型(continuous bag-of-words model)和跳跃模型(skip-gram model)。
两种方法都采用独立性假设,如对于CBOW,将联合分布 P ( w ∣ c ) P ( w \vert c ) P(w∣c)分解为每一个上下文词 c i c _ { i } ci与当前词w条件概率的乘积,即 P ( w ∣ c ) = ∏ 1 ≤ ∣ i ∣ ≤ k P ( w ∣ c i ) P ( w \vert c ) = \prod _ { 1 \leq \vert i \vert \leq k } P ( w \vert c _ { i } ) P(w∣c)=∏1≤∣i∣≤kP(w∣ci).
两种方法训练得到的词向量效果都不错,但是skip-gram任务更难,效果更好。
2. 负采样
Word2Vec实际上是对词表的多分类问题,大规模的词表给具体计算带来很大困准,因此采用负采样的方法加快训练速度。
负采样的目的
基本逻辑
正样本和负样本的定义
采样过程
训练调整:
在训练过程中,模型不再需要计算词汇表中所有词的概率,而是重点关注正样本和这些采样得到的负样本。对于正样本,希望模型预测它们出现的概率较高;对于负样本,希望模型预测它们出现的概率较低。
模型的目标是最大化(使得正样本的概率更接近1)正样本的预测概率,同时最小化(负样本的概率更接近0)负样本的预测概率。这样,训练过程只需要考虑部分词汇,从而减少了计算量。
通过这种方式,模型能够有效地学习到词之间的语义关系(下次遇见负样本的词句,就直接抛弃不加以训练),同时大大减少了计算量。
三. 基于神经网络的语言模型处理(ing)
1. 基于全连接神经网络的bgram模型
2. 基于LSTM的模型
四. 基于神经网络的机器翻译
Seq2Seq(Sequence - to - Sequence)模型主要用于处理序列到序列的转换问题,在自然语言处理领域应用广泛,如机器翻译、文本摘要、对话系统等。它由两个主要部分组成:编码器(Encoder)和解码器(Decoder)。
1. Seq2Seq
2. Beam Search
3. 基于注意力机制的Seq2Seq模型
4. 基于Transformer的Seq2Seq模型
五. 预训练语言模型的基本原理与方法
语言模型预训练是一种在自然语言处理(NLP)领域广泛使用的技术,特别是在Transformer 模型出现之后。
这种方法的核心思想是首先在大量无标注的数据上训练一个通用的语言模型,然后再将这个预训练模型微调(fine-tune)到特定的下游任务上。预训练模型能够捕捉到语言的通用特征和模式,而微调则可以让模型适应特定的任务需求。
预训练过程是无监督学习,微调一般需要标签属于监督学习。
下面介绍两种最经典的使用Transformer 模型进行预训练的范式:生成式(generative)建模和判别式(discriminative)建模。
1. GPT
GPT是由人工智能研究实验室OpenAI提出的一种预训练语言模型,基于Transformer架构设计。
核心思想
引领潮流
零样本和少样本学习,协助大模型推理
2. BERT
BERT 全称为双向Transformer编码器表示(bidirectional encoder representations fromTransformers),主要为了自然语言处理中大量的非生成式任务设计。
GPT的局限与全局信息的重要性
基本逻辑:
成就:
3. 判别式与生成式建模方法的讨论
预训练生成器、预训练编码器
生成式预训练:擅长文本输出,判别式预训练表征能力强
并行地生成整个句子