深度学习进阶:自然语言处理|3.2.3 QA|word2vec 中为什么输入和输出权重都可以表示单词

word2vec 中 W_in、h、W_out 的作用

例子:

text 复制代码
词表大小 V = 7
隐藏维度 H = 3
输入词:you
目标词:say

1. W_in 做什么?

W_in 是输入侧矩阵。

text 复制代码
you_one_hot · W_in = h

形状:
1×7 · 7×3 = 1×3

因为 you_one_hot 只有 you 的位置是 1,所以乘 W_in 等于取出 W_inyou 这一行。

所以:

text 复制代码
W_in[you] = you 作为输入词时的向量 = h

形状:
W_in[you] 是 1×3
h 也是 1×3

它表示:看到 you 后,模型带着什么信息去预测周围词。

2. h 长什么样?

h 是一个普通数字向量,形状是 1×3

text 复制代码
h = [0.21, -0.43, 0.88]

它不是 one-hot,也不是概率。

在这个例子里:

text 复制代码
h = W_in[you]

所以 h 就是 you 的输入侧词向量。

3. h 用来干什么?

h 用来和 W_out 的每一列做点积,给每个候选输出词打分:

text 复制代码
scores = h · W_out

形状:
1×3 · 3×7 = 1×7

展开看就是:

text 复制代码
score(you) = h · W_out[:, you]
score(say) = h · W_out[:, say]
score(.)   = h · W_out[:, .]

如果:

text 复制代码
h · W_out[:, say]

最大,那么模型就倾向于预测 say

4. W_out 做什么?

W_out 是输出侧矩阵。

text 复制代码
W_out[:, say] = say 作为输出词时的向量

形状:
W_out[:, say] 是 3×1

它表示:什么样的 h 应该把 say 预测出来。

5. 最短总结

text 复制代码
x(1×7) · W_in(7×3) = h(1×3)
h(1×3) · W_out(3×7) = scores(1×7)
text 复制代码
W_in:把输入词 you 变成隐藏向量 h。
h:拿去和每个候选输出词做匹配。
W_out:存放每个候选输出词的向量,用来打分。

所以:

text 复制代码
W_in 的行:词作为输入时的向量。
W_out 的列:词作为输出时的向量。
相关推荐
想会飞的蒲公英10 小时前
计算机怎样读取中文文本:编码、清洗与标准化
人工智能·python·自然语言处理
天上路人10 小时前
A59P双波束语音模块:神经网络降噪在远场拾音中的工程实现分析
人工智能·深度学习·神经网络·ai降噪·ai语音·麦克风·回音消除
依然范特东17 小时前
动手学深度学习笔记--卷积层、微调
人工智能·笔记·深度学习
湘美书院--湘美谈教育17 小时前
湘美谈教育湘美书院大湘西文学系列:AI时代的武侠小说怎么写
大数据·人工智能·深度学习·机器学习·生活
Geoking.17 小时前
JSON vs JSONL:从数据格式到 AI Agent 的工程实践
人工智能·深度学习·json
workflower18 小时前
模型中心主义路径
大数据·人工智能·深度学习·机器学习·自动化·制造
王莎莎-MinerU18 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
MartinYeung518 小时前
[论文学习]MiCA:比LoRA和全参数微调学到更多知识
深度学习·学习·机器学习
满怀冰雪19 小时前
04-Paddle Tensor 基础:形状、数据类型、广播与索引
python·深度学习·神经网络·paddle
AI人工智能+21 小时前
银行回单识别技术通过AI驱动的智能文档理解方案,实现财务处理的革命性升级
深度学习·计算机视觉·自然语言处理·ocr·银行回单识别