Hadamard积、点积、矩阵-向量积、矩阵乘法 一篇文章说清楚

        机器学习领域,经常碰到一些tensor操作,tensor也有好几种积,使人眼花缭乱。本文就来把这些概念一次性说清楚。

在开始之前,我们先要明确一下张量、向量、矩阵、tensor这些概念是怎么一回事。

tensor中文名叫张量(本文后边就统一叫做tensor了),可以包含很多维度,0维、1维、2维、3维.......

0维的tensor叫做纯量,比如:

纯量

1维的tensor叫做向量,比如:

向量

2维的tensor叫做矩阵,比如:

矩阵

3维或以上的tensor没有具体的名称,一般就叫做n维tensor


ok,清楚了这些概念,我们就开始主题。

点积是针对向量,也就是1维tensor,对应位置元素相乘,再相加求总和

torch.dot文档
torch.dot示例

Hadamard积是针对任意纬度tensor,对应位置相乘,纬度不变。(和点积的区别是不求和)

PyTorch重载了Python的*运算符,用于计算Hadamard Product

Hadamard积 示例

矩阵-向量积故名思义就是计算一个矩阵和一个向量的乘积

矩阵-向量积示例

矩阵乘法就是两个矩阵相乘。

两个矩阵相乘需要满足一定条件。对于a x b,a的列数要等于b的行数。相乘结果的行数等于a的行数,列数等于b的列数。具体规则这里不展开,本文只做概念区分,相乘的原则可参考其他资料。

矩阵乘法示例
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容