开始的开始 - 策略亦有高下之分
当讨论到RL时,可能刻板印象还是控制游戏人机的强化学习方法:Qlearning, DQN等等。但是对于上述的强化学习策略,是根据环境所能取得的最佳策略,因此结果是确定性的,但有些实际问题需要的最优策略并不是确定性的,而是随机策略,比如石头剪刀布,如果按照一种确定性策略出拳,那么当别人抓住规律时,你就会输。所以需要引入一个新的方法去解决以上问题,比如策略梯度的方法。
蒙特卡罗
蒙特卡罗算法是基于采样的方法,给定策略$\pi$,让智能体与环境进行交互,就会得到很多条轨迹。 每条轨迹都有对应的回报,把每条轨迹的回报进行平均,就可以知道某一个策略下面对应状态的价值。
策略梯度算法
强化学习中有三个组成:演员(actor)、环境、奖励函数
其中环境和奖励函数不是我们可以控制的,在开始学习之前就已经事先给定。演员里会有一个策略,它用来决定演员的动作。策略就是给定一个外界输入,它会输出演员现在应该要执行的动作。唯一可以做的就是调整演员里面的策略,使得演员可以得到最大的奖励。
将深度学习与强化学习相结合时,策略ππ就是一个网络,用θθ表示ππ的参数。举上面幻境的例子,输入就是当前分身所在的分叉路口,假设可以向上,向下,向左走,经过策略网络后,输出就是三个动作可以选择的概率。然后演员就根据这个概率的分布来决定它要采取的动作,概率分布不同,演员采取的动作也不同。简单来说,策略的网络输出是一个概率分布,演员根据这个分布去做采样,决定实际上要采取的动作是哪一个。
其实PG就是蒙特卡罗与神经网络结合的算法,PG不再像Q-learning、DQN一样输出Q值,而是在一个连续区间内直接输出当前状态可以采用所有动作的概率。