本着ADEPT(Analogy / Diagram / Example / Plain / Technical Definition)的学习规律,本人给出直观理解、数学方法、图形表达、简单例子和文字解释,来介绍off-policy,而on-policy也将在本讲解过程中获得理解。( 在此假设大家已了解Markov Process Decision,动作概率,转移概率,Monte Carlo Method, 策略。想了解的童鞋也可在本文最后Reference中获得相关知识
一、直观理解
古时候,优秀的皇帝都秉持着“水能载舟 亦能覆舟”的思想,希望能多了解民间百姓的生活。皇帝可以选择通过微服出巡,亲自下凡了解百姓生活(On-policy),虽然眼见为实,但毕竟皇帝本人分身乏术,掌握情况不全;因此也可以派多个官员去了解情况,而皇帝本人则躺在酒池肉林里收听百官情报即可(Off-policy)。
(坏皇帝则派出“锦衣卫”_(´ཀ`」 ∠)_)
二、文字解释
首先,我们搞清楚一个问题:什么是行为策略(Behavior Policy)和目标策略(Target Policy):行为策略是用来与环境互动产生数据的策略,即在训练过程中做决策;而目标策略在行为策略产生的数据中不断学习、优化,即学习训练完毕后拿去应用的策略。上面的例子中百官(锦衣卫)就是行为策略,去收集情况或情报,给皇帝(目标策略)做参考来学习,当皇帝收集到的情报越多,能做的决策就越优。
咦,为什么会有两个策略呢?
因为从人类的直观上来看,为了解决强化学习问题中的exploitation(利用) 和 exploration (探索),我们可以利用一个策略(行为策略)来保持探索性,提供多样化的数据,而不断的优化另一个策略(目标策略)。
On-policy 的目标策略和行为策略是同一个策略,其好处就是简单粗暴,直接利用数据就可以优化其策略,但这样的处理会导致策略其实是在学习一个局部最优,因为On-policy的策略没办法很好的同时保持即探索又利用;而Off-policy将目标策略和行为策略分开,可以在保持探索的同时,更能求到全局最优值。但其难点在于:如何在一个策略下产生的数据来优化另外一个策略?
三、数学方法
为了能从行为策略 产生的样本回合(Episode)中评估(学习)策略
,我们要求当执行
策略时,
中的每个动作都有一定概率发生,也就是
时,必有