程序员大数据 爬虫Python AI Sql互联网科技

TensorFlow应用实战-16-强化学习基础理论

2018-06-14  本文已影响124人  天涯明月笙

搭建开发环境

markmark

先学习小例子,然后最后学习3d赛车的例子。

《windows Linux macos 三平台安装openai 的gym 和 universe》

基本要用到的python的图形库

markmark

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

先用自己的经历来打比方

markmark

去公司的路上有一个井盖,会发出难闻的臭味,每次都要憋着气或者避开走。

根据环境做出我自己的策略。

markmark

给机器人奖励,以使它完成强化学习

markmark

狗狗如果做对了事情,就给他肉吃。生物的反射。

机器人走迷宫

markmark markmark

从起点开始走。宝藏+1 炸弹-1

markmark

通过reward机制来指引机器人怎么走?

markmark markmark

强化学习

Reinforcement Learning: Reinforce 是 加固 增强 强化之意。

促进它学习进步的因素只有一个: reward(奖励) 类似打分

markmark

小女孩你让她自己学自行车。骑得不好就会跌倒就会痛。能够保持平衡,她就知道这是好的。与环境互动,有一个反馈。

在环境中试错(Trial and Error) 来学习最优策略 (Optimal policy)

try 的名词。

最优策略(Optimal Policy) 是拿到最多的累积奖励(Reward)

理想(确定的) vs 马可夫(随机的)

markmark

向上走,就一定会确定的向上走。而实际当中它一般会随机的走。

俄罗斯数学家 安德烈.马可夫 Andrey Markov(1856-1922)

强化学习任务 通常通过 马可夫决策过程(MDP) 来描述

马可夫决策过程可以表示为:

M = < S, A, P(s'|a,s),R,y

一些术语

小机器人,或者小女孩

前面的p括号,表示在s的状态下,实施了动作a,到达s'的状态概率是多少?

markmark

Transition: 过渡/转变

markmark

初始的状态为s, 在s状态实施动作a 。此时的过渡 T(s,a,s')

经过过渡之后,状态会到达s'

MDP 的简单图解

markmark

也可以描述为强化学习的简单图解。环境会返回一个state以及一个reward的奖励。

MDP随时间推移的图解

markmark

Rt+1是下一时刻的奖励,St+1是下一个时刻的状态

markmark

使用玩游戏的例子来说明。游戏的主角像一个代理。分数反馈奖励,返回主角当前所在环境的状态。

markmark

慢慢地,我们学会了如何去发别人更喜欢看(更多赞)的内容

markmark

监督学习,非监督学习 和强化学习

根据标签,找到输入和输出之间的一个关系。

强化学习(RL) 与监督学习(SL) 的区别

强化学习没有监督学习的标明: 输入/输出的标签。 奖励可能延迟。

markmark

下围棋。我走了7,7 会给出下一步游戏的状态和奖励。这个奖励可能会有延时。

不会给你的每一步都去进行reward的打分。最终才会提供你是正是负。

监督学习,会有一个input,围棋走一步,会有老师给你一个标签,告诉你7,7 这步是不够好的,应该走的是5,5 这步。

markmark

不基于模型的强化学习。直接在环境中进行学习,不需要对于环境进行抽象。

不需要对地球进行建模等工作。

markmark

基于模型的强化学习。地球被建模。

基于策略和基于价值

结合版: Actor - Critic (演员-评论家) 略类似生成对抗网络GAN

生成网络从噪声去生成图片。评判网络去评判生成的这张图片与实际图片是否类似。
彼此学习一起提升。

Actor-Critic 演员-评论家

演员根据策略做出动作,评论家根据演员的动作打分

markmark

结合了基于策略和基于价值两种

markmark

AlphaGo的策略网络和价值网络

markmark

基于策略走一步,根据走的步打分值。

markmark

有无模型 基于模型还是基于价值

强化学习是个大家族

markmark

在线学习: 自己亲自玩游戏,边玩边学习

离线学习: 可以自己玩游戏/看着别人玩游戏。能从经验/记忆中学习。

markmark

强化学习分类。

回合更新: Monte Carlo 需要等待游戏回合结束才能更新策略(蒙特卡罗)

单步更新:Temporal Difference 游戏回合的每一步都可以更新策略

markmark

单步更新,比回合更新更有优势。

上一篇 下一篇

猜你喜欢

热点阅读