1、强化学习如何运行?
强化学习主要由状态(S)、行动(A)、环境(Env)、奖励(Rewards)以及智能体(Agent)构成。
智能体能够根据当前(t-1时刻)的状态(S)输出下一步动作(A),这一过程可以用一个决策函数A=Func(S)来表示。输出下一步动作(A)后,智能体随即进入下一时刻(t时刻)的状态(S’)。同时,由于不知道这一决策的好坏,环境(Env)需要将这一时刻(t-1时刻)的状态与决策出的行动(A)进行综合判断,判断结果是一个奖励信号(Rewards),再根据这个奖励(Rewards)去更新决策函数的参数,如果决策的好,让模型下次遇到这种情况还这么决策,如果决策得不好,则让模型再遇到这种情况时尽量避免这么决策。
2、强化学习的问题分类。
在实际问题中,智能体(Agent)的状态与动作都分别有连续与离散两种情况。
(1)、状态(S)。
智能体(Agent)的状态可以分成离散状态与连续状态。
图片地址:https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=519662741,608430341&fm=26&gp=0.jpg
连续状态以超级玛丽游戏为例。
(2)、动作(A)。
智能体的动作(A)又可以分为离散动作与连续动作。
离散动作可以对应到Atari 游戏中,只需要几个离散的键盘或手柄按键进行控制。
————>
连续动作可以以扫地机器人为例。如机器人旋转的角度大小(0-360°)、行驶的距离长度(0-10米)是连续行动。
3、强化学习方法。
我想从实际问题的角度对强化学习方法进行说明。
(1)、针对离散动作(A)的情况。——基于价值的(Value Based)方法
代表方法:Q-learning、Deep Q Network
(2)、针对连续动作(A)的情况。 ——基于策略的(Policy Based)方法
针对连续动作的神经网络输出是一个连续值(用tanh**函数输出)。代码例子:link。
代表方法:Policy Gradient、DDPG
例子:莫烦例子