【论文精读】Improving Simple Models with Confidence Profiles

ProWeight方法通过中间层的confidence scores对样本进行合理加权,助力简单模型训练。在CIFAR-10上,该方法使ResNet的小部分模型提升了3-4%的精度;在芯片制造预测问题中,CART模型精度提升13%。此方法适用于资源受限、数据稀少或领域专家偏好简单模型的场景。

Improving Simple Models with Confidence Profiles

原文地址:Improving Simple Models with Confidence Profiles

Abstract

用ProWeight方法进行模型迁移,使用linear probes通过flattened intermediate representations生成confidence score。在使用中间层的confidence scores的简单模型的训练过程中对样本进行理论上合理的加权。在CIFAR-10上,这个weighting method用一个复杂的Resnet一小部分得到了3-4%的提升;在一个生产问题中使用作者方法,CART模型的精度提升了13%。

1 Introduction

作者提出三个原因用来解释为什么关注提高简单模型:

  • 某些领域专家的偏好:一些领域的专家有一些自己喜欢用的模型。
  • 可用的数据很少:避免过拟合,提供insight,使用预训练的模型进行迁移也很可取。
  • 资源有限:当电力内存受限时,简单模型更可取。

之前提到的linear probes就是logistic分类器,添加到预训练网络中的中间层,以便从该层获取预测。通过这些confidence scores和probe的输出所构成的confidence profile来weight样本来帮助简单模型的训练。作者先后尝试了area under the curve (AUC)和神经网络来学习这些weights。

这种weight样本的思想和curriculum learning类似,就是首先关注那些比较容易学习的样本。

2 General Framework

这里的思想就是得到那些容易训练(easier)的样本去训练,可以通过area under the curve (AUC)算法确定easier的样本,由此可以得到用来训练简单模型的数据集 D S D_S DS每个样本的权重 W = { w 1 , . . . , w m } W=\{w_1,...,w_m\} W={w1,...,wm}。那么优化问题变为:

在这里插入图片描述

其中 λ ( ⋅ , ⋅ ) \lambda(\cdot,\cdot) λ(,)是损失函数, B \mathcal{B} B是参数空间, C \mathcal{C} C是权重向量 w w w存在的空间,对权重大小进行了限制以避免权重全为零的解出现。

2.1 Algorithm Description

首先在 D N D_N DN上训练一个复杂的模型, R u ( x ) R_u(x) Ru(x)就是flattened的表征(可能就是说把复杂网络这一层的信息都集中到了 R u ( x ) R_u(x) Ru(x)中,相当于flattened了),那么:

在这里插入图片描述

σ ( ⋅ ) \sigma(\cdot) σ()是softmax, k k k是类别数,在数据集 D N D_N DN上进行训练。 P u ( R u ( x ) ) [ y ] ∈ [ 0 , 1 ] P_u(R_u(x))[y]\in[0,1] Pu(Ru(x))[y][0,1]就是标签 y y y的confidence score。

教师的精度也决定了学生表现的好坏,教师提供的probe confidence scores不能总是太好,也不能总是太差。

ProWeight算法在Algorithm 1中展示步骤(5)计算权重可以使用AUG算法(Algorithm 2),或是将confidence scores作为输入的正则化神经网络,正则项为 R ( w ) = ( 1 m Σ i = 1 m w i − 1 ) 2 R(w)=(\frac{1}{m}\Sigma^m_{i=1}w_i-1)^2 R(w)=(m1Σi=1mwi1)2,并且神经网络在batch上训练,正则项要计算所有的样本。然后使用weights在 D S D_S DS上训练简单样本就好了。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 Theoretical Justification

这里用了importance weighting的思想,得出:

在这里插入图片描述

3 Experiments

主要有两个实验,一个在CIFAR-10上,一个在芯片制造厂商的数据集上。还跟蒸馏(distillation)方法对比了。

3.1 CIFAR-10

复杂网络使用了15个Resnet单元。简单网络使用了复杂网络的一部分,但初始的卷积层,和最后的平均池化层和全连接层都一样,四个简单模型的体积分别是复杂网络的1/5,1/3,1/2,2/3。结果如下:

在这里插入图片描述

这里作者中指出,复杂模型的精度太高对简单模型weights的确定也不利,这样会使得 w w w全部接近于1,即不利于区分那些样本容易学习。

3.2 Manufacturing

在另外一个预测芯片刻蚀质量的实验中也表现出了不错的效果,有兴趣的可以看一下原文中的Setup。

在这里插入图片描述

4 Related Work and Discussion

这里作者将ProfWeight和其他相关的迁移方法相比较,与Distillation相比,ProfWeight对于模型的适应性更强,因为它只需要对样本进行Weighting,适用于几乎所有的模型,而且相比Distillation,占用的资源更少;相比Curriculum Learning,Weighting过程是通过在复杂网络上训练Probes自动进行的,不需要人工设计;Boosting方法跟ProfWeight差异比较大。

未来的工作中作者提到要研究一下使用Weighted样本对训练简单模型的时间的影响,同时也要探索更多的weighting的策略。

代码转载自:https://pan.quark.cn/s/133311188eb6 ### C# DllImport功能说明及路径选取问题分析 #### 一、DllImport核心原理 `DllImport`是.NET Framework内的一种技术,用于执行平台调用服务(Platform Invoke, 简称P/Invoke),该机制使得.NET应用程序能够调用非托管代码中的函数,例如Windows API或其他非托管库中的函数。这对于增强.NET应用程序的功能性非常关键,因为许多高级系统级操作(例如文件操作、进程控制等)通常由非托管库负责实现。 `DllImport`特性包含在`System.Runtime.InteropServices`命名空间中,它的主要功能是向CLR(Common Language Runtime)指示如何定位并调用非托管库中的特定函数。 #### 二、DllImport特性包含的主要元素 `DllImport`特性所包含的主要元素有: - **DllName**:必需的字符串参数,用于表明需要导入的非托管库的名称。 - **CallingConvention**:可选参数,用于设定调用协议。在默认情况下,其值为`CallingConvention.Cdecl`。 - **CharSet**:可选参数,用于定义字符集的类型。在默认情况下,其值为`CharSet.Auto`,即根据函数的签名自动决定字符集。 - **EntryPoint**:可选参数,用于指定非托管库中的函数名称。若未提供,则默认使用应用程序的方法名称作为函数名称。 - **ExactSpelling**:可选布尔值,用于确定函数名称是否必须与非托管库中的完全一致。...
代码下载链接: https://pan.quark.cn/s/8df2b016201b 555 芯片的引脚布局、功能特性、引脚示意图以及引脚说明是关键信息。555 芯片作为一种集成电路,具有多样化的功能特性,在定时器、定时延时控制、调光、调温、调压、调速等多种控制及计量检测领域有着广泛的应用。接下来将展示 555 芯片的引脚示意图和引脚说明: 1. 555 芯片引脚示意图:555 芯片包含 8 个引脚,具体如下: * 1 脚:地线端 * 2 脚:触发输入端 * 3 脚:输出端 * 4 脚:复位端 * 5 脚:控制端 * 6 脚:阈值端 * 7 脚:放电端 * 8 脚:电源端 2. 555 芯片引脚说明: * 1 脚:地线端,用于连接电路的负极部分。 * 2 脚:触发输入端,用于接收外部信号的输入,进而控制输出端的状态。 * 3 脚:输出端,输出高电平或低电平信号,其状态受触发器控制。 * 4 脚:复位端,当输入低电平时,输出端会输出低电平信号。 * 5 脚:控制端,用于调节输出端的状态,能够改变上下触发电平的数值。 * 6 脚:阈值端,作为上比较器的输入端,当输入高电平时,输出端会输出低电平信号。 * 7 脚:放电端,是内部放电管的输出端,其输出电平状态受触发器控制。 * 8 脚:电源端,用于连接电源的正极部分。 3. 555 芯片工作原理:555 芯片的工作原理是通过上比较器和下比较器来控制输出端的状态。上比较器的输入端位于 6 脚,而下比较器的输入端位于 2 脚。根据输入端的电平状态,输出端会输出高电平或低电平信号。 4. 555 芯片应用领域:555 芯片在各种电子产品中有着广泛的应用,例如在定时器、定时延时控制、调光、调温、调压、调速等领域。它还可以用于...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值