1、Concat:张量拼接,会扩充两个张量的维度,
2、Add:张量相加,张量直接相加,不会扩充维度。

一般情况下,feature maps的结合有两种方法,一种是元素对应相加,简称add,另一种就是把特征图堆到一起来,简称concatenate。
假设feature map 1 的维度为B1∗ C1 ∗ H1 ∗ W1
       feature map 2 的维度为B2 ∗ C2 ∗ H2 ∗ W2 ​
 
1)在add情况下,就是两个四维矩阵的按元素相加,那么这时候我们需要两个矩阵维度全部相等。并且相加后矩阵维度不变,例如256* 26* 26和256* 26* 26相加,结果还是256* 26* 26。

如下图所示为三个1 * 3 * 3的feature maps add后还是1 * 3 * 3的。

 
2)在concatenate情况下,我们把两个矩阵在某个维度叠加起来,这要求在这个连接的维度上可以不同,但是在其他维度上必须相等。叠加后,某个维度会增加,是两个矩阵上的某个维度相加。比如,我们在Channel这个维度上连接两个矩阵,那么新的矩阵维度是B2 ∗ ( C2 + C1 )∗ H2 ∗ W2

例如256* 26* 26和256* 26* 26相加,结果是512* 26* 26

 

reference

深度学习(GAN)中concatenate 和 add的区别_月下花弄影的博客-CSDN博客_concatenate和add

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐