【强化学习】基本概念

0 引言

项目需要,所以学习强化学习。强化学习以及深度强化学习可以使机器人变得更加智能。
总体的学习路线

  1. 理论部分学习
    首先学习强化学习的基本概念,然后慢慢学习强化学习解决问题的思路,最后学习强化学习的基本处理方法。
  2. 实践部分
    主要开展基于强化学习环境OpenAI gym和深度学习框架mxnet和tensorflow的仿真试验。
    首先,研究几个案例,包括倒立摆模型和找金币棋盘游戏,学习他们的环境和学习策略。然后,对避障算法进行建模,并设计仿真环境。最后,避障算法进行策略学习和试验。

1 强化学习的基本概念

强化学习作为一个学习的问题,就是通过最大化长远奖励来学习控制一个系统。强化学习的框架可以表示成上图的形式,一个控制器接受到被控制系统的状态和最新的奖励,然后按照学习到的策略给系统一个动作。同时,系统转化到一个新的状态并给出一个奖赏值。如此反复,达到控制的目的。

一个关于强化学习的智能体要包含策略、值函数和环境模型三个部分。
策略:是状态空间到动作空间的映射,即π:(x)=a
值函数:未来回报值的期望,用来衡量当前状态的好坏 $

模型:环境状态的转移概率分布

智能体和环境:
智能体的状态:Sat智能体内部的状态,用来决定自己怎么采取下一步的动作
环境的状态:Set

马尔可夫状态:当St满足,P[St+1|St]=P[St+1|S1,,St]

预测和控制:
prediction: 评估未来,在给定的策略下 策略评估
control: 优化未来,选出最好的策略 策略改进: 策略迭代、值迭代

最优值函数:
v(x)=maxπvπ(x)q(x,a)=maxπqπ(x,a)


MDP或者说强化学习的目标就是获得最优值函数。因为有了值函数,便可以得到最优策略。
最优策略:
首先,怎么定义一个策略比另外一个策略好呢?
ππ,ifvπ(x)vπ(x),x

然后,MDP的性质:

  • 一个MDP问题,至少存在一个最优策略π,好于或等于其他策略ππ,π
  • 所有的最优策略都实现最优的值函数

最后,在最优值函数的前提下,如何获得最优策略呢?最大化动作-状态值函数。
[π(ax)={1maxaAq(x,a)0otherwise]

既然说所有的MDP问题,都是在求最优值函数,那么如何求解呢?这里就需要引入最优Bellman等式。
v(x)=maxaq(x,a)q(x,a)=Rax+γsumxXPassv(x)v=maxaRax+γsumxXPaxxv(x)q(x,a)=Rax+γsumxXPaxxmaxaq(x,a)

在最优Bellman等式的基础上,可以采用迭代的方式求解,如值迭代、策略迭代、Q-learning和Sarsa等方法。

2 为什么要加“深度”?

因为一般的问题,状态空间和动作空间都是离散的,可以通过简单的映射关系找到值函数,但是对于连续的动作空间

3 参考文献

[1] David Silver, reinforcement learning lecture 2

显示 Gitment 评论