在深度学习中,广播(broadcasting)机制是一种使不同形状的张量在进行逐元素运算时自动调整其形状以匹配的机制。这种机制使得在某些情况下,可以对形状不同但具有一定兼容性的张量进行操作,而无需显式地扩展张量的维度或复制数据。

具体来说,广播机制遵循以下规则:

  1. 维度一致性规则:从最后一个维度开始向前比较,两个张量的维度要么相等,要么其中一个维度为1。

  2. 扩展维度:如果一个张量的某个维度为1,而另一个张量在该维度上有大于1的大小,则通过复制该维度上的数据来扩展至相同大小。

广播机制的一个常见应用是在逐元素操作(element-wise operations)中,例如加法、减法、乘法和除法等。在这些操作中,如果操作数的形状不同,但满足广播规则,系统会自动扩展其中一个操作数以使其与另一个操作数的形状匹配,然后执行逐元素的运算。

举个例子:

假设有两个张量 AB,它们的形状分别为:

  • A 的形状是 (3, 1)
  • B 的形状是 (1, 4)

现在,我们想要对这两个张量进行加法操作 C = A + B

根据广播机制的规则,我们可以自动将张量 AB 的形状扩展为 (3, 4),然后进行逐元素的加法运算。具体步骤如下:

  1. 张量 A 扩展后的形状为 (3, 4),其数据在第二维上复制了四次。
  2. 张量 B 扩展后的形状为 (3, 4),其数据在第一维上复制了三次。
  3. 然后将扩展后的 A 和 B 逐元素相加,得到结果张量 C,形状也是 (3, 4)

这样,通过广播机制,我们可以避免显式地复制数据或者扩展维度,使得逐元素操作在形状不完全匹配但满足广播规则的张量上自然进行。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐