Press "Enter" to skip to content

AFS 一种基于注意力机制的监督特征选择机制

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

关注公众号,发现CV技术之美

 

本篇分享 AAAI 2019 论文 『AFS: An Attention-based mechanism for Supervised Feature Selection』 ,提出一种基于注意力机制的监督特征选择机制。

 

详细信息如下:

 

 

论文链接:https://arxiv.org/abs/1902.11074

 

项目链接: https://github.com/upup123/AAAI-2019-AFS

 

       01       

 

背景与引言

 

特征选择一般来说是一种有效的数据预处理步骤,特别是针对高维数据的机器学习任务,但是基于现有的特征选择技术无法解决噪声数据的计算复杂性、可扩展性和稳定性问题。例如,许多现有算法在计算之前需要将整个数据集加载到内存中,但是数据集扩展到TB时将不可用;大多数特征选择算法在训练集中引入数据扰动后,会存在稳定性低的问题。

 

注意力机制是一种专注于最相关的信息而不是使用所有可用信息的技术,已经在各种机器学习任务中获得了很大的成功。作者发现,注意力生成过程与特征选择过程非常相似,因为它们都侧重于从高维数据集中选择部分数据。

 

因此,作者提出了一种新的基于注意力的有监督特征选择体系AFS架构,AFS由两个可拆卸的模块组成:用于特征权重生成的注意模块和用于问题建模的学习模块。注意模块:将特征和监督目标归结为一个二分类问题,每个特征由一个浅层注意力网络支撑,能够为分类和回归特征选择问题生成关注度权重。进一步而言,通过反向传播调整各个特征选择模式的分布从而生成特征权重。

 

本文 主要贡献 如下:

 

 

提出 了一种新的基于注意力的有监督特征选择体系结构:该体系结构由基于注意力的特征权重生成模块和学习模块组成,同时高度耦合设计允许单独训练或初始化不同的模块。

 

提出 一种基于注意力的特征权重生成机制,将特征权重生成问题转化为可用注意力机制求解的特征选择模式问题。

 

提出了一种用于计算优化的模型重用机制,可以直接重用已有的模型,有效地降低了生成特征权重的计算复杂度。

 

提出了一种小数据集的混合初始化方法,结合已 有的特征选择方法进行权值初始化,用以解决小数据集数据不足以生成特征权重问题。

 

 

       02       

 

相关工作

 

特征选择方法: 监督特征选择方法通常分为包装器、过滤器和嵌入方法。包装器方法依赖于预定义学习算法的预测准确性来评估如何选择特征;过滤器方法则仅依赖于通过度量训练数据一般特征从而评估特征权重;嵌入方法依赖于与学习算法进行交互,并根据交互来评估特征集。

 

注意力机制: 神经网络注意力机制是一种接受参数和上下文并返回一个向量的方法,该向量重点关注与上下文相关的信息。对于具有空间结构的输入(如图片),注意力的构建集中在图像的显着部分;对于具有时间结构的输入(如语言和视频),注意力机制用于通过循环神经网络(RNN、LSTM)获得当前输入与先前输入之间的关系。综合可看,通常注意力机制为具有特定结构的数据提供特定领域的基于注意力的解决方案。而在本文中,主要研究无先验知识的常规数据的特征选择问题。

 

       03       

 

AFS架构

 

如下图1所示,AFS由两个主要模块组成,即注意力模块和学习模块。注意力模块位于AFS的上部,负责计算所有特征的权重;学习模块则旨在通过求解优化问题找到加权特征与监督目标之间的最优相关性。

 

AFS架构通过反向传播机制链接监督目标和特征,从而在训练过程中不断修正特征权重。进一步,AFS通过注意力模块和学习模块共同建立监督目标和特征之间的相关性问题。AFS具有高度耦合性,注意力模块和学习模块都可以单独训练从而匹配特定任务,而且可以用低得多的计算开销来生成注意力模块的参数。此外,AFS架构还提出了一种混合初始化方法,即利用已有的特征选择算法来初始化注意力模块的权重。

 

 

Attention Module: 为了链接特征与监督目标之间的相关性,本文将相关性问题转化为一个二分类问题: 对于特定的 监督目标,是否应该选择该特征,然后则根据特征选择模式的分布来生成特征权重。

 

首先,使用神经网络来提取原始输入X之间的内在关系E=Tanh(X T W 1 +b 1 ),可以将原始特征域压缩为较小的向量同时也保留了大部分信息(丢弃某些冗余特征以及噪声),同时采用Tanh函数由于既有正值又有负值,可以在提取过程中保留重要的信息;

 

其次,将提取的特征E作为输入,并为其每个特征X k 赋予一个浅层神经网络,以确定其被选择的概率。在本文中,注意力层中的每个注意力单元生成两个值:对于第 k 个特征,p k 和n k 分别表示选择/未选择的值(其中h kL 代表第k个注意力网络中第L个隐藏层的输出):

 

 

由于p k 和n k 可能非常接近,然后使用softmax生成可微分的结果,以在统计上提高选取该特征和取消选择之间的差异。我们只关注它被选取为注意力特征的概率:a k = exp(p k ) / exp(p k ) + exp(n k ),并产生注意力矩阵A,然后根据注意力矩阵A,加权平均所有样本计算出第k个特征的权重s k 。

 

注意力模块具有更明显的优势: 1)特征权重由特征选择模式生成,神经网络可以更全面地考虑特征之间的内在关系;2)特征权重总是限制在 0 到 1 之间的值,这可以加速训练收敛,易于通过反向传播进行训练;3)冗余特征被先前的神经网络E删除,由于E的尺寸较小,冗余特征的某些信息将被丢弃。

 

Learning Module: 通过使用乘法来联系特征向量X和注意力特征权重A,即G=X*A,针对特征向量,不断调整A的过程相当于在选择和取消选择之间做出权衡。学习模块通过如下求解目标函数来进行反向传播(R代表L2-norm,有助于加快优化过程并防止过度匹配;λ则用于控制正则化的强度;损失函数则取决于预测任务的类型:分类任务一般用CE Loss,回归任务则是MSE Loss):

 

 

进一步而言,对于特定的学习问题,AFS使用最适合特定任务的网络结构。主要包括:深度神经网络(DNN)、卷积神经网络(CNN)和循环神经网络(RNN)。

 

Reuse Mechanism: 从图1可知,AFS架构的计算复杂度来自注意力模块和学习模块。由于AFS结构是可拆卸的,所以学习模块部分和注意力模块部分的训练可以进行分开学习,这种设计允许在 AFS 中直接重用现有模型(例如预训练后的VGG和ResNet网络)。

 

进一步而言,可以使用训练好的模型,将保存的模型权重初始化为 AFS 的模型参数部分,也被称为AFS-R。由于学习模块中的参数已经收敛,因此训练AFS-R仅仅需要微调即可:同时微调注意力模块和学习模块(AFS-RGlobalTune)、或固定学习模块并仅训练注意力模块(AFS-R-LocalTune)。

 

Hybrid Initialization: 由于AFS性能高度依赖于数据集中的样本数量,因此少量样本可能不能产生足够的反向传播来调整训练整个神经网络。为了扩展AFS在小数据集上的适用性,本文提出了一种将某些特征选择方法的结果作为初始特征权重的混合初始化方法。

 

这种混合初始化方法可分为 三个主要步骤 :1) 使用某种特征方法生成特征权重,并使用Min-Max归一化到[0,1]范围之内;2) 对注意力模块进行预训练,其中每个样本将通过上一步中特征方法生成的特征权重作为标签训练注意力模块,并使用自适应矩估计(Adam)作为优化器来优化注意力模块;3) 使用正常的训练过程训练AFS神经网络。

 

       04       

 

实验结果

 

Questions: 进行实验以回答下列研究问题:1) AFS是否优于最先进的特征选择方法;2) 通过重用现有模型可以降低多少计算复杂度;3) 如何使用现有的特征选择方法与AFS结合以提高特征选择性能。

 

Datasets: 数据集的总体概况如下表1所示,其中n-MNIST-AWGN代表添加白高斯噪声;n-MNIST-MB代表运动模糊;n-MNIST-RCAWGN则是代表添加加性降低对比度和高斯白噪声的组合。以上n-MNIST数据集为特征选择稳定性评估提供了良好的基础。

 

 

Evaluation Protocols: 通过训练数据得到特征权重,然后对它们进行特征排序,按降序选择一定数量的特征作为特征子集,并通过测试集上特征子集的准确度作为性能指标。

 

Parameter Settings: 模型参数用均值为0、标准差为0.1的截断正态分布进行初始化,模型使用Adam优化器进行优化,训练批次设置为100,正则化权重设置为0.0001,训练步长都被设置为3000。

 

Experiments on MNIST variants (Q1):

 

来自不同方法的特征权重按数值排序,分别选择排序后的前K个特征,放入基准分类器,与训练数据进行拟合,然后根据分类准确度报告平均结果。如下图显示了不同特征选择方法对 MNIST 及其变体的建模精度,我们可以发现:

 

 

AFS在所有四个数据集和几乎所有特征选择范围上都达到了最好的精度,并且性能明显优于其它比较的方法。

 

对于不同类型的噪声,AFS实现了最佳的特征选择稳定性,无论引入什幺类型的噪声,AFS都表现出几乎一致的良好性能。

 

此外,从下表2中可以看出,所选特征的数量在15到85之间时,AFS显着优于其他五种方法,这也进一步表明AFS具有最准确的特征权重排序,这是许多建模过程的重要优势。

 

下表3中给出了不同特征选择方法的计算开销,使用特征权重生成过程的执行时间来测量开销,可以发现AFS算法具有中等的计算复杂度,但是却可以带来较大程度的性能提升。

 

 

 

 

 

Model reuse (Q2):

 

为了评估重用现有模型对降低计算复杂度的贡献,直接使用在MNIST测试集上保持98.4%分类正确率的DNN模型作为学习模型分别测试了AFS-R-GlobalTune和AFS-R-LocalTune策略:

 

从下表4中可以看出,当调整步长较小时,AFS-R-LocalTune 解决方案通常比 AFS-R-GlobalTune 实现更好的精度,因为它需要调整的参数要少得多;当调优步长增加时,AFS-R-GlobalTune 逐渐达到更好的精度。同时AFS-R-GlobalTune的计算开销大约是25s,大约是AFS使用的 11.5%,对于相同的步骤,全局调优比本地调优解决方案需要更多的时间,因为它有更多的参数需要调优。

 

 

Performance on L/S datasets (Q3):

 

根据混合初始化方法,使用Fisher score和ReliefF作为特征初始化的基础,扩展后的AFS表示为AFS-Fisher和AFS-ReliefF。如下图5所示,在小数据集上使用混合初始化方法远高于其他解决方案,这表明混合初始化方法可以显着提高现有特征选择算法的准确性。此外还发现,较高的样本/特征比可能有助于混合初始化方法实现更高的性能改进。

 

 

       05       

 

总结

 

本文提出了一种新的特征选择体系结构,将注意机制扩展到一般的特征选择任务。通过将特征选择问题描述为每个特征的二进制分类问题,能够根据每个特征的特征选择模式来识别每个特征的权重。同时,由于高度解耦设计使得可以分别训练或重用不同模块。下一步可以考虑为特定的结构数据开发更多领域优化的解决方案,并降低其在超高维数据集上的计算代价。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。