在深度学习中,广播(broadcasting)机制是一种使不同形状的张量在进行逐元素运算时自动调整其形状以匹配的机制。这种机制使得在某些情况下,可以对形状不同但具有一定兼容性的张量进行操作,而无需显式地扩展张量的维度或复制数据。
具体来说,广播机制遵循以下规则:
-
维度一致性规则:从最后一个维度开始向前比较,两个张量的维度要么相等,要么其中一个维度为1。
-
扩展维度:如果一个张量的某个维度为1,而另一个张量在该维度上有大于1的大小,则通过复制该维度上的数据来扩展至相同大小。
广播机制的一个常见应用是在逐元素操作(element-wise operations)中,例如加法、减法、乘法和除法等。在这些操作中,如果操作数的形状不同,但满足广播规则,系统会自动扩展其中一个操作数以使其与另一个操作数的形状匹配,然后执行逐元素的运算。
举个例子:
假设有两个张量 A
和 B
,它们的形状分别为:
A
的形状是(3, 1)
B
的形状是(1, 4)
现在,我们想要对这两个张量进行加法操作 C = A + B
。
根据广播机制的规则,我们可以自动将张量 A
和 B
的形状扩展为 (3, 4)
,然后进行逐元素的加法运算。具体步骤如下:<