目录
- [AI(Artificial Intelligence,人工智能)](#AI(Artificial Intelligence,人工智能))
- [NLP(Natural Language Processing,自然语言处理)](#NLP(Natural Language Processing,自然语言处理))
- NLP演进过程
- 术语
AI(Artificial Intelligence,人工智能)
人工智能(AI)作为当今科技领域最前沿的学科之一,正在深刻改变着我们的世界。
AI技术有以下核心领域:计算机视觉和自然语言处理
- 机器学习(Machine Learning,ML):让计算机从数据中学习规律
- 深度学习(Deep Learning,DL):基于神经网络的复杂模式识别
- 自然语言处理(Natural Language Processing, NLP):让机器理解和生成人类语言
- 计算机视觉(Computer Vision,CV):使机器能够"看懂"图像和视频
- 机器人技术(Robotics):将智能赋予物理实体
NLP(Natural Language Processing,自然语言处理)
自然语言处理是人工智能的一个子领域,关注计算机如何理解、解释和生成人类语言。
NLP的核心任务就是为人类的语言编码并解码,是人类与计算机沟通的桥梁。
NLP演进过程
NLP技术演进的4个阶段:
- 起源
- 基于规则的语言模型
- 基于统计的语言模型
- 基于神经网络的统计语言模型
- 深度学习和大数据驱动(Deep Learning & Deep Neural Network)
起源
NLP的起源可以追溯到阿兰·图灵在 20 世纪 50年代提出的图灵测试图灵测试的基本思想是,如果一个计算机程序能在自然语言对话中表现得像个人,那么我们可以说它具有智能。从这里我们可以看出,AI最早的愿景与自然语言处理息息相关。NLP 问题是 AI 从诞生之日起就亟须解决的主要问题。
基于规则的语言模型
在随后的数十年中,人们尝试通过基于语法和语义规则的方法来解决NLP 问题。然而,由于规则很多且十分复杂,这种方法无法涵盖所有的语言现象。
-
核心思想
依赖于语言学家手工编写的、明确的规则来定义语言的合法结构。这些规则通常关乎语法和句法。它不依赖于大规模语料库的统计信息,而是依赖于人类的语言知识。
-
目标
它判断一个句子是否"合法"(Grammatically Correct),而不是计算其概率。
-
核心组件与工作原理
这类模型通常建立在形式文法的基础上,最著名的是乔姆斯基谱系,尤其是上下文无关文法。
一个简单的例子:
定义语法规则(使用产生式):
S -> NP VP # 句子由名词短语和动词短语构成
NP -> Det N # 名词短语由限定词和名词构成
VP -> V NP # 动词短语由动词和名词短语构成
Det -> "the" | "a" # 限定词是"the"或"a"
N -> "cat" | "dog" | "mouse" # 名词是...
V -> "chases" | "eats" # 动词是...
解析句子:
输入句子:"the cat chases the mouse"。
解析过程:模型会尝试将这些词按照规则组合起来,构建一棵解析树。
S NP VP Det N the cat V NP 'chases' Det N the mouse
输出:
如果能成功构建出一棵完整的、覆盖所有词语的解析树,则该句子被判定为语法正确。
如果无法构建(例如,输入是 "chases the cat mouse the"),则判定为语法错误。
基于统计的语言模型
1970年以后,以弗雷德里克·贾里尼克(Frederick Jelinek)为首的IBM 科学家们采用了基于统计的方法来解决语音识别的问题,终于把个基于规则的问题转换成了一个数学问题,最终使 NLP任务的准确率有了质的提升。至此,人们才纷纷意识到原来的方法可能是行不通的,采用统计的方法才是一条正确的道路。因此,人们基于统计定义了语言模型(LanguageModel,LM ):语言模型是一种用于捕捉自然语言中词汇、短语和句子的概率分布的统计模型。简单来说,语言模型旨在估计给定文本序列出现的概率,以帮助理解语言的结构和生成新的文本。
-
核心思想
从大量的文本数据(语料库)中统计出语言的规律,并用这些统计信息来计算一个词序列的可能性(概率)。
-
基本假设
一个语言单位(如一个词)的出现,不是完全随机的,而是依赖于它前面的上下文。
-
核心目标
计算一个句子
S = w 1 , w 2 , . . . , w n S = w_1,w_2,...,w_n S=w1,w2,...,wn出现的概率 P ( S ) P(S) P(S)
N-gram模型是统计语言模型中最著名、最基础的代表。
神经网络语言模型
核心思想:利用神经网络来学习并计算词序列的概率分布 P ( w 1 ∣ w 2 , . . . , w 3 ) P(w_1|w_2,...,w_3) P(w1∣w2,...,w3),从而克服传统N-gram模型的数据稀疏和维度灾难问题。
下图清晰地展示了Bengio提出的经典前馈神经网络语言模型的结构
模型组件层级 词向量层
核心贡献之一 查找词向量表 C
(Embedding Matrix) 得到词向量
并拼接成一个长向量 神经网络概率计算器
替代N-gram计数 全连接隐藏层
(Tanh激活) 全连接输出层 Softmax层 输入: 前n-1个词
W(t-1), W(t-2), ..., W(t-n+1) 输出: 下一个词Wt的概率分布
over 整个词汇表V
架构详解与创新
让我们沿着上图的流程,深入理解每个部分的意义:
-
输入层
输入是当前词 w t w_t wt之前的 n-1 个词(一个固定大小的上下文窗口),类似于N-gram。
-
投影层 - 核心创新之一
模型维护一个词向量矩阵 C C C(一个查找表)。
它将每个输入的词 w w w映射到一个稠密的词向量 C ( w ) C(w) C(w)。
然后将这 n-1 个词向量拼接成一个更长的向量,作为下一层的输入。
意义:这是词向量作为模型副产品的直接来源,它自动学习了词的分布式表示。
-
隐藏层
一个标准的全连接层,使用tanh或ReLU等激活函数引入非线性。
作用:对拼接后的词向量进行非线性变换和组合,学习词与词之间复杂的上下文交互特征。
-
输出层
一个全连接层,后接一个Softmax函数。
其节点数与词汇表大小 ∣ V ∣ ∣V∣ ∣V∣ 相同。
输出:一个在整个词汇表上的概率分布,表示下一个词是词汇表中每个词的概率。
神经网络
核心比喻:神经网络是受人脑神经元工作机制启发而构建的一种计算模型。
本质:它是一个由大量人工神经元相互连接构成的非线性函数,能够从数据中学习复杂的模式和关系。
目标:解决诸如分类、回归、聚类、生成等任务。
基本构建单元:人工神经元
一个人工神经元是神经网络的基本处理单元。
工作原理
-
输入:接收来自其他神经元或外部数据的输入 x 1 , x 2 , . . . , x n x_1, x_2,...,x_n x1,x2,...,xn。
-
加权求和:对每个输入乘以一个权重 w 1 , w 2 , . . . , w n w_1, w_2,...,w_n w1,w2,...,wn ,并加上一个偏置 b。
z = ∑ i = 1 n w i x i + b z = \sum_{i=1}^{n} w_i x_i + b z=i=1∑nwixi+b -
激活函数:将加权求和的结果 z z z 输入一个非线性激活函数 f f f。
-
输出:产生该神经元的输出 a = f ( z ) a = f(z) a=f(z)
激活函数的作用至关重要:引入非线性,使得网络能够拟合非常复杂的数据分布。常见的有Sigmoid、Tanh、ReLU等。
神经网络的经典架构
下图清晰地展示了一个经典的三层(输入层、隐藏层、输出层)前馈神经网络结构:
输出层 隐藏层 输入层 神经元C1 神经元C2 神经元B1 神经元B2 神经元B3 神经元B4 神经元A1 神经元A2 神经元A3
-
层
输入层:接收原始数据。
隐藏层:位于输入和输出层之间,可以有一层或多层,是网络进行特征学习和抽象的核心。层数越多,网络越"深"。
输出层:产生最终的预测结果(如分类概率、数值等)。
-
连接与权重
层与层之间的神经元相互连接。
每个连接都有一个权重 w,代表了该连接的重要性。训练神经网络的核心就是学习这些权重的最优值。
-
前向传播
数据从输入层开始,经过加权求和、激活函数,逐层传递,最终得到输出结果的过程。
神经网络如何学习?
学习过程就是不断调整权重和偏置,使网络的预测输出 y ^ \hat{y} y^尽可能接近真实标签 y y y。
-
损失函数
用于量化网络预测值与真实值之间的差距。
例如,对于分类任务常用交叉熵损失,对于回归任务常用均方误差。
-
反向传播算法
核心中的核心。它是一种高效计算损失函数对网络中所有权重梯度的算法。
- 过程:
- 进行一次前向传播,得到预测值和损失。
- 从输出层开始,反向计算损失函数对每一层权重的梯度。这利用了链式法则。
- 梯度指明了为了减小损失,每个权重应调整的方向和幅度。
-
梯度下降与优化器
梯度下降:使用反向传播计算出的梯度来更新权重:
W n e w = W o l d − η ⋅ ∂ L o s s ∂ W o l d W_{new} = W_{old} - \eta \cdot \frac{\partial Loss}{\partial W_{old}} Wnew=Wold−η⋅∂Wold∂Loss其中 η η η 是学习率,控制每次更新的步长。
优化器:更先进的梯度下降算法,如SGD(随机梯度下降)、Adam等,它们能加速收敛并提高稳定性。
学习循环:前向传播 -> 计算损失 -> 反向传播 -> 更新权重 -> 重复直至收敛。
主要类型
- 前馈神经网络:最基础的类型,信息单向流动,无循环或反馈连接。
- 卷积神经网络:专为处理网格状数据(如图像)设计,通过卷积核高效提取局部特征。
- 循环神经网络:专为处理序列数据(如文本、时间序列)设计,具有"记忆"功能,但存在梯度消失/爆炸问题。
- 长短期记忆网络/门控循环单元:RNN的变体,通过"门"机制有效捕捉长距离依赖关系。
- Transformer:当前的主流架构,基于自注意力机制,完全并行化,在NLP和CV领域取得统治性成功。
- 生成式对抗网络:由生成器和判别器组成,通过对抗过程学习生成逼真数据。
- 自编码器:用于无监督学习,学习数据的紧凑表示。
神经网络为何如此强大?
- 万能近似定理:一个足够大的、至少有一层隐藏层的前馈神经网络,可以以任意精度近似任何连续函数。
- 自动特征工程:无需手动设计特征,网络能从原始数据中自动学习出有意义的、层次化的特征表示。
- 对噪声的鲁棒性:对输入数据中的噪声和不完整性有一定的容忍度。
- 可扩展性:能够有效利用大规模数据和强大算力,规模越大,性能往往越强。
总结
神经网络是一个通过连接简单的处理单元(神经元),并通过梯度下降和反向传播从数据中学习的一套框架。它的强大之处在于其层次化的结构和非线性变换能力,使其成为解决复杂现实问题的利器,并构成了当前人工智能浪潮的技术核心。
深度学习和大数据驱动(Deep Learning & Deep Neural Network)
深度学习和大数据驱动:在确定了以统计学方法作为解决 NLP 问题的主要武器之后,随着计算能力的提升和深度学习技术的发展,大数据驱动的NLP 技术已经成为主流。这种技术使用深度神经网络(Deep NeuralNetwork,也就是深层神经网络)等技术来处理海量的自然语言数据,从而学习到语言的复杂结构和语义。目前的大型预训练语言模型,在很多 NLP任务上的表现甚至已经超过人类,不仅可以应用于语音识别、文本分类等任务,还可以生成自然语言文本,如对话系统、机器翻译等。
这代表了自然语言处理领域的范式革命,它结合了海量数据、强大算力和复杂模型架构,最终催生了像GPT、BERT这样令人惊叹的模型。
核心驱动力:三大支柱
- 大数据:互联网产生了前所未有的海量文本数据,为训练超大规模模型提供了"燃料"。
- 深度学习:提供了能够从数据中自动学习复杂特征和模式的模型架构(如Transformer)。
- 硬件算力:GPU/TPU等专用硬件的发展,使得训练这些庞大模型在时间上和成本上成为可能。
核心技术基石
-
神经网络语言模型
起源:Yoshua Bengio等在2003年提出的前馈神经网络语言模型,是这一路径的开端。
核心突破:
- 将离散的词通过词向量映射到连续的向量空间。
- 使用神经网络(而非计数)来计算词序列的概率。
意义:奠定了用分布式表示和神经网络函数来建模语言的思想基础。
-
循环神经网络与长短期记忆网络
- RNN:专为序列数据设计,具有循环连接,可以理论上处理任意长度的上下文。
- LSTM/GRU:通过门控机制,有效解决了RNN的梯度消失/爆炸问题,能够学习长距离依赖关系。
- 角色:在Transformer普及之前,是深度学习处理序列任务(如机器翻译、文本生成)的主流架构。
-
Transformer架构(革命性突破)
- 核心:自注意力机制。
- 工作原理:允许序列中的任何一个词直接与所有其他词进行交互,动态地计算每个词对当前词的重要性权重。
- 相比RNN的绝对优势:
- 高度并行化:极大提升了训练速度。
- 强大的长程依赖建模:无论词与词之间的距离多远,自注意力都能直接建立连接,避免了RNN的信息衰减问题。
实现范式:预训练 + 微调
这是深度学习时代最成功的范式,彻底改变了NLP应用的开发模式。
第一步:预训练
-
目标:在一个海量无标注的通用文本语料库上,训练一个庞大的基础模型。
-
任务:通常是自监督学习任务,例如:
- 语言建模:预测下一个词(如GPT系列)。
- 掩码语言建模:预测被遮盖住的词(如BERT)。
-
结果:模型学会了语言的通用语法、句法、事实知识和一定的推理能力,成为一个"知识渊博的通才"。
第二步:微调
-
目标:让预训练好的通用模型适应特定的下游任务(如情感分析、问答、文本摘要)。
-
做法:在一个小规模、高质量、有标注的特定任务数据集上,继续训练预训练模型。
-
结果:模型将其通用知识迁移到特定任务上,迅速成为一个"该领域的专家"。
-
优势:避免了为每个任务从头训练模型的巨大成本,实现了高效率和高性能的统一。
关键特性与能力
-
上下文感知的动态表征:
- 与静态词向量(如Word2Vec)不同,模型根据整个句子的上下文为每个词生成独特的向量表示。
- 例如,"苹果"在"吃苹果"和"苹果手机"中的向量是不同的。
-
强大的泛化能力:
由于在庞大数据上学到了语言的底层规律,模型在面对新领域、新任务时表现出强大的零样本/少样本学习能力。
-
涌现能力:
当模型规模(参数、数据、算力)超过某个阈值时,模型会展现出在小型模型中看不到的能力,如:
- 思维链推理
- 代码生成与理解
- 复杂的指令遵循
-
多模态融合:
最新的语言模型开始将视觉、语音等信息与文本对齐到同一个表示空间,迈向多模态大模型(如GPT-4V)。
代表性模型家族
- GPT系列:基于自回归的Transformer解码器,专注于文本生成任务,是"生成式AI"的典范。
- BERT系列:基于自编码的Transformer编码器,专注于文本理解任务,在NLU任务上表现卓越。
- T5系列:将所有NLP任务都统一为"文本到文本"的格式,架构上是完整的Transformer。
- ChatGPT/InstructGPT:通过从人类反馈中强化学习技术,使模型的输出与人类的意图和价值观对齐。
总结
深度学习与大数据驱动的语言模型,通过"预训练+微调"的范式,借助Transformer这一强大架构,实现了对自然语言前所未有的理解和生成能力。
它不仅是技术的进步,更是一种范式的颠覆:
-
从:为每个任务专门收集数据、设计模型。
-
变为:集中力量训练一个通用的、强大的基础模型,然后轻松地将其适配到无数个下游应用中。
这开启了当今以大模型为核心的人工智能新时代,并持续推动着技术边界向前拓展。
术语
Abbreviation | Full Name | Chinese | Description |
---|---|---|---|
AI | Artificial Intelligence | 人工智能 | |
AGI | Artificial General Intelligence | 通用人工智能 | |
Deep Learning | 深度学习 | ||
NLP | Natural Language Processing | 自然语言处理 | |
LLM | Large Scale Language Model | 大规模语言模型 | |
N-Gram | |||
BoW | Bag-of-Words | 词袋模型 | 早期用于处理文本的方法,关注词频和局部词序列 |
W2V | Word to Vector | 实现了词嵌入方法的突破,能从词频和局部词序列中捕捉词汇的语义信息。 | |
NPLM | Neural Probalilistic Language Model | 神经概率语言模型 | 基于神经网络的语言模型,从此人类开始利用神经网络处理词序列。 |
RNN | Recurrent Neural Network | 循环神经网络 | 具有更强大的长距离依赖关系捕捉能力的神经网络模型。 |
S2S | Sequence-toSequence | 基于RNN的编码器-解码器架构,将输入序列映射到输出序列,是Transformer架构的基础。 | |
Attention Mechanism | 注意力机制 | 使Seq2Seq模型在生成输出时更关注输入序列的特定部分。 | |
Transformer | 摒弃了RNN,提出全面基于自注意力的架构,买现高效并行计算。 | ||
BERT | 基于Transformer 的双向预训练语言模型,具有强大的迁移学习能力。 | ||
初代GPT | Generative Pre-trained Transformer | 基于 Transformer 的单向预训练语言模型,采用生成式方法进行预训练。 | |
ChatGPT | 从GPT-3开始,通过任务设计和微调策略的优化,尤其是基于人类反馈的强化学习,实现强大的文本生成和对话能力。 | ||
GPT-4 | 仍基于Transformer架构,使用前所未有的大规模计算参数和数据进行训练,展现出比以前的AI模型更普遍的智能,不仅精通语言处理,还可以解决涉及数学、编码、视觉、医学、法律、心理学等各领域的难题,被誉为"通用人工智能的星星之火"(Sparks of Artificial General Intelligence)。 | ||
Word embedding | 词向量 | 又叫Word嵌入式自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。 从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。 | |
Prompt Engineering | 提示工程 | 提示工程(Prompt Engineering)已经不再是一个新鲜名词了,它能"有效地与人工智能沟通以获得你想要的东西"。大多数人都不擅长提示工程,然而,它正在成为一项越来越重要的技能 ...... 不好的输入很大程度上意味着不好的输出。因此,提示工程师这个职业应运而生。他们主要负责设计和优化模型的输入(即提示或指令),以引导模型生成满足特定目标的输出。当然,提示工程师需要深入理解特定任务的需求和目标,对任务背景和领域知识具有一定程度的了解,以确保输入符合任务的实际需求,设计出有效的提示或指令。而且,一个提示工程师还需要具有良好的沟通和协作能力。 | |
AIG | Artificial Intelligence Generated Content | 人工智能生成内容 | 通过算法自动生成文本、图像、音视频等内容,属于PGC/UGC后的第三代内容生产方式。 |
PGC | Professional Generated Content | 专业生产内容 | 由专业团队或机构生产,如优设网、丁香医生等专业平台的内容。这类内容通常需要专业背景支撑,生产流程规范且质量较高。 |
UGC | User Generated Content | 用户生成内容 | 由普通用户创作,如微博等社交平台的用户发布内容。其特点是门槛低、形式多样,但质量参差不齐。 |
自回归模型 | |||
MLM | 掩码语言模型 | ||
NSP | 下一句预测 | ||
InstructGPT | 如果说GPT-3展现了模型的"能力",那么InstructGPT的诞生就是为了解决"如何让模型的能力与人类的意图和价值观对齐"这一核心问题。它正是ChatGPT最初所基于的模型。您可以将其理解为GPT-3的"升级版",其核心目标不是变得"更聪明",而是变得"更听话"、"更有用"、"更安全"。 | ||
RLHF | Reinforcement Learning from Human Feedback | 基于人类反馈的强化学习 | |
PPO | Proximal Policy Optimization | 近端策略优化 |