AUTOLOSS: LEARNING DISCRETE SCHEDULE FOR ALTERNATE OPTIMIZATION

AUTOLOSS: LEARNING DISCRETE SCHEDULE FOR ALTERNATE OPTIMIZATION

  • 迭代(iterative)和交替(alternate)
    • Iterative optimization
    • Alternate optimization
  • AutoLoss

许多机器学习任务涉及迭代交替优化多个目标。比如GANs交替地优化generator和discriminator。Multi-task learning中,交替优化不同的任务目标。不同的优化策略会导致不同的收敛质量和速度。
这篇文章提出AutoLoss。AutoLoss是元学习的框架,自动选择迭代(iterative)和交替(alternate)的优化策略,以提高优化算法的收敛的质量和速度。AutoLoss定义了一个controller,controller学习历史和当前状态的关系,使用了policy gradient学习controller的参数,目标是最大化任务的性能。

迭代(iterative)和交替(alternate)

下面先来看看迭代(iterative)和交替(alternate)的定义。

Iterative optimization

简单来说就是,迭代优化参数 Θ \Theta Θ直到达到停止标准,在第t步, Θ ( t + 1 ) = Θ ( t ) + ϵ Δ L ( D ( t ) ; Θ ( t ) ) \Theta^{(t+1)}=\Theta^{(t)}+\epsilon \Delta_{L}(D^{(t)};\Theta^{(t)}) Θ(t+1)=Θ(t)+ϵΔL(D(t);Θ(t)) D ( t ) ⊆ D D^{(t)}\subseteq D D(t)D是第t步使用的数据。SGD属于这类方法,对SGD而言, Δ L \Delta_L ΔL是梯度, D ( t ) D^{(t)} D(t)是batch data, ϵ \epsilon ϵ是学习率。

Alternate optimization

假设 L L L包含多个目标 L = { l m } m = 1 M L=\{l_m\}_{m=1}^M L={lm}m=1M,参数分为 Θ = { θ n } n = 1 N \Theta=\{\theta_n\}_{n=1}^N Θ={θn}n=1N。alternate optimization分为t步,每步需要选择 l m t ∈ L , θ t ∈ Θ l_{m_t}\in L, \theta_t\in \Theta lmtL,θtΘ,使用 l m t l_{m_t} lmt更新 θ t \theta_t θt

统一描述为:
AUTOLOSS: LEARNING DISCRETE SCHEDULE FOR ALTERNATE OPTIMIZATION_第1张图片

AutoLoss

AutoLoss的目标是每一步选择 a q t a_{q_t} aqt,以优化目标任务的性能。
怎么做呢?引入了一个meta model,叫做controller。注意meta model和task model是不同的。controller在task model优化的过程中学习,在积累足够的知识后做决定。
controller学习历史,在第t步,预测一个one-hot的向量 Y ( t ) ∈ { 0 , 1 } ∣ A ∣ Y^{(t)}\in \{0,1\}^{|\mathcal A|} Y(t){0,1}A a q a_q aq被选择,如果 Y ( t ) Y^{(t)} Y(t)的第q位为1。预测模型是一个条件概率 p ( y ∣ x ; ϕ ) p(y|x;\phi) p(yx;ϕ) x x x代表历史。在第t步,采样 Y ( t ) ∼ p ( y ∣ x = X ( t ) ; ϕ ) Y^{(t)}\sim p(y|x=X^{(t)};\phi) Y(t)p(yx=X(t);ϕ)
怎么学习meta model的参数呢?通过最大化任务的性能来学习controller的参数 ϕ \phi ϕ
Y = { Y ( t ) } t = 1 T \mathcal Y=\{Y^{(t)}\}_{t=1}^T Y={Y(t)}t=1T表示T步的选择,训练controller的目标是
在这里插入图片描述
R是reward function,是采用策略 Y \mathcal Y Y后的任务性能。
因为这里面有不可导的采样过程,所以使用强化学习中常用的REINFORCE算法学习。梯度计算如下:
在这里插入图片描述
引入B是为了减小variance,定义为moving average of received reward在这里插入图片描述

你可能感兴趣的:(AUTOLOSS: LEARNING DISCRETE SCHEDULE FOR ALTERNATE OPTIMIZATION)