分享

特征交叉与特征融合综述

 PlanBlank 2022-06-21 发布于北京

目录

图片

图片

特征交叉

一、什么是特征交叉?是什么?

特征交互也叫特征组合,通过将两个或多个特征相乘,来实现对样本空间的非线性变换,增加模型的非线性能力。从本质上讲,特征交叉是利用非线性映射函数将样本从原始空间映射到特征空间的过程,有点像机器学习中的核函数技巧 [1]。

因此,可以认为,特征交叉的意义就在于提高模型的非线性建模能力,提升模型的效果。

在[2]中,博主举了一个很有趣的例子:

组合两个(或更多个)特征是使用线性模型来学习非线性关系的一种聪明做法。假设不同地区城市的房价预测场景下,特征工程中,用户所在城市的基础属性中有关地理位置特征,包含经度,维度等值,如果我们只使用 经度 特征进行学习,那么该模型可能会发现特定纬度(或特定纬度范围内,因为我们已经将其分桶)的城市街区更可能比其他街区住房成本高昂。但是,如果我们将 经度与 纬度 特征组合,产生的组合特征则代表一个明确的城市街区。如果模型发现某些城市街区(位于特定纬度和经度范围内)更可能比其他街区住房成本高昂,那么这将是比单独考虑两个特征更强烈的信号。

二、特征交叉有哪些方式?如何做?

既然我们知道特征交叉也叫特征组合,那么怎么做呢?

图片

但是,显示特征交叉有一定的局限性:(1)对非线性的建模能力是有限的,(2)很难扩展到更高阶的特征交叉,(3)但数据稀疏性很大时,模型训练比较困难,(4)对所有特征交叉项一视同仁,可能会限制模型的表达能力,(5)不能自动化实现特征交叉

因此,为了解决上述的问题,提高模型的表达能力,相关研究人员给出了不同的解决方案。加上深度学习时代的到来,特征交叉方案变得更加丰富,缓解上述的挑战。常见的特征交叉方式有MLP网络、Product网络、NFM(Bi-Interaction Pooling层 MLP层)、Cross网络、CIN网络、CAN网络等。在这里,认为这些特征交叉为隐式交叉。

总的来说,特征交叉可以分为两种:

(1)显示交叉,可以从暴力解法、数学方式来理解。

(2)隐式交叉,可以认为是为了解决显示交叉的缺点提出的,主要是和神经网络结合。

三、显式交叉(推荐系统的经典模型FM和FFM)

FM模型的提出,是为了解决当数据稀疏时,如何更好地训练模型。在POLO2模型中,每一项二阶特征交叉项前面都赋予一定的权重,让模型自己学习。但是,推荐数据往往都是稀疏的,导致很多权重并不能被训练充分。因此,FM模型结合了矩阵分解的思想,对POLO2模型进行了改进。

图片

FFM模型提出,引入了特征域的概念,简单来说,对于来自特征域A中的特征a来说,与不同特征域B中的特征b和特征域C中的c做特征交叉时,使用的特征向量不同。

参考https://www.bilibili.com/video/BV1G54y1V7Ps?spm_id_from=333.999.0.0

FFM有明显的缺点,就是复杂度太高,为此,有一些研究人员在FFM的基础上进行了改进,具体可参考

[2021-WWW] 优雅的浅层CTR模型FmFM(Field-matrixed FM, FwFM改进版)

https://mp.weixin.qq.com/s/6x2VKkAlRBEm5xFVCYInEg

四、隐式交叉

上面我们提高,显示特征交叉有以下几个局限性:(1)对非线性的建模能力是有限的,(2)很难扩展到更高阶的特征交叉,(3)但数据稀疏性很大时,模型训练比较困难,(4)对所有特征交叉项一视同仁,可能会限制模型的表达能力,(5)不能自动化实现特征交叉。

那为了解决这一问题,随着深度学习时代的带来,最容易想到的方法是直接用MLP来代替特征交叉项。因为可以简单认为MLP具有万能函数拟合的能力,所以区区特征组合,也可以用MLP来实现。在推荐系统的CTR模型,可以看到很多特征交叉和神经网络结合的模型。

但是,我们也不能认为MLP能够很好地做好这件事,尽管MLP在理论上具有万能函数拟合的能力。MLP这种特征交叉的能力是比较弱的,MLP不是天生为了进行特征交叉设计的。[3]

不过,可以采取一些措施来缓解这一问题。例如预训练模型初始化、设计专门的特征交叉层、结合不同的模型(同时考虑低阶特征和高阶交叉特征)。

从一些博客和论文来看,有些博主/作者会认为MLP是具备隐式交叉的建模能力,有些博主/作者则持相反观点,也许这和不同的业务有很大的关系吧我猜。

我们暂且不讨论这个问题,我们还是根据已有的方法,对隐式交叉做一个分类:

1、结合不同的模型(例如Wide & Deep、DeepFM模型)

2、先交叉后MLP(例如PNN模型、NFM模型)

3、并不是所有的特征交叉项都是重要的(例如AFM模型)

4、自动化实现特征交叉(例如Deep & Cross层、xDeepFM模型)

5、特征交叉新方式(CAN)

1、结合不同的模型

(1)Wide & Deep:参考 推荐系统经典模型 Wide & Deep 论文剖析

来源:https://blog.csdn.net/csdnnews/article/details/109396511

(2)DeepFM:

参考 推荐系统 - DeepFM架构详解

吃透论文--推荐算法不可不看的DeepFM模型 - Coder梁 - 博客园

来源:https://blog.csdn.net/maqunfi/article/details/99635620

2、先交叉后MLP

(1)PNN:参考 王喆:为什么有些深度学习网络要加入Product层?

简单来说:先引入Product层,对特征做内积和外积,之后再拼接,再送到MLP中。

(2)NFM:参考 YL默存:推荐系统系列(七):NFM理论与实践

简单来说:先通过Bi-Interaction Pooling层,然后送进MLP中

来源:https://zhuanlan.zhihu.com/p/92293407

3、并不是所有的特征交叉项都是重要的

(1)AFM模型:参考 yu-lzn:AFM入门

4、自动化实现特征交叉

(1)Deep & Cross:参考 刺猬:揭秘 Deep & Cross : 如何自动构造高阶交叉特征

来源:https://zhuanlan.zhihu.com/p/55234968
来源:https://zhuanlan.zhihu.com/p/55234968

(2)xDeepFM:参考 刺猬:xDeepFM:名副其实的 ”Deep” Factorization Machine

来源:https://zhuanlan.zhihu.com/p/57162373

5、特征交叉新方式

CAN: Revisiting Feature Co-Action for Click-Through Rate Prediction 这个工作提供了一种新的特征交互思路,在「特征工程上手动特征交叉」「模型上自动特征交叉」之间做了折衷,也是「记忆性」「泛化性」的互补。可以认为是开创了特征交互的新路线。

转载自 推荐系统(五)—— 特征交叉 - yu-lzn的文章 - 知乎 https://zhuanlan.zhihu.com/p/457853657

特征融合

作者:yu-lzn
链接:https://zhuanlan.zhihu.com/p/459012483
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一、特征融合是什么?和特征交叉有什么区别呢?

在上一篇文章(yu-lzn:推荐系统(五)—— 特征交叉)中,我们讨论了特征交叉,特征交叉也称为特征组合,旨在提高模型对非线性的建模能力,从而提高模型的性能。特征融合和特征交叉有相同的目的,都是为了提高模型的性能。不过,特征融合是想更好地利用不同特性的特征,对这些不同特征进行联合建模。

例如,在目标检测中的多尺度特征融合。所谓多尺度,指的是不同分辨率的图片,或者是不同层次的图片特征(低层特征、高层特征),特征融合解决的是如何去利用这些不同分辨率的图片。因为低分辨图片比较模糊,能够获取物体的大致位置,但会忽略很多细节;而高分辨率图片,能够描述物体的更多细节,具有更多语义信息。

来源:https://www.jianshu.com/p/57cfa4fdd423?from=timeline

在使用卷积神经网络提取图片特征中,一般认为在前几层网络能够提取图片的低层特征,随着网络的加深,能够提取图片的高层特征。不同特征之间具有不同的属性,即低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差[1]。

随着信息时代的发展,在推荐系统中,多模态信息的融合也变得越来越重要。以淘宝购物为例,用户在决策是否购买物品时,会考虑物品的属性、物品图片的展示、其他用户的评论信息、甚至是观看物品的介绍视频等等。换句话说,这些多模态信息(文本、图片、视频)会影响用户的行为。所以如何利用这些多模态信息来建模,是提高推荐系统准确度的一个途径。那么如何去融合这些不同来源的信息便是一个关键的问题。

因此,总的来说,特征融合指的是在给定不同属性的特征时,利用特征之间的互补性,融合特征之间的优点,进而提高模型的性能。

二、特征融合技术分类

1、从处理时间的角度来看,特征融合可以分为早融合、中间融合和晚融合。[2] [3] [4]

前端融合:在输入层上做融合,先融合多层特征,然后在融合后的特征上训练预测器

中间融合:先将不同数据源上的特征转成中间的高维特征表达,然后再做融合,然后再去训练预测器

后端融合:在预测层上做融合,在不同的特征上做预测,然后再融合这些预测的结果

2、从模型结构的角度来看,特征融合可以分为串行策略、并行策略。

串行策略:整个模型只有一个支路。

并行策略:模型会有多个支路,每个支路处理不同的特征。

3、从具体的技术来看,有以下这些:

特征拼接、特征求和(均值、pooling、加权求和)、特征之间对应元素相乘、特征之间求外积 展开之后过MLP、跳跃连接(skip)、反卷积、Autoencoder、GAN、典型相关分析、注意力机制(包括self-attention)、mask机制、通过MMOE(门控机制)、构图然后采用图神经网络等等

三、特征融合的挑战/难点

(1)特征之间的冗余性和差异性如何区分和利用?特征之间可能存在共性和个性,又该如何处理?

(2)不同特征之间融合到一起可可能会引入噪声之类的,产生负影响。在多模态特征中,不同模态之间可能存在语义的gap

(3)如何利用好特征之间的互补性?到底哪些信息能够互补?

(4)不同特征对目标任务的作用如何?是具有同等重要性,还是不对等的重要性?

四、常见特征融合技术

1、特征拼接、特征求和、对应元素相乘这些比较简单,相信大家都懂的

2、跳跃连接、反卷积、多尺度模型等

首先声明一下,这里只参考计算机视觉领域的一点点论文而已,比如ResNet、DensNet、多尺度模型的设计、SSD目标检测算法、FPN(feature pyramid networks)、FSSD模型( Feature Fusion Single Shot Multibox Detector)等。

(1)首先我们来说一下SSD模型的处理过程,其模型结构如下所示,其中的特征融合技术属于后端融合的范畴内。从下图可以看到,不同的特征都会对对应的预测器,最后在使用NMS(非极大值抑制,可参考博客)来选择最佳的预测位置。

来源:https://blog.csdn.net/qq_41368247/article/details/88027340

(2)SSD目标检测算法对小目标的预测不是很好,有一类解决方法是融合低层特征和高层特征来解决,例如DensNet模型、DSSD模型、FSSD模型。

其中,

1)DensNet模型使用DenseNet代替SSD模型中的VCG模型,DenseNet的模型结构如下,DenseNet的介绍可参考博客

来源:https://blog.csdn.net/u014380165/article/details/75142664

2)DSSD模型的网络结构如下所示,采用ResNet的思想 反卷积思想,通过反卷积的操作将低层特征和高层特征融合起来,再做预测,然后再对各个预测结果进行进一步地融合。其中,反卷积实现特征融合可以认为是加权求和。

来源:https://zhuanlan.zhihu.com/p/128587320

3)FSSD模型:原论文里有一张图总结得很好,如下图所示。论文给出了不同目标检测算法的基本架构,可以认为这是多尺度模型设计的几个思路,

  • (a)中棕色的block之间没有联系,所以是使用不同scale的图片来生成不同scale的feature map进行predict,这是最不高效的一种方法;

  • (b)代表faster rcnn之类的two-stage算法,利用某一个scale的feature map来生成多scale的anchors去检测multi-scale objects;

  • (c) 是典型的Top-Down结构,FPN为代表网络。该结构在此不做赘述,有不清楚的移步这里。DSSD也是该网络结构的应用;

  • (d)是SSD的结构代表图,从网络不同层抽取不同scale的feature做预测,这种方式不会增加额外的计算量,但是各个scale之间没有联系;

  • (e)是FSSD的结构图,就是把网络中某些feature调整为同一szie再 contact,得到一个像素层,以此层为base layer来生成pyramid feature map,作者称之为Feature Fusion Module。

(上述内容来源 深度特征融合---高低层(多尺度)特征融合_xys430381_1的专栏-CSDN博客_特征融合)

来源:https:///pdf/1712.00960.pdf

4)多尺度模型设计中,还会有很多特征融合方案,这里不再阐述。多尺度模型设计是计算机视觉中的老大难问题,解决方法有图像分辨率的控制,卷积核、池化的大小和不同的设计方案,以及不同特征的融合方案 [4]。

3、特征求外积 展开之后过MLP:

(1)论文《Tensor fusion network for multimodal sentiment analysis》

来源:https://zhuanlan.zhihu.com/p/393982073

(2)论文《Efficient low-rank multimodal fusion with modality-specific factors》

来源:https://zhuanlan.zhihu.com/p/393982073

4、Autoencoder和GAN相关

论文《Adaptive fusion techniques for multimodal data》

来源:https://zhuanlan.zhihu.com/p/393982073

5、典型相关分析

使用典型相关分析(CCA)来融合特征,其做法是使用两个输入特征间的相关关系,计算两种变换,变换后的特征比输入的两个特征集有更高的相关性 。但是CCA的主要不足,在于忽略了数据集中类结构间的关系。我们想要最大化特征集之间的相关性,所以将每组特征中的类分开。

论文《Deep Feature Fusion for VHR Remote Sensing Scene Classification》解决了CCA的弱点,引入了DCA。DCA最大化两个特征集中对应特征的相关关系,同时最大化不同类之间的差异。[1]

更多细节可参考

论文阅读:Deep Feature Fusion for VHR Remote Sensing Scene Classificationwww.it610.com/article/1281298486762946560.htm

6、加权求和(注意力机制、self-attention、门控机制等)

(1)论文《CentralNet: a Multilayer Approach for Multimodal Fusion》

来源:https://zhuanlan.zhihu.com/p/84063165
来源:https://zhuanlan.zhihu.com/p/84063165

(2)论文《Learning Spatial Fusion for Single-Shot Object Detection》

作者提出了新的空间融合方式叫做自适应空间特征融合(ASFF : Adaptively spatial feature fusion),其做法是:

来源:https://zhuanlan.zhihu.com/p/109799918

(3)论文《A Text-Centered Shared-Private Framework via Cross-Modal Prediction for Multimodal Sentiment Analysis》

作者通过注意力机制来求解不同模态之间的attention,将attention较小的值给删除,保留attention较大的值。作者认为attention较大的,代表着模态的联系更加密切,更可以拿来做融合,所以计算得到了mask矩阵。

来源:https://blog.csdn.net/qq_27590277/article/details/120806703

(4)使用self-attention

来源:https://www./article/1640135690653

(5)采用门控机制来做融合,例如论文《Multimodal Topic Learning for Video Recommendation》

来源:https:///pdf/2010.13373.pdf

7、构图,然后采用图神经网络

将不同模态/不同特征之间构成一张图,然后就可以使用图神经网络来融合不同的特征,感觉图神经网络天然就具有这个特性。因为图神经网络需要聚合邻居的特征,自然就需要考虑邻居的重要性,可以起到融合的作用。

(1)论文《Multi-modal Knowledge Graphs for Recommender Systems》

可参考:Multi-modal Knowledge Graphs for Recommender Systems - 1 - 论文学习

(2)论文《Click-Through Rate Prediction with Multi-Modal Hypergraphs》

可参考:多模态信息用于推荐系统问题(MMDIN,hyperCTR)_nakaizura-CSDN博客_多模态推荐系统

8、其他

(1)论文《Cross-modality Person re-identification with Shared-Specific Feature Transfer》:指出了,对于不同的模态,模态之间有共性和个性。作者使用了两个支路来提取模型的个性特征(上下的支路),再使用中间支路来提取共性的特征,然后作者构造了一些辅助任务(关联建模、GAN建模)来训练。

对这篇论文的解读可参考博客:

CVPR 2020之ReID:Cross-modality Person re-identification with Shared-Specific Feature Transferblog.csdn.net/qq_41967539/article/details/104740692图片

不知道起啥名字:图像行人重识别:Cross-modality Person re-identification with Shared-Specific Feature Transfer7 赞同 · 9 评论文章图片

(2)论文《Feature Projection for Improved Text Classification》:这篇文章使用特征投影的原理,提取出共性的特征,使用投影的原理求出个性的特征。

  • C-net:提取common features,即抽取共性。fp表示初试特征向量,fc表示公共特征向量,这里将两者进行投影:

图片
添加图片注释,不超过 140 字(可选)
  • P-net:计算净化的向量特征,即得到个性。这里是实现是通过将学习到的输入文本的信息向量投影到更具区分性的语义空间中来消除共同特征的影响。

这里所谓的正交投影的做法是,将输入的特征向量fp投影到公共特征向量fc来限制公共特征向量的模,从而使新的公共特征向量fp*的语义信息仅包含xi的公共语义信息。然后相减两者再投影,就让最后的结果不是与公共特征向量fc正交的任何平面中的任何向量了。

(以上内容来源:Multimodal Fusion(多模态融合))

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多