[论文阅读] Maintaining Discrimination and Fairness in Class Incremental Learning

论文地址:https://openaccess.thecvf.com/content_CVPR_2020/html/Zhao_Maintaining_Discrimination_and_Fairness_in_Class_Incremental_Learning_CVPR_2020_paper.html
发表于:CVPR 20

Abstract

深度神经网络(DNNs)已被应用于类增量学习中,其目的是解决现实世界中常见的不断学习新类的问题。标准DNN的一个缺点是它们容易发生灾难性的遗忘。知识蒸馏(KD)是一种常用的技术来缓解这个问题。在本文中,我们证明了它确实可以帮助模型在旧的类别中输出更多的判别结果。然而,它不能缓解模型倾向于将对象分类到新类的问题,导致KD的积极作用被隐藏和限制。我们观察到,造成灾难性遗忘的一个重要因素是,在类增量学习中,最后一个全连接(FC)层的权重是高度倾斜的。在本文中,我们提出了一个简单而有效的解决方案,其动机是上述的观察,以解决灾难性遗忘。首先,我们利用KD来维持旧类中的判别性。然后,为了进一步保持旧类和新类之间的公平性,我们提出了权重对齐(Weight Aligning, WA),在正常的训练过程后纠正FC层中有偏见的权重。与以前的工作不同,WA不需要任何额外的参数或事先的验证集,因为它利用了有偏见的权重本身提供的信息。我们在ImageNet-1000、ImageNet-100和CIFAR-100的不同设置下对提出的方法进行了评估。实验结果表明,所提出的方法可以有效地缓解灾难性遗忘,并明显优于最先进的方法。

Method

本文的动机和解法都谈不上新颖,依然是针对类增量学习中输出层(FC)倾向于预测新类的问题,提出添加一些模块进行纠偏。不同的是,本文的这一过程是"无监督"的,并不需要旧模型的统计信息或者额外的验证集之类的辅助。

本文的方法称为权重对齐(Weight Aligning, WA)。具体来说,是将新类权重向量的范数与旧类对齐。形式化地,记新旧类FC层的权重为: W = ( W old  , W n e w ) \mathbf{W}=\left(\mathbf{W}_{\text {old }}, \mathbf{W}_{n e w}\right) W=(Wold ,Wnew) W old  = ( w 1 , w 2 , ⋯   , w C old  b ) ∈ R d × C o l d b W n e w = ( w C o l d b + 1 , ⋯   , w C o l d b + C b ) ∈ R d × C b \begin{aligned} \mathbf{W}_{\text {old }} &=\left(\mathbf{w}_{1}, \mathbf{w}_{2}, \cdots, \mathbf{w}_{C_{\text {old }}^{b}}\right) \in \mathbb{R}^{d \times C_{o l d}^{b}} \\ \mathbf{W}_{n e w} &=\left(\mathbf{w}_{C_{o l d}^{b}+1}, \cdots, \mathbf{w}_{C_{o l d}^{b}+C^{b}}\right) \in \mathbb{R}^{d \times C^{b}} \end{aligned} Wold Wnew=(w1,w2,,wCold b)Rd×Coldb=(wColdb+1,,wColdb+Cb)Rd×Cb 则有相应的正则化形式如下: Norm ⁡ old  = ( ∥ w 1 ∥ , ⋯   , ∥ w C old  b ∥ ) Norm n e w = ( ∥ w C o l d b + 1 ∥ , ⋯   , ∥ w C o l d b + C b ∥ ) \begin{aligned} &\operatorname{Norm}_{\text {old }}=\left(\left\|\mathbf{w}_{1}\right\|, \cdots,\left\|\mathbf{w}_{C_{\text {old }}^{b}}\right\|\right) \\ &\text {Norm}_{n e w}=\left(\left\|\mathbf{w}_{C_{o l d}^{b}+1}\right\|, \cdots,\left\|\mathbf{w}_{C_{o l d}^{b}+C^{b}}\right\|\right) \end{aligned} Normold =(w1,,wCold b)Normnew=(wColdb+1,,wColdb+Cb) 进一步地,可以对新类的权重进行标准化,有: W ^ n e w = γ ⋅ W n e w γ = Mean ⁡ (  Norm  old  ) Mean ⁡ (  Norm  n e w ) \begin{gathered} \widehat{\mathbf{W}}_{n e w}=\gamma \cdot \mathbf{W}_{n e w} \\ \gamma=\frac{\operatorname{Mean}\left(\text { Norm }_{\text {old }}\right)}{\operatorname{Mean}\left(\text { Norm }_{n e w}\right)} \end{gathered} W new=γWnewγ=Mean( Norm new)Mean( Norm old ) 接着回看网络输出的过程。可以简单拆分为 x x x的特征被提取,然后再乘以分类头的全连接层进行分类,即: o ( x ) = ( O old  ( x ) O n e w ( x ) ) = ( W old  T ϕ ( x ) W n e w T ϕ ( x ) ) \mathbf{o}(\mathbf{x})=\left(\begin{array}{c} \mathbf{O}_{\text {old }}(\mathbf{x}) \\ \mathbf{O}_{n e w}(\mathbf{x}) \end{array}\right)=\left(\begin{array}{c} \mathbf{W}_{\text {old }}^{T} \phi(\mathbf{x}) \\ \mathbf{W}_{n e w}^{T} \phi(\mathbf{x}) \end{array}\right) o(x)=(Oold (x)Onew(x))=(Wold Tϕ(x)WnewTϕ(x)) 由于上文我们对权重进行了对齐,则纠偏后的输出为: o corrected  ( x ) = ( W old  T ϕ ( x ) W ^ new  T ϕ ( x ) ) = ( W old  T ϕ ( x ) γ ⋅ W n e w T ϕ ( x ) ) = ( o old  ( x ) γ ⋅ o new  ( x ) ) \begin{aligned} &\mathbf{o}_{\text {corrected }}(\mathbf{x})=\left(\begin{array}{c} \mathbf{W}_{\text {old }}^{T} \phi(\mathbf{x}) \\ \widehat{\mathbf{W}}_{\text {new }}^{T} \phi(\mathbf{x}) \end{array}\right) \\ &=\left(\begin{array}{c} \mathbf{W}_{\text {old }}^{T} \phi(\mathbf{x}) \\ \gamma \cdot \mathbf{W}_{n e w}^{T} \phi(\mathbf{x}) \end{array}\right)=\left(\begin{array}{c} \mathbf{o}_{\text {old }}(\mathbf{x}) \\ \gamma \cdot \mathbf{o}_{\text {new }}(\mathbf{x}) \end{array}\right) \end{aligned} ocorrected (x)=(Wold Tϕ(x)W new Tϕ(x))=(Wold Tϕ(x)γWnewTϕ(x))=(oold (x)γonew (x)) 总的来说方法确实极其simple,但是由于代码似乎还没有开源,为此也尚不清楚以上操作具体如何实现。

OFDM(正交频分复用)是一种高效的多载波通信技术,它将高速数据流拆分为多个低速子流,并通过多个并行的低带宽子载波传输。这种技术具有高频谱效率、强抗多径衰落能力和灵活的带宽分配优势。 OFDM系统利用大量正交子载波传输数据,子载波间的正交性可有效避免码间干扰(ISI)。其数学表达为多个离散子载波信号的线性组合,调制和解调过程通过FFT(快速傅立叶变换)和IFFT(逆快速傅立叶变换)实现。其关键流程包括:数据符号映射到子载波、IFFT转换为时域信号、添加循环前缀以减少ISI、信道传输、接收端FFT恢复子载波数据和解调原始数据。 Matlab是一种广泛应用于科研、工程和数据分析的高级编程语言和交互式环境。在OFDM系统设计中,首先需掌握Matlab基础,包括编程语法、函数库和工具箱。接着,根据OFDM原理构建系统模型,实现IFFT/FFT变换、循环前缀处理和信道建模等关键算法,并通过改变参数(如信噪比、调制方式)评估系统性能。最后,利用Matlab的绘图功能展示仿真结果,如误码率(BER)曲线等。 无线通信中主要考虑加性高斯白噪声(AWGN),其在频带上均匀分布且统计独立。通过仿真OFDM系统,可在不同信噪比下测量并绘制BER曲线。分析重点包括:不同调制方式(如BPSK、QPSK)对BER的影响、循环前缀长度选择对性能的影响以及信道估计误差对BER的影响。 OFDM技术广泛应用于多个领域,如数字音频广播(DAB)、地面数字电视广播(DVB-T)、无线局域网(WLAN)以及4G/LTE和5G移动通信,是这些通信标准中的核心技术之一。 深入研究基于Matlab的OFDM系统设计与仿真,有助于加深对OFDM技术的理解,并提升解决实际通信问题的能力。仿真得到的关键性能指标(如BER曲线)对评估系统可靠性至关重要。未来可进一步探索复杂信道条件下的OFDM性能及系统优化,以适应不同应用场景
51单片机是电子工程领域常用的入门级微控制器,广泛应用于小型电子设备,例如电子时钟。本项目将介绍如何利用51单片机设计一款简单的电子时钟,并通过Keil软件进行程序开发,同时借助Proteus仿真工具进行电路模拟,帮助初学者掌握51单片机的基础应用。 51单片机基于Intel 8051内核,集成了CPU、RAM、ROM、定时器/计数器和I/O端口等功能模块,具有易于编程和性价比高的优势。在电子时钟项目中,主要利用其定时器实现时间的精确计算。Keil μVision是51单片机的常用开发环境,支持C语言和汇编语言编程。开发时,需编写代码以控制单片机显示和更新时间,包括初始化时钟硬件、设置定时器中断、编写中断服务程序以及与LCD显示屏交互等步骤。关键环节如下:一是初始化,配置时钟源(如外部晶振)设定工作频率;二是定时器设置,选择合适模式(如模式1或模式2),设置计数初值以获得所需时间分辨率;三是中断服务,编写定时器中断服务程序,定时器溢出时更新时间并触发中断;四是显示控制,通过I/O端口驱动LCD显示屏显示当前时间。 Proteus是一款虚拟原型设计软件,可用于模拟硬件电路,帮助开发者在编程前验证电路设计。在Proteus中,可搭建51单片机、LCD模块、晶振及电阻、电容等元件,形成电子时钟电路模型。运行仿真后,可观察程序在实际电路中的运行情况,及时发现并解决问题。 实际项目中,51单片机电子时钟还涉及以下知识点:一是时钟信号产生,定时器通过计数外部时钟脉冲实现时间累计,可通过调整晶振频率和定时器初始值设置不同时间间隔;二是LCD接口,需理解LCD的命令和数据传输协议,以及如何控制背光、显示模式、行列地址等;三是中断系统,了解中断概念、中断向量及程序中中断的启用和禁用方法;四是数码管显示,若使用数码管而非LCD,需了解其显示原理及段选、位选的驱动方式。 本项目融合了单片机基础、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值