Fundamentals in ML

Batched Matrix Multiplication

图中前面的 (b1,b2b_1, b_2b1,b2) 表示 批次维度(batch dimensions) ,也就是"有多少个矩阵同时在做乘法"。在 batched matrix multiplication 中,最后两维 (n,m) 与 (m,p) 按普通矩阵乘法规则相乘,而前面所有维度 (这里是 b1,b2b_1, b_2b1,b2)并不参与数值运算,只用于索引不同的矩阵批次;它们必须相等或满足广播规则,结果中这些维度会被原样保留下来.

Broadcasting

我们允许矩阵与向量直接相加 ,虽然在线性代数的严格定义里这本来是未定义的操作;具体做法是规定结果矩阵 C 的每个元素满足 Cx,y=Ax,y+byC_{x,y}=A_{x,y}+b_yCx,y=Ax,y+by​,也就是说向量 b 被当作在行方向上复制,加到矩阵 A 的每一行上,从而得到一个同形状的矩阵,而无需显式构造一个"每一行都等于 b"的大矩阵

规则


第 1 条(右到左比较维度)

If the two arrays differ in their number of dimensions, the shape of the one with fewer dimensions is padded with ones on its leading (left) side.

意思是:如果两个数组的维度数不同 ,就先把"维度少的那个"在左边补 1 ,直到两个数组的维度数一样;注意这是概念上的补 1,不是实际创建新数据。例如形状 (n,) 和 (b,n) 比较时,把 (n,) 看成 (1,n)。

第 2 条(维度为1的拉伸)

If the shape of the two arrays does not match in any dimension, the array with shape equal to 1 in that dimension is stretched to match the other shape.

意思是:在某一个维度上,如果两个数组大小不同,但其中一个等于 1,那么这个等于 1 的维度会被**拉伸(复制)**到和另一个一样大;这就是"广播"的核心。例如 (1,n) 和 (b,n) 运算时,前者会在第一个维度被复制 (b) 次。

第 3 条

If in any dimension the sizes disagree and neither is equal to 1, an error is raised.

意思是:如果在某个维度上两个大小不相等 ,而且都不等于 1,那就没法广播,运算直接报错;例如 (2,n) 和 (3,n) 在第一维上既不相等又都不为 1,因此是非法的。

举例子(维度循环有点问题)

右对齐 → 逐轴检查 → 有 1 就拉伸 → 否则报错

例题


相关推荐
大模型最新论文速读11 小时前
PreFT:只在 prefill 时使用 LoRA,推理速度翻倍效果不降
论文阅读·人工智能·深度学习·机器学习·自然语言处理
AI算法沐枫12 小时前
大模型 | 大模型之机器学习基本理论
人工智能·python·神经网络·学习·算法·机器学习·计算机视觉
larance12 小时前
[菜鸟教程] 机器学习教程第六课-机器学习基础术语
人工智能·机器学习
cxr82812 小时前
数据驱动的AI逆向材料设计:体系、方法与突破路径
人工智能·机器学习·智能体·逆向合成·材料设计合成·蜂群理论
Project_Observer13 小时前
使用Zoho Projects AI自动项目管理
大数据·数据库·人工智能·深度学习·机器学习·深度优先
前端若水13 小时前
【无标题】
java·人工智能·python·机器学习
吃好睡好便好13 小时前
在Matlab中绘制阶梯图
开发语言·人工智能·学习·算法·机器学习·matlab
郑同学zxc14 小时前
机器学习20-RNN
人工智能·rnn·机器学习
数据科学小丫14 小时前
算法:逻辑回归
算法·机器学习·逻辑回归
AI医影跨模态组学15 小时前
eClinMed 遵义医科大学附属医院:肺癌术后肺部并发症可解释机器学习预测模型的开发与验证:一项机器学习研究
人工智能·深度学习·机器学习·论文·医学影像·影像组学