大模型-第一章语言模型基础(二)

文章目录

    • [1.3 基于 Transformer 的语言模型](#1.3 基于 Transformer 的语言模型)

1.3 基于 Transformer 的语言模型

Transformer 是一类基于注意力机制(Attention)的模块化构建的神经网络结构。给定一个序列,Transformer 将一定数量的历史状态和当前状态同时输入,然后进行加权相加。对历史状态和当前状态进行"通盘考虑",然后对未来状态进行预测。基于 Transformer 的语言模型,以词序列作为输入,基于一定长度的上文和当前词来预测下一个词出现的概率。

python 复制代码
这两个模块组成了transformer 块,模型是由多个块组合而成的
python 复制代码
首先,为什么要提出transformer呢,他提出来又是为了解决生成语言模型遇到的哪些问题呢
之前是不是学了RNN,传统的神经网络(如 RNN 和 LSTM)通常需要逐步地处理数据(一个词一个词地处理)
越长越不准确是不是
Transformer 通过一种叫做 自注意力机制(Self-Attention) 的技术,能够同时关注输入序列中的所有位置,解决了这一问题,并且计算上更高效。

自注意力机制计算过程:

python 复制代码
注意力分数:表示该词与其他词的关系(即它们的相似度)

最开始的权重矩阵Wq Wk Wv都是随机初始化的,在训练过程中,Transformer 通过 前向传播 计算查询、键、值向量,并通过 反向传播 计算损失和梯度,更新这些权重矩阵。
python 复制代码
注意力机制是如何工作的:一个是计算注意力,然后是应用注意力,应用注意力就是他的多头注意力机制,让模型从不同角度理解词之间的关系,Transformer 使用多个"头"来并行计算注意力,每个头关注输入序列的不同部分。

通俗解释:
想象你在翻译一句话时,看到"我喜欢苹果"。你在翻译"苹果"这个词时,可能会特别注意到"喜欢"这个词,因为它描述了"苹果"的情感关联,而不是关注句子中的"我"。注意力机制帮助模型"专注"于输入序列中的关键部分。

简而言之,注意力机制让模型"关注"最相关的信息,忽略不重要的部分,从而提升模型对复杂任务的理解和处理能力。
示例:
假设输入句子为:"我喜欢吃苹果。" 如果我们要生成"吃"的翻译,注意力机制会帮助模型集中注意力在"喜欢"和"苹果"上,而不是"我"。
python 复制代码
多头注意力(Multi-Head Attention)机制中每个头(head)有不同的权重矩阵。
具体来说,多头注意力机制的核心思想是将注意力机制应用于多个子空间(不同的子空间代表不同的注意力头),从而能够捕捉输入数据的不同方面信息。每个注意力头都学习不同的查询(Query)、 键(Key)和值(Value) 的权重矩阵。



python 复制代码
全连接前馈网络

想象你有一份报告,你希望模型能够通过这份报告给出一个总结。报告的每个部分(比如每一段文字)可能包含不同的信息,而模型通过"全连接前馈网络"来处理这些信息,将它们组合起来生成最终的输出。每一层的神经元都连接到下一层的所有神经元,因此它能够对信息进行广泛的处理和整合。

接下来介绍transformer的解码编码结构

python 复制代码
Transformer 模型由 编码器(Encoder) 和 解码器(Decoder) 两大部分组成
分别用于输入序列的处理和输出序列的生成。每个编码器和解码器都由多个相同的层堆叠而成,通常是 6 层(但可以根据需要进行调整)。

例子:英文句子翻译成中文

输入句子(英文):

"I love reading books."

目标输出(中文):

"我 喜欢 读书"

那编码器有什么用呢

解码器有什么作用呢


python 复制代码
多层:
可以类比为人类学习语言或理解信息的过程。我们并不是一次就能完全理解一句话或一段话的所有含义,而是需要通过逐渐分析不同的层面(例如词汇、语法、语境等)来逐渐构建出完整的理解。多层编码器的设计就是模拟这种认知过程,逐层逐步提炼和抽象信息。
python 复制代码
解码器的那个编码器-解码器注意力机制不太理解
可以将其类比为一个人在翻译一个句子时的思维过程。假设你要把英文句子"I love reading books"翻译成中文。如果你想翻译"I"这个词,你会想到它在句子中的位置和它的作用。你会意识到"I"是主语,在中文中应该翻译为"我"。这个判断是基于你对整个句子的理解,而不仅仅是词汇本身。
同样的,在 Transformer 中,解码器生成每个目标词时,它不仅仅依赖于自己已经生成的部分,还会参考 编码器的输出(也就是源语言的句子)来决定最合适的词语。


再具体一点:


用数学就是


相关推荐
Mintopia3 小时前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮4 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬4 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia4 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区5 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两7 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪7 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat232558 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源
王鑫星8 小时前
SWE-bench 首次突破 80%:Claude Opus 4.5 发布,Anthropic 的野心不止于写代码
人工智能