深度学习与无人车导论(1)|学习笔记

简介: 快速学习深度学习与无人车导论(1)

开发者学堂课程【深度学习与自动驾驶深度学习与无人车导论(1)】学习笔记与课程紧密联系,让用户快速学习知识

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


深度学习与无人车导论(1)

 

内容介绍

目标人群

项目

问题

种类

什么是驾驶

无人驾驶汽车的历史

七、If Driving is a Conversation

、Neuron: Biological Inspiration for Computation

什么是人工神经

、Neural Networks are Amazing

十一、Special Purpose Intelligence

十二、General Purpose Intelligence

 

内容简介

基于深度学习的无人驾驶课程关于深度学习的方法包括利用深层神经网络去构建自动驾驶的指导性研究报告下图是一个可视化是之后会讲到的两个仿真或者游戏之一用它作为一种方法去学习深度强化学习同时也能提高积极性通过挑战自己并且战胜其他同学的方式如果想在最后的公布中获得一个特等奖游戏包括了一个竞赛将会清楚地描述这项游戏中包含的东西设计一个神经网络如果想赢得比赛需要你的车比65英里每小时更快一点

image.png

 

一、目标人群

1、面向那些人

(1) 可能是一个编程新手

(2)初次接触机器学习

(3)初次学习机器人技术

或者已经是这方面的专家但想重温一遍这方面的基础

2、你将学到:

(1)An overview of deep learning methods:

 学到深度强化学习的概述

 学习卷积神经网络

 学习重复神经网络

(2)

学习这些方法如何帮助提高自动驾驶的各个组成部分,知觉,视觉,定位,映射,控制规划和驾驶状态检测。

 

二、项目

1、"DeepTratfc"是第一个项目

Project: DeepTraffic

Deep Traffic

Americans spend Billion hours stuck in traffic every year.

Deep neural networks can help

这里有7条车道这是一个顶视图它看起来像一个游戏但是它是很严谨的这个正在动的红色物体,这辆红色车是神经经网络控制,之后课程将会解释如何去控制和设计这个神经网络的各种参数这个神经网络的学习是在浏览器里完成的所以使用 ConvNet.JS 去学习,它是一个Andrej Karpathy 利用 javascript 编写的库。做这个的原因是通过很少的裝备需求快速的开始神经网络学习。为了完成这个课程中的项目,不需要有任何的裝备,只需要有一个 Chrome 浏览器。

2、第二个项目代号被命名为 DeepTesla或者可以叫做Tesla使用特斯拉汽车驾驶中关于前行道路的数据并且使用终端对终端的进行学习使用图像并将其放入卷积神经网络直接映射或者“强制将其映射到转向角上因此它只需要一个单一的图像就能预测汽车的转向角拥有汽车自身的数据需要建立一个神经网络并且尝试做得更好尝试着去驾驶的更好或者至少和这辆特斯拉车一样好

 

三、问题

1、什么是智能这个来自于时代杂志的19963月期刊

image.png

2、这是另一个问题机器可以思考吗下面是刚刚问题的答案机器已经可以开始思考了那么它和人类思想有什么特别和不同的地方吗1996年这是一个很好的问题同时在2016年这也是一个好问题2016年也是一个好问题未来也是一个好问题

3、同样这里有两种方式来问这个问题

(1)第一个是特殊目的的版本,人工智能系统能否达到一个被很好定义过的目标,具体而言,能否达成被正式定义的、有限个目标?

(2)这是一个完美简单的系统示意图它存在于一个环境中它还有一组传感器系统用来实现感知功能它将传感器数据作为输入然后做一些神奇的事情就是方框中的问号那里,同时通过一组效果器(Affectors)来操纵一些对象造成影响。

image.png

所以特殊的目的可以在这个架构下只要环境是被正式定义过的明确定义过的只要一组目标有一个明确的定义只要一组动作传感器以及感知的方式是有明确定义的拥有好的算法这些算法可以对这些目标进行优化但问题是如果沿着这条路缓慢地移动能否得到更通俗易懂的公式能够获取人工智能的通用目标人工智能更否达成没有被良好定义过的不受约束的一组目标通过一组不受约束的简单定义的动作和一个不受约束的简单定义的效用函数也就是奖励这才是人类的生活大部分时间在做的生活在一个没被定义的充满不确定性的世界

 

四、种类

可以将任务划分成为是三个不同的种类

1、正式的任务这是最简单的方法在人工智能诞生的早期它不被看成是最简单的方法仔细想想确实如此最简单的是正式的任务玩桌面游戏提高理论所有可以被正式定义的数学逻辑问题

2、第二类是专家任务这里是由许多令人激动的突破发生这就是机器学习的方法以及数据驱动的方法可以帮助或改善人类专家的表现这意味着包括医疗诊断硬件设计调度

3、第三类任务是认为理所当然的事情琐碎的事情每天早上醒来所做的事每天讲话书面语言视觉感知以及走路

 

五、什么是驾驶

1、驾驶有多困难?

开放式问题:

驾驶是更贴近于下棋还是日常谈话?

今天讲到的是一个非常困难的任务在对象操纵上所以这里要提的问题是在谈论深度学习之前在讨论具体方法之前需要深入了解一下什么是驾驶驾驶有多难驾驶是更像国际象棋呢还是像图中看到的

2、在这套“棋盘中”可以正式定义一个车道集合还有驾驶动作组合比如你可以改变你的车道你可以避开障碍你可以规定什么是障碍物你可以指定一套道路驾驶规则还是更像自然语言呢驾驶与日常中的对话类似自动驾驶也需要高级别的推理能力通信能力学习能力并且运行在一个欠驱动空间中欠驱动系统是指系统的独立控制变量个数小于系统自由度个数的一类非线性系统除了左车道或者右车道加速减速还有更多吗

3、Chess Pieces: Self-Driving Car Sensors

External

(1)Radar

(2) Visible-light camera

(3)LIDAR

(4)Infrared camera

(5)Stereo vision

(6)GPS/IMU

(7) CAN

(8)Audio

Internal

(1)Visible-light camera

(2)Infrared camera

(3)Audio

把整个自动驾驶的场景看作是一盘国际象棋这是棋子需要哪些传感器才能让一个自动驾驶汽车能够成功运行做了大量关于自动驾驶汽车传感器的深入研究有雷达有射线传感器激光雷达这些传感器能够让你获取到当前环境中的障碍物信息可以帮助你在当前所处环境中定位这些障碍物有可见光摄像机和提供纹理信息的立体视觉这会帮助你不仅仅知道障碍物在哪而且还可以知道障碍物是什么这有助于将障碍物进行分类但必须要了解这些障碍物微妙的动作再有就是车辆自己本身的信息,比如来自 GPS 和 IMU (惯性测量单元传感器)的车辆的轨迹和运动信息,还有就是车辆有丰富的状态它正在干什么所有的独立系统都在做什么这些都来自于屏蔽网

4、接下来是一个研究较少的但是却很吸引人的音频方面的研究来自道路的声音提供了丰富的路面信息比如潮湿的路面当雨停的时候的声音道路仍然很湿它发出一系列声音刺耳的轮胎声和喇叭声这些都是非常有意义的信号工作的重点是一个真的被低谷的事是面向内部的传感器感知驾驶员的状态他们在注视什么他们疲劳了吗他们的情感状态他们一直在座位上吗音频也是同样的过程这些都来自于视觉信息和音频信息

5、Chess Pieces: Self-Driving Car Tasks

(1)Localization and Mapping:

Where am I?

(2)Scene Understanding:

Where is everyone else?

(3)Movement Planning:

How do I get from A to B?

(4)Driver State:

What's the driver up to?

接下来这是个任务如果把构建自动驾驶汽车的任务模块化首先你想要知道你在哪里你想知道我在哪里你想知道定位和映射你想映射外部环境你想找出所有不同的障碍物所有试题物体的所处的位置并且利用这些信息估测出所处的环境情况用这些来定位位置定位自动驾驶的汽车的位置再有就是对于场景的理解能力这里所指的理解不仅仅是对于外界环境和动态的位置方面的理解还包含了对于多处环境中的实体本身的理解它是汽车吗它是行人吗它是一只鸟吗接下来是运动规划一旦想通了你的位置和其他在这个世界里的实体的位置关系那么也就能找到能在这个世界中运行的轨迹最后一旦找到了如何保证在世界上中的移动是安全的并且找到了有效的方法就能搞清楚人们在交通工具上都在做什么自动驾驶汽车的路径规划对于特斯拉的关注可能会通过半自动化车辆车辆不仅必须要能控制自己而且要能有效地移交控制权由车换到人反之亦然

 

六、无人驾驶汽车的历史

1、DARPA Grand Challenge II (2006)

最大的突破来自于第二届无人驾驶机器人挑战赛,斯坦福斯坦利获得冠军的时候他们是完成比赛的五辆汽车中的一辆这是在沙漠中比赛中难以置信的成就一辆全自动化的车辆能够完成整个比赛并且打破了世界纪录

2、DARPA Urban Challenge (2007)

2007年度无人驾驶机器人城市挑战赛比赛内容不是在沙漠中进行比赛而是在一个城市环境中进行卡内基梅隆大学名为“Boss”的通用汽车贏得了比赛

3、Industry Takes on the Challenge

并且比赛中的大量的工作都开始被接受并且大型的主要的产业参与者都开始应对无人驾驶对于车辆制造的挑战谷歌如今的“waymo”自动驾驶汽车特斯拉“autopilot”系统和如今的“autopilot2系统优步在匹兹堡进行的无人驾驶汽车测试而且还有很多这样的公司包括这门课程的以为演讲者来自nuTonomy它正行驶在波士顿的美妙的街道上如果思考一下在无人驾驶机器人挑战赛所取得的成就如果仔细看看谷歌自动驾驶汽车的成就你会发现它们的本质上是把世界变成一场象棋游戏它们利用非常精确的传感器通过一个明确的规则来建立一个三维度的世界地图有效的将它们自身定位在哪个世界并且在那个世界中进行移动接下来谈论到驾驶

 

七、If Driving is a Conversation

How Hard is it to Pass the Turing Test?

1、Natural language processing to enable it to communicate successfully

2、Knowledge representation to store information provided before or during the interrogation

3、Automated reasoning to use the stored information to answer questions and to draw new conclusions

4、这是一个开放的问题:如果开车更像一场对话,用自然语言的对话,那么可能通过图灵测试吗?图灵测试目前的方案是计算机被误认为人的时间超过30%吗?如果人类再有遮挡时和电脑或另一个人对话,他们会错谈话的另一面误认为是人类,而事实上这就是一台电脑但是却在模仿人的方式,在自然语言中,选一个可以成功的通过图灵测试的系统处理自然语言的一部分以使能够顺利地通过进行通信,比如用通用语言和解释语言来进行通信,然后代表的交谈状态知识,随着时间推移而转变,而最后一部分是很复杂的,最后一部分就是自动推理,这是一个推理的过程,可以教会机器来学习推理的方法吗?接下来的课程将会通过讨论得出结论,因为会讨论到的各种不同的方法,不同的深度学习方法。神经网络善于从数据中学习,但是他们现在还没有好的推理机制,现在推力可能只是一个特别的,现在的推理可能只是一些东西,那些告诉自己感到很特别,更好的感觉到我们比机器好。推理可能很简单和从数据中学习的过程一样简单,只需要一个大型的网络,或者也可能需要一个完全不同的机制。

 

八、Neuron: Biological Inspiration for Computation

1、Neuron: computational building block for the brain

2、Human brain:

~100-1,000 trillion synapses

3、(Artificial) Neuron: computational building block for the "neural network"

4、(Artificial) neural network:

~1-10 billion synapses

5、Human brains have ~10,000 computational power than computer brains.

在接下来的课程中,会讨论它出现的可能性。在机器学习领域最近的突破,以及这些突破的核心。最近的突破就是神经网络,神经网络已经存在很长一段时间了,将谈论它的变化,已经没有改变的事物,以及它的可能性。但首先一个神经元粗略的说,是大脑的计算单元。这不是一个模型,它更像是一个灵感,人类神经元激发了人工神经元,激发了人工神经网络的计算单元,给一些背景资料,这些神经元对于所有的人工大脑和人类大脑是互相关联的。对于人类大脑,每个神经元平均会发出10000个连接,它们互相连通,目前最大的人工神经网络,有100亿个连接,也就是突触,大脑最多是人造神经网络连接数量的10000倍,有1万亿到10万亿的突触

 

九、什么是人工神经?

1、Perceptron: Forward Pass

什么是人工神经?人工神经是神经网络的单元,它采用一种输出,对每一个输出对应其权重加起来,然后对每个神经元加上偏置值使用激活函数,这需要它的输入的输入的和加上偏值然后整合来产生一个0~1的信号

2、Perceptron Algorithm

Provide training set of (input, output) pairs and run:

(1)Initialize perceptron with random weights

(2)For the inputs of an example in the training set, compute the Perceptron's output

(3)If the output of the Perceptron does not match the output that is known to be correct for the example:

① If the output should have been 0 but was 1, decrease the weights that had an input of 1.

② If the output should have been 1 but was 0, increase the weights that had an input of 1.

(4)Go to the next example in the training set and repeat steps 2-4 until the Perceptron makes no more mistakes

image.png

这个过程让单个神经元采用一些输入并产生一个输出。举个例子0~1,它可以作为一个线性分类,因此它可以画一条线,它可以学会画一条中间的线,在蓝色的点和黄色的点之间,这正是要在要在 iPython Notebook 上做的之后会解释。基础算法是在初始化的输入里的权重,并且计算输出,在执行此操作之前,相加和计算输出。如果输出不符合基本事实,不符合预期的输出,不符合它本应该产生的输出,权重将相应减少,并且涉及到数学计算,这个过程会一直重复直到感知不到任何错误

 

十、Neural Networks are Amazing

image.png

1、Universality: For any arbitrary function f(x), there exists a neural network that closely approximate it for any input X

2、Universality is an incredible property!* And it holds for just 1 hidden layer.

Given that we have good algorithms for training these networks.

这是关于神经网络的了不起的事情。在数学领域是有关神经网络的普遍性,只是一个单一的层,如果叠在一起就是一个隐含层,左侧是输入,右侧是输出,中间是一个的隐含层,它可以逼近几乎所有的函数,这是一个令人难以置信的性质。能想到想象到的所有函数用一层网络就能逼近可以将驾驶看作一个函数,它需要输入外界是输出,来控制起车辆存在一个神经网络可以完美地驱动,这是一个有趣的数学事实。

 

十一、Special Purpose Intelligence

因此可以考虑将这些函数作为有特殊目的的函数。

image.png

特殊用途智能,可以将这些作为输出输入,比如卧室数量平方面积,街道的类型,这些是三个输入,通过隐含层传递这些值,在下一个步骤,它产生为房子和住宅估计的最终价格,可以用监督的方式去训练网络更好的去做这件事,这就是监督的学习过程,提供了大量的实例,在实例中知道卧室的数量和平方面积,知道街道的类型,并且也知道房子或住宅的最终价格,然后就可以通过反向传播有效地教这些网络进行预测。

 

十二、General Purpose Intelligence

1、80x80 image (difference image)

2、2 actions: up or down

3、200,000 Pong games

4、This is a step towards general purpose artificial intelligence!

image.png

5、最近有一些令人兴奋的突破在通用智能方面这个是来自于Andrej Karpatthy, 他现在在OpenAl这是一个“pong”游戏类似乒乓球),如果不熟悉“pong”有两个拨片,试图将球反弹回去,并防止其他人反弹发送的球人工智能代理是右边绿色的拨片,上面的比分是8:1,这大概需要在一个普通电脑上训练三天,这就是网络

6、这个网络正在做什么?

这就是所谓的策略,网络输入是原始像素,原始像素有一个过程,需要取两帧之间的差别,但它基本上是原始像素的信息,这就是输入那里有几个隐含层,并且输出是向上移动的单概率,这就是整个的系统系统正在学习,你不知道在某一个时刻,你不知道应该做什么,它是在上移吗?还是在下移,你唯一知道是事情是最终你赢了比赛还是输了比赛,因此这就是它了不起的原因,没有监督的学习,关于是好还是坏,没有普遍的事实,每个人都可能好,也可能坏,但是如果你惩罚或奖励你采取的每一个动作,对于整个游戏你之前的每一个动作。不择手段的赢了比赛如果赢了比赛,在每一个动作状态中所采取的每一个动作都会得到奖励,如果在比赛中失败就会被惩罚,在这个过程中只需20万场比赛,这里系统只模拟游戏,它就可以打开电脑,这个系统对乒乓球和游戏一无所知,这就是通用智能,除了这只是一个乒乓球比赛,会讲解如何进一步将他延伸,为什么它如此有前景?为什么要谨慎行事?再一次要做一系列向上向下,向上向下的动作,根据网络的输出,这里有一个临界值,有了向上移动的概率,根据网络的输出向上或向下移动,有一组状态。如果赢了,每一个单独的状态动作对都会被奖励,如果输了就会被惩罚。

相关文章
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
740 2
|
机器学习/深度学习 算法 PyTorch
深度学习框架Pytorch学习笔记
深度学习框架Pytorch学习笔记
|
机器学习/深度学习 人工智能 自然语言处理
Pytorch学习笔记-00深度学习初见
Pytorch学习笔记-00深度学习初见
145 0
Pytorch学习笔记-00深度学习初见
|
机器学习/深度学习 人工智能 算法
CV学习笔记-深度学习
CV学习笔记-深度学习
279 0
CV学习笔记-深度学习
|
机器学习/深度学习 前端开发
前端学习笔记202304学习笔记第八天-web前端学习-深度学习分析2
前端学习笔记202304学习笔记第八天-web前端学习-深度学习分析2
304 0
|
机器学习/深度学习 前端开发
前端学习笔记202304学习笔记第八天-深度学习分析1
前端学习笔记202304学习笔记第八天-深度学习分析1
187 0
|
机器学习/深度学习 存储
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.4)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.4)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.4)
|
机器学习/深度学习 算法 网络架构
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.3)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.3)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.3)
|
机器学习/深度学习 算法
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.2)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.2)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.2)
|
机器学习/深度学习 算法 BI
《TensorFlow深度学习应用实践》学习笔记1
《TensorFlow深度学习应用实践》学习笔记1
162 0