[NAS]OHL-Auto-Aug

2023-12-25 20:09
文章标签 auto nas aug ohl

本文主要是介绍[NAS]OHL-Auto-Aug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文题目:Online Hyper-parameter Learning for Auto-Augmentation Strategy


提出一种将自动增强问题 近似为 超参数的优化问题,并且动态地提升自动数据增强的策略的效果。

主要内容:
1、提出在线超参学习方法。将每个增强策略视作一个参数概率分布
2、提出一个双层结构,允许分布参数能与网络参数一起训练
3、提出 OHL-Auto-Aug 动态的改善性能


在双层结构中,内部目标是优化vanilla train loss,即网络参数,外部目标是优化 验证集的准确率,即增强策略的分布参数。两个目标同时优化,作为整体不用再retraining,计算量减少。

在内部训练,利用增强采样,使用SGD训练网络参数。
在外部训练, 利用trajectory 样本,使用REINFORCE梯度,训练增强策略分布参数。
在每一步的迭代中,网络参数中高准确率将broadcasted 到trajectory samples

在这里插入图片描述


Problem Formulation

自动数据增强到策略是自动的找到一个增强操作集,增加模型的泛化性

  • 将数据增强策略 作为 p θ p_θ pθ(在增强操作上的概率分布)。
  • 假设有K的候选的增强操作, O k ( ⋅ ) k = 1 : K {O_k (·)}_{k=1:K } Ok()k=1:K
  • 每个操作被选择的概率是 p θ ( O k ) p_θ (Ok ) pθ(Ok)
  • 网络模型 F ( ⋅ , w ) F (·, w) F(,w)
  • 数据增强的目标是:对于 θ θ θ,最大化验证集的 a c c acc acc;对于模型权重 w w w,最小化训练 l o s s loss loss

在外层,在获得最好的model F ( ⋅ , w ∗ ) F(·,w∗) F(,w) ,性能之下,我们寻找参数 θ θ θ。其中 w ∗ w* w是内层问题的解。

  • T = 1 , 2 , . . . T m a x T = 1, 2, ...T_{max} T=1,2,...Tmax 表示外层更新迭代的steps
    -$ i = 1, 2, …, I$表示内层更新迭代的steps
    外层优化更新一次,内部训练更新 I I I个steps
  • trajectory ,在T周期中所以的aug操作
对于内层的训练
对于外层的训练

基于REINFORCE 算法,Monte-Carlo 采样,解决外层训练优化问题

  • 认为 w T w_T wT仅与trajectory T 有关
                
  • 内部训练,N个网络同时训练, N 个采样 trajectories. T n T_n Tn is the n-th trajectory.

候选操作
算法流程

关键点:
1、将aug看出概率分布,避免采样
2、N个模型,选择最好的 w t w_t wt broadcast
3、优化θ,最大化验证集 a c c acc acc转换公式

这篇关于[NAS]OHL-Auto-Aug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/536779

相关文章

群晖NAS安装(二)

把电脑和NAS都接到路由器LAN口 可以看NAS IP地址 其他参考:https://zhuanlan.zhihu.com/p/515187738?utm_id=0&wd=&eqid=e69f50bb0000263900000006645b5680 警告:会格式化硬盘! 访问:ip:5000 新增存储方案和共享文件夹 文件夹、文件操作和windows一致。 因为我有一个256固态和500机械,所

Windows电脑本地安装HFS文件共享服务结合内网穿透搭建低成本NAS

文章目录 前言1.软件下载安装1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留隧道2.2 隧道名称2.3 创建二级子域名访问本地hfs 总结 前言 本文主要介绍如何在Windows系统电脑使用HFS并结合cpolar内网穿透工具搭建低成本NAS,并实现使用公网地址远程访问管理本地局域网电脑存储的文件。 云存储作为一个新概念

pointer-events: auto; 是一个 CSS 属性,

pointer-events: auto; 是一个 CSS 属性,用于控制一个元素是否可以成为鼠标事件(如点击、悬停、拖动等)的目标。以下是对 pointer-events 属性及其值的详细解释: pointer-events 属性 定义: pointer-events 属性控制如何处理鼠标事件。它可以用于控制元素是否响应鼠标事件以及如何处理事件。 pointer-events: auto;

【C++】C++中的关键字:const、mutable、auto、new....

七、C++中的关键字:const、mutable、auto、new、 本部分打算是尽量多的罗列出C++中的关键字和一些花式操作。先总结一下我们之前讲过的:private、public、protect: 参考【C++】类、静态、枚举、重载、多态、继承、重写、虚函数_静态与多态:重写、重载、模板-CSDN博客中的第5小标题,可见性。static: 参考【C++】类、静态、枚举、重载、多态、继承、重写

Windows Server 2019 中文版、英文版下载 (updated Aug 2024)

Windows Server 2019 中文版、英文版下载 (updated Aug 2024) Windows Server 2019 Version 1809 请访问原文链接:https://sysin.org/blog/windows-server-2019/,查看最新版。原创作品,转载请保留出处。 本站将不定期发布官方原版风格月度更新 ISO。 Windows Server

解析C++内联函数与auto关键字

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 🌈C++专栏:C++ 文章目录 1. 内联函数1.1 概念1.2 内联的特性1.3 内联与宏 2. auto关键字(C++11)2.1 类型别名思考2.2 auto介绍2.3 auto的使用规则2.3 auto不能推导的场景 3.基于范围的for循环(C++11)3.1 范

【C++11及其特性】智能指针——auto_ptr

auto_ptr目录 一.为什么要使用智能指针1.内存泄漏2.解决方法 二.auto_ptr(C++98)1.用法2.get()3.release()4.reset() 三.注意事项1.全局定义2.auto_ptr动态内存分配3.auto_ptr变量赋值 四.完整代码 一.为什么要使用智能指针 1.内存泄漏 定义了一个测试类: #include <iostream>#inc

Auto-Unit-Test-Case-Generator -- java项目自动测试生成

0.Pre-预备知识: 0.1.Maven是什么? [by Maven是什么?有什么作用?Maven的核心内容简述_maven是干什么用-CSDN博客 ] 是Java 领域中最流行的自动化构建工具之一,Maven 作为 Java 项目管理工具,具有: 包管理;许多插件--支持整个项目的开发、打包、测试及部署等; 0.2.传统项目 vs maven项目: 0.2.1传统工程: jar包

智能指针std::auto_ptr和tr1:shared_ptr用法(总结的最好的一篇)

下面通过一个工厂函数(createInvestment())返回一个特定的investment对象: Investment* createInvestment();   见如下函数: void f() {     Investment* pInv = createInvestment();     ....     delete pInv; } 上面的程序

【C++】智能指针——auto_ptr,unique_ptr,shared_ptr

目录 auto_ptr unique_ptr shared_ptr 并发问题 循环引用问题 个人主页:传送门——>东洛的克莱斯韦克 智能指针的原理:传送门——>智能指针的原理 auto_ptr 使用方法参考官方文档 传送门——>auto_ptr文档 auto_ptr并不是一个优秀的智能指针,它的设计理念是——管理权转移。如下代码示意 auto_ptr(aut