前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >洞见AI对抗,从频域视角看模型泛化能力

洞见AI对抗,从频域视角看模型泛化能力

作者头像
绿盟科技研究通讯
发布2020-02-27 15:22:47
1.3K0
发布2020-02-27 15:22:47
举报

在机器学习应用中,泛化能力是衡量机器学习模型性能的一个重要指标。其受到多种因素的影响,包括模型结构,参数,训练数据集,训练方法等。本文以全连接神经网络为例,通过实验的方法,分析输入数据中的不同频率分量对神经网络模型泛化能力的影响。

一.背景

近年来,随着海量数据的积累、计算能力的提高、机器学习方法与系统的持续创新与演进,人工智能技术取得了重大突破,在图像处理、自然语言处理、语音识别等多个领域得到了广泛的应用。

机器学习方法具有改变社会的巨大潜能,同时也存在巨大的安全风险。其中之一就是其容易受到对抗样本的影响。例如图 1中所示为对抗样本的一个经典的案例[1]。通过在原始图片中加入少量的高频噪声,就能够使分类器将熊猫识别为长臂猿。

图 1. 对抗样本

从本质上说,机器学习模型容易被对抗样本影响是由于模型的泛化能力不足所导致。泛化能力指的是学习到的模型对未知数据的预测能力。在实际应用中通常通过测试误差来评价机器学习模型的泛化能力。对于分类问题来说,如果一个机器学习模型在训练数据集上输出的准确度较高,而在测试数据集或者实际应用场景中的输出准确度较低,那么该模型的泛化能力就较弱。泛化能力弱的机器学习模型在实际场景中的输出结果会出现较大的误差。

机器学习模型的泛化能力受到多种因素的影响,其中之一为数据集(包括训练集和测试集)。例如图 1所示的案例中,尽管高频噪声的幅值较小,但机器学习模型仍然判断错误。也就是说,该模型对数据中的高频部分泛化能力不足,鲁棒性较差。该案例也说明了机器学习模型对输入数据中不同的频率分量的敏感度不同。

为了更直观的说明该问题,本文以全连接神经网络为例,通过实验的方法,分析输入数据中的不同频率分量对神经网络模型泛化能力的影响。

二、模型与数据

模型:深度全连接神经网络二分类模型;

输入数据维度:500;

隐藏层神经元数量:(1000, 800, 1500, 1200, 500);

激活函数:relu;

数据集:包含不同频率分量的一维向量;

训练样本数:正负样本各1000;

测试样本数:正负样本各10000。

三、高频噪声即使幅值较低,也会影响神经网络的分类结果

实验一:

实验的两类数据集如下:

f0=sin(x)+sin(3x)+sin(4x)+0.1sin(100x)

f1=sin(x)+sin(3x)+sin(4x)+0.1sin(101x)

其示例数据图像如图 2所示。图中左侧为f0,右侧为f1。

图 2

图 2中展示的两类数据分别包含了四种频率的分量。其中低频分量都相同,只有高频部分的频率有较小的差别(分别为100倍和101倍频率)。采用以上数据对神经网络模型进行训练,并采用相同函数生成的测试数据集进行测试,得到的结果如下:

TP

FN

FP

TN

5835

4165

4878

5122

通过以上实验看出,神经网络模型没有很好地对两类数据进行分类。也就是说,当高频噪声的幅值较小时,噪声信号的差别不足以影响神经网络的分类结果。

下面的实验中提高噪声的幅值,继续测试神经网络的分类性能。

实验二:

数据的生成函数如下:

f0=sin(x)+sin(3x)+sin(4x)+0.2sin(100x)

f1=sin(x)+sin(3x)+sin(4x)+0.2sin(101x)

将数据中噪声的幅值变为原来的2倍,其余参数不变。其示例数据的图像如图 3所示。

图 3

采用上述数据集得到的测试结果如下:

TP

FN

FP

TN

10000

0

0

10000

对于较大的噪声,神经网络模型可以学习到数据中的噪声信息。尽管噪声频率非常接近(100倍与101倍频率),神经网络仍然能够基于噪声的信息对数据进行分类。

虽然实验二中噪声的幅值更高,但相比于信号总幅值来说,其噪声占比仍然很小,约6.25%。通过以上两个实验可以看出,神经网络模型,尤其是过拟合的神经网络模型,可以学习到数据中占比较小的高频噪声的特征。因此,模型对噪声的变化较为敏感。对于待分类的数据,只要对数据中加入一些微小的高频噪声信号,就可能使得神经网路模型输出错误的结果。也就是说神经网络的泛化能力较弱,同时也容易受到对抗样本的影响。

四、神经网络对低频分量幅值的变化更敏感

上面分析了高频噪声幅值对神经网络模型泛化能力的影响。接下来通过实验来分析神经网络模型对数据中不同频率分量幅值的灵敏度。

实验三:

数据的生成函数如下:

f0=4.0sin(x)+3.0sin(5x)+2.5sin(10x)+2.0sin(15x)+2.5sin(100x)

f1=4.0sin(x)+2.5sin(5x)+3.5sin(10x)+0.5sin(15x)+3.0sin(100x)

其示例数据的图像如图 4所示

图 4

采用与训练数据相同的生成函数来生成测试数据,得到的测试结果如下:

TP

FN

FP

TN

10000

0

0

10000

神经网络模型可以完美的对测试数据进行分类。接下来测试模型对不同频率幅值的敏感性。

实验四:

在生成测试数据的过程中改变实验三中生成函数的中频分量(15倍频率)的幅值,如下所示:

f0=4.0sin(x)+3.0sin(5x)+2.5sin(10x)+3.0sin(15x)+2.5sin(100x)

f1=4.0sin(x)+2.5sin(5x)+3.5sin(10x)+1.0sin(15x)+3.0sin(100x)

采用以上数据生成测试数据集,并采用实验三中训练好的模型对测试数据集进行分类,所得到的结果如下:

TP

FN

FP

TN

8289

1711

0

10000

通过上述实验可以看出,通过修改测试集中15倍频率的幅值,模型分类输出的TP和FN发生了较大的变化。

实验五:

在生成测试数据的过程中改变实验三中的生成函数的高频分量(100倍频率)的幅值,如下所示:

f0=4.0sin(x)+3.0sin(5x)+2.5sin(10x)+2.0sin(15x)+4.5sin(100x)

f1=4.0sin(x)+2.5sin(5x)+3.5sin(10x)+0.5sin(15x)+6.0sin(100x)

采用以上数据生成测试数据集,并采用实验三中训练好的模型对测试数据集进行分类,所得到的结果如下:

TP

FN

FP

TN

9996

4

6

9994

通过以上实验可以看出,改变高频分量的幅值对分类结果的影响较小。

在实验四中,函数f1的15倍频率分量的幅值由0.5修改为1.0。在实验五中,函数f1的100倍频率的幅值由3.0修改为6.0,其修改幅度要大于实验四。从测试结果可以看出,尽管高频分量修改的幅度更大,但是其对分类结果的影响却更小。

五、结论

神经网络分类模型的泛化能力受到输入数据的频率分布的影响。总结来说,其影响主要有以下几点:

  1. 高频噪声即使幅值较低,也会影响神经网络的分类输出,尤其是过拟合的神经网络。
  2. 神经网络对输入数据的低频分量幅值的敏感度高于对高频分量幅值的敏感度。

在实际的数据中,例如图1所示的图像数据,熊猫的主要特征由图像的低频分量决定,而图像中的细节和噪声则由高频分量决定。对于低频分量相同或者相近,高频分量有差别的图像,深度学习模型往往通过学习其高频分量特征来将二者进行分类。这就使得深度学习模型的泛化能力变差,为对抗样本提供了条件。在输入图像中加入少量的高频噪声,图像的主要特征没有被改变,所以人眼仍然可以辨别图 1中对抗样本中的熊猫,但是深度学习模型却容易被高频噪声影响从而输出错误的结果。而如果图像的低频分量差异较大,即图像的主要特征差异较大,那么这时图像的高频分量,包括图像的细节部分和噪声,对深度学习模型的输出影响也较小。

参考文献:

[1] Ian J. Goodfellow, Jonathon Shlens, Christian Szegedy. Explaining and Harnessing Adversarial Examples.

关于天枢实验室

天枢实验室聚焦安全数据、AI攻防等方面研究,以期在“数据智能”领域获得突破。

内容编辑:天枢实验室 吴子建 责任编辑:肖晴

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 绿盟科技研究通讯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档