深度强化学习-运动规划(1)|学习笔记

简介: 快速学习深度强化学习-运动规划(1)

开发者学堂课程【深度学习与自动驾驶:深度强化学习-运动规划(1)】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/533/detail/7151


深度强化学习-运动规划(1)

 

内容介绍

什么是机器学习

、Perceptron

The Process of Learning

、Combining Neurons into Layers

、Task: Classify and Image of a Numbe

Philosophical Motivation for Reinforcement Learning

、Agent and Environment

、Reinforcement Learning

、Markov Decision Process

、Major Components of an RL Agent

 

内容简介

第一个项目是 DeepTraffic代号为"DeepTraffic"任务是用深度强化学习来解决交通问题设计一个网络所涉及的内容以及如何提交自己的网络和如何参与比赛获胜者将获得一个非常特别的奖品

 

一、什么是机器学习?

image.png

1、这里有很多相关的类型有一种称谓是监督学习通常讨论机器学习的时候以及讨论机器学习的成功之处的时候有监督学习需要一个数据集这就是基准数据当知道输入和输出为了了解输入和输出之间的相关映射将其应用到机器学习算法中在这种情况下就可以在将这个神经网络推广到更多的例子

2、另一方面在有监督学习中当对输出一无所知的时候关于正在处理的数据的真实结果所得到的只是简单的数据必须找到潜在的结构这些数据的潜在表现是有意义的对于将要完成的任务无论它是什么对于半监督的数据或者只是部分通常只占很小的一部分被标记为基础数据

3、如果你想到了互联网上的图像,以及你想到了 ImageNet 一个所有图像都被标记的数据集ImageNet 数据集的大小只是所有在网上可用的图像的一个很小的子集但是这是作为人类所面对的任务对机器学习感兴趣的人是如何我们扩大数据的规模对这些数据有信息强化学习介于两者之间有监督学习和半监督学习),这就是半监督学习

4、在世界上有一个必须存在的 agentagent 能看到“世界”的输入但对这个世界知之甚少除非通过偶尔的延迟奖励才可以这就是人类的本性这就是生活的意义你不知道什么是好是坏必须要活下去每隔一段时间你就会发现你上周做的所有事情都是无意义的这就是强化学习这是半监督的在某种意义上只有一小部分数据是基准数据具有确定性必须从中提取知识所以首先从实际意义上讲任何目前正在运行的事物的核心都必须有一些基准数据当试图泛化时必须有一些基准数据监督学习即使在强化学习中唯一能依靠的就是以奖励的形式出现的基准数据所以标准监督学习的 pipeline 是你有一些原始数据作为输入你有基准数据标签符合输入的输出基准数据然后你去运行任何类型的算法无论是神经网络或者其他预处理算法从该数据集中提取特征可以想象一张人脸的图片这个算法可以提取出鼻子眼睛眼睛的角瞳孔甚至是图像中较低层次的特征之后将这些特征插入到一个模型一个机器学习的模型我们训练这个模型不管这个算法是如何通过训练过程的就会评估在看过这个特殊的例子之后还能在其他任务上做的更好吗当重复这个循环的时候做得更好模拟学习再从原始数据到所拥有的标签上就会表现的更好你可以把这个模型发布到陌生的环境去做预测就像以前从未见过的那样

 

二、Perceptron

1、Perceptron:Weighing the Evidence

image.png

output ={

0  if   jWjXj   threshold

1  if   jWjXj  >  threshold

任务是预测标签神将网络就是这门课的内容这是一种被证明的非常成功的机器学习的算法神经网络的计算构建块是一个神经元感知器是一种神经元它是原来的旧型神经元输出是二进制,01,这并不具有很强的实际价值一个感知器经过的过程它有多个输入和一个输出每个输入都有其独特的权重就如图所示0.7,0.6,1.4,这些权重被应用于输入以及一个感知器它的输入是二元的10,在预测阶段这些权重会被求和然后在每个神经元上加一个偏差然后在上面加一个阀值测试证明这个值加上偏差在阀值之下如果超过一个阀值产生一个1低于一个阀值产生一个0,关于神经网络我们能自信地理解的唯一一件事就是我们可以证明很多关于神经元的东西

2、Perceptron: Implement a NAND Gate

image.png

Q=NOT(AANDB)

image.png

Truth Table

Input A

Input B

 

Output Q

0

0

 

1

0

1

 

1

1

0

 

1

1

1

 

0

Universality: NAND gates are functionally complete,meaning we can build any logical function out of them.

例如我们所知道的是一个神经元可以近似于一个 NAND 与非冂一个 NAND 冂是一个逻辑运算一个逻辑函数作为输入有两个输入AB,可以在左边的图上找到对应这个表格显示了当输入为 0,01 按任何顺序输出都是1,其余情况输出则为 0,一个 NAND 冂的一个很酷之处在于它是一个通用冂如果你今天口袋里有一部手机你就可以仅仅利用NAND冂来构建一个计算器所以它的功能是较为完善的你可以利用它来构建任何逻辑函数仅仅通过把它们任意地连在一起,NAND冂和计算机的问题在于它们是自下而上构建的你必须设计这些NAND冂的电路所以可以学习到的最酷的就是感知器这神奇的 NAND 冂可以学习它的功能

3、Perceptron: Implement a NAND Gate

感知器如何执行NAND操作呢

有四个例子

Truth Table

Input A

Input B

 

Output Q

0

0

 

1

0

1

 

1

1

0

 

1

1

1

 

0

(1)(-2)*0(-2)*0+3=3

image.png

当给每个输入赋予-2的权值给神经元加上一个偏差3,然后执行相同的操作将神经元上的偏差值与输入乘以权重的值相加可以在得到当输入两个0,加上偏差3,可以获得3,得到的结果3是一个正数这意味着感知器被设计来表示或模拟大脑识别和辨别能力的计算机模型或计算机化机器的输出将会是1。

(2)(-2)*0(-2)*1+3=1

image.png

当输入分别是01的时候它们的和依然是一个正数这又一次使得输出一个1。

(3)(-2)*1(-2)*1+3=-1

image.png

同样的当同时输入两个1它们的和将会是-1,一个小于0的数尽管这很简单但是这是一个很值得去思考的问题

(4)(-2)*1(-2)*0+3=1

image.png

3、Perceptron > NAND Gate

Both circuits can represent arbitrary logical functions:

image.png

But perceptron circuits" can learn...

image.png

是这是一个很值得去思考的问题当谈论神经网络可以做的一些神奇的事情时这是一种基本的计算真理因为如果讲一个与非冂电路和一个神经元电路进行比较你会发现它两的不同所认为的神经网络可以执行和与非冂电路相同的操作它可以学习由与非冂电路表示的任意的逻辑功能但重要的是这不需要人类“设计师”对它进行干涉如果你愿意我们可以让它不断进化

 

三、The Process of Learning

Small Change in Weights Small Change in Output

small change in any weight(or bias)causes a small change in the output

image.png

所以这还有一个重要的方面感知器的主要缺点之一它的输出不是很平滑当改变输入的权值并且改变神经元上的偏差稍微调整一下很有可能当你得到的时候做神经元很容易我会输入一个0而不是1,或者是一个1而不是0,所以当我们开始堆积很多的这些值在一起的时候是很难控制所有的输出的现在有一个使神经网络工作的关键步骤没有一个电路感知元件如果输出的结果是平滑的由激活函数形成的一个连续的结果

image.png

Smoothness of activation function means: the Aoutput is a linear function of the Aweights and Abias

Learning is the process of gradually adjusting the weights to

achieve any gradual change in the output.

而不是由阶跃函数所产生就像所展示的感受器被设计来表示或模拟大脑识别和辨别能力的计算机模型或计算机化机器),我们使用各种类型的光滑函数一个在生物学中常见的s型的函数也称为s型生长曲线当你改变权重和偏差时输出可以逐渐改变这是一个基本但是关键的步骤所以机器学习的过程一般是逐渐调整这些权重的过程看看它是如何影响神经网络的其余部分你只需要不停地调整权重并观察与基准数据之间的差距基准数据是参考标准一般用来做errornotification,比方说要根据历史数据预测某一时间的温度基准数据就是那个时间的真实温如果你离基准数据越来越远你只需要调整相反方向的权重简而言之这就是神经网络

 

四、Combining Neurons into Layers

image.png

Feed Forward Neural Network

Recurrent Neural Network

Have state memory

Are hard to train

主要讨论的是前馈神经网络为人工智能领域中最早发明的简单人工神经网络类型),图片的左边从输入到输出没有循环有循环的图这些神奇的东西叫做时间递归神经网络时间递归神经网络的神经元间连接构它们的神奇之处在于它们有记忆性它们有各状态的记忆它们记得它们所经历的时间上的动态数据但是它们真的很难训练

 

五、Task: Classify and Image of a Number

image.png

1、讨论前馈神经网络一起看一下这个例子将多个神经元叠加在一起的例子让我们来思考这个任务这是现在很有名的一个基本任务它使用数字来进行分类你有一张有红色数字的图像你的任务是说出图像上的数字是多少现在这图片上的数字是多少一张图像是像素的集合在这张图里是28*28的像素总共有784个数字这些数字的范围是从0255,在神经网络的左侧该输入的大小是784个输入神经元这是输入接下来是隐层它被叫做隐层是因为它既不是输入层也不是输出层这只是一个被简单使用的块是神经网络计算能力的核心这就是隐层他的任务是以这种方式从输入映射到输出形成数据的表示在这个问题中隐藏层中有十五个神经元每个数字对应的输出有十个值有多种方法可以构建这种网络这就是神经网络的神奇之处就像你可以用很多方式做事一样你只需要4个输出来表示09的值但在实践中似乎有10个输出效果更好而这些是如何工作的呢每当输入是5,负责5的输出神经元会被激活把值设置的接近1,01,接近1,等一秒输入一个希望是接近0的值当它们不这样做的时候调整权重以使它们接近于零并且接近一个与图片相关的正确的神经元当它更相关时会在之后的课程中讨论这个训练过程的细节

2、刚刚讨论的是通过网络的正向传递当接收输入乘以权重将它们求和加上偏差产生输出的时候就代表着正向传递通过了,并检查哪个输出产生了最高的置信度一旦提供了每个数字的概率可以确定用来奖励或惩罚那些导致正确或错误决定的权值的梯度这就是所谓的后向传播一种与最优化方法如梯度下降法结合使用的用来训练人工神经网络的常见方法通过网络退后一步乘以这些跟新后的权值由于激活函数的平滑性这是一个高效的数学操作,GPU将会介入到运算处理过程中到目前为止数字6的基准数据的例子

3、在图片中由x得到的y等于10维向量其中六个值中只有一个为1,其余都为零这是图像上的基准数据函数是用来估量模型的预测值fx与基准数据y的不一致程度它是一个非负实值函数通过fx来表示损失函数越小模型的鲁棒性就越好基本的损失函数是方差由x得到的y是基准数据a是正向传递产生的神经网络的输出当输入数字6,无论输出的是“a”还是一个10维的矢量并汇总输入来产生方差这是损害函数损失函数是目标函数被用来确定整个网络的反响传播权重增加多少或者减少多少以及优化该损失函数的基本操作最小化该损失函数基本操作使用梯度下降的各种变体完成的希望有一个平滑函数但是这是一个高度非线性的函数这就是为什么不能证明很多关于神经网络的概念的原因如果函数足够平滑高维度高度非线性用梯度下降可以找到至少一个很好的解决方案而且必须有一些随机因素以确保它不会陷入这个非常复杂的函数的局部最小值

image.png


六、Philosophical Motivation for Reinforcement Learning

1、Takeaway from Supervised Learning:

Neural networks are great at memorization and not (yet)

great at reasoning.

2、Hope for Reinforcement Learning:

Brute-force propagation of outcomes to

knowledge about

states and actions. This is a kind of brute -force "reasoning".

这就是监督学习是推理功能的机器学习任务标记的训练数据),有输入有输出基准数据这是我们的舒适区我们很自信我们知道将要发生什么事你需要做的只是用这个数据集来训练一个神经网络你可以评估它你可以写一篇论文并尝试反驳之前的论文这是很不错的问题是当你使用那个神经网络来创建一个在现实生活中的智能系统系统所使用的数据不在是你的那个数据集它将会用世界范围内的数据也许与基准数据也大相径庭所以从监督学习中获得的是神经网络是一个非常棒的记忆官但这样的方式学习它们可能并不能有很好的泛化能力因为推理超越了他们所训练的数据集的特定风格强化学习的目的是我们可以将获得的知识以监督的方式扩展到一个特别的方向那是一个在我们世界之外的巨大领域基准数据是如何实施的某个状态有多好或律师如何评价的这是一种野蛮的推理


七、Agent and Environment

1、At each step the agent:

(1)Executes action

(2)Receives observation (new state)

(3)Receives reward

2、The environment:

(1)Receives action

(2)Emits observation (new state)

(3)Emits reward

这更像接近于推理而不是记忆这是思考监督学习的好方法-记忆你们为了考试而学习许多人都想知道这并不意味着只要你得到一个A就会成功因此强化学习代理或者任何代理这个世界上存在的任何机器或者人可以从代理的角度以下面的方式进行操作你可以执行一个动作它可以以新的状态接受该行动所产生的观察并可以得到奖励或惩罚增加或减少),你可以用这种方式来分解我们的存在简单地说但这是一个方便的计算方法从环境方面看环境在观察中接受了行动所以你的行为改变了世界因此这个世界必须改变然后告诉你并给你一个奖励或惩罚所以这又是最迷人的事情之一

 

八、Reinforcement Learning

Reinforcement learning is a general-purpose framework for

decision-making:

1、An agent operates in an environment: Atari Breakout

2、An agent has the capacity to act

3、Each action influences the agent's future state 

4、Success is measured by a reward signal

5、Goal is to select actions to maximize future reward

image.png

这是对atari的深入思考这是atari比赛有一个四处移动的挡板这是它存在的世界代理是挡板还有一个弹球你试图移动你的行动是正确的向右移动向左移动你正试图以这样一种方式移动即球不会越过你所以代理有一个人的水平表现那么这个挡板怎么办呢在这样的环境下运作这是一种行为向左移动向右移动

每一个动作都会改变世界的状态这似乎是显而易见的正确移动改变

了世界的状况实际上在图片中看到的是这个小家伙眼前的世界

得到奖励或惩罚奖励以点数的形式获得在左上角这些奖励将会被累计当球通过浆时会收到“死亡”的惩罚这是剩下的生命数543,降到0,因此我们的目标是在任何一个时刻都选择一个在未来会有最大化奖励的行为不知道奖励是什么这个词的更大的意义你所拥有的只是对你的行为的即使回报或惩罚

 

九、Markov Decision Process

image.png

这可以作为决策过程的标志决策过程的标志是一个数学表达式这是无记忆的所有你得到的状态都是你目前的状态你执行一个行动你会得到奖励你发现自己处于一个新的状态这一遍由一遍地重复着你从状态0开始你进入状态1,你再次重复一个行动获得下一个状态的奖励这就是正在运作的公式

 

十、Major Components of an RL Agent

An RL agent may include one or more of these components:

1、Policy: agent's behavior function

2、Value function: how good is each state and/or action

3、Model: agent's representation of the environment

当你处于某种状态时你不会记得两个状态以前发生的事情一切都在瞬间进行那么强化学习代理的主要组成部分是什么有一个决策该函数广泛地定义了一个代理的行为这意味着包括对于任何给定的状态我将如何以一定的概率采取什么行动价值函数是指每个状态和行为在任何特定状态下的情况还有一个模型现在这是一个微妙的事情,实际上是你今天看到的所有事情中最大的问题,就是我们如何表现环境的模式,将看到神经网络,在一个相对简单的世界模型上,实现的一些惊人的事情,以及这个模型是否可以延伸到现实世界,在驾驶行为下人类生命受到威胁。

(1)Robot in a Room

image.png

reward +1 at [4,3],-1 at [4,2]

reward -0.04 for each step

what's the strategy to achieve max reward?

what if the actions were deterministic?

一个在房间里的机器人从左侧的底部开始要去顶部的右侧可能的行为是向上向下向左向右现在一个世界被确定了这意味着当你向上走的时候你真的在向上走否则这个世界就像人类现实生活一样是一种非确定性因为当你向上走的时候有时你是在向右走所以在这个例子里如果你选择向上走80%的时间在向上走10%的时间在向左移10%的时间在向右移当你到达最

顶部的右方你获得一分的加分当你两次碰到第二个木块你会被

惩罚扣一分每一次你迈出一步你都会被扣0.04

(2)Is this a solution?

image.png

only if actions deterministic

not in this case (actions are stochastic)

solution/ policy

mapping from each state to an action

所以问题是如果你从底部的左边开始这会是一个好的解决方案吗

这是你在世界上存在的一个好策略吗问题是这个世界是否是确定的无论什么时候你选择向上走你就向上你选择向右走你就向右

(3)Optimal policy

image.png

但是如果行为是随机的事实就不是这样的了在描述过程中0.8的概率向上各有0.1的概率向左和向右这就是最佳决策

(4)Reward for each step -2

image.png

现在如果每一小步扣两分而不是扣0.04所以每迈出一步就会被扣分你要尽可能的通过一个正数区块这是决策决定的只要我可以不扣两分我会选择通过一个负数区块

(5)Reward for each step: -0.1

image.png

现在如果奖励是每一步扣一分你或许会选择围绕着-1区块绕一点路以避免扣分

(6)Reward for each step: -0.04.

image.png

接着你可能会绕更远的路每一步向上会获得奖励每一步向下就会被惩罚

(7)Reward for each step: +0.01

image.png

而且如果你的每一步都是正向奖励你会到不了终点线你只是想在这个世界漫步昨天看到的河滨比赛船可以选择不去完成比赛,因为在过程中得分会很有趣。

相关文章
|
机器学习/深度学习 数据采集 人工智能
强化学习打泡泡超人整体框架
强化学习打泡泡超人整体框架,泡泡超人是一款手机端炸弹超人游戏,本文设计了一款AI智能体操作手机触屏完成游戏的框架,涵盖了手机屏幕控制,智能体训练,电脑同步手机画面,电脑控制手机等功能点
80 0
|
6月前
|
机器学习/深度学习 算法 机器人
强化深度学习中利用时序差分法确定扫地机器人问题的最优解(附源码 超详细必看)
强化深度学习中利用时序差分法确定扫地机器人问题的最优解(附源码 超详细必看)
123 0
|
6月前
|
机器学习/深度学习 算法 机器人
深度强化学习中利用Q-Learngin和期望Sarsa算法确定机器人最优策略实战(超详细 附源码)
深度强化学习中利用Q-Learngin和期望Sarsa算法确定机器人最优策略实战(超详细 附源码)
81 0
|
6月前
|
机器学习/深度学习 算法 关系型数据库
PyTorch深度强化学习中蒙特卡洛策略梯度法在短走廊环境(CartPole-v0)中的实战(超详细 附源码)
PyTorch深度强化学习中蒙特卡洛策略梯度法在短走廊环境(CartPole-v0)中的实战(超详细 附源码)
63 0
|
6月前
|
机器学习/深度学习 算法 C#
[视觉概述] 机器视觉应用方向、项目流程及学习思路总结
[视觉概述] 机器视觉应用方向、项目流程及学习思路总结
256 0
|
机器学习/深度学习 人工智能 前端开发
强化学习:基于蒙特卡洛树和策略价值网络的深度强化学习五子棋
强化学习:基于蒙特卡洛树和策略价值网络的深度强化学习五子棋
强化学习:基于蒙特卡洛树和策略价值网络的深度强化学习五子棋
|
机器学习/深度学习 算法
【5分钟paper】基于强化学习的策略搜索算法的自主直升机控制
【5分钟paper】基于强化学习的策略搜索算法的自主直升机控制
【5分钟paper】基于强化学习的策略搜索算法的自主直升机控制
|
机器学习/深度学习 传感器 自然语言处理
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(上)
为了在动态环境中安全驾驶,自动驾驶车辆应该能够预测附近交通参与者的未来状态,尤其是周围车辆,类似于人类驾驶员的预测驾驶能力。这就是为什么研究人员致力于轨迹预测领域并提出不同的方法。本文旨在对过去二十年中提出的自动驾驶轨迹预测方法进行全面和比较性的回顾!!!它从问题公式和算法分类开始。然后,详细介绍和分析了基于物理、经典机器学习、深度学习和强化学习的流行方法。最后,论文评估了每种方法的性能,并概述了潜在的研究方向。
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(上)
|
机器学习/深度学习 传感器 编解码
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(下)
为了在动态环境中安全驾驶,自动驾驶车辆应该能够预测附近交通参与者的未来状态,尤其是周围车辆,类似于人类驾驶员的预测驾驶能力。这就是为什么研究人员致力于轨迹预测领域并提出不同的方法。本文旨在对过去二十年中提出的自动驾驶轨迹预测方法进行全面和比较性的回顾!!!它从问题公式和算法分类开始。然后,详细介绍和分析了基于物理、经典机器学习、深度学习和强化学习的流行方法。最后,论文评估了每种方法的性能,并概述了潜在的研究方向。
一文尽览 | 轨迹预测二十年发展全面回顾!(基于物理/机器学习/深度学习/强化学习)(下)
|
机器学习/深度学习 传感器 并行计算
基于量子化学计算和机器学习,从头开始创建肉眼可检测的荧光分子
基于量子化学计算和机器学习,从头开始创建肉眼可检测的荧光分子
126 0