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