当我阅读一些关于 CNN 的经典论文时,例如 Inception family、ResNet、VGGnet 等,我注意到术语concatenation、summation 和 aggregation< /strong>,这让我很困惑(求和对我来说很容易理解)。有人能告诉我它们之间有什么区别吗?可能更具体一些,比如用例子来说明维度和表示能力的差异。
答案 0 :(得分:0)
这意味着我们通过聚合丢失了信息。另一方面,串联将使以更大的内存使用为代价保留信息成为可能。
例如在 PyTorch 中:
import torch
batch_size = 8
num_channels = 3
h, w = 512, 512
t1 = torch.rand(batch_size, num_channels, h, w) # A tensor with shape [8, 3, 512, 512]
t2 = torch.rand(batch_size, num_channels, h, w) # A tensor with shape [8, 3, 512, 512]
torch.cat((t1, t2), dim=1) # A tensor with shape [8, 6, 512, 512]
t1 + t2 # A tensor with shape [8, 3, 512, 512]