本文转自徐飞翔的“在深度学习中,对于特征融合方式的思考——论pointwise addition和concatenate的异同”
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Point-wise addition
逐个位相加,用数学表达为:现有特征向量, ,为了融合这两个特征向量,直接进行对应元素的相加,既是 , 。进行这个操作的前提当然是这两个向量的维度是相同的,如果是不同维度,则可以通过线性变换转换成同维向量,其中 。
Concatenate
向量拼接,则是一个更为通用的特征融合方法,数学表达为:现有特征向量 , ,将其在同一个阶[2]的进行拼接,有融合特征向量 。拼接完后,经常可以用线性映射,转换成 ,进行这一步的操作目的是能够和前者point-wise addition的进行同维度的比较。
两者关联与异同
前面介绍的两种操作,其实是有联系的,结论先抛出了,就是: 是 的特殊形式,前者可以用学习的方式,用后者表示出来,用另一种说法就是, 是 加了一定先验假设的结果。为什么这样说呢?我们先观察一种情况:
比较两种特征融合的方式,并且进行线性映射后的结果,有:
这个时候我们可以发现,通过学习过程中的自动参数调整,在的情况下,总是有办法表达成中的结果的,原因就是可以通过设置情形下的 的某些值相同,还是举原来的具体例子说明:
,此时只需要 ,就可以表达成和完全一样的结果,读者可以自行验证。
就结论而言,因为情况下参数量完全足以住的,因此通过学习过程,完全是可以进行表达的,因此后者是前者的特殊形式,是添加了先验知识的特征融合方法。
那么,这个先验知识是什么呢?笔者认为因为是在相同维度的特征空间中进行的,相加代表特征向量的平移,因此这个先验知识可能是假设这两类特征具有相似性,比如模态比较接近,性质比较相同的特征。当然这个只是笔者猜测,并无文献参考,欢迎各位斧正,谢谢。
Update 2019/10/26:评论区有朋友问:
“point-wise addition 是 concatenate的特殊形式”的结果似乎只在均将融合后的特征线性映射成标量后才成立,但是这两种融合方法之后不一定要经过这种处理吧?而且,这种线性映射会减少大量信息,似乎不甚合理?
我觉得这个问题其实是不成立的,因为原文里面举的例子是映射成为标量只是为了举例方便而已,实际上,映射成其他高维矢量也是没问题的,比如说:在Pointwise addition的情况:
在的情况中,我们有:
那么如果需要退化到的情况的话,我们的 可以为:
因为我们有八个未知量,而只有两个方程,因此这是个病态问题,其实我们有多组解的,不管怎么样,我们总是可以用concatenate去退化到addition的情况的,不管是映射到标量还是矢量。
Reference
[1]. Li K, Zou C, Bu S, et al. Multi-modal feature fusion for geographic image annotation[J]. Pattern Recognition, 2018, 73: 1-14.
[2]. https://blog.csdn.net/dcrmg/article/details/79017146