先学习小例子,然后最后学习3d赛车的例子。
《windows Linux macos 三平台安装openai 的gym 和 universe》
基本要用到的python的图形库
Tkinter
python内置的标准GUI(图形用户界面) 库
无需安装,有python就可以导入Tkinter 来使用
https://wiki.python.org/moin/TkInter
pyglet
gym 使用 pyglet 搭建的模拟环境,安装过 Gym 没有必要再安装
pip install pyglet
https://bitbucket.org/pyglet/pyglet/wiki/Home
安装pycharm
sudo snap install pycharm-community --classic
强化学习从1960年代就开始研究,但成名甚晚。
2013 论文 Playing Atari with Deep Reinforcement Learning
https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
用深度强化学习来玩Atari游戏。DeepMind团队
https://arxiv.org/abs/1312.5602?spm=a2c4e.11153940.blogcont221611.29.72801f465o9PhE&file=1312.5602
David Silver 网上有他关于强化学习的教程。
因为这篇论文,Google用四亿英镑买下了DeepMind公司
DeepMind这家英国伦敦的公司加入Google后,开发AlphaGo
先用自己的经历来打比方
去公司的路上有一个井盖,会发出难闻的臭味,每次都要憋着气或者避开走。
根据环境做出我自己的策略。
给机器人奖励,以使它完成强化学习
狗狗如果做对了事情,就给他肉吃。生物的反射。
从起点开始走。宝藏+1 炸弹-1
通过reward机制来指引机器人怎么走?
Reinforcement Learning: Reinforce 是 加固 增强 强化之意。
促进它学习进步的因素只有一个: reward(奖励) 类似打分
小女孩你让她自己学自行车。骑得不好就会跌倒就会痛。能够保持平衡,她就知道这是好的。与环境互动,有一个反馈。
在环境中试错(Trial and Error) 来学习最优策略 (Optimal policy)
try 的名词。
最优策略(Optimal Policy) 是拿到最多的累积奖励(Reward)
向上走,就一定会确定的向上走。而实际当中它一般会随机的走。
俄罗斯数学家 安德烈.马可夫 Andrey Markov(1856-1922)
强化学习任务 通常通过 马可夫决策过程(MDP) 来描述
马可夫决策过程可以表示为:
M = < S, A, P(s'|a,s),R,y
小机器人,或者小女孩
Action(A): 动作/行动 Agent可以做出动作,会影响环境。
Environment: 环境 Agent 所在的环境, 会对Action做出反馈。
State(S) 状态 Agent 感知到的环境 / Agent 的状态
Transition(P) 过渡/转变 P(s'|a,s) 或 T(s,a,s')
前面的p括号,表示在s的状态下,实施了动作a,到达s'的状态概率是多少?
Reward(R): 到达一个State(状态)后获得的奖励。1 -1 0 标量值
Policy: 策略 我们要学习到的目标, 对state做出相应的action。 从state到action的映射
Optimal policy: 最优策略 使奖励最大化的策略
初始的状态为s, 在s状态实施动作a 。此时的过渡 T(s,a,s')
经过过渡之后,状态会到达s'
也可以描述为强化学习的简单图解。环境会返回一个state以及一个reward的奖励。
Rt+1是下一时刻的奖励,St+1是下一个时刻的状态
使用玩游戏的例子来说明。游戏的主角像一个代理。分数反馈奖励,返回主角当前所在环境的状态。
慢慢地,我们学会了如何去发别人更喜欢看(更多赞)的内容
根据标签,找到输入和输出之间的一个关系。
非监督学习(unSupervised Learning) f(x) 聚类/描述
强化学习(reinforcement Learning) y=f(x) 策略/做决定
强化学习(RL) 与监督学习(SL) 的区别
强化学习没有监督学习的标明: 输入/输出的标签。 奖励可能延迟。
下围棋。我走了7,7 会给出下一步游戏的状态和奖励。这个奖励可能会有延时。
不会给你的每一步都去进行reward的打分。最终才会提供你是正是负。
监督学习,会有一个input,围棋走一步,会有老师给你一个标签,告诉你7,7 这步是不够好的,应该走的是5,5 这步。
不基于模型的强化学习。直接在环境中进行学习,不需要对于环境进行抽象。
不需要对地球进行建模等工作。
基于模型的强化学习。地球被建模。
基于策略: Policy-Based 根据环境,直接在策略空间里选择
基于价值: Value-Based 学习价值函数, 根据价值高低选择策略
结合版: Actor - Critic (演员-评论家) 略类似生成对抗网络GAN
生成网络从噪声去生成图片。评判网络去评判生成的这张图片与实际图片是否类似。
彼此学习一起提升。
演员根据策略做出动作,评论家根据演员的动作打分
结合了基于策略和基于价值两种
基于策略走一步,根据走的步打分值。
有无模型 基于模型还是基于价值
在线学习: 自己亲自玩游戏,边玩边学习
离线学习: 可以自己玩游戏/看着别人玩游戏。能从经验/记忆中学习。
强化学习分类。
回合更新: Monte Carlo 需要等待游戏回合结束才能更新策略(蒙特卡罗)
单步更新:Temporal Difference 游戏回合的每一步都可以更新策略
单步更新,比回合更新更有优势。