强化学习–学习笔记(1)
强化学习的分类:
按照环境是否已知分为:Model-based & model-free
按照学习目标分为:Value-based & Policy based
按照学习方式分为:On-policy & Off-policy
agent与environment的交互是强化学习的核心(其中包括reward,observation与action)
Gym是强化学习常用且强大的库,其的核心接口为environment
1.reset():重置环境的状态,回到初始环境,方便开始下一次训练。
2.step(action):推进一个时间步长,返回四个值;
(1).obseration(object):对环境的一次观察
(2).reward(float):奖励
(3).done(boolean):代表是否需要重置环境
(4).info(dict):用于调试的诊断信息
3.render():重绘环境的一帧图像
关于强化学习的一些基本概念
随机抽样(Random Sampling)
例:form numpy.random import choice
samples=choice([‘R’,‘G’,‘B’],size=100,p=[0.2,0.5,0.3])
print(samples)
状态与动作(State & Action)---->s,a
例:State->s Action->a∈{left,right} Agent智能体
策略函数(policy function)---->π(a|s)
例:π(a|s) =P(A=a|S=s):π(left|s)=0.8
π(right|s)=0.2
根据State=s,来用随机抽样的方式(依据策略函数π)更新智能体Agent的动作Action
奖励(reward)---->R
奖励值的设置是强化学习的难点之一,因为它的合适与否直接关乎训练的效果,不合适的话可能导致过拟合或者无法收敛。
所以必须通过不断的实验或者借鉴前人成功的经验
状态转移函数(state transition)---->P(s’|s,a)
old state------action------>new state
P(s’|s,a)=P(S’=s|S=s,A=a)
智能体与环境的交互(agent environment interaction)
两个随机性(Randomness in RL)
1.动作的选取具有随机性(π(a|s)):π(left|s)=0.8 π(right|s)=0.2
2.状态的转移具有随机性(P(s’|s,a))
回报(Return)
其中γ为奖励的衰减值,取值范围在[0,1]
动作价值函数(Action-Value Function)----->Q(s.a)
·sarsa算法与Q_learing算法中Q表格中使用
动作最优价值函数
最优的策略对应的Q函数
状态价值函数---->态势评估
总结
强化学习中智能体学习的就是π(a|s) 函数或者Q*(s,a)函数
1.π(a|s) 函数:输入状态s,求出每个动作的概率,然后按照随机抽样得到智能体要实施的动作a
2.Q*(s,a):输入状态s,算出每个动作对应的Q*,选择最大的Q*所对应的动作a作为要实施的动作(可以给在当前状 态下所有的动作打分)