[解读] You Only Train Once Loss-Conditional Training of Deep Networks

传统的机器学习问题中, 损失函数往往是多个损失项的线性组合, 而权重系数却需要人工提前确定, 这就会带来一些问题, 比如这些权重如何影响最终的训练结果是不得而知的, 如何选择一组好的权重也是个困难的问题. 本文提出一种方法来解决这个问题, 通过对模型做简单的改动, 随机采样权重系数来参与模型训练. 通过理论分析证明这个方法能够实现与传统方法相当的性能, 并且没有需要人工确定权重的困扰.

论文链接: https://openreview.net/forum?id=HyxY6JHKwr

相关的工作

与我们的方法最相关的是根据当前任务调整网络体系结构的方法 (Rebuffi et al.,2017; Mallya et al., 2018), 这可以看成是本文方法的一种特殊情况, 也就是带有 “one-hot” 的损失权重向量. Brault et al. (2019)等人研究了在多任务核学习的情况下同时优化多个损失函数的方法, 这与我们的工作在本质上是相似的, 但是在技术和应用领域都大不相同.

最近的另一系列相关工作探讨了使用超网络 (hypernetworks) 进行超参数优化, 所谓超网络是指生成其他网络权重的网络. Lorraine & Duvenaud (2018) 提出通过超网络来参数化网络的权重, 超网络的条件是超参数的值, 然后可以在超参数的分布上训练模型, 并且可以通过对验证数据进行梯度下降来优化超参数.

本文的方法

考虑一个传统的监督学习问题的优化目标:
θ λ ∗ = arg ⁡ min ⁡ θ E x , y ∼ P x , y L ( y , F ( x , θ ) , λ ) . \boldsymbol{\theta}_{\boldsymbol{\lambda}}^{*}=\underset{\boldsymbol{\theta}}{\arg \min } \mathbb{E}_{\boldsymbol{x}, \boldsymbol{y} \sim P_{\boldsymbol{x}, \boldsymbol{y}}} \mathcal{L}(\boldsymbol{y}, F(\boldsymbol{x}, \boldsymbol{\theta}), \boldsymbol{\lambda}). θλ=θargminEx,yPx,yL(y,F(x,θ),λ).
其中, x \boldsymbol{x} x 是训练样本, y \boldsymbol{y} y 是标签或期望值, F ( x , θ ) F(\boldsymbol{x}, \boldsymbol{\theta}) F(x,θ) 是要训练的模型, θ \boldsymbol{\theta} θ 是要训练的参数, λ \boldsymbol{\lambda} λ 是各个损失子项的权重向量, 即:

L ( ⋅ , ⋅ , λ ) = ∑ i λ i L i ( ⋅ , ⋅ ) \mathcal{L}(\cdot, \cdot, \boldsymbol{\lambda})=\sum_{i} \lambda_{i} \mathcal{L}^{i}(\cdot, \cdot) L(,,λ)=iλiLi(,)

传统方法下 λ \boldsymbol{\lambda} λ 是需要在训练前由人工确定的. 本文针对 λ \boldsymbol{\lambda} λ 取值所做出的改进为:
θ ∗ = arg ⁡ min ⁡ θ E λ ∼ P λ E x , y ∼ P x , y L ( y , F c ( x , θ , λ ) , λ ) . \boldsymbol{\theta}^{*}=\underset{\boldsymbol{\theta}}{\arg \min } \mathbb{E}_{\boldsymbol{\lambda} \sim P_{\boldsymbol{\lambda}}} \mathbb{E}_{\boldsymbol{x}, \boldsymbol{y} \sim P_{\boldsymbol{x}, \boldsymbol{y}}} \mathcal{L}\left(\boldsymbol{y}, F_{c}(\boldsymbol{x}, \boldsymbol{\theta}, \boldsymbol{\lambda}), \boldsymbol{\lambda}\right). θ=θargminEλPλEx,yPx,yL(y,Fc(x,θ,λ),λ).
也就是从分布 P λ P_{\boldsymbol{\lambda}} Pλ 中采样 λ \boldsymbol{\lambda} λ 来进行训练. 作者选择对数均匀分布 (log-uniform distribution) 来采样, 这个分布也是机器学习中常用的用于采样超参数的分布 (Bergstra & Bengio, 2012).

另外注意到一点, 模型 F c F_c Fc 也与传统的模型有所不同, 这是为了使得损失参数 λ \boldsymbol{\lambda} λ 能够对模型权重有所影响. 具体来说, 本文研究了包含卷积层的模型, 对每个特征图按照通道做一个仿射变换, 变换的参数 σ , μ \boldsymbol{\sigma}, \boldsymbol{\mu} σ,μ 是通过 λ \boldsymbol{\lambda} λ 来生成的, 也就是
f ~ i j k = σ k f i j k + μ k , σ = M σ ( λ ) , μ = M μ ( λ ) . \tilde{f}_{i j k}=\sigma_{k} f_{i j k}+\mu_{k}, \quad \boldsymbol{\sigma}=M_{\sigma}(\boldsymbol{\lambda}), \quad \boldsymbol{\mu}=M_{\mu}(\boldsymbol{\lambda}). f~ijk=σkfijk+μk,σ=Mσ(λ),μ=Mμ(λ).
其中 f f f 是指特征图, M M M 是一个多层感知器用于生成仿射变换的参数. k k k 是特征图通道的标号. i , j i,j i,j 是每个特征图的二维坐标.

文中给出命题证明在网络容量无穷大的情况下, 改进后的模型能够达到与原模型相当的效果, 并且省去了需要确定损失参数的麻烦.

在这里插入图片描述

参考

  • 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.

补充

对数分布

通常用于取值范围很广的分布.

在这里插入图片描述

The probability density function (pdf) of the reciprocal distribution is
f ( x ; a , b ) = 1 x [ log ⁡ e ( b ) − log ⁡ e ( a ) ]  for  a ≤ x ≤ b  and  a > 0 f(x ; a, b)=\frac{1}{x\left[\log _{e}(b)-\log _{e}(a)\right]} \quad \text { for } a \leq x \leq b \text { and } a>0 f(x;a,b)=x[loge(b)loge(a)]1 for axb and a>0

Here, a a a and b b b are the parameters of the distribution, which are the lower and upper bounds of the support, and log ⁡ e \log _{e} loge is the natural log function (the logarithm to base e e e ). The cumulative distribution function is
F ( x ; a , b ) = log ⁡ e ( x ) − log ⁡ e ( a ) log ⁡ e ( b ) − log ⁡ e ( a )  for  a ≤ x ≤ b F(x ; a, b)=\frac{\log _{e}(x)-\log _{e}(a)}{\log _{e}(b)-\log _{e}(a)} \quad \text { for } a \leq x \leq b F(x;a,b)=loge(b)loge(a)loge(x)loge(a) for axb

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值