训练词嵌入(吴恩达深度学习笔记)

目录

1.嵌入矩阵E

(1)简介

(2)学习词嵌入(复杂/早期方式)

(3)学习词嵌入方式

2.Word2Vec

3.Skip-Gram模型

(1)简介

(2)过程

(3)缺点

4.负采样

(1)简介

(2)原理

(3)如何生成样本

(4)训练

(5)总结

5.Glove算法

(1)简介

(2)原理

(3)其他


1.嵌入矩阵E
(1)简介
  • 在学习词嵌入时,其实是学习一个嵌入矩阵,如果我们有10000个词要学习,每个词300维(特征),那就是要学习一个300×10,000的矩阵E。
  • 有时可能还有一个未知词标记UNK,加上未知词就是10,001维。
(2)学习词嵌入(复杂/早期方式)
  • 假如你在构建一个语言模型,想要神经网络能够做到比如输入:"I want a glass of orange ___.",预测下一个词是什么。
  • 第一种训练方式是:先把输入的每个词都用一个one-hot向量表示。然后生成一个参数矩阵E,用E乘以one-hot向量,得到嵌入向量。于是现在你有许多300维的嵌入向量。我们能做的就是把它们全部放进神经网络中,经过神经网络以后再通过softmax层,这个softmax也有自己的参数,然后这个softmax分类器会在10,000个可能的输出中预测结尾这个单词。假如说在训练集中有juice这个词,训练过程中softmax的目标就是预测出单词juice。如果它们用的是300维大小的嵌入向量,而这里有6个词,所以用6×300的输入会是一个1800维的向量。
  • 第二种方式:更常见的是有一个固定的历史窗口。比如,你总是想预测给定四个单词后的下一个单词(注意这里的4是算法的超参数)。这可以适应很长或者很短的句子,只看预测位置前4个单词,不去看别的词。这就意味着你的神经网络会输入一个1200维的特征变量到这个层中,然后再通过softmax来预测输出。用一个固定的历史窗口就意味着你可以处理任意长度的句子,因为输入的维度总是固定的。所以这个模型的参数就是矩阵E,对所有的单词用的都是同一个矩阵E,而不是对应不同的位置上的不同单词用不同的矩阵。
(3)学习词嵌入方式
  • <1>在本例中也就是通过前4个词作为上下文,推导出来的。如果你要建立一个语言模型,那么一般选取目标词之前的几个词作为上下文。但如果你的目标不是学习语言模型本身的话,那么你可以选择其他的上下文。

  • <2>比如说,它的上下文是左边和右边的四个词,你可以把目标词左右各4个词作为上下文,来预测中间的目标词,这也可以用来学习词嵌入。

  • <3>或者你想用一个更简单的上下文,只提供目标词的前一个词,你可以构建一个神经网络,只把目标词的前一个词的嵌入向量输入神经网络来预测该词的下一个词。

  • <4>还有一个效果非常好的做法就是上下文是附近一个单词。虽然上下文相当的简单,但是这种算法依然能工作得很好。

  • 研究者发现:(1)如果你真想建立一个语言模型,用目标词的前几个单词作为上下文是常见做法。

  • (2)但如果你的目标是学习词嵌入,那么你就可以用这些其他类型的上下文(后面三种类型),它们也能得到很好的词嵌入。

2.Word2Vec
  • Word2Vec算法,是一种简单而且计算时更加高效的学习词嵌入的方式
3.Skip-Gram模型
(1)简介
  • Skip-Gram是Word2Vec模型的一种,是一种通过上下文词预测目标词的模型
(2)过程
  • 假设在训练集中给定了一个这样的句子:"I want a glass of orange juice to go along with my cereal.",在Skip-Gram模型中,我们要做的是抽取上下文词目标词 配对,来构造一个监督学习问题
  • 我们随机选一个词作为上下文词(context),比如选orange,然后随机在一定词距内选另一个词(比如上下文词前后5个词内或10个词内)作为目标词,可能选到了juice作为目标词,正好是下一个词(表示orange的下一个词),也可能选到glass,还可能选到单词my。于是我们将构造一个监督学习问题,它给定上下文词,要求你预测在这个词正负10个词距或者正负5个词距内随机选择的某个目标词。
  • 假设使用一个10,000词的词汇表,从上下文c,比如单词orange,到某个目标词,记为t。对上下文词而言,将嵌入矩阵E乘以其one-hot向量O_c,得到嵌入向量e_c。
  • 在这个神经网络中,把向量e_c喂给一个softmax单元,softmax单元要做的就是输出y帽。下面为softmax模型预测不同目标词概率的公式:
(3)缺点
  • 由上面的公式可以看出Skip-Gram的缺点:计算速度慢,因为每次计算概率,你需要对词汇表中的所有词做求和计算。
4.负采样
(1)简介
  • 负采样是解决Skip-Gram模型计算慢的方法
(2)原理
  • 在这个算法中要做的是构造一个新的监督学习问题:给定一对单词,我们要去预测这是否是一对上下文词-目标词(context-target)。
  • 比如:还是这个句子:"I want a glass of orange juice to go along with my cereal.",orange和juice就是个正样本(标为1),那么orange和king就是个负样本(标为0)
(3)如何生成样本
  • 先抽取一个上下文词,然后在一定词距内比如说正负10个词距内选一个目标词,第一行,即orange-- juice -1的过程。为了生成一个负样本,用相同的上下文词,再在字典中随机选一个词,在这里随机选了单词king,标记为0。以此类推
  • 一般针对一个上下文词,负样本个数/正样本数=K ,对于K的取值,数据集小的话,K从5到20比较好。如果数据集很大,K可以选2到5。数据集越小K就越大
(4)训练
  • 接下来我们将构造一个监督学习模型,其中学习算法输入x,输入这对词,要去预测目标的标签,即预测输出y(0或者1)。
  • 先来看softmax模型: 用记号c表示上下文词,记号t表示目标词,y表示0和1,表示是否是一对上下文-目标词。我们定义一个逻辑回归模型,给定输入的c,t对的条件下,y = 1的概率,即:
  • 假设我们有10000个词,在神经网络中,输入one-hot向量,再传递给E,通过两者相乘得到嵌入向量。对于每个上下文词,转化为10,000个可能的逻辑回归分类问题(上下文词与词库中每个词都可组成一个样本)。把这些看作10,000个二分类器,但训练时并我们每次迭代不是训练10,000个,而是只训练其中的5个,我们要训练对应真正目标词那一个分类器,再随机训练4个负样本(因为K=4)。
  • 不使用一个巨大的10,000维度的softmax是因为计算成本很高,而是把它转变为10,000个二分类问题,每个都很容易计算,每次迭代我们要做的只是训练它们其中的5个,一般而言就是 K + 1个(K个负样本+1个正样本)。
(5)总结
  • 我们知道Skip-Gram模型学词向量的计算成本很高。这一节,我们知道可以通过将其转化为一系列二分类问题来有效地学习词向量。
5.Glove算法
(1)简介
  • 另一个计算词嵌入的算法是GloVe算法,这个算法并不如Word2Vec或是Skip-Gram模型用的多,但简单一些。
  • 他是一个
  • GloVe指用词表示的全局变量(global vectors for word representation)
(2)原理
  • X_ij表示单词i在单词j上下文中出现的次数,那么i和j相当于t和c,可以把X_ij等同于X_tc。事实上,如果你将上下文和目标词的范围定义为出现于左右各10词以内的话,X_ij和X_ji有一种对称关系。如果你选择的上下文总是目标词前一个单词的话,那么X_ij和X_ji就不对称。
  • 我们初始化θ和e,然后使用梯度下降法来最小化下面的公式:
  • 因为X_ij是等于0的时候,那么log0是负无穷大的,于是我们约定0log0=0,这样X_ij=0的时候,f(X_ij)=0,这样公式的和就是:上下文词和目标在规定距离内 同时出现 至少一次 的词对的和。
(3)其他
  • 一个有趣的事是θ和e现在是完全对称的,所以θ_i和e_j就是对称的。如果只看数学式的话,θ_i和e_j的功能很相近,我们可以将它们颠倒或者排序,这样不会影响结果。

  • 在使用我们了解过的算法的一种来学习词嵌入时,比如GloVe算法,不能保证嵌入向量的每个维度是能够理解的,所以结果不会像刚介绍词向量时那样按照性别、食物分出来的那样。

相关推荐
桂花很香,旭很美2 小时前
智能体技术架构:从分类、选型到落地
人工智能·架构
HelloWorld__来都来了3 小时前
2026.1.30 本周学术科研热点TOP5
人工智能·科研
aihuangwu3 小时前
豆包图表怎么导出
人工智能·ai·deepseek·ds随心转
YMWM_4 小时前
深度学习中模型的推理和训练
人工智能·深度学习
中二病码农不会遇见C++学姐4 小时前
文明6-mod制作-游戏素材AI生成记录
人工智能·游戏
九尾狐ai4 小时前
从九尾狐AI案例拆解企业AI培训的技术实现与降本增效架构
人工智能
2501_948120154 小时前
基于RFID技术的固定资产管理软件系统的设计与开发
人工智能·区块链
(; ̄ェ ̄)。4 小时前
机器学习入门(十五)集成学习,Bagging,Boosting,Voting,Stacking,随机森林,Adaboost
人工智能·机器学习·集成学习
杀生丸学AI4 小时前
【物理重建】PPISP :辐射场重建中光度变化的物理合理补偿与控制
人工智能·大模型·aigc·三维重建·世界模型·逆渲染