NetAug——增强Tiny-model的训练效果

NetAug是一种通过增强模型结构而非数据来提升Tiny-model训练效果的技术。它通过扩大模型宽度并构建辅助的Augmented-models,提供额外的监督信息,减少欠拟合。在训练过程中,NetAug的损失函数结合了Tiny-model和Augmented-model的损失,实现了在不增加推理开销的情况下提高模型性能。实验表明,NetAug在小模型的训练和泛化能力上表现出色。
摘要由CSDN通过智能技术生成

Paper地址:https://arxiv.org/abs/2110.08890

前言

通常当深度学习模型的参数规模较大,甚至大于数据集规模时(例如ResNet50与ImageNet2012-1K),常规模型训练容易陷入过拟合状态(Over-fitting)。因此可引入一系列训练增强技巧(正则化技术)、以增强训练效果,诸如Data Augmentation与Dropout等技术:Data Augmentation通过对采样数据施加变换操作,能够引入数据噪声(如高斯白噪声、随机旋转、随机裁剪、随机Resize等),起到泛化应用场景、扩增数据的作用;Dropout通过对模型施加随机噪声,一定程度上起到子网络随机采样、增强预训练效果的作用。

NetAug(Network Augmentation)则通过增强模型、而非增强数据的方式,以实现Tiny-model训练效果的提升,使Tiny-model在一定程度上摆脱训练的欠拟合状态(Under-fitting)。与Dropout相反的是,NetAug通过扩增模型的宽度、增加了模型的参数量,结合Augmented-model的辅助训练,为Tiny-model的参数更新引入了额外的监督信息。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这个问题可以用汇编语言来解决。下面是一个可能的解决方案,仅供参考。 首先,我们需要定义一个数组,用于存储每个月份的缩写。可以用如下方式定义: ``` months db 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' ``` 接下来,我们需要获取用户输入的数字,可以使用 DOS 中断 21h 中的功能来实现。具体步骤如下: 1. 调用中断 21h 的 01h 功能,显示提示信息 "Please enter a number (1-12): ",并等待用户输入。 2. 调用中断 21h 的 0Ah 功能,将用户输入的字符串读入到一个缓冲区中。 3. 将缓冲区中的字符串转换为数字,并保存到一个寄存器中。 代码如下: ``` mov ah, 09h ; 01h 功能:显示字符串 lea dx, prompt ; 提示信息 int 21h mov ah, 0Ah ; 0Ah 功能:输入字符串 lea dx, buffer ; 缓冲区 int 21h mov al, buffer[2] ; 第三个字符是用户输入的数字 sub al, '0' ; 将 ASCII 码转换为数字 ``` 接下来,我们需要检查用户输入的数字是否在 1-12 的范围内。如果不是,则显示错误信息并退出程序。否则,将对应月份的缩写输出到屏幕上。 代码如下: ``` cmp al, 1 jl error cmp al, 12 jg error mov dl, months[al-1] ; 获取对应月份的缩写 mov ah, 02h ; 02h 功能:显示字符 int 21h mov dl, months[al] int 21h mov dl, months[al+1] int 21h jmp exit error: mov ah, 09h lea dx, errmsg int 21h exit: mov ah, 4Ch ; 4Ch 功能:退出程序 int 21h prompt db 'Please enter a number (1-12): $' buffer db 3, 0 errmsg db 'Invalid input!$' ``` 完整代码如下: ``` .model tiny .code org 100h start: mov ah, 09h ; 01h 功能:显示字符串 lea dx, prompt ; 提示信息 int 21h mov ah, 0Ah ; 0Ah 功能:输入字符串 lea dx, buffer ; 缓冲区 int 21h mov al, buffer[2] ; 第三个字符是用户输入的数字 sub al, '0' ; 将 ASCII 码转换为数字 cmp al, 1 jl error cmp al, 12 jg error mov dl, months[al-1] ; 获取对应月份的缩写 mov ah, 02h ; 02h 功能:显示字符 int 21h mov dl, months[al] int 21h mov dl, months[al+1] int 21h jmp exit error: mov ah, 09h lea dx, errmsg int 21h exit: mov ah, 4Ch ; 4Ch 功能:退出程序 int 21h prompt db 'Please enter a number (1-12): $' buffer db 3, 0 errmsg db 'Invalid input!$' months db 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' end start ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值