首页 > 解决方案 > 具有未展平输入的全连接层

问题描述

(batch_size, 70, 2, 2) -> Linear(2, 2)

(batch_size, 140, 2) -> Linear(2, 2)

(batch_size, 280) -> Linear(280, 2)

有人可以向我解释一下全连接层如何处理非扁平化的输入数据吗?我真的不知道如何考虑 > 2D 矩阵乘法。以上都是等价的吗?(Linear是pytorch中的全连接模块)

标签: neural-networklinear-algebrapytorch

解决方案


对于在大于 rank-2(矩阵)的张量上进行的乘法,需要满足以下条件,例如考虑 2 个张量AB

A.shape=[a1,a2,a3...a8]B.shape=[b1,b2,b3... b8]

虽然我不知道 pytorch 中的矩阵乘法是如何完成的,但我希望它类似于 tensorflow。

如果你tf.matmul在 tensorflow 中做,它会在 上做矩阵乘法(a7,a8),这(b7,b8)要求操作a8等于b7A.Ba1..a6b1..b6

输出形状将是[a1, a2...a7,b8]

上述 3 仅在它们被简单地平展在轴上的意义上是等效的


推荐阅读