首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在分层Softmax模型中,矩阵是如何相乘的?

在分层Softmax模型中,矩阵是如何相乘的?
EN

Stack Overflow用户
提问于 2017-10-02 04:48:10
回答 1查看 210关注 0票数 3

据我所知,简单的word2vec方法使用两个矩阵,如下所示:假设语料库由N个单词组成。维度为NxF的加权输入矩阵(WI) (F为特征数)。维度为FxN的加权输出矩阵(WO)。我们将一个热向量1xN与WI相乘,得到神经元1xF。然后我们将神经元与WO相乘,得到输出向量1xN。我们应用softmax函数并选择向量中最高的条目(概率)。问:在使用分层Softmax模型时,如何说明这一点?什么将与哪个矩阵相乘,以获得将导致向左分支或向右分支的二维向量?附注:我确实理解使用二叉树的分层Softmax模型的思想,但我不知道乘法是如何在数学上完成的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-09-30 14:38:24

为了简单起见,假设N是2的幂,那么二叉树将有N-1个内部节点。这些节点通过维度Fx(N-1)连接到WO。

一旦计算了每个内部节点的值,就可以计算左支值和右支值。使用类似于sigmoid函数的函数来分配(比方说)左分支。右边的分支是1减去左边的分支。

要进行预测,请找到从根到叶的最大概率路径。

要进行训练,请确定正确的叶子,并确定内部节点到根的路径。反向传播从那些log(N)节点开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46516756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档