首先是关于张量轴的思考


M@V矩阵乘法如何组成?
视角1

特殊情况_图示抽象(<,>):(赋权扩展/收缩)
> :当一个维数为1,各自赋予权重,后求和;反向模式是将其expand后赋予权重
<:当另一个维数为1,expand后,各自赋予权重;反向模式是将赋权后其求和
当没有维数为1时(如何分组):标准矩阵乘法
x = x.expand_as(w)
x *= w
x = x.sum(0)
(3,4) = (3).expand_as(3,4)
(3,4) *= (3,4)
(4) = (3,4).sum(0)
是最简单的(连续轴)线性分组 - 往左(-1)expand,往右(0)sum
*(2,3)从分布采样得到init参数;传入的输入是(2),传进去的梯度是(3)
这是最简单的维数转换器
学习如何分组,并且如何赋权扩展/收缩
expand和sum(keepdim=0)这些方法在存在反向模式的情况下
是在变换tensor的维度索引
由此引出
提出的模块
(连续轴x1)线性分组 到 (连续轴x3)线性分组

只有一个矩阵参数的FC,传统矩阵乘法M@V
x,w
(3,_)<(3,4)=(3,4)>(_,5)
x = x.expand_as(w)
x *= w
x = x.sum(0)
矩阵乘法的深度学习视角

本文探讨了矩阵乘法在深度学习中的不同视角,包括张量轴的思考和线性分组。视角1强调了维度为1时的特殊情况以及标准矩阵乘法,通过expand和sum操作进行赋权扩展和收缩。视角2则提出了新的理解方式,认为矩阵乘法在学习过程中同时考虑了重复时的加权和求和时的加权。文章还指出这种理解能保持轴乘参数,并揭示了矩阵乘法中尺寸变化的通则。
最低0.47元/天 解锁文章
3017

被折叠的 条评论
为什么被折叠?



