word2Vec理解(下):本质理解

最近一直在思考word2Vec这算法,其根本是想知道它是怎么从softmax的思想,丝滑转变为词距离远近的思想,理解了这种思想,可以解决很多其他相似的问题。

想要理解这个算法,需要知道它是怎么操作的。

以skip-gram算法为主,假设我有一句话,I love deep learning,以deep 为中心词,然后windows=3,这样我们可以得到三个训练样本(deep, love)、(deep, learning)、(deep, I),训练样本的意思是,根据A,预测B,例如根据deep预测 love,根据deep,预测learning。我的词表大小是M,第一组样本 deep,love 扔进网络,deep经过nn.Embedding得到w_deep,然后 w_deep输入nn.Linear,得到和词表M个标量分数(logits);也就是:

score(I), score(love), score(deep), score(learning), ... score(word10000)

因为Linear本质是 y = Wx + b, 然后经过softmax之后,将标量变成了概率,即模型认为:

P(I|deep) = 0.08

P(love|deep)=0.85

P(deep|deep)=0.02

P(learning|deep)=0.05

但是我们输入的样本是deep, love, love概率越低,产生的loss值越大。

需要理解:

  • 生成训练样本的时候,窗口的大小,只是影响样本的多少,在样本训练中,不会体现这个词距离中心词多远,为什么,因为Skip-gram 的目标不是学习"空间距离",而是学习一个词的上下文;
  • 但是有一个问题,两个词距离越近,进入训练的样本数就越多,因为在预料中,距离比较近的词,就会频繁出现,这样进入训练的次数就会多,从而间接去影响梯度;
  • 在 word2vec 之前,计算机表示词通常是, one-hot类型,两个词之间没有距离,word2vec 将词变成了连续向量。
  • word2vect重要的思想是,不要人工定义语义,只要设计一个预测任务,就可以让模型自己学习表示空间,这个思想影响巨大。
相关推荐
开发小程序的之朴3 小时前
从神经网络到文件加密:一次关于 SIREN、ARX 与密码安全性的实验探索
人工智能·深度学习·神经网络
哈基咩3 小时前
Function Calling 与 Code Mode:AI Agent 工具调用的原理、对比与选型指南
网络·人工智能
就是一顿骚操作3 小时前
ViT:把图像切成词之后,Transformer 如何进入计算机视觉
人工智能·深度学习·计算机视觉·transformer·论文解读
千里码aicood3 小时前
PyQt基于卷积神经网络的智慧校园的设计与实现
人工智能·cnn·pyqt
MartinYeung53 小时前
[论文学习]MPIB:医疗提示注入基准——针对LLM临床安全性的系统性评估
人工智能·python·学习
MartinYeung53 小时前
[论文学习]医学AI安全风险分类:S1-S4分级框架深度分析
人工智能·学习·安全
stuartevil3 小时前
AI 小说漫改视频零基础入门:口型同步和字幕匹配怎么调?
人工智能·音视频·语音识别
lucas_AI4 小时前
把表格压成 64 个 token,长文档问答反而更准了:先找表,再看数
人工智能·深度学习·算法
博图光电4 小时前
AI视觉引导高反光金属圆环深筐上料(汽车零部件行业)
人工智能·汽车
julyx4 小时前
为什么只靠 Prompt 让 LLM 输出 JSON 不可靠
人工智能