【CS231n】十四、深度强化学习

一、概览
1、什么是强化学习?
2、马尔科夫决策过程。
3、Q-学习。
4、策略梯度(Policy Gradients)

二、强化学习

1、概念:
强化学习,假设有一个代理人(Agent,CS中的一个概念,下简写为Agn)和其相应的环境(Environment,下简写为Env)。若Env给Agn一个状态(state st),则Agn给Env一个反馈动作(Action at)。而后Env再反馈给Agn一个奖励(Reward,或者称为回馈)以及Env的下一个状态(state st+1)。如此往复循环。
【CS231n】十四、深度强化学习

举个栗子,小游戏是比较典型的强化学习案例。
目标是获得高分,环境状态是原始的游戏图像像素输入,动作是游戏需要的操作,奖励就是每个回合分数增减。
【CS231n】十四、深度强化学习

三、马尔科夫决策过程(Markov Decision Process,MDP)
1、定义
是Mathematical formulation of the RL problem (这个没看懂)
马尔科夫性质(Markov property):当前状态完全地决定了全局状态(Current state completely characterises the states of the world)。

数学定义:
【CS231n】十四、深度强化学习

算法过程抽象:
【CS231n】十四、深度强化学习

核心是要找到优化策略Pi*,能够最大化reward的总和。
【CS231n】十四、深度强化学习

2、价值函数(Value Function)和Q-值函数(Q-Value Function):
评价一个state的好坏? 使用Value Function来评估。
【CS231n】十四、深度强化学习
而评价一个state和action的组合的好坏呢? 就使用Q-value Function来评估。
【CS231n】十四、深度强化学习
优化的Q-value Function:
【CS231n】十四、深度强化学习

优化策略Pi*对应于采取最佳action在Q*所指定的任一状态。


3、optimal policy的解,使用一种value iteration algorithm,值迭代算法:
【CS231n】十四、深度强化学习
使用复杂函数毕竟Q(s,a),即神经网络是一个好方法。


四、解optimal policy:Q学习(Q-learning)
即使用神经网络去学习Q(s,a)。
【CS231n】十四、深度强化学习

具体算法如下:
【CS231n】十四、深度强化学习

1、Q-学习网络结构
【CS231n】十四、深度强化学习

2、其中的一些问题和解决方法:
【CS231n】十四、深度强化学习

3、整体算法流程
【CS231n】十四、深度强化学习

【CS231n】十四、深度强化学习
【CS231n】十四、深度强化学习

五、策略梯度
1、Q-学习的问题:
算法复杂,不利于处理高纬度的复杂问题。
【CS231n】十四、深度强化学习

2、策略梯度的问题描述:
【CS231n】十四、深度强化学习
具体方法即使用梯度上升来寻找这样的参数theta。通过使用强化算法。

3、强化算法:
【CS231n】十四、深度强化学习
【CS231n】十四、深度强化学习

不依赖转移概率的近似方法:
【CS231n】十四、深度强化学习

但是上述模型会陷入高方差的情况,所以需要一些方法来降低方差(Variance reduction):
【CS231n】十四、深度强化学习
第三种方法,通过设置baseline,
【CS231n】十四、深度强化学习
如何选择baseline
【CS231n】十四、深度强化学习
4、Actor-Critic Algorithm
假如我们不知道上述的Q和V,如何学习?   
同样利用Q-学习,结合策略梯度和Q-学习训练一个actor(policy)和一个critic(Q-Function)。
【CS231n】十四、深度强化学习

算法如下:
【CS231n】十四、深度强化学习

猜你喜欢

转载自blog.csdn.net/Mys_GoldenRetriever/article/details/82113081