【上一篇 1 强化学习(Reinforcement Learning, RL)初步介绍 】
【下一篇 3 有限马尔可夫决策过程(Finite Markov Decision Processes)】
RL与其他学习方法最大的区别在于它使用的训练信息是对 actions 的评价,而其他方法是给出正常的 actions。这一次的教程就是通过一个具体的案例来对 RL 问题中的 “evaluative aspect” 进行介绍。
1 问题介绍:k-armed Bandit Problem
Multi-armed bandit 原本是从赌场中的多臂老虎机的场景中提取出来的数学模型,其中 arm 指的是老虎机(slot machine)的拉杆,bandit 是多个拉杆的集合, b a n d i t = a r m 1 , a r m 2 , … … , a r m k bandit = {arm_1, arm_2,……,arm_k} bandit=arm1,arm2,……,armk。每个 bandit setting 对应一个回报函数(reward function),现在需要经过多次的尝试,来评估每个 bandit 的 reward,这个问题的目标是如何最大化总的回报。
显然,在这个问题中一共包含 k k k 种 actions (因为有 k k k 个拉杆),每个 action 都有一个期望的或者平均的 reward,称为是这个 action 的 v a l u e value value。记时间 t t t 选择的行为是 A t A_t At,其相对应的 reward 为 R t R_t Rt,任意一个行为 a a a 的 value 记为 q ∗ ( a ) q_*(a) q∗(a),因此, a a a 期望的 reward 为:
q ∗ ( a ) = E [ R t ∣ A t = a ] q_*(a)=E[R_t|A_t=a] q∗(a)=E[Rt∣At=a]
显然,如果我们知道了每个 action 的 value,只有每次选择具有最大 value 的 action 就可以解决这个问题,这里令 action a a a在时间 t t t 的估计 value 为 Q t ( a ) ≈ q ∗ ( a ) Q_t(a)\approx q_*(a) Qt(a)≈q∗(a)。
实验中,在当前时刻,具有估计的 value 值最大的 action 就称为是 greedy actions,如果在下个时刻选择的是 greedy actions,那么这次选择就可以视为是 exploiting 当前已有的信息,相反如果在下个时刻选择的是 non-greedy actions,那么这次选择就可以视为是 exploring。下面将会介绍几种平衡 exploit 和 explore 的方法。
2 Action-Value Methods
对一个行为 a a a,最简单的评估方法就是用行为 a a a 所返回的所有 rewards 进行平均,即:
Q ∗ ( a ) ≐ s u m o f r e w a r d s w h e n a t a k e n p r i o r t o t n u m b e r o f t i m e s a t a k e n p r i o r t o t = ∑ i = 1 t − 1 R i ⋅ l A i = a ∑ i = 1 t − 1 l A i = a Q_*(a)\doteq \frac{sum\ of \ rewards\ when\ a\ taken\ prior\ to \ t}{number\ of \ times\ a\ taken\ prior\ to \ t}=\frac{\sum_{i=1}^{t-1} {R_i\cdot l_{A_i=a}}}{\sum_{i=1}^{t-1} {l_{A_i=a}}} Q∗(a)≐number of times a taken prior to tsum of rewards when a taken prior to t=∑i=1t−1lAi=a∑i=1<