鲁棒性的含义以及如何提高模型的鲁棒性

news2024/11/25 0:26:30

1、含义

鲁棒是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,也是指控制系统在一定(结构,大小)的参数摄动下,维持其它某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。

鲁棒性包括稳定鲁棒性和品质鲁棒性。一个控制系统是否具有鲁棒性,是它能否真正实际应用的关键。因此,现代控制系统的设计已将鲁棒性作为一种最重要的设计指标。

AI模型的鲁棒可以理解为模型对数据变化的容忍度。假设数据出现较小偏差,只对模型输出产生较小的影响,则称模型是鲁棒的。 Huber从稳健统计的角度给出了鲁棒性的3个要求:

  1. 模型具有较高的精度或有效性。
  2. 对于模型假设出现的较小偏差(noise),只能对算法性能产生较小的影响。
  3. 对于模型假设出现的较大偏差(outlier),不能对算法性能产生“灾难性”的影响。

在这里插入图片描述

2、鲁棒性和稳定性的区别

鲁棒性即稳健性,外延和内涵不一样;稳定性只做本身特性的描述。鲁棒性指一个具体的控制器,如果对一个模型族中的每个对象都能保证反馈系统内稳定,那么就称其为鲁棒稳定的。稳定性指的是系统在某个稳定状态下受到较小的扰动后仍能回到原状态或另一个稳定状态。

3、鲁棒性和泛化性的区别

鲁棒性是控制论中的词语,主要指在某些参数略微改变或控制量稍微偏离最优值时系统仍然保持稳定性和有效性。泛化能力指根据有限样本得到的网络模型对其他变量域也有良好的预测能力。根据泛化能力好的网络设计的神经网络控制器的鲁棒性也会有所改善。鲁棒性指自己主动去改变网络中的相关参数,细微地修改(破坏)模型,也能得到理想的效果;而泛化能力是指,在不主动修改(破坏)模型的前提下,被动接受不同的外界输入,都能得到相应的理想的效果。

4、如何提升模型鲁棒性

研究方向

为了提升模型的鲁棒性, 现在主流的研究大致分为三个方向:
1、修改模型输入数据, 包括在训练阶段修改训练数据以及在测试阶段修改输入的样本数据。
2、修改网络结构, 比如添加更多的网络层数,改变损失函数或激活函数等方法。
3、添加外部模块作为原有网络模型的附加插件, 提升网络模型的鲁棒性。

常用的方法

1、Dropout

解决的问题:co-adaptation(在神经网络中,隐藏层单元之间有很高的相关性)。Dropout可以看作一个噪声 [公式] 和全连接矩阵 [公式] 作乘积,随机导致一部分连接权重为0。Dropout能够有效缓解神经元之间的co-adaptation(之前一起发挥作用的神经元现在可能单独出现了)。训练时,每次dropout都会得到一个新的子网络。预测时,所有的神经元都会发生作用,可以看作多个子网络的平均。因此dropout类似于bagging和 [公式] 正则,不同之处在于dropout的多个子网络之间共享参数,同时神经元是被随机丢弃的。
在这里插入图片描述

2、Batch/Layer Normalization

Normalization将激活层的输入标准化,使得标准化后的输入能够落在激活函数的非饱和区。
在这里插入图片描述

3、Label Smoothing

label smoothing就是把原来的one-hot表示,在每一维上都添加了一个随机噪音。这是一种简单粗暴,但又十分有效的方法,目前已经使用在很多的图像分类模型中了。
在这里插入图片描述
Label Smoothing 优势:

1、一定程度上,可以缓解模型过于武断的问题,也有一定的抗噪能力
弥补了简单分类中监督信号不足(信息熵比较少)的问题,增加了信息量;
2、提供了训练数据中类别之间的关系(数据增强);
3、可能增强了模型泛化能力
4、降低feature norm (feature normalization)从而让每个类别的样本聚拢的效果(文章[10]提及)
5、产生更好的校准网络,从而更好地泛化,最终对不可见的生产数据产生更准确的预测。(文章[11]提及)

Label Smoothing 劣势:

1、单纯地添加随机噪音,也无法反映标签之间的关系,因此对模型的提升有限,甚至有欠拟合的风险。
2、它对构建将来作为教师的网络没有用处,hard 目标训练将产生一个更好的教师神经网络。(文章[11]提及)

4、Mixup

mixup是一种非常规的数据增强方法,一个和数据无关的简单数据增强原则,其以线性插值的方式来构建新的训练样本和标签。最终对标签的处理如下公式所示,这很简单但对于增强策略来说又很不一般。

img

( x i , y i ) \left ( x_{i},y_{i} \right ) (xi,yi), ( x j , y j ) \left ( x_{j},y_{j} \right ) (xj,yj)两个数据对是原始数据集中的训练样本对(训练样本和其对应的标签)。其中 λ \lambda λ是一个服从B分布的参数, λ ∼ B e t a ( α , α ) \lambda\sim Beta\left ( \alpha ,\alpha \right ) λBeta(α,α) 。Beta分布的概率密度函数如下图所示,其中 α ∈ [ 0 , + ∞ ] \alpha \in \left [ 0,+\infty \right ] α[0,+]

img

因此 α \alpha α是一个超参数,随着 α \alpha α的增大,网络的训练误差就会增加,而其泛化能力会随之增强。而当 α → ∞ \alpha \rightarrow \infty α时,模型就会退化成最原始的训练策略。参考:https://www.jianshu.com/p/d22fcd86f36d

5、半监督学习,利用伪标签增加模型的泛化性

6、Focal Loss

Focal loss 主要是为了解决目标检测中正负样本比例严重失衡的问题,并不是通常的正则化化方法。该损失函数降低了大量简单样本在训练中所占的权重,让模型更加关注困难、错分的样本。
在这里插入图片描述

上面的几种方式,是我常用的几种方法,更多的可以参考:
https://zhuanlan.zhihu.com/p/434106564

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1171169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯官网填空题(方格填数)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 在 2 行 5 列的格子中填入 1 到 10 的数字。 要求: 相邻的格子中的数,右边的大于左边的,下边的大于上边的。 如下图所示的 …

项目实战:在首页上添加分页按钮

1、在index.html添加div_pagination <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"style/index.css"><script src&qu…

设置IDEA快捷生成方法头,类头注释

1.File->settings->editor->live templates进入Live Template界面进行设置&#xff1a; 下一步&#xff1a; 下一步&#xff1a; /*** Title: $title$* author: sunyanzeng* date: $datatime$*/在需要添加文件头的地方打出“aa”&#xff0c;回车&#xff0c;会自…

算法——多数相和

三数 15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; 所以代码实现应该是 vector<vector<int>> threeSum(vector<int>& nums) {int n nums.size();sort(nums.begin(), nums.end()); // 对数组进行排序&#xff0c;以便后续操作vector<vector…

springboot--外部环境配置

外部环境配置 前言1、配置优先级配置文件优先级如下&#xff08;后面的覆盖前面的&#xff09;测试 2、外部配置3、导入配置4、属性占位符 前言 场景&#xff1a;线上应用如何快速修改配置&#xff0c;并引用最新配置&#xff1f; springBoot 使用配置优先级外部配置 简化配置…

黑客入门 15 个必杀技能!

互联网新兴技术不断涌现&#xff0c;在给人类带来巨大财富和便捷的同时&#xff0c;也带来了非常严峻的网络安全问题。 侵害个人隐私、侵犯知识产权、网络犯罪等时有发生&#xff0c;网络监听、网络攻击、网络恐怖主义活动等成为**全球公害。 习主席在全国网络安全和信息化工…

基于SSM的物流仓储管理系统

项目名称 基于SSM的物流仓储管理系统 演示视频 基于SSM的物流仓储管理系统&#xff08;包远程安装配置和代码讲解&#xff09;_哔哩哔哩_bilibili 一、项目简介 本项目是一套基于SSM的物流仓储管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习…

【Java-框架-Mybatis】(01) 使用Mybatis框架操作MySQL数据库,快速上手

前言 使用"Mybatis"框架操作"MySQL"数据库&#xff0c;快速上手&#xff1b; 实操一 【说明】 通过"IntelliJ IDEA"软件来创建"Maven"项目&#xff1b;通过"Mybatis"框架完成"MySQL"数据库操作&#xff1b; 【环…

精品Python手机选购决策数据的分析与可视化大屏购物商城-爬虫

《[含文档PPT源码等]精品基于Python的手机选购决策数据的分析与可视化-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django …

ALLRGRO拼板的问题。

1、建议拼板还是用AUTO CAD或者CAM350会比较方便。 2、如果要在allegro中拼板&#xff0c;就拼个外框Outline&#xff0c;然后让板厂的人按照板框帮你放。板厂都会帮你操作的。也不会影响贴片。 3、如果非要死乞白赖的在PCB板子里面拼板&#xff0c;请看文章最后面。 具体的…

MySQL存储引擎 、索引、锁、事务和设计范式总结

1. 常见存储引擎 1.1 InnoDB InnoDB 是 MySQL 5.5 之后默认的存储引擎&#xff0c;它具有高可靠、高性能的特点&#xff0c;主要具备以下优势&#xff1a; DML 操作完全遵循 ACID 模型&#xff0c;支持事务&#xff0c;支持崩溃恢复&#xff0c;能够极大地保护用户的数据安全&a…

JVM字节码文件浅谈

文章目录 版权声明java虚拟机的组成字节码文件打开字节码文件的姿势字节码文件的组成魔数&#xff08;基本信息&#xff09;主副版本号&#xff08;基本信息&#xff09;主版本号不兼容的错误解决方法基本信息常量池方法 字节码文件的常用工具javap -v命令jclasslib插件阿里art…

Docker 安装ELK7.7.1

(在安装之前&#xff0c;本方法必须安装jdk1.8以上版本) 一、安装elasticsearch 1、下载elasticsearch7镜像&#xff1a;docker pull elasticsearch:7.7.1 2、创建挂载目录&#xff1a;mkdir -p /data/elk/es/{config,data,logs} 3、赋予权限&#xff1a;chown -R 1000:100…

JS-函数

定义方式一 定义方式二 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JS-函数</title> <…

Ipswitch WS_FTP 12 安裝

Ipswitch WS.FTP.Professional.12.6.rar_免费高速下载|百度网盘-分享无限制 This works but quite difficult to figure out. It didnt allow me to replace the wsftpext.dll at 1st and had to test lots of ways how to replace it. This is how I did: 1. Follow the instr…

curl(六)DNS解析、认证、代理

一 DNS解析 ① ip协议 使用ipv4 [-4] 还是ipv6 [-6] ② --resolve 场景&#xff1a; 在不修改系统配置文件 /etc/hosts 的情况下将单个请求临时固定到 ip 地址 1、使用 * 作为通配符,这样请求中调用的所有 Host 都 会转到你指定的 ip curl https://www.wzj.com --resolv…

我用 ChatGPT 的探索与实践

本文主要介绍在实际的开发过程当中&#xff0c;如何使用GPT帮助开发&#xff0c;优化流程&#xff1b;本文所有代码和脚本均是利用GPT生成。 技术交流群 建了技术答疑、交流群&#xff01;想要进交流群、资料的同学&#xff0c;可以直接加微信号&#xff1a;mlc2060。加的时候…

vSLAM中IMU预积分的作用--以惯性导航的角度分析

作为一个学过一点惯导的工程师&#xff0c;在初次接触视觉slam方向时&#xff0c;最感兴趣的就是IMU预积分了。但为什么要用这个预积分&#xff0c;在看了很多材料和书后&#xff0c;还是感觉模模糊糊&#xff0c;云里雾里。 在接触了vSLAM的更多内容后&#xff0c;站在历史研究…

图解系列--理解L3交换机的性能与功能

04.01 何为 L3 交换机 L3交换机是一种在L2 交换机的基础上增加了路由选择功能的网络硬件&#xff0c;能够通过基于ASIC 和 FPGA 的硬件处理高速实现网络功能和转发分组。L2 是指 OSI 参考模型中的L2, 也就是数据链路层。L2 交换机能够基于该层主要编址的 MAC 地址&#xff0c;…