Page 21 - 《软件学报》2020年第9期
P. 21
2642 Journal of Software 软件学报 Vol.31, No.9, September 2020
过程中,一方面代理执行动作,观察环境的状态变化并接收奖励;另一方面,环境根据代理发出的动作,转换到下
一个状态,并且根据新的状态产生奖励,其过程如图 19 所示.
环境
奖励 动作 观察
代理
Fig.19 The framework of reinforcement learning
图 19 强化学习框架
强化学习通常被定义为一个四元组(S,A,ρ,f),其中,
(1) S 表示所有环境状态的集合.s t ∈S 表示代理在 t 时刻所处的状态;
(2) A 为代理可执行动作的集合.a t ∈A 表示代理在 t 时刻所采取的动作;
(3) ρ:S×A→R 为反馈函数.r i ~ρ(s t ,a t )表示代理在状态 s t 执行动作 a t 获得的实时反馈;
(4) f:S×A×S→[0,1]为状态转移概率分布函数.s t+1 ~f(s t ,a t )表示代理在状态 s t 执行动作 a t 转移到下一状态
s t+1 的概率.
强化学习算法非常适用于解决 NAS 问题,其中,代理(搜索策略)决定了系统的状态,即在搜索空间内自动构
建神经网络模型;环境(性能评价策略)评估神经网络架构的性能,并产生相应的奖励;代理接收到奖励,并根据环
境当前的状态预测下一个动作(即搜索).通过反复迭代,最终得到对解决特定任务性能最高的神经网络模型.
Q 学习优化算法是最早的在线强化学习算法,同时也是强化学习最重要的算法之一.该算法的主要思路是:
通过定义 Q 函数,将在线观测到的数据代入到下面的更新公式中对 Q 函数进行迭代学习,得到精确解:
Q t+1 (s t ,a t )=Q t (s t ,a t )+α t δ t ,
δ t =r t+1 +γmaxQ t (s t+1 ,a k )−Q t (s t ,a t ),
其中,t 是当前时刻,α t 是学习率,δ t 表示时间差分误差,a k 是状态 s t+1 能够执行的动作,r 是平衡因子.Q 学习使用一
个合理的策略使代理预测下一时刻的动作,根据该动作与环境的交互所得到的下一个状态和反馈来学习得到
另一个最优的 Q 函数.由于 Q 学习很重视通过与环境的交互改变代理的动作,因此在最优控制和游戏上有许多
的应用.
Baker 等人 [58] 第 1 次提出了基于强化学习的神经网络架构搜索策略,结合了 Q 学习优化、ε-贪婪策略和经
验回放方法.该方法将代理的动作定义为选择不同类型的层添加到神经网络架构中,同时决定是否终止构建新
的神经网络架构;状态是构建的神经网络架构,不同时刻产生的模型被分别训练以评估其解决特定任务的性能;
Q 函数通过经验回放技术进行适当的更新.为了权衡探索与利用,该方法采用ε-贪婪策略,以概率ε在搜索空间内
随机采样,但是不能保证搜索的架构是最优的.与该方法不同的是,Zhang 等人 [71] 在基于块的搜索空间上提出了
基于 Q 学习算法的搜索网络架构.
策略梯度优化算法是一种通过不断逼近最优值,最终得到最优策略的优化方法.该方法又可以分为确定策
略梯度算法和随机策略梯度算法:在确定策略梯度算法中,动作以概率 1 被执行;在随机策略梯度算法中,动作以
某一概率被执行.近些年来,确定策略梯度算法逐渐受到了学者们的关注.假设需要逼近的策略是π(s,a;θ),而且
该策略对参数θ可导,则可定义目标函数和值函数:
( J π θ ) = ∑ γ t− 1 t r | ,s π 0 0 ,
E
∞
Q (, )s a = E γ r | s = ∑ , s a = , a π ,
θ π t− 1 t k+ t t θ
k = 1
其中,J 表示在策略 J 下的决策,E 表示期望.
Zoph 等人 [62] 第 1 次提出了基于策略梯度算法实现神经网络架构搜索,通过直接控制模拟器实现神经网络
架构的预测.由θ参数化的自动回归控制器定义了随机策略π θ (α|s),该控制器根据先前的动作预测后续的动作,