语言模型理论基础-持续更新-思路清晰

1.预训练

相似的任务A、B,任务A已经用大数据完成了训练,得到模型A。

我们利用-特征提取模型的-“浅层参数通用”的特性,使用模型A的浅层参数,其他参数再通过任务B去训练(微调)。

2.统计语言模型

通过条件概率,解决“完型填空”问题和“预测句子出现概率”问题。

3.神经网络语言模型 -- 为了预测next

就是通过mlp,利用已有的词库将单词编码为onehot * Q矩阵(可学习),拟合一个预测下一个单词的模型。最后输出的softmax维度是词库的维度大小。

softmax(w2(tanh((w1x+b1)))+b2)

x是输入的词编码

缺点:onehot的维度==词库的大小,容易出现维度爆炸。我们希望去训练一个Q去控制词embedding大小。

得出:onehot * Q = V,V向量就能表示一个单词的词向量。且能调整大小、能计算词的余弦相似度。

但是:一个Q矩阵,所有的词都在用?

4.Word2Vec类模型 -- 为了得到词vec

· CBOW

给出一个词的上下文,预测这个词。--完形填空

· Skip-gram

给出词预测上下文。--没啥用

w2v是一种预训练模型,因为这个模型可以预训练好一个Q矩阵,供别的下游任务直接使用,无需重新训练。

而onehot不是预训练,是一一对应的表查询。

但是:词向量不能进行多义词表示。

5.ELMo--解决上述问题

注意双向双层

输入:很普通的w2v词向量E;

输出:融合上下文信息的新词向量T。对于一个同一词,T的编码也会不一样了,而且相关性应该是负的。

但是:lstm不能并行,长期依赖。

6.attention

理解:“Query,Key,Value的概念取自于信息检索系统,举个简单的搜索的例子来说。当你在某电商平台搜索某件商品(年轻女士冬季穿的红色薄款羽绒服)时,你在搜索引擎上输入的内容便是Query。 然后搜索引擎根据Query为你匹配Key(例如商品的种类,颜色,描述等)。 然后根据Query和Key的相似度得到匹配的内容(Value)。”

理解:Q,K,V是三个矩阵。 是 X 输入与 Wq,Wk,Wv 点积的结果。 最开始Wq,Wk,Wv 是随机生成的, 后面通过训练 Wq,Wk,Wv 会不断调整,通过loss 函数进行。 Wq,Wk,Wv 就是需要训练的参数。

理解:每个token都会发出一个Q去询问其他token,点乘他们的K,得到相对的重要性,为了消除较大的K对softmax的影响除以根号dk,再做softmax得到概率后,点乘V,得到具体需要注意多少

  !!从分布的角度解释。

7.self-attention

经典

8.67的区别

· 注意力机制没有规定QKV的来源

· 自注意力规定QKV必须是源于X,只是乘了不同的矩阵,在空间上做了不同的伸缩旋转。

9.self和rnn lstm的比较

rnn:

,x0的信息传的远了就消失了。

lstm:

,通过门,选择性记忆/增强前文的信息。

二者都不能并行,存在长序列依赖问题。

10.mask attention

生成模型是一个单词一个单词的生成,所以对已生成的单词想要做attention的话,attention map会像是下阶梯形矩阵。

11.多头自注意

就是将X分成8块,每个头有自己的QKV,同样得到一个Z,拼接后再经过一个线性变换得到原来大小的Z。

12.位置编码

· 由于attention可以并行计算,导致它不能像rnn一样完全顺序进行计算。

· 而且如果没有位置编码,即使话的顺序是乱的,也不影响attention的计算。所以应该有位置编码来表示语序。加到原来的词向量中。

计算方式:

 对于每个pos的编码,偶数位置用sin奇数位置用cos。2i的目的仅是为了转换为对应的三角函数。

再根据三角函数和差化积:

得到:PE = sin(将posi分为两数之和) = 这两个数的PE的线性组合。

理解为:较大posi的编码中蕴含了较小posi的PE信息。即,相当于递归的意思,后面的pos必须依赖之前的值。

13.transformer框架

seq2seq模型

encode:将输入变成词向量

decode:输入词向量,生成下步预测

N层encoder,代表输入经过了N个encoder逐步增强词向量表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ResNet与注意力机制:深度学习中的强强联合

引言 在深度学习领域,卷积神经网络(CNN)一直是图像处理任务的主流架构。然而,随着网络深度的增加,梯度消失和梯度爆炸问题逐渐显现,限制了网络的性能。为了解决这一问题,ResNet(残差…

【C++】——C++11新特性

目录 前言 1.初始化列表 2.std::initializer_list 3.auto 4.decltype 5.nullptr 6.左值引用和右值引用 6.1右值引用的真面目 6.2左值引用和右值引用比较 6.3右值引用的意义 6.3.1移动构造 6.4万能引用 6.5完美转发——forward 结语 前言 C,这门在系统…

【C++网络编程】第5篇:UDP与广播通信

一、UDP协议核心特性 1. UDP vs TCP ​特性 ​UDP​TCP连接方式无连接面向连接(三次握手)可靠性不保证数据到达或顺序可靠传输(超时重传、顺序控制)传输效率低延迟,高吞吐相对较低(因握手和确认机制&…

MOSN(Modular Open Smart Network)是一款主要使用 Go 语言开发的云原生网络代理平台

前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金服开源的 s…

微信小程序日常开发问题整理

微信小程序日常开发问题整理 1 切换渲染模式1.1 WebView 的链接在模拟器可以打开,手机上无法打开。 1 切换渲染模式 1.1 WebView 的链接在模拟器可以打开,手机上无法打开。 在 app.json 中看到如下配置项,那么当前项目就是 keyline 渲染模式…

【Altium Designer】铜皮编辑

一、动态铜皮与静态铜皮的区分与切换 动态铜皮(活铜): 通过快捷键 PG 创建,支持自动避让其他网络对象,常用于大面积铺铜(如GND或电源网络)。修改动态铜皮后,需通过 Tools → Polygo…

Java「Deque」 方法详解:从入门到实战

Java Deque 各种方法解析:从入门到实战 在 Java 编程中,Deque(双端队列)是一个功能强大的数据结构,允许开发者从队列的两端高效地添加、删除和检查元素。作为 java.util 包中的一部分,Deque 接口继承自 Qu…

ffmpeg+QOpenGLWidget显示视频

​一个基于 ‌FFmpeg 4.x‌ 和 QOpenGLWidget的简单视频播放器代码示例,实现视频解码和渲染到 Qt 窗口的功能。 1)ffmpeg库界面,视频解码支持软解和硬解方式。 硬解后,硬件解码完成需要将数据从GPU复制到CPU。优先采用av_hwf…

深入解析嵌入式内核:从架构到实践

一、嵌入式内核概述 嵌入式内核是嵌入式操作系统的核心组件,负责管理硬件资源、调度任务、处理中断等关键功能。其核心目标是在资源受限的环境中提供高效、实时的控制能力。与通用操作系统不同,嵌入式内核通常具有高度可裁剪性、实时性和可靠性&#xff…

20250324-使用 `nltk` 的 `sent_tokenize`, `word_tokenize、WordNetLemmatizer` 方法时报错

解决使用 nltk 的 sent_tokenize, word_tokenize、WordNetLemmatizer 方法时报错问题 第 2 节的手动方法的法1可解决大部分问题,可首先尝试章节 2 的方法 1. nltk.download(‘punkt_tab’) LookupError: *******************************************************…

『 C++ 』多线程同步:条件变量及其接口的应用实践

文章目录 条件变量概述条件变量简介条件变量的基本用法 案例:两个线程交替打印奇偶数代码解释 std::unique_lock::try_lock_until 介绍代码示例代码解释注意事项 std::condition_variable::wait 详细解析与示例std::condition_variable::wait 接口介绍代码示例代码解…

【VolView】纯前端实现CT三维重建-CBCT

文章目录 什么是CBCTCBCT技术路线使用第三方工具使用Python实现使用前端实现 纯前端实现方案优缺点使用VolView实现CBCT VolView的使用1.克隆代码2.配置依赖3.运行4.效果 进阶:VolView配合Python解决卡顿1.修改VtkThreeView.vue2.新增Custom3DView.vue3.Python生成s…

debug - 安装.msi时,为所有用户安装程序

文章目录 debug - 安装.msi时,为所有用户安装程序概述笔记试试在目标.msi后面直接加参数的测试 备注备注END debug - 安装.msi时,为所有用户安装程序 概述 为了测试,装了一个test.msi. 安装时,只有安装路径的选择,没…

Java Stream两种list判断字符串是否存在方案

这里写自定义目录标题 背景初始化方法一、filter过滤方法二、anyMatch匹配 背景 在项目开发中,经常遇到筛选list中是否包含某个子字符串,有多种方式,本篇主要介绍stream流的filter和anyMatch两种方案,记录下来,方便备…

DeepSeek vs 通义大模型:谁将主导中国AI的未来战场?

当你在深夜调试代码时,是否幻想过AI伙伴能真正理解你的需求?当企业面对海量数据时,是否期待一个真正智能的决策大脑? 这场由DeepSeek和通义领衔的大模型之争,正在重塑中国AI产业的竞争格局。本文将为你揭开两大技术巨头的终极对决! 一、颠覆认知的技术突破 1.1 改变游戏…

3. 轴指令(omron 机器自动化控制器)——>MC_SetOverride

机器自动化控制器——第三章 轴指令 12 MC_SetOverride变量▶输入变量▶输出变量▶输入输出变量 功能说明▶时序图▶重启运动指令▶多重启动运动指令▶异常 MC_SetOverride 变更轴的目标速度。 指令名称FB/FUN图形表现ST表现MC_SetOverride超调值设定FBMC_SetOverride_instan…

从像素到世界:自动驾驶视觉感知的坐标变换体系

接着上一篇 如何让自动驾驶汽车“看清”世界?坐标映射与数据融合详解的概述,这一篇详细讲解自动驾驶多目视觉系统设计原理,并给出应用示例。 摘要 在自动驾驶系统中,准确的环境感知是实现路径规划与决策控制的基础。本文系统性地解析图像坐标系、像素坐标系、相机坐标系与…

附录B ISO15118-20测试命令

本章节给出ISO15118-20协议集的V2G命令,包含json、xml,并且根据exiCodec.jar编码得到exi内容, 读者可以参考使用,测试编解码库是否能正确编解码。 B.1 supportedAppProtocolReq json: {"supportedAppProtocolReq": {…

VLAN章节学习

为什么会有vlan这个技术? 1.通过划分广播域来降低广播风暴导致的设备性能下降; 2.提高网络管理的灵活性和通过隔离网络带来的安全性; 3.在成本不变的情况下增加更多的功能性; VLAN又称虚拟局域网(再此扩展&#xf…

FPGA时钟约束

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、Create_clock 前言 时钟周期约束&#xff0c;就是对时钟进行约束。 一、Create_clock create_clock -name <name> -period <period> -waveform …