【图像分类损失】Encouraging Loss:一个反直觉的分类损失

news2024/11/23 7:06:01

论文题目:《Well-classified Examples are Underestimated in Classification with Deep Neural Networks》
论文地址:https://arxiv.org/pdf/2110.06537.pdf

1.背景

       深度分类模型背后的一般常识是专注于分类错误的样本,而忽略远离决策边界的分类良好的样本。例如,在使用交叉熵损失进行训练时,具有较高可能性的样本(即分类良好的样本)在反向传播中贡献较小的梯度。然而,我们从理论上表明,这种常见做法阻碍了representation learning、energy optimization和margin growth。为了弥补这一缺陷,我们建议用additive bonuses来奖励分类良好的示例,以恢复它们对学习过程的贡献。这个反例从理论上解决了这三个问题。我们通过在不同任务(包括图像分类、图形分类和机器翻译)直接验证这一观点。此外,本文表明我们可以处理复杂的场景,例如不平衡分类、OOD检测和对抗性攻击下的应用。

CELoss的三个局限性:

1)Normalization function brings a gradient vanishing problem to CE loss and hinders the representation learning.(归一化函数给 CE 损失带来梯度消失问题并阻碍表征学习)
       最近对不平衡学习的研究表明,对分类相对较好的数据丰富类的学习进行down-weighting会严重损害表征学习(Kang et al. 2020; Zhou et al. 2020)。这些研究启发我们反思在样本层面是否也是这种情况,我们验证了对分类良好的样本的学习降低权重也会降低性能(表3)
在这里插入图片描述

2)CE loss has insufficient power in reducing the energy on the data manifold.(CE loss在降低数据流行上的能量方面没有足够的力量)
       Energy-Based模型 (EBM) (LeCun et al. 2006),a sharper energy surface is desired。但是,我们发现energy surface trained with CE loss is not sharp,如图 1 所示。可能的原因是CE loss只要低于负例的energy,就没有足够的energy来push down正例的energy。我们在图 5 中的验证表明,对分类良好的样本进行加权会返回a sharper surface。
在这里插入图片描述
3)CE loss is not effective in enlarging margins.(CE loss在增大margin方面是无效的)
       关于分类,公认建立具有大margin的分类模型会导致良好的泛化性(Bartlett 1997;Jiang et al. 2019)和良好的鲁棒性(Elsayed et al. 2018;Matyasko and Chau 2017; Wu and Yu 2019),但我们发现带有 CE 损失的学习会导致更小的margin(如图 1 所示)。原因可能是进一步扩大margin的动机是有限的,因为分类良好的样本不太优化。我们在图 6 和图 7 中的结果表明,对分类样本进行加权会扩大margin并有助于提高对抗性的鲁棒性。
在这里插入图片描述

2. Encouraging Loss

在这里插入图片描述       如图 2 所示,EL= CE loss + 额外损失(bonus),当 p 变高时,损失再次变得更steeper。normal bonus是 CE 损失的镜像翻转:bonus = log(1 - p),我们将对数中的值限制为一个小 epsilon(例如 1e-5)以避免数值不稳定。normal bonus的EL如下:
在这里插入图片描述
       我们将其命名为Encouraging Loss,因为它通过奖励这些接近正确的预测来鼓励模型给出更准确的预测。只要额外的奖励是凹的,它对于较大 p 的steepness就更大,这表明具有该奖励的 EL 比 CE 损失更关注分类良好的示例。
在这里插入图片描述
       为了使EL的梯度更接近CE以适应现有的优化系统,并研究与其他样本相比,分类良好样本学习的相对重要性。我们可以调整额外bonus的相对steepness。我们设计了许多类型的conservative bonus,它们接近正常bonus,但更保守,并在图 3 中显示。这些变体的log curve Ends(EL)在高似然区域的早期,并将log曲线替换为endpoint。对分类良好的样本在EL通过这些奖励进行优化的相对重要性大于 CE,并且从右到左逐渐增加。
在这里插入图片描述
       bonus可以设计的比normal bonus更aggressive。

3. 实验结果

在这里插入图片描述

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

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

相关文章

Studio 3T工具下载安装及使用教程

一、下载安装 官方网址:The Professional Client, IDE and GUI for MongoDB | Studio 3T 二、使用教程 CRUD操作: 打开命令行窗口,Open intelliShell 插入一个文档,db.collection.insertOne() 插入多个文档,db.coll…

[附源码]计算机毕业设计springboot中小学课后延时服务管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

PS画布基本操作 新建保存 图片类型区分设置

观看本文需要您的电脑装配有ps软件 如果没有 可以查看我的文章 PS软件下载安装以基本配置 然后我们打开ps软件 然后点击右上角 文件 然后选择 新建 然后可以配置一下 右边的话 我们可以设置 高度 和 宽度 都是数值 其次是要指定你这个数值的单位 一般情况下 都会用像素 一…

Vue(第十五课)Pinia组件库的基本知识

为什么要使用 Pinia? Pinia 是 Vue 的存储库,它允许您跨组件/页面共享状态。 如果您熟悉 Composition API,您可能会认为您已经可以通过一个简单的 export const state reactive({}). 这对于单页应用程序来说是正确的,但如果它是…

jsp人力资源管理系统Myeclipse开发mysql数据库servlet开发java编程计算机网页项目

一、源码特点 JSP 人力资源管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统采用serlvetdaobean mvc 模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5…

用户信息列表实现增删改查案例的实现【问题及解决过程记录】【综合案例】

目录 用户信息列表展示案例 1. 需求: 1. 简单功能 1. 列表查询 2. 登录 3. 添加 4. 删除 5. 修改 2. 复杂功能 1. 删除选中 2. 分页查询 * 好处: 1. 减轻服务器内存的开销 …

【云原生 | Kubernetes 实战】06、Pod高级实战:基于污点、容忍度、亲和性的多种调度策略(下)

目录 一、Pod节点亲和性 1.1 案例演示:pod 节点亲和性——podAffinity 1.2 案例演示:pod 节点反亲和性——podAntiAffinity 1.3 案例演示: 换一个 topologykey 值 二、污点和容忍度 2.1 案例演示: 把 node2 当成是生产环境专…

Python中常见的调色板: 颜色 color

Python中常见的调色板: 颜色 color 这个人对颜色的总结,非常到位哈! https://blog.csdn.net/weixin_42943114/article/details/81811556

SPI 机制详解

SPI 全称为 Service Provider Interface ,它是一种服务发现机制。它通过在 ClassPath 路径下的 META-INF/services 文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架拓展提供了可能,比如在Dubbo,JDBC中都使用到了SPI…

go return返回值屏蔽

前言 最近需要写一个云环境的可执行程序,一般使用go语言,毕竟GC原生运行,结合了不需要回收指针的能力和原生运行,但是在程序返回时,笔者看到一个sdk的源码懵了,返回的数据居然可以隐式返回。 准备 go 版本…

机器学习8线性回归法Linear Regression

文章目录一、线性回归算法简介典型的最小二乘法的问题目标:具体怎么推此处省略二、简单线性回归的实现三、向量化运算一、线性回归算法简介 1.解决回归问题; 2.思想简单,实现容易; 3.是许多强大的非线性模型的基础; 4…

ESP32——WEB服务程序测试(基于官方示例restful_server)

一、简介 基于官方示例restful_server创建一个新工程。 参考1: 官方说明 参考2: ES32 RESTful_server实验_NULL_1969的博客-CSDN博客 二、编译下载运行工程 直接编译运行,出现下面两个错误。 2.1 OCD调试错误 esp_semihost: OpenOCD i…

文本生成客观评价指标总结(附Pytorch代码实现)

前言:最近在做文本生成的工作,调研发现针对不同的文本生成场景(机器翻译、对话生成、图像描述、data-to-text 等),客观评价指标也不尽相同。虽然网络上已经有很多关于文本生成评价指标的文章,本博客也是基于…

[附源码]JAVA毕业设计计算机组成原理教学演示软件(系统+LW)

[附源码]JAVA毕业设计计算机组成原理教学演示软件(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。…

PCB元件创建

目录 一:创建元件基本流程 1.1.创建一个原理图库 1. 2.创建元件 1.3绘制 1.4放置管脚 二: 元件创建 2.1电容类元件创建 2.2.电感类元件 2.3.电阻类元件 2.4LED元件 2.5按键元件 2.6芯片类元件创建 2.6.1修改栅格颜色 2.6.2阵列粘贴 2.7接插…

kubernetes Service详解

文章目录Service介绍Service类型Endpoint负载分发策略HeadLiness类型的ServiceNodePort类型的ServiceLoadBalancer类型的ServiceExternalName类型的Servicengress介绍Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序…

python Threads and ThreadPools

在之前的文章解释了线程和锁的相关事项,这里准备三篇文章分别介绍下线程和线程池,进程和进程池,已经携程的概念 python Threads and ThreadPoolspython Process and ProcessPolls 本文中重点介绍下线程和线程池的概念。每个python程序都是一…

毕业设计-基于机器视觉的安全帽佩戴识别-yolo-python

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

mysql监控sql执行情况

要想进阶针对mysql学习乃至掌握mysql调优的基本技能,监控mysql的执行情况必不可少。就像我们的代码,如果不能debug,想要进行调优排错,难度将会大大增加。 所以今天我们就来讲解如何监控mysql的sql执行情况 show profile指令什么是…

Pinely Round 1 (Div. 1 + Div. 2)

比赛链接:Dashboard - Pinely Round 1 (Div. 1 Div. 2) - Codeforces A:思维 题意:定义了一个序列,给定了三个整数n,a,b。问能否构造两个长度为n的序列,使得它们的最长前缀的长度为a&#xf…