当前位置: 首页 > article >正文

【Word2Vec】Skip-gram 的直观理解(深入浅出)

01 什么是skip-gram

一句话来说就是,给定中心词,然后预测其周围的词:

在这里插入图片描述

02 模型结构

在这里插入图片描述

  1. 对于skip-gram来说,输入是一个[1 x V]维的ont-hot向量,其中V为词表大小,值为1的那一项就表示我们的中心词
  2. 经过一个[V x N]的矩阵得到一个[1 x N]的向量,这个向量就是我们需要的词的embedding表示
  3. 然后[1 x N]的向量经过一个[N x V]的矩阵得到一个[1 x V]的向量,这个向量的值就是中心词与词表中其他词的相似度,经过softmax就是中心词旁边周围词出现的概率
  4. 优化目标:经过训练[V x N][N x V]这两个矩阵,使得最后目标词与周围词的出现概率最大,而与除了周围词以外的词概率最小(负采样,这里不详细展开了)。

03 直观理解skip-gram流程

这里的每一步,对应了 02 模型结构 中的步骤。

这里我们举一个例子,一步步推导是怎么走的,这样更加直观:

以这句话为例:I love machine learning

我们随机初始化两个矩阵:

[V x N]的矩阵为:
[0.1, 0.2]
[0.3, -0.2]
[0.5, 0.4]
[-0.1, 0.3]

其中,V为4,表示词表中有4个单词,N为2表示我们想讲词向量映射为2(这个N是超参数,可以自己设定)。

注意这里为了文章简洁,使用两个相同矩阵,只是转置了一下,真实情况中一般是随机初始化的(大概率不同)。

1. 输入[1 x V]向量

假设我们的目标词是love,那么输入向量就是[0, 1, 0, 0]

2. 经过一个[V x N]的矩阵得到一个[1 x N]的向量

输入向量 x [V x N]的矩阵的直观理解就是:将词映射成embeding

以所举例子所示,向量 x 矩阵的结果就是:

I      -> [0.1, 0.2]
love   -> [0.3, -0.2]
machine-> [0.5, 0.4]
learning -> [-0.1, 0.3]

也就是将love从ont-hot向量映射为[0.3, -0.2]这个embedding。

3. [1 x N]的向量经过一个[N x V]的矩阵得到一个[1 x V]的向量

这个过程即做预测,skip-gram的预测过程就是找出跟中心词最相近的词,向量表示最简单就是看向量乘积,越高说明越相似。

比如,如果想知道love和I、machine之间的相似度:

在这里插入图片描述

4. 优化目标

使用交叉熵损失函数,目标是最小化目标词真实上下文词之间的预测误差(注意是真实上下文)。

对于该例子就是:

在这里插入图片描述

然后反向传播计算损失,不断优化两个矩阵,最后使得总损失最小,直观理解就是目标词与周围词的出现概率最大

  • 训练完成后的第一个矩阵的每一行,就对应着每个词的embedding表示;
  • 训练完成后,在做预测时:给定一个词,想知道他的上下文词是谁,就看3. 的结果[1 x V]的向量值最大的n个元素,就对应最可能的n个上下文词。

http://www.kler.cn/a/569704.html

相关文章:

  • 如何理解语言模型
  • 微服务学习(1):RabbitMQ的安装与简单应用
  • Ubuntu 下查看进程 PID 和终止进程方法
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.3.1单节点安装(Docker与手动部署)
  • C#核心(20)密封函数和命名空间
  • DNS的解析流程
  • Ubuntu 22.04 安装Nvidia驱动加速deepseek
  • (下:补充——五个模型的理论基础)深度学习——图像分类篇章
  • 【C】链式二叉树算法题1 -- 单值二叉树
  • Pytorch 第六回:AlexNet卷积神经网络模型
  • 使用sam-vit-base 模型在caltech256 数据集上实现图片召回
  • FPGA开发,使用Deepseek V3还是R1(5):temperature设置
  • MySQL中的行级锁
  • Linux内核配置与构建原理
  • P8654 [蓝桥杯 2017 国 C] 合根植物---并查集!!!
  • 力扣1462. 课程表 IV
  • SpringSecurity的配置
  • AIGC(生成式AI)试用 26 -- 跟着清华教程学习 - DeepSeek与AI幻觉
  • 数字人技术再超越,TANGO 可生成与音频匹配的全身手势视频
  • Ubuntu20.04下各类常用软件及库安装汇总(联想Y9000P24款)