传统的机器学习问题中, 损失函数往往是多个损失项的线性组合, 而权重系数却需要人工提前确定, 这就会带来一些问题, 比如这些权重如何影响最终的训练结果是不得而知的, 如何选择一组好的权重也是个困难的问题. 本文提出一种方法来解决这个问题, 通过对模型做简单的改动, 随机采样权重系数来参与模型训练. 通过理论分析证明这个方法能够实现与传统方法相当的性能, 并且没有需要人工确定权重的困扰.
论文链接: https://openreview.net/forum?id=HyxY6JHKwr
相关的工作
与我们的方法最相关的是根据当前任务调整网络体系结构的方法 (Rebuffi et al.,2017; Mallya et al., 2018), 这可以看成是本文方法的一种特殊情况, 也就是带有 “one-hot” 的损失权重向量. Brault et al. (2019)等人研究了在多任务核学习的情况下同时优化多个损失函数的方法, 这与我们的工作在本质上是相似的, 但是在技术和应用领域都大不相同.
最近的另一系列相关工作探讨了使用超网络 (hypernetworks) 进行超参数优化, 所谓超网络是指生成其他网络权重的网络. Lorraine & Duvenaud (2018) 提出通过超网络来参数化网络的权重, 超网络的条件是超参数的值, 然后可以在超参数的分布上训练模型, 并且可以通过对验证数据进行梯度下降来优化超参数.
本文的方法
考虑一个传统的监督学习问题的优化目标:
θλ∗=θargminEx,y∼Px,yL(y,F(x,θ),λ).
其中, x 是训练样本, y 是标签或期望值, F(x,θ) 是要训练的模型, θ 是要训练的参数, λ 是各个损失子项的权重向量, 即:
L(⋅,⋅,λ)=i∑λiLi(⋅,⋅)
传统方法下 λ 是需要在训练前由人工确定的. 本文针对 λ 取值所做出的改进为:
θ∗=θargminEλ∼PλEx,y∼Px,yL(y,Fc(x,θ,λ),λ).
也就是从分布 Pλ 中采样 λ 来进行训练. 作者选择对数均匀分布 (log-uniform distribution) 来采样, 这个分布也是机器学习中常用的用于采样超参数的分布 (Bergstra & Bengio, 2012).
另外注意到一点, 模型 Fc 也与传统的模型有所不同, 这是为了使得损失参数 λ 能够对模型权重有所影响. 具体来说, 本文研究了包含卷积层的模型, 对每个特征图按照通道做一个仿射变换, 变换的参数 σ,μ 是通过 λ 来生成的, 也就是
f~ijk=σkfijk+μk,σ=Mσ(λ),μ=Mμ(λ).
其中 f 是指特征图, M 是一个多层感知器用于生成仿射变换的参数. k 是特征图通道的标号. i,j 是每个特征图的二维坐标.
文中给出命题证明在网络容量无穷大的情况下, 改进后的模型能够达到与原模型相当的效果, 并且省去了需要确定损失参数的麻烦.
![[解读] You Only Train Once Loss-Conditional Training of Deep Networks [解读] You Only Train Once Loss-Conditional Training of Deep Networks](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THprNEx6bGxZVGRtWmpJeVlXTTFOakEwTWpneE1EQTROMkZqWVRSa09ERm1OV0l5TG5CdVp3PT0=)
参考
- Sylvestre-Alvise Rebuffi, Hakan Bilen, and Andrea Vedaldi. Learning multiple visual domains with residual adapters. In NeurIPS, 2017.
- Arun Mallya, Dillon Davis, and Svetlana Lazebnik. Piggyback: Adapting a single network to multiple tasks by learning to mask weights. In ECCV, 2018.
- Romain Brault, Alex Lambert, Zoltán Szabó, Maxime Sangnier, and Florence d’Alché-Buc. Infinite task learning in rkhss. In AISTATS, 2019.
- James Bergstra and Yoshua Bengio. Random search for hyper-parameter optimization. JMLR, 13, 2012.
补充
对数分布
通常用于取值范围很广的分布.
![[解读] You Only Train Once Loss-Conditional Training of Deep Networks [解读] You Only Train Once Loss-Conditional Training of Deep Networks](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpVeU15ODJOakUyWmpBeU5qUmxOemsxTnpBeE4yVXpZbUkzT1RCalpHTTJZVEkwTXk1d2JtYz0=)
The probability density function (pdf) of the reciprocal distribution is
f(x;a,b)=x[loge(b)−loge(a)]1 for a≤x≤b and a>0
Here, a and b are the parameters of the distribution, which are the lower and upper bounds of the support, and loge is the natural log function (the logarithm to base e ). The cumulative distribution function is
F(x;a,b)=loge(b)−loge(a)loge(x)−loge(a) for a≤x≤b