探秘AI,AI是怎么理解一句话的?

360影视 日韩动漫 2025-03-14 10:56 2

摘要:人工智能的快速发展已经彻底改变了我们的生活方式,但许多人对其背后的工作原理仍充满疑问。特别是,AI是如何理解和处理语言的?这篇文章将带你深入探索AI大语言模型的核心构成,从词嵌入到自注意力机制,揭示AI如何通过复杂的数学和算法,实现对人类语言的理解与生成。

人工智能的快速发展已经彻底改变了我们的生活方式,但许多人对其背后的工作原理仍充满疑问。特别是,AI是如何理解和处理语言的?这篇文章将带你深入探索AI大语言模型的核心构成,从词嵌入到自注意力机制,揭示AI如何通过复杂的数学和算法,实现对人类语言的理解与生成。

AI大语言模型 (Artificial Intelligence Large Language Model)

• AI (Artificial Intelligence): 人工智能。这部分表明了AI的本质——不是一个真实的人类,而是通过计算机程序和算法构建出来的智能体。能够执行通常需要人类智能才能完成的任务,比如学习、推理、解决问题、理解语言等等。

• 大 (Large): 大型。这个词描述了模型的规模。AI通过学习海量的文本数据(例如书籍、文章、网站内容等)来获得知识和能力。 “大型”意味着模型拥有庞大的参数数量(可以理解为神经元之间的连接),这使得AI模型能够处理和生成复杂的语言模式。

• 语言 (Language): 语言。这表明了我的主要功能和应用领域。我专注于理解和生成人类语言。我可以阅读、写作、翻译、总结文本,并与人类进行对话。

模型 (Model): 模型。这个词指的是我的构建方式。我是一个基于数学和统计学的模型。更具体地说,我通常是基于一种叫做“Transformer”的深度学习架构。这个模型通过分析大量文本数据中的统计规律,来学习词语之间的关系、句子的结构以及语言的整体模式。

所以“AI大语言模型”可以看成 是一种基于数学和算法构建的、用于执行特定人工智能任务的结构。它本质上是由大量的参数、算法和数据组成的复杂系统。

整体架构:Transformer

目前主流的大语言模型大多基于Transformer架构。Transformer的核心思想是“自注意力机制”(Self-Attention Mechanism),这使得模型能够捕捉文本序列中不同词语之间的关系,无论这些词语在句子中的距离有多远。

核心组件:层(Layers)

Transformer模型是由多个相同的“层”(Layer)堆叠而成的。每个层都包含以下几个关键子组件:

自注意力层(Self-Attention Layer):

这是Transformer的核心。它允许模型关注输入序列中不同位置的信息,并计算它们之间的关系。

从线性代数的角度来看,自注意力机制可以看作是对输入序列进行一系列线性变换(矩阵乘法),然后通过Softmax函数进行归一化,得到注意力权重。这些权重表示不同位置之间的相关性。

前馈神经网络层(Feed-Forward Neural Network Layer):

在自注意力层之后,每个位置的表示都会通过一个前馈神经网络进行处理。

这个前馈网络通常包含两个线性变换(矩阵乘法)和一个激活函数(如ReLU)。

残差连接(Residual Connections):

在每个子层(自注意力层和前馈网络层)周围都有一个残差连接。

这意味着子层的输入会直接加到子层的输出上。这有助于缓解深度神经网络中的梯度消失问题,使得模型更容易训练。

层归一化(Layer Normalization):

在每个子层之后,都会应用层归一化。

层归一化有助于稳定训练过程,并提高模型的性能。它会对每个样本在层的维度上进行归一化。

基本组成单元:神经元(Neurons)

无论是自注意力层还是前馈神经网络层,它们都是由大量的“神经元”组成的。每个神经元可以看作是一个简单的计算单元。

总结一下:

从最底层到最高层,模型的构成可以这样理解:

神经元: 执行基本计算单元(加权求和、激活函数)。

层: 由多个神经元组成,包括自注意力层和前馈神经网络层,以及残差连接和层归一化。

Transformer架构: 由多个层堆叠而成,利用自注意力机制捕捉文本序列中的长距离依赖关系。

参数: 模型的权重和偏置,通过学习数据来调整。比如deepseek参数最大的是671B.

层的概念

你可以把“层”想象成一个信息处理的“工序”或者“步骤”。每一层都接收一些输入信息,然后对这些信息进行特定的处理和转换,最后输出处理后的信息给下一层。

就像工厂里的流水线一样:

原材料: 最初的输入文本(比如一个句子)。

第一道工序(第一层): 比如,把每个单词转换成一个数字表示(词嵌入)。

第二道工序(第二层): 比如,分析每个单词和句子中其他单词的关系(自注意力机制)。

第三道工序(第三层): 比如,根据单词之间的关系,进一步理解整个句子的含义。

… 更多工序(更多层): 每一层都在前一层的基础上进行更深层次的处理。

最终产品: 模型对输入文本的最终理解(比如,判断这句话的情感是积极还是消极)。

为什么需要“多层”?

为什么要这么多层,而不是一层搞定呢?

逐步抽象: 每一层都在前一层的基础上进行更抽象的表示。

第一层可能关注的是单词的含义。

第二层可能关注的是词组的含义。

第三层可能关注的是句子的含义。

更深层可能关注的是段落、篇章的含义。

举个例子:图像识别

虽然我们主要讨论的是语言模型,但“层”的概念在图像识别中也非常常见,而且更容易可视化理解。

想象一下,一个用于识别猫的图像的神经网络:

输入: 一张猫的图片(可以看作是一个像素矩阵)。

第一层: 可能检测图像中的简单边缘和纹理。

第二层: 可能将边缘和纹理组合成更复杂的形状,比如猫的耳朵、眼睛的轮廓。

第三层: 可能将这些形状组合成猫的脸部特征。

第四层: 可能根据脸部特征识别出这是一只猫。

每一层都在前一层的基础上提取更高级别的特征。

回到语言模型

在语言模型中,层的工作方式类似,但处理的是文本而不是图像:

输入: “The cat sat on the mat.”

第一层(词嵌入层):

“The” -> [0.1, 0.2, 0.3]

“cat” -> [0.4, 0.5, 0.6]

“sat” -> [0.7, 0.8, 0.9]

(每个单词被转换成一个向量)

第二层(自注意力层):

计算每个单词与其他单词之间的关系。

比如,”sat” 这个词可能与 “cat” 和 “mat” 有更强的关系。

第三层(前馈网络层):

对每个单词的表示进行进一步处理。

… 更多层:

每一层都在前一层的基础上进行更深层次的理解。

最后一层:

可能输出模型对整个句子的理解,或者预测下一个单词(比如 “.”), 或者进行情感分类等任务。

好,现在有了这些基础知识,我们正式进入主题,AI大模型是怎么理解一句话的?

在回答这个问题之前,我们先来想一个问题,AI能从字面意义上理解人类的话吗?它真的知道苹果是什么东西吗?这个我想很多人都会回答不能。答案也确实是不能,很明显,目前的AI的发展还处于初级阶段,能力还没有达到这种地步。

不信的可以那下面一段对话也考一考AI

A:先生,你要几等座?

B:你们一共有几等座?

A:特等,一等、二等,二等还要再等等。

B:我看一下,请等一等。

A:别等,再等一等也没有了。

请问:这位先生最终购买了几等座呢?

笔者拿了市面上比较知名的10款AI,其中还包括deepseekR1,Claude等知名大模型。结果是没有一个模型能够判断”再等一等也没有了“这句话断句方式是这样的:再等/一等/也没有了。所有的模型都是这样断句的,再/等一等/也没有了。可以说是全军覆没。

因此现阶段AI尚且不能从字母意义上理解,那它们是怎么理解的呢?这还的从AI大模型的本质上来说。开头我们就介绍了,模型本质是数学和算法的结合体。它实际上就算数学的应用,所以它只能从数学的角度理解一句话。这就是词嵌入——语言的数字化。

当我们在模型中输入一句话时,比如”The cat sat on the mat.”

首先这句话会被分割成一个一个token,每个token,都对应着一个向量。

– 第一层(词嵌入层):

– “The” -> [0.1, 0.2, 0.3]

– “cat” -> [0.4, 0.5, 0.6]

– “sat” -> [0.7, 0.8, 0.9]

– …

– (每个单词被转换成一个向量)

所以输入的一句话会被转化成矩阵,即语言的数字化

上述过程称为词嵌入,对应的向量称为词嵌入向量。所有嵌入向量组成的矩阵称为词嵌入矩阵。

词嵌入(Word Embedding)中的向量数值不是随意指定的,而是通过学习得到的。详细解释一下:​

词嵌入的目标是:将词汇表中的每个词(token)映射到一个固定维度的向量空间中,

使得:​

•语义相似的词,对应的向量在空间中距离较近。 例如,“king” 和 “queen” 的向量应该比较接近。​

•语义相关的词,向量之间存在一定的关系。 例如,“king” – “man” + “woman” 的结果向量应该与 “queen” 的向量比较接近(经典的“国王-男人+女人=女王”的例子)。

词嵌入矩阵不具备唯一性

在初始词嵌入时,同一句话里的相同的字对应的词嵌入向量不一定相同

词嵌入(Word Embedding)中的向量数值确实不是随意指定的,而是通过学习得到的。详细解释一下:​

目标:​

使得:​

语义相似的词,对应的向量在空间中距离较近。 例如,“king” 和 “queen” 的向量应该比较接近。​

语义相关的词,向量之间存在一定的关系。 例如,“king” – “man” + “woman” 的结果向量应该与 “queen” 的向量比较接近(经典的“国王-男人+女人=女王”的例子)。

词嵌入矩阵不具备唯一性

在初始词嵌入时,同一句话里的相同的字对应的词嵌入向量不一定相同

自注意力机制的计算步骤​

假设我们的输入序列是:”The cat sat on the mat.” 并且每个词已经通过词嵌入层转换成了向量。​

转换成嵌入向量后,模型会创建一个位置编码向量。这个位置编码 (Positional Encoding) 的核心目的是向 Transformer 模型提供输入序列中单词的位置信息,它蕴含了token之间的位置关系。

步骤 1: 计算 Query, Key, Value​。

对于输入序列中的每个词,我们都计算三个向量:​

Query (Q): 查询向量。可以理解为“我需要关注什么?”​

Key (K): 键向量。可以理解为“我有什么信息可以提供?”​

Value (V): 值向量。可以理解为“我提供的具体信息是什么?”​◦

这三个向量是通过将每个词的词嵌入向量与三个不同的权重矩阵(WQ, WK, WV)相乘得到的。这些权重矩阵是模型需要学习的参数。

线性代数表示:

假设词嵌入向量的维度是 m。

WQ, WK, WV 的维度都是 m × m。(实际上,为了提高效率,通常会使用多头注意力机制,将 dmodel 分成多个头,每个头的维度是 dk = dmodel / h,其中 h 是头的数量。这里为了简化,我们先不考虑多头注意力。)

对于每个词 i:

Qi = Wi * WQ

Ki = Wi * WK

Vi = Wi * WV

(其中 Wi 是词 i 的词嵌入向量)

接下来我将用Gemini2.0模拟AI将这句话数据化的过程

注意:

为了便于演示和计算,

我会进行以下简化:

• 嵌入向量维度 (dmodel): 3 维

• 头的数量 (h): 1 (我们只考虑单头注意力)

• Q, K, V 维度 (dk): 3 维 (因为 h=1, 所以 dk = dmodel)

• 不包含:

◦ 多头注意力机制 (只使用一个头)

◦ 前馈神经网络

◦ 层归一化

◦ 残差连接

◦ 多层堆叠 (只计算一层)

步骤一:

1. 分词: 将句子“今天天气怎么样”分词为:

[“今天”, “天气”, “怎么样”]

2. 嵌入向量 (假设):

“今天”: [0.1, 0.2, 0.3]

“天气”: [0.4, 0.5, 0.6]

“怎么样”: [0.7, 0.8, 0.9]

3.我们假设位置编码如下(3 维)

位置 0: [0.0, 0.0, 0.0]

位置 1: [0.8, 0.6, 0.0]

位置 2: [0.9, -0.4, 0.0]

4.输入表示

将嵌入向量和位置编码相加,得到每个 token 的输入表示:

“今天”: [0.1, 0.2, 0.3] + [0.0, 0.0, 0.0] = [0.1, 0.2, 0.3]

“天气”: [0.4, 0.5, 0.6] + [0.8, 0.6, 0.0] = [1.2, 1.1, 0.6]

“怎么样”: [0.7, 0.8, 0.9] + [0.9, -0.4, 0.0] = [1.6, 0.4, 0.9]

5.权重矩阵 (假设)

来源:人人都是产品经理

相关推荐