图解 · 运行过程 · 工程取舍

新增一个轴,究竟多了什么

动态图解约 1 千字1 组分步图解

[2,3]为什么变成[2,3,4]?

配套正文:F02基础课

动态图解 · F02

新增一个轴,究竟多了什么

[2,3]为什么变成[2,3,4]?

把每个Token位置想成有一张“数值卡”。原来卡上只有词表编号;查表后卡上有四个数字。句子数没有增加,位置数没有增加,只增加了“在这张卡上选第几个数字”这一种选择。

轴选择数据的一层地址:哪句话、哪个位置、第几个特征。
形状每层地址有多少种选择,如[2,3,4]。
特征参与后续计算的数值分量;不保证每格都能命名成一种语义。

输入与适用条件:继续使用正文的两句话、6项词表和4维Embedding表。PAD只占位置;屏蔽它的机制见F12。

1 / 4 · 先数一排编号

第1步,共4步

窄屏可左右滑动图形,或点击“放大图形”。文字解释紧随图后。

新增一个轴,究竟多了什么:先数一排编号我编号 1爱编号 2学习编号 3一条输入 × 三个位置;每个格子还是一个整数。“形状[3]”描述格子怎样摆,不是里面三个数的值。

[1,2,3]表示一句话里的三个位置。此时选定“位置1”,就取到一个整数2。

IDs = [1,2,3]

默认静止。用“下一步”看完解释再继续;播放到最后一步自动停止。键盘聚焦播放器后,可用左右键逐步查看、空格播放/暂停。图中颜色辅助区分,含义同时用文字注明。

逐步说明与计算记录

以下解释全部展开,与播放器使用同一份数据;不是另换输入的第二个算例。

1.先数一排编号

[1,2,3]表示一句话里的三个位置。此时选定“位置1”,就取到一个整数2。

IDs = [1,2,3]

2.再摆第二条输入

“你爱”只有两个真实位置,先用PAD占一个格。现在有两行,每行三个编号,所以是[2,3]。

IDs.shape = [2,3]

3.把一个格子展开成一排数

选中第二条输入的“爱”,取到编号2,再去Embedding表取第2行。原来的一个格子现在由四个特征格子表示。

2 → [-0.3,0.8,0.1,0.5]

4.两张三行四列的表

每句话成为一张表:三行对应三个位置,四列对应四个特征。两句话就是两张这样的表,因此写作[2,3,4]。

X.shape = [2,3,4]

为什么需要

把形状理解为地址,后面看矩阵乘法才知道沿哪个方向处理。

怎样实现

固定一句、再固定位置、最后取一个特征,逐层读下标。

可能的代价与误解

把隐藏宽度当作词表大小,会混淆Embedding表和输出概率表。

如何判断是否做对

核对[2,3,4]共24个数,且X[1,1]确实是“爱”的四维向量。

输入关键词即可检索。

↑ ↓ 选择 Enter 打开Esc 关闭 · 仅本地搜索

阅读设置

阅读设置仅保存在本机浏览器,不上传任何数据。