在跳频图中,我们预测上下文词。这是应用softmax函数之前的输出层,它是一个单词数V,其中V是字典大小。但是每个单词都表示为一个向量。所以我们在输出层有V矢量。现在,我们要将softmax应用到这些向量中,得到维数V的向量,其中每个分量代表一个输入词出现的概率。但是,我们如何将softmax函数应用于向量呢?根据定义,软件极大函数只输入一个向量,但每个V向量都是选择的维数N。

发布于 2023-04-27 13:50:59
我认为你的问题中存在一些误解,或者至少是一些不明确的命名问题。
为了训练超文本词嵌入,我们获取文本数据,并对每一个单词尝试预测它周围的窗口中的单词。

每个单词都由一个嵌入的维数E向量表示。在嵌入表中,有V嵌入向量;每个向量表示词汇表中的一个单词,这是我们的嵌入将支持的V单词列表。通常,为了创建词汇表,我们在培训数据中选择V最频繁的单词。
我们这里的训练数据是一对输入词索引和输出词索引,其中输出词索引是输入词上下文窗口中的单词之一。对于每个上下文窗口,我们在培训数据中有多个输入输出条目。
训练嵌入的模型只是一个矩阵乘法。用E \times V矩阵对输入进行嵌入,得到一个维数V向量。然后我们计算这个向量V上的softmax,然后算出负对数似然损失。
注意,softmax以维数V的向量作为输入,并生成一个维数V向量,其概率分布在词汇上。实际上,softmax需要一批向量,但是softmax函数是分别计算在每个向量上的。
作为参考,最初提出word2vec跳过图方法的文章是向量空间中字表示的有效估计和词和短语的分布式表示及其组成。
https://datascience.stackexchange.com/questions/121163
复制相似问题