然后做了些简单的笔记
基本概念
强化学习两种随机性来源:
- 动作
- 状态转移
轨迹:包含 状态、动作、奖励 三个参数
Rewards and Returns
Return:回报(cumulative future reward 未来的累计奖励)
所以强化学习中经常使用 Discounted Return (折扣回报)
其中γ是自调参数 对于学习效率存在影响
Value Function 价值函数
最优动作价值函数:
状态价值函数:
评价:
AI控制智能体打游戏的两种方法:
第一种是基于策略方法 :
第二种是基于价值:
OpenAI Gym
强化学习经常用的标准库
有几大类控制问题
- 给小车左右力来实现木棍竖直 给钟摆力使木棍竖直
- 小游戏问题 乒乓球、飞机大战、打砖块
- 连续控制问题
使用gym
#官网首页给的demo
import gym
env = gym.make("CartPole-v1") #使用gym.make() 生成环境 里面的参数是需要解决的问题
observation = env.reset() #重置环境
for _ in range(1000):
env.render() #渲染 也就是展示出来动画
action = env.action_space.sample() # your agent here (this takes random actions)
#随机均匀的抽样函数
observation, reward, done, info = env.step(action)
#done是判断游戏是否结束 done==1 表示游戏结束
if done:
observation = env.reset()
env.close()
实际运行效果:
总结
强化学习的流程