Word2Vec中Embedding Lookup工作原理及矩阵取行/列困惑求解
Word2Vec嵌入查找:取行还是列?
核心结论:两种说法本质完全一致,只是输入向量维度和嵌入矩阵维度的定义搭配不同,不用纠结形式,核心都是「查表」提取对应词的嵌入向量。
分情况拆解:
情况1:输入是5×1的列独热向量
此时嵌入矩阵被定义为3×5(隐藏层单元数 × 词汇表大小)。当3×5矩阵和5×1独热向量相乘时,独热向量里唯一的1会「选中」矩阵的对应列——比如独热向量第1位是1,计算结果就是矩阵的第1列,最终得到一个3×1的嵌入向量。情况2:输入是1×5的行独热向量
此时嵌入矩阵被定义为5×3(词汇表大小 × 隐藏层单元数)。当1×5行向量和5×3矩阵相乘时,独热向量里唯一的1会「选中」矩阵的对应行——比如独热向量第4位是1,计算结果就是矩阵的第4行,最终得到一个1×3的嵌入向量。
本质逻辑:
不管是取行还是列,都是用独热编码的「位置标识」,从嵌入矩阵里提取对应词的固定长度向量。不同资料只是在矩阵维度的定义上习惯不同,最终效果完全一致——你把情况1的3×5矩阵转置,就得到情况2的5×3矩阵,提取的向量只是行/列形式的区别,数值完全一样。
内容的提问来源于stack exchange,提问作者jaykio77
相关产品推荐
相关产品推荐

