本文主要是介绍[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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!