http://zh.gluon.ai/chapter_crashcourse/introduction.html

强化学习(Reinforcement Learning)

如果你真的有兴趣用机器学习开发一个能与周围环境交互并产生影响的智能体,你大概需要专注于强化学习(以下简称RL)。包括机器人程序、对话系统、甚至是电子游戏AI的开发。深度强化学习(Deep reinforcement learning,DRL) 将深度神经网络应用到强化学习问题上是新的风潮。这一领域两个突出的例子,一个是突破性的Deep Q Network,仅仅使用视觉输入就在街机游戏上击败了人类;另一个是著名的AlphaGo击败了围棋世界冠军

强化学习给出了一个非常笼统的问题陈述,一个智能体在一系列的时间步长(time steps) 中与周围的环境交互。在每个时间步长 tt, 智能体从环境中接收到一些观察数据 otot,并选择一个动作 atat,将其传送回环境。最后,智能体会从环境中获得一个奖励(reward) rtrt。由此,智能体接收一系列的观察数据,并选择一系列的后续动作,并一直持续。RL 智能体的行为受到策略(policy) 约束。简而言之,所谓的策略,就是一组(对环境的)观察和动作的映射。强化学习的目标就是制定一个好的策略。

RL框架的普适性并没有被夸大。例如,我们可以将任何监督学习问题转化为RL问题。譬如分类问题。我们可以创建一个RL智能体,每个分类都有一个对应的动作;然后,创建一个可以给予奖励的环境,完全等同于原先在监督学习中使用的损失函数。

除此以外,RL还可以解决很多监督学习无法解决的问题。例如,在监督学习中,我们总是期望训练使用的输入是与正确的标注相关联。但在RL中,我们并不给予每一次观察这样的期望,环境自然会告诉我们最优的动作,我们只是得到一些奖励。此外,环境甚至不会告诉我们是哪些动作导致了奖励。

举一个国际象棋的例子。唯一真正的奖励信号来自游戏结束时的胜利与否;如果赢了,分配奖励1;输了,分配-1;而究竟是那些动作导致了输赢却并不明确。因此,强化学习者必须处理信用分配问题(credit assignment problem)。另一个例子,一个雇员某天被升职;这说明在过去一年中他选择了不少好的动作。想要继续升职,就必须知道是那些动作导致了这一升职奖励。

强化学习者可能也要处理部分可观察性(partial observability)的问题。即当前的观察结果可能无法反应目前的所有状态(state)。一个扫地机器人发现自己被困在一个衣柜里,而房间中所有的衣柜都一模一样,要推测它的精确位置(即状态),机器人需要将进入衣柜前的观察一并放入考虑因素。

最后,在任何一个特定的时刻,强化学习者可能知道一个好的策略,但也许还有不少更优的策略,智能体从未尝试过。强化学习者必须不断决策,是否利用 目前已知的最佳战略作为策略,还是去探索 其它策略而放弃一些短期的奖励,以获得更多的信息。

马尔可夫决策过程,赌博机问题

一般的强化学习问题的初期设置都很笼统。动作会影响后续的观察数据。奖励只能根据所选择的动作观察到。整个环境可能只有部分被观察到。将这些复杂的因素通盘考虑,对研究人员来说要求有点高。此外,并非每一个实际问题都表现出这些复杂性。因此,研究人员研究了一些强化学习问题的特殊情况

当环境得到充分观察时,我们将这类RL问题称为马尔可夫决策过程(Markov Decision Process,简称MDP)。 当状态不依赖于以前的动作时,我们称这个问题为情境式赌博机问题(contextual bandit problem)。当不存在状态时,仅仅是一组可选择的动作,并在问题最初搭配未知的奖励,这是经典的多臂赌博机问题(multi-armed bandit problem)

李沐大神,讲的真是清楚。

mxnet 动手学深度学习的更多相关文章

  1. 【动手学深度学习】Jupyter notebook中 import mxnet出错

    问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...

  2. 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())

    在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...

  3. 对比《动手学深度学习》 PDF代码+《神经网络与深度学习 》PDF

    随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中 ...

  4. 动手学深度学习14- pytorch Dropout 实现与原理

    方法 从零开始实现 定义模型参数 网络 评估函数 优化方法 定义损失函数 数据提取与训练评估 pytorch简洁实现 小结 针对深度学习中的过拟合问题,通常使用丢弃法(dropout),丢弃法有很多的 ...

  5. 动手学深度学习9-多层感知机pytorch

    多层感知机 隐藏层 激活函数 小结 多层感知机 之前已经介绍过了线性回归和softmax回归在内的单层神经网络,然后深度学习主要学习多层模型,后续将以多层感知机(multilayer percetro ...

  6. 动手学深度学习6-认识Fashion_MNIST图像数据集

    获取数据集 读取小批量样本 小结 本节将使用torchvision包,它是服务于pytorch深度学习框架的,主要用来构建计算机视觉模型. torchvision主要由以下几个部分构成: torchv ...

  7. 动手学深度学习1- pytorch初学

    pytorch 初学 Tensors 创建空的tensor 创建随机的一个随机数矩阵 创建0元素的矩阵 直接从已经数据创建tensor 创建新的矩阵 计算操作 加法操作 转化形状 tensor 与nu ...

  8. 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型

    目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...

  9. 动手学深度学习17-kaggle竞赛实践小项目房价预测

    kaggle竞赛 获取和读取数据集 数据预处理 找出所有数值型的特征,然后标准化 处理离散值特征 转化为DNArray后续训练 训练模型 k折交叉验证 预测样本,并提交结果 kaggle竞赛 本节将动 ...

随机推荐

  1. Oracle Log Block Size

    Although the size of redo entries is measured in bytes, LGWR writes the redo to the log files on dis ...

  2. 连续三月涨势明显,PostgreSQL 将崛起?

    33 分享 10 ​ DB-Engines 是全球最流行的数据库排行榜之一,在近几个月的排行榜中,PostgreSQL 都保持着非常好的势头,从最稳(10月)到一路高涨(11月),再到稳步上升(12月 ...

  3. 用SQL命令手工创建CDB

    1.设置环境变量  $ export ORACLE_SID=ora12c  $ export ORACLE_HOME=/home/oracle/product/12.1.0/db1  $ export ...

  4. windows7安装教程(vmware)

    这步是正确安装windows的关键,如果不设置那么安装时将不能识别出磁盘,造成安装不成功. 选择No进行自定义修饰,主要是保证C盘大小合适,其他盘可在安装完成之后再调整. 后续安装步骤全自动,完全不用 ...

  5. 撤销commit

    如果不小心commit了一个不需要commit的文件,可以对其进行撤销. 先使用git log 查看 commit日志 commit 422bc088a7d6c5429f1d0760d008d86c5 ...

  6. windows 下的命令操作

    删除文件夹 RD /S D:\aaaaa 删除文件夹下的文件 DEL D:\aaaaa\*.*

  7. etymon word forget acid acrid acri shap acu=sour act out 1

    1● acid   2● sharp 3● acri 4● acrid acu=sour 酸的,尖酸的     1● act = to do drive   行动    

  8. php对于url提交数据的获取办法

    $url = Request::getUri();//获取当前的url $arr = parse_url($url); //$arr_query = convertUrlQuery($arr['que ...

  9. AdaBoost, LogitBoost and GradientBoosting

    前向分步算法与加法模型(forward stagewise algorithm and additive model) (1) AdaBoost:前向分步算法中损失函数取指数损失函数 (2) Logi ...

  10. Vue + Element UI 实现权限管理系统(优化登录流程)

    完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面,放置一个登录界面表单,包含账号密码输入框和登录重置按钮. <template> <el- ...