【PyTorch][chapter 14][李宏毅深度学习][Word Embedding]

前言:

这是用于自然语言处理中数据降维的一种方案。

我们希望用一个向量来表示每一个单词. 有不同的方案

目录:

  1. one-hot Encoding
  2. word-class
  3. 词的上下文表示
  4. count-based
  5. perdition-based
  6. CBOW
  7. Skip-Gram
  8. word Embedding 词向量相似度

一 one-hot Encoding

假设英文有10万个单词,那每个单词用1个10万维的one-hot 编码表示。

其中只有1个维度是1,其它维度是0.

问题:

1: 无法表示词汇之间的相互关系

比如 car 和 cars


二 word-class

比如dog ,cat ,bird 属于一类, ran jumped walk 属于class2,...

问题:

很多细节丢失了


三 单词上下文表示

3.1: 某个单词可以通过其上下文表示

如上图 早上,中午,晚上后面都接 打游戏,说明三者之间有一定的相关性。

如何定义上下文,有两种方案

count-based& perdition-based


四 count-based

流程:

预置条件:

通过通过一些文章,统计每个单词,之后或者之前出现的单词的概率

建立灰度共现矩阵.

训练

1 每个单词先进行one-hot 编码

2 通过神经网络得到 词向量 .

3 做内积,

输出

测值

损失函数:

其中 就是灰度共现矩阵里面的概率值


五 perdition-based

5.1 原理:

count-based 使用一个单词预测下一个单词得到词向量,这个是用前面几个单词预测下一个单词,得到词向量

我们属于一些单词,经过一个神经网络,预测下面出现的单词(one-hot)表示。

损失函数用cross entropy

5.2 应用

文字推理

: 推荐下一个单词出现的概率

5.3网络结构

5.4 训练流程:

1 每个单词先进行one-hot 编码

2 通过神经网络得到 (共用权重系数W ,同CNN 里面的卷积一样)词向量 .

3 通过softmax 函数输出

4 通过交叉熵训练网络参数W

5.5 注意事项

这个网络的发明者通过实践发现不需要深度的网络,只需要一两层的线性网络可以

把该模型训练的很好。另外一个理由该模型只是实现抽取特征,该特征是其它NLP模型

的输入,所以不需要多层神经网络去实现

它的标签是灰度共现矩阵


六 CBOW

CBOW是continuous bag of words的缩写,中文译为"连续词袋模型"。它是一种用于生成词向量的神经网络模型,由Tomas Mikolov等人于2013年提出 。词向量是一种将单词表示为固定长度的实数向量的方法,可以捕捉单词之间的语义和语法关系。

CBOW的基本思想是,给定一个单词的上下文(即窗口内的其他单词),预测该单词本身。例如,对于句子"The cat climbed up the tree",如果窗口大小为5,那么当中心单词为"climbed"时,上下文单词为"The"、"cat"、"up"和"the"。CBOW模型要求根据这四个上下文单词,计算出"climbed"的概率分布。


七 Skip-gram

预测文本中某个字周围可能出现的词

我们在看一篇文章时,若是将一个词的周围几个词盖住让我们猜测,我们也能够大致的猜出被盖住部分原有的词语,因为文章中每个词语与其周围的词之间都是有关系的,也可以说,每个词都决定了和它相邻的词。skip-gram模型就是以此为动机来进行训练的。

为了完成上面的训练目标,skip-gram模型有一个长度为2c+1的滑动窗口(上图为5),这个窗口会在语料库中滑动,每滑动以此,被窗口包括在内的2c+1个词就会被用与模型的训练。窗口中心的词作为已知的词,而中心词前k个和后k个词


八 word Embedding 词向量相似度

我们可以通过Vec 之间的相减得到词之间的关系

14: Unsupervised Learning - Word Embedding_哔哩哔哩_bilibili

相关推荐
Coding茶水间5 小时前
基于深度学习的安全帽检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
AI-智能5 小时前
别啃文档了!3 分钟带小白跑完 Dify 全链路:从 0 到第一个 AI 工作流
人工智能·python·自然语言处理·llm·embedding·agent·rag
adjusttraining9 小时前
毁掉孩子视力不是电视和手机,两个隐藏很深因素,很多家长并不知
深度学习·其他
操练起来11 小时前
【昇腾CANN训练营·第八期】Ascend C生态兼容:基于PyTorch Adapter的自定义算子注册与自动微分实现
人工智能·pytorch·acl·昇腾·cann
ziwu13 小时前
【宠物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
ziwu13 小时前
海洋生物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·深度学习·图像识别
WWZZ202513 小时前
快速上手大模型:深度学习12(目标检测、语义分割、序列模型)
深度学习·算法·目标检测·计算机视觉·机器人·大模型·具身智能
浩浩的代码花园19 小时前
自研端侧推理模型实测效果展示
android·深度学习·计算机视觉·端智能
晨非辰19 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年
这张生成的图像能检测吗1 天前
(论文速读)EfficientTrain++: 高效视觉骨干训练的通用课程学习
人工智能·深度学习·计算机视觉·训练方法