预训练语言模型(笔记)

news/2025/2/9 1:25:37/

笔记来源:Transformer、GPT、BERT,预训练语言模型的前世今生(目录) - B站-水论文的程序猿 - 博客园

预训练语言模型的发展并不是一蹴而就的,而是伴随着诸如词嵌入、序列到序列模型及 Attention 的发展而产生的。

一、从图像领域引入预训练思想

假设我们现在有一个任务:阿猫、阿狗、阿虎的图片各十张,然后让我们设计一个深度神经网络,通过该网络把它们三者的图片进行分类。

然而用30张图片设计一个深度神经网络基本是不可能的,因为深度学习一个弱项就是在训练阶段对于数据量的需求特别大。但是我们可以利用网上现有的大量已做好分类标注的图片。比如 ImageNet 中有 1400 万张图片,并且这些图片都已经做好了分类标注。

上述利用网络上现有图片的思想就是预训练的思想,具体做法就是:

  1. 通过 ImageNet 数据集我们训练出一个模型A
  2. 我们可以对模型 A 做出一部分改进得到模型 B(两种方法):
    1. 冻结:浅层参数使用模型 A 的参数,高层参数随机初始化,浅层参数一直不变,然后利用 30 张图片训练参数
    2. 微调:浅层参数使用模型 A 的参数,高层参数随机初始化,然后利用30 张图片训练参数,但是在这里浅层参数会随着任务的训练不断发生变化

预训练思想总结: 

对于一个具有少量数据的任务 A,我们可以先利用现有的大量数据搭建一个模型 A,再搭建一个模型B,模型B利用模型A的参数初始化后再用任务A的少量数据训练。模型B就是对应任务A的模型。

二、语言模型 

语言模型通俗点讲就是计算一个句子的概率。也就是说,对于语言序列 𝑤1,𝑤2,⋯,𝑤𝑛,语言模型就是计算该序列的概率,即 𝑃(𝑤1,𝑤2,⋯,𝑤𝑛)。

下面通过两个实例具体了解上述所描述的意思:

  1. 假设给定两句话 “判断这个词的磁性” 和 “判断这个词的词性”,语言模型会认为后者更自然。转化成数学语言也就是:𝑃(判断,这个,词,的,词性)>𝑃(判断,这个,词,的,磁性)
  2. 假设给定一句话做填空 “判断这个词的____”,则问题就变成了给定前面的词,找出后面的一个词是什么,转化成数学语言就是:𝑃(词性|判断,这个,词,的)>𝑃(磁性|判断,这个,词,的)

通过上述两个实例,可以给出语言模型更加具体的描述:

1.给定一句由 𝑛 个词组成的句子 𝑊=𝑤1,𝑤2,⋯,𝑤𝑛,计算这个句子的概率 𝑃(𝑤1,𝑤2,⋯,𝑤𝑛)

2.计算根据上文计算下一个词的概率 𝑃(𝑤𝑛|𝑤1,𝑤2,⋯,𝑤𝑛−1)。

语言模型有两个分支,分别是统计语言模型和神经网络语言模型。

 2.1统计语言模型

1.计算句子概率的公式:P(w1,w2,⋯,wn)=P(w1)P(w2|w1)P(w3|w1,w2)⋯p(wn|w1,w2,⋯,wn−1)=∏iP(wi|w1,w2,⋯,wi−1)

2.对于第二个问题可以用二元语言模型计算更简便。

二元语言模型的使用举例:

2.2 神经网络语言模型 

神经网络语言模型则引入神经网络架构来估计单词的分布,并且通过词向量的距离衡量单词之间的相似度,因此,对于未登录单词,也可以通过相似词进行估计,进而避免出现数据稀疏问题


http://www.ppmy.cn/news/1570468.html

相关文章

7.PPT:“中国梦”学习实践活动【20】

目录 NO1234​ NO5678​ NO9\10\11 NO1234 考生文件夹下创建一个名为“PPT.pptx”的新演示文稿Word素材文档的文字:复制/挪动→“PPT.pptx”的新演示文稿(蓝色、黑色、红色) 视图→幻灯片母版→重命名:“中国梦母版1”→背景样…

【Elasticsearch】Global 聚合

7. 总结全局聚合是 Elasticsearch 中一个非常强大的工具,它允许你在执行特定查询的同时,对整个数据集进行统计分析。通过合理使用全局聚合,可以实现多维度的数据分析,帮助你更好地理解数据的整体情况和特定条件下的差异。希望这些…

Facebook矩阵营销:多维度布局,精准打击

随着社交媒体的迅猛发展,企业和品牌在数字营销中的竞争愈发激烈。Facebook,作为全球最大的社交平台之一,已成为了品牌推广的关键阵地之一。然而,仅仅依靠单一的Facebook页面进行营销已经无法满足品牌发展的需求,如何通…

微信小程序~电器维修系统小程序

博主介绍:✌程序猿徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

@emotion/styled / styled-components创建带有样式的 React 组件

一、安装依赖 npm install emotion/styled styled-components 二、使用 import styled from emotion/styled; import styled from styled-components;// 创建一个带样式的按钮 const StyledButton styled.buttonbackground-color: #4caf50;color: white;padding: 10px 20px…

微服务知识——微服务拆分规范

文章目录 一、微服务拆分规范1、高内聚、低耦合2、服务拆分正交性原则3、服务拆分层级最多三层4、服务粒度适中、演进式拆分5、避免环形依赖、双向依赖6、通用化接口设计,减少定制化设计7、接口设计需要严格保证兼容性8、将串行调用改为并行调用,或者异步…

C#中的委托(Delegate)

什么是委托? 首先,我们要知道C#是一种强类型的编程语言,强类型的编程语言的特性,是所有的东西都是特定的类型 委托是一种存储函数的引用类型,就像我们定义的一个 string str 一样,这个 str 变量就是 string 类型. 因为C#中没有函数类型,但是可以定义一个委托类型,把这个函数…

https是如何保证安全的,又是如何保证不被中间人攻击的?

HTTPS如何保证安全,以及如何防止中间人攻击 保护用户隐私和数据安全已经成为了一个不可忽视的问题。随着网络攻击的不断升级,HTTPS(超文本传输安全协议)成为了我们在网络上交流时的一道重要防线。以下是HTTPS是如何保证安全的&am…