强化学习入门 task1 概括与基础
主要根据周博磊教授的教学视频进行学习整理
- 视频地址https://www.bilibili.com/video/BV1LE411G7Xj
- 课程资料
https://github.com/zhoubolei/introRL - 课件
https://github.com/zhoubolei/introRL/blob/master/lecture1.pdf
作者介绍
课程目录
推荐书目
实验火箭Python、PyTorch
1. 1 什么是强化学习
强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题
通俗来讲就是使一个agent在一个复杂环境中去极大化获得奖励
强化学习主要由两部分组成,即agent和环境
Agent选择一个action用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个action,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值
强化学习与监督学习对比
- 强化学习的数据是由时间关联的,而监督学习的数据是没有关联的
- 强化学习中学习者没有被告知要采取哪些行动,而是必须采取行动
- 强化学习通过尝试来发现哪些行为会带来最大的回报。
- 强化学习的奖励是延迟的,只有一系列动作完成后才能知道是不是有提升作用
强化学习特点 - 需要在环境中探索来获取对环境的理解
- 获得的奖励是延迟的
- 强化学习是时间十分重要,因为其数据是时间关联的
- agent行为会影响其后面得到的数据,所以如何在获得能够使奖励稳定提升的数据是十分重要的
获得的奖励是延迟的-》比如下面这个游戏到了后面结果出来才能知道前面的动作是不是有用的
1.2 强化学习应用
- AlphaGo,如果只是应用了监督学习,它只能达到人类的最高水平,但是应用了强化学习后,它甚至可以超越人类
- 股票交易
- 机器视觉(深度强化学习)
- 机器人
通过改进网络可以实现端到端的训练,即通过一个网络便可以实现特征提取和预测而无需人工提取特征
1.3 强化学习发展的原因
- GPU的出现,大大提升了计算能力
- 更多信息的获取
- 端到端培训、功能和策略共同优化最终目标
1.4 奖励函数
奖励特点
- 奖励是一个反馈的信号
- 反馈信号指定了agent在某步所采取的策略是否获得了奖励
- 强化学习的目的是为了极大化获得的奖励
- agent在环境中存在的目的就是最大化期望积累的奖励
不同环境下奖励的例子 - 下象棋的时候奖励就是赢棋或者输棋
- 羚羊学习战力的奖励就是是否可以学会奔跑和被只掉
- 股票中的奖励就是赢钱还是输钱
1.5 强化学习组成成分
-
决策函数:用于选取下一步的动作
-
价值函数:用来对当前状态进行评估
-
模型:对环境的整体理解
包括转移状态和奖励函数
例子-走迷宫
要求从start走道goal,没走一步减去一,要求代价最小
强化学习中agent的分类 -
基于价值函数
-
基于策略导向
-
上面两者结合
其他分类方式 -
model-base
-
model-free
1.6 实践
案例地址https://github.com/zhoubolei/introRL
其他推荐:
openai,提供了很多强化学习案例
使木棍保持平衡