对于在计算机中矩阵左乘右乘的思考

对于在计算机中矩阵左乘右乘的思考

在学习CS224n assignment的过程中,遇到了这么一句话:

Note: In this assignment, the inputs to neural network layers will be row vectors because this is standard practice for TensorFlow(some built-in TensorFlow functions assume the inputs are row vectors). This means the weight matrix of a hidden layer will right-multiply instead of left-multiply its input(i.e., xW + b instead of Wx + b)

解析

学过矩阵的都知道,对于矩阵运算,我们喜欢使用列向量。对于一个矩阵,我们通常都习惯于将其按照列向量为单位来进行拆分。
但是在计算的大部分语言中,内存中的分配是习惯按行来进行存储的,如果以列为单位来进行拆分矩阵,那么会影响计算机的计算效率。
因此,在计算机中,我们常常按照行的方式来拆分一个矩阵。因而,我们要将原本按列分的东西,默认转置为行,然后再来进行计算。

也就是说,对于W*x + b(也就是x中的每一列代表一个输入样本的情况下),矩阵W中的每一列代表着样本中的单一个元素需要乘的权重(由于下一层的神经元个数为3,所以这里的权重个数为3)。
最后得到的结果一列

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值