网络模型的鲁棒性(结合实例)与提升鲁棒性的方法

网络模型的鲁棒性与提升鲁棒性的方法

1.定义:在统计学领域和机器学习领域,对异常值也能保持稳定、可靠的性质,称为鲁棒性。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。有一个与鲁棒性很相似的概念叫模型的泛化能力。

泛化能力:generalization ability)是指机器学习算法对新鲜样本的适应能力,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。

根据泛化能力好的网络设计的神经网络控制器的鲁棒性也会有所改善.泛化能力指对未知数据的预测能力;

2.我们先来看一组例子理解鲁棒性的表现:

例子1.

网络模型的鲁棒性(结合实例)与提升鲁棒性的方法

图,生成的对抗样本中的扰动对人类视觉来说不敏感,但是对于模型来说,原本以57.7%的概率被判成熊猫的图片在修改后以99.3%的概率被判成了长臂猿。则该系统的抗干扰性差,鲁棒性低。  

例子2.

                         网络模型的鲁棒性(结合实例)与提升鲁棒性的方法

对于处于决策边界边缘的数据,只需要稍微在数值上增加一点点或减小一点点,所得到的结果就会截然不同。

例子3.

网络模型的鲁棒性(结合实例)与提升鲁棒性的方法

一味地追求精确度会降低系统鲁棒性。

3.影响鲁棒性的原因:

样本数据中含有噪音降低了数据质量。

样本中种类相似度较高,模型易混淆。

4.提升鲁棒性的方法:

(1)从数据上提升性能

收集更多的数据、产生更多的数据、对数据做缩放、对数据做变换、特征选择、重新定义问题

(2) 从算法上提升性能

算法的筛选、从文献中学习、重采样的方法

(3)从算法调优上提升性能

注意力机制(给与每个像素权重,来衡量像素间的相关性SPNet)、模型可诊断性、权重的初始化、学习率、**函数、网络结构、batchepoch、正则项、优化目标、提早结束训练

(4) 用融合方法提升效果

模型融合、视角融合、stacking、多尺度融合(使用不同尺度的卷积核,增加模型的感受野,典型代表金字塔Deeplab系列)

(5)增加模型宽度

将通道分成多组,每组单独进行卷积,然后再将通道合成可以减少模型的参数,提高模型准确率,增加鲁棒性(ResNext)。