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重要的思想是,不要人工定义语义,只要设计一个预测任务,就可以让模型自己学习表示空间,这个思想影响巨大。
相关推荐
TechEdu2026064 小时前
[人工智能]Python11:NumPy 源代码、软件架构与软件流程
人工智能·numpy
loulanyue_4 小时前
突破单点AI瓶颈:慧博零售全域Agent的数智化实践——读慧博科技CTO贾世龙2026云栖专场演讲
人工智能·科技·零售
蜗牛互联网4 小时前
Java HttpClient 调用 Gemini 图像理解与金额字段校验
java·开发语言·人工智能·后端·python
开开心心就好4 小时前
视频里的图片怎么提取?双击一下就导出
java·前端·人工智能·spring·智能手机·intellij-idea·excel
蜗牛互联网4 小时前
Python Responses API视觉输入与本地金额校验最小实现
java·开发语言·人工智能·后端·python
Autumn_ing4 小时前
2026产品经理Agent实测:WorkBuddy、QoderWork、Codex、墨刀AI客户端
人工智能·产品经理·墨刀·codex·workbuddy·qoderwork
Mr_star_galaxy4 小时前
【Agent】LangChain聊天模型 -- 调用工具
人工智能·langchain
海宇数据4 小时前
零信任架构实战:基于海宇车辆vin码查车辆信息详版构建自动化车险承保定级网关
人工智能·架构·自动化·php
a努力。4 小时前
LangGraph:破解复杂Agent编排难题
人工智能
马六六i4 小时前
市面上专业的IP驱动产业新场景新工具哪家好
网络·人工智能·python·tcp/ip