我目前正在阅读《用Python进行深度学习》,在第42页上不太确定作者想要表达什么。链接在这里这里
更一般地,你可以按照之前为二维情况概述的形状兼容性规则,在高维张量之间进行点积运算:
(a, b, c, d) . (d,) -> (a, b, c)(a, b, c, d) . (d, e) -> (a, b, c, e)
我不太确定他在这里想要表达什么。我确实理解矩阵乘法是如何工作的,但上面这两行代码并不清楚。
回答:
按照这种表示法,矩阵乘法是
(a, b) * (b, c) -> (a, c)
当第二个矩阵是一个向量时,它简化为
(a, b) * (b, ) -> (a, )
现在,书中的公式只是简单地解释了当第一个或第二个矩阵有额外维度时,如何扩展这种操作。重要的是两者必须有一个匹配的维度(最后一个维度等于第一个维度,不需要重塑),沿着这个维度可以进行张量乘法,消除这个维度。因此,结果形状的公式为:
(a, b, c, d) * (d, e) -> (a, b, c, e)