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

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

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

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


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

 

内容介绍

什么是监督学习?什么是无监督学习?

神经网络的弊端

Deep Learning Breakthroughs: What Changed?

Useful Deep Learning Terms

Neural Networks: Proceed with Caution

Deep Learning is Representation Learning

Deep Learning: Scalable Machine Learning

Applications: Object Classification in Images

九、Pause: Progress on ImageNet

Computer Vision is Hard:Illumination Variability

十一Computer Vision is Hard:Pose Variability and Occlusions

十二、Computer Vision is Hard:Intra-Class Variability

十三、Pause: Object Recognition / Classification

十四Pause: Segmentation

十五、Pause: Object Detection

十六Applications: Object Detection and Localization in Images

十七、Applications: Colorization of Images

十八Applications: Automatic Translation of Text in Images

十九、(Pause...) Flavors of Neural Networks

二十、Applications: Handwriting Generation from Text

二十一Applications: Character-Level Text Generation

 

一、什么是监督学习?什么是无监督学习?

1、什么是监督学习什么是无监督学习?们有什么不同?

监督学习是当人们谈论到机器学习时,大多时候都监督学习,监督学习是从数据中学习,从实例中学习,因此你需要大量的实例来训练任何机器学习算法去学习并将其推广到未来的实例实际上还有第三个叫做强化学习,它的参考标准是稀疏的,结果好坏,这个信息参考标准,参考标准只在游戏结束时发生一次,而不是每一无监督学习是当你没有关于输出的信息,他们是正确的还是错误的?

2、深度学习

深度学习社区为无监督学习振奋多人觉得无监督学习是深度学习的未来很,但目前在这领域并没有重大突破,会谈谈深度学习的未来,大量在这个领域的人都对深度学习表现出浓厚的兴趣。在目前任何有趣的成就都与监督学习有关。

3、问题:

绿色的球拍成功学会玩这个游戏,在特定的规则下对抗这个棕色球拍,怎么知道可以推广到哪些其他游戏、不可以推广的那些游戏,但是学习的机制是相通的,只要你让在任何你想要成功的领域下运行,并且足够久,会用相同的方法在那个领域获得成功。问题是只要对可以很好模拟的领域奏效,不幸的是神经网络的一大挑战,是们目前不是高效的学习者,需要大量的数据来学习任何东西。人类通常只需要一个例子,会从这个例子中非常有效学习。

 

二、神经网络的弊端

Current Drawbacks 至于神经网络的弊端

1、Lacks Reasoning:

人类只需要简单的指示:

如果考虑一下人类是怎么玩游戏的,这个乒乓球游戏只需要一个简单的指令集,控制球可以上下移动它,而任务是将球反弹回AI控制的另一个玩家,人不一定能马上赢得比赛,但他们会立即明白这个游戏,并能成功地发挥出色要相当快的学会赢得比赛,但他们需要有一个控制的概念,控制球拍是什么意思?需要有一个球拍的概念,需要一个上下移动的概念,一个球反弹,他们必须知道他们必须至少有一个宽松的现实世界物理学概念,然后他们可以把这个真实世界的物理映射到二维世界,所有这些概念都是你需要的,这就是知识,而你从以前的经验中转移出这种知识的方法,从童年到现在,当你遇到这个游戏,那个叫做推理,不管推理是什么意思,问题是通过这种相同的过程,你可以把整个世界看作是乒乓球游戏,推理就是在你脑海中模拟这个游戏的能力,并且非常有效学习远比二十万场游戏更高效。

2、Requires big data: inefficient at learning from data

另一个深度神经网络和机器学习广泛的挑战,是需要大数据和高效的学习者。

3、Requires supervised data: costly to annotate real-world data

而且这些数据需要有是有监督的数据,你需要有参考标准,但标注数据是非常昂贵的。例如一个人看着一个指定的东西,并将其标记为猫或狗的东西,无论图像中有什么物体是需要很大成本的。

4、Need to manually select network structure

特别是对于神经网络有很多参数需要调整,有很多超参数,需要先弄清楚网络结构,这个网络长什么样,有多少层?有多少个隐藏节点?每个节点用什么类型的激活函数?

5、Needs hyperparameter tuning for training:

(1)Learning rate

(2)Loss function

(3)Mini-batch size

(4)Number of training iterations

(5)Momentum: gradient update smoothing

(6)Optimizer selection

那里有很多超参数,然后一旦建立网络,如何训练这个网络的参数?有学习率,损失函数,小批量大小,训练迭代的次数,更新梯度的平滑性,甚至选择哪一个优化器,要解决各种涉及的微分方程。这是很多论文的主题,当然对论文来说已经够丰富了,但也存在很多挑战,这意味着不能随便用一个神经网络就解决大多问题。

6、Defining a good reward function is difficult...

再就是定义一个好的损失函数,在乒乓球或游戏的情况下,一个好的奖励函数是困难的。

7、Defining a good reward function is difficult... Coast Runners: Discovers local pockets of high reward ignoring the "implied" bigger picture goal of finishing the race.

In addition, specifying a reward function for self-driving cars raises ethical questions...

(1)这里有一个游戏也是open AI最近的一个成果,正在训练一个网络海岸赛艇的游戏,海岸赛艇的目标是在船上,任务是顺着跑道走,与对手竞争并完成比赛,这个网络是一个最优的,而实际上在游戏中发现了通过沿途收集指定物品来得分,所以想到了转圈,然后收集那些绿色漩涡状的东西,发现了你不需要完成游戏来获得奖励。

(2)尽管整个过程中有起火碰壁的情况,至少达到了局部最优解,给定的使得分最多的奖励函数下,所以能想到的办法获得更多的分数,却忽视了隐含的完成比赛这一更重要的目标,而人类对这个目标理解的更好,这引发了自动驾驶汽车的伦理问题,除此以外还有其他问题,能看这样几个小时,这就是问题所在。很难训练,很难编码出正式定义的效益函数,智能系统需要基于这个函数运作,这在一个简单游戏中也是非常明显的。

8、问题什么是自动驾驶的局部最优解的例子?类似于海上赛艇,现实世界里对于自动驾驶汽车的例子是什么?

这是一个敏感的话题,但是这个的确需要涉及濒临车祸和遇到车祸时做出的选择,自动驾驶所做的来避免这些的选择。例如如果即将发生碰撞,而且没办法紧急停车,为了阻止碰撞,是保护驾驶员的安全,还是保护其他人的安全,而且总有一些奖励函数,即使你不承认,即使仅是在数据和所做的学习中总存在一个隐含的奖励函数,而且需要知道这个奖励函数,因为它可能会找到一些奖励函数,因为它可能会找到一些奖励函数,直到真正的看到,你不会知道,一旦看到了就会意识到这是个糟糕的设计,这是很可怕的,很难预先知道奖励函数是什么。

 

三、Deep Learning Breakthroughs: What Changed?

1、Compute

CPUs, GPUs, ASICS

深度学习近期的突破有几个因素,首先是计算,摩尔定律,CPU变得越来越快,每十年就变快几百倍,然后是GPU的使用,还有训练神经网络。

2、Organized large(-ish) datasets

Imagenet

CPU以及现在专用集成电路的能力,就能源效率而言,创造了许多能力。并且能够更有效地训练更大的网络,首先在21世纪有着数学化的数据,有更大的数据化数据的数据集,如今数据变得更有条理,不仅是在互联网上模糊的可用数据,而像ImageNet这样真正有组织的数据集。

3、Algorithms and research:

Backprop, CNN, LSTM

当然对于自然语言有大量的数据集,还有算法的创新,反向传播算法、卷积神经网络、长短记忆网络,所有这些用来处理特定的种类的领域和任务的不同架构,还有一个重要的因素,底层构造。

4、Software and Infrastructure

Git, ROS, PR2, AWS, Amazon Mechanical Turk, TensorFlow, ....

在软件和硬件方面,Git一款具有分享能力的开源软件,有一些可以让机器人和机器更容易学习的软件,机器人操作系统、TensorFlow、有亚马逊土耳其机器人,允许规模的数据集高效、低成本的标注由AWS和云端主机服务主管者机器学习、数据和计算。

5、Financial backing of large companies

Google, Facebook, Amazon, ...

再有就是他公司的财务支撑,Google, Facebook, Amazon,但其实没有什么发展,真的没有任何重大的突破,卷积网络90年代就已经存在,神经网络在60年代就已经存在,虽然有一些改进了,但是望就是就方法论而言,计算已经成为了主力,每十年提升百倍的能力,带来希望,问题是说过的推理的你所需的是否只是一个更大的网络?这是一个悬而未决的问题。

 

四、Useful Deep Learning Terms

1、Basic terms:

(1)Deep Learning = Neural Networks

(2)Deep Learning is a subset of Machine Learning

2、Terms for neural networks:

(1)MLP: Multilayer Perceptron

(2)DNN: Deep neural networks

(3)RNN: Recurrent neural networks

LSTM: Long Short-Term Memory

(4)CNN or ConvNet: Convolutional neural networks

(5)DBN: Deep Belief Networks

3、Neural network operations:

(1)Convolution

(2)Pooling

(3)Activation function

(4)Backpropagation

这些是深度学习的术语,首先深度学习是一个神经网络的PR术语,是一个深度神经网络的术语,是很多层的神经网络,这是计算、在GPU上训练带给的新能力,的象征性术语,深度学习是机器学习的一个子集,还有许多其他仍然有效的方法,这门课首先提出的术语是多层感知器,深度神经网络、递归神经网络、长短记忆,CN或卷称卷积神经网络、深度信念网络。提出的操作有卷积、池化,激活函数和反向传播。

4、问题:神经网络里不同的层的目的是什么?不同配置的意义是什么?

神经网络有好几层,唯一理解就是输入和输出,对这些图层的功能没有很好的理解,神经网络是神秘的,所以会讨论是如何通过每一层组织一个对输入更高层、更高阶的表示,因此不同于第一层用于定位,第二层用于路径规划,第三层做导航,比如如何从这里到佛罗里达,或许也许也这么做,但是并不知道,所以开始为一些简单任务的神经网络做可视化,比如在lmageNet中辨别猫和狗,可以知道第一层做了什么,以及第二层,第三层,观察这些,但是对于驾驶来说,因为输入只提供图像而输出是转向,学到了什么仍然是不明确的,部分原因是没有成功驾驶汽车的神经网络。

5、问题是神经网络会随着时间推移增加层数吗?就如它会自成长吗?

这是其中的一个挑战,一个神经网络是预定义的,架构的数量、层的数目都是固定的,不像在人脑中,每时每刻都有衰老的神经死去,的神经形成,一个神经网络是预先规定好的,就是这样,这就是你所得到的,如果你想改变,就需要重新构建并重新训练一切,所以它是固定的。

 

五、Neural Networks: Proceed with Caution

鼓励你谨慎行事,因为当第一次仅付出很少的努力来训练一个网络时,就会有这种感觉,如果做一些令人惊讶的任务,比如判断是否是一张脸,或判断你的脸或别人的脸或分类猫和狗,这是一个难以置信的感觉,然后就是一定会有一种自己是专家的感觉,但意识到并没有实际理解是怎么运作的,让在更广泛的任务,有更大的规模的数据更有用的应用中表现出色,这些都是需要调许多超参数,弄清楚如何调整各处的小事但在最后你仍不明白它是如何做的这么好

 

六、Deep Learning is Representation Learning

image.png

Output

(object identity)

3rd hidden layer

(object parts)

2nd hidden layer

(corners and

contours)

1st hidden layer

(edges)

Visible layer

(input pixels)

1、所以在深度学习里,这些深深度神经网络架构是表征学习,这正是它与传统机器学习方法的不同之处。比如此处的任务是把一张图片作为输入,这里的网络输入位于下面,输出位于上面,在这里例子中输入是一个人的图像,因此具体来说,输入就是这个图像中的所有像素,RGB就是图像中像素的不同颜色,随着时间的推移,网络所做的建立一个这个数据的多分辨率表示,例如第一层获知边缘的概念,第二层开始学习这些边缘、拐角、轮廓的组合,然后开始学习物体的部分,最终真正为输实物提供标签,这就是与传统机器学习方法的不同之处,传统中边缘、拐角、轮廓的概念,人、特定领域的专家们手动预先指定。

2、Representation Matters

image.png

                 Cartesian coordinates                       Polar coordinates

代表性很重要,因为为笛卡尔坐标系下的这些特定数据集找出一条线,想要设计一个机器学习系统来区分绿色三角形和蓝色圆形是很困难的,没有些能够清晰地将它们分开,如果你问一个人,一位在这个领域的专家让试着画这样一条,他也不行但是一个神经网络可以自动的想出用极坐标重构输入来解决这个问题。在极坐标系中是这样表示的,这是一个很容易线性分离的数据集。因此深度学习是表征学习的一个分支,是机器学习的一个分支,也是人工智能的一个关键分支。

 

七、Deep Learning: Scalable Machine Learning

1、因为有计算任意数量,在表征中重要特征的能力。如果你试着检测图像中的一只猫,你不是在列举215个具体如猫耳朵、猫胡须人类专家会使用的特征,你让一个神经网络来发现成千上万这样的特征,你可能在猫的方面是一个专家,但是对于许多物体你可能根本无法提供足量的特征,来帮助来成功帮助确认物体,因此这种表征学习

2、第一是非常简单的,只需提供输入和输出,所提供的只是一个关注的不需要手动设置特征的数集。

3、第二,因为它能够构建任意大小的表征,深度神经网络很需要数据,给予的数据越多,们能够从特定的数据集中学到的也就越多。

 

八、Applications: Object Classification in Images

来看一些应用。

image.png

首先目前深度神经学习能够完成些很厉害的任务。先从最基础的开始,AlexNet是为ImageNet设计的它是一个有名的数据集也是一个分类与定位的竞赛,它的任务是给定一张图像,确定图像物体最高的种可能性,以及哪个可能性最大,你必须做对。右边是一只豹的图像,你必须准确分辨出这确实是一只豹。因此有了给定的特殊图像之后,们就能很好的完成工作,确定这是一只豹。

 

九、Pause: Progress on ImageNet

ImageNet Classification Error (Top 5)

image.png

这里在X轴所表所展示的是年份y轴是分类的误差,从左边到2012年的alexnet到今天误差从16%之前的传统的方法的40%下降至4%以下至于人类级别的表现,如果给你这张豹子的照片,其中4%的照片你将会说这是一只豹子,这就是人类级别的表现。2015年卷积神经网络第一次超过了人类级别的表现,这本身是难以置信的,这似乎是不可能的。现在因为已经完成了,所以不再令人敬佩了。

 

十、Computer Vision is Hard:Illumination Variability

image.png

但是就是想要展示为什么这件事如此令人敬佩,因为计算机视觉是非常是十分困难的,现在人类的视觉感知在这几百万甚至数亿年已有了很大的进步因此认为视觉感知是理所当然的,但是计算机视觉是十分困难的,视觉感知是相当困难的,当有光照的物体时,它还是同一个物体,告诉你一个物体的唯一方法是通过它的阴影,它表面光反射,光的反射,可能是同一个物体,但在像素方面它的外形状很不一样,仍然能知道它是相同的物体

 

十一、Computer Vision is Hard:Pose Variability and Occlusions

Figure 1. The deformable and truncated cat. Cats exhibit (al-

image.png

还有位置变化和遮挡,是一个学术报纸上的叫可变形面的猫,这些是图片,众所周知猫是水做的,它们可以变成许多不同的形状,可能摆出任意的姿势,因此你要让你的计算机视觉知道就算摆出这些不同的姿势,仍然是相同的物体,仍然是物体的同一类。给定所有姿势变化,遮挡是一个相当困难的问题。仍然知道它是一个物体,仍然知道是一只猫,尽管当的一些部分是不可见的,而且有时候的大部分是不可见的。

 

十二、Computer Vision is Hard:Intra-Class Variability

image.png

还有同类别的多样性,同类别头两行的图片都是猫,他们中很多看起来都很不同,底部两行是他们看起来也很不同,然而有些狗看起来像猫,有些猫看起来像狗,作为人类很善于区分这些不同,也希望计算机视觉可以在这方面做得更好,这是十分困难的,

 

十三、Pause: Object Recognition / Classification

image.png

那么这是如何完成的,是通过卷积神经网络完成的。输入是一个原始图像,这里左侧的是输入数字3,图像穿过卷积层进行处理,维持空间信息。在输出这种情况下预测图像中显示的是什么数字? 012直到9。因此大家都用同类型的网络来准确的判定这些输出的是一个图像,输出的是一个数字

 

十四、Pause: Segmentation

image.png

概率来说,那有一只豹的概率是多少?这个数字是什么?在这些卷记忆神经网络的基础上可以做到图像的分割,去掉末端将网络卷积起来,去掉末端后输出是热图,因此可以做一只猫的热图,而不是一猫的检测器。热图中含有物体的部分被激活,对应输出的神经元也被激活,在图像中包含一只花斑猫的部分,这样的步骤可以被用于把图像分割成不同的部分匹马,所以原始输入是一个骑马的女人,输出是一副完全分开的图像可以知道女人在哪里在哪里


十五、Pause: Object Detection

image.png

样的过程也可以被用来做物体检测,的任务是检测一个图像中的物体,现在用卷积神经网络的传统方式以及通用计算机视觉是滑动窗口的方法。有一个检测器,比如豹的检测器,你用它划过图像来确认图像中豹的位置。这种分段方法R- CNN方法。可以高效地分割图像,通过提取图像可能包含豹子,或者在这个例子中的牛仔的不同部分,运行大幅度的减少了对象检测任务的计算需求。

 

十六、Applications: Object Detection and Localization in Images

因此这些最适合本地ImageNet任务的网络是深度残差网络,他们都是深层的vGG-19是较出名的一个,在许多案例中,需要从高于20层的层次开始操作,在34层有一个跃升

 

十七、Applications: Colorization of Images

image.png

此这里的经验就是你进入层次越深,那么你就有更强的表达能力,以及更高的准确度,但你需要更多的数据其他应用程序图像的彩色化,和之前一样输入是单一图像输出也是单一图像,所以你可以从一部电影一部老电影中选取一段黑白视频,并给重新着色,为使网络在受监控的途径下得到训练所需要做的所有事情就是提供现代电影并将它们转化为灰度图像。因此如果现在已经有了任何尺寸的数据集,灰度颜色的数据集那么你可以用很少的努力在为图像重新着色的工作上取得定的成功。

 

十八、Applications: Automatic Translation of Text in Images

image.png

样。谷歌翻译通过图像到图像的方式完成图像的平移。首先它察觉到这里的,“黑巧克力“德语写在一个个盒子上。这(谷歌翻译)可以通过这个图像。检测不同的字母并将它们转化为文本,翻译文本,然后使图像到图像的映射,原字母已经翻译字母的映射,再将它们放回盒子,你可以在视频上实时做到这点

 

十九、(Pause...) Flavors of Neural Networks

之前谈过了香草”神经网络卷积神经网一个单输入单输出的映射单一图像对应单一数字单一图像对应另一个图像接下来是递归神经网络一个映射这是一种更为普遍的结构他们映射图像的序列或者词汇的序列,或者其他任意类型的序列到另一个序列。

 

二十、Applications: Handwriting Generation from Text

 image.png

这些网络可以完成难以置信的与自然语言视频的阶段与视频和与任意类型数据序列相关的事情,比如说你可以将文本转化为手写文本,在这里你输入文本,当然你可以在线完成这件事情,输入Deep Learning for Self Driving Cars,那么会用任意手写字体生成文本,Deep Learning for Self Driving Cars这是由递归神经网络完成的。

 

二十一、Applications: Character-Level Text Generation

Naturalism and decision for the majority of Arab countries' capitalide was grounded by the Irish language by [[John Clair]], [[An Imperial Japanese Revolt]], associated with Guangzham's sovereignty.His generals were the powerful ruler of the Portugal in the [[Protestant Immineners]], which could be said to be directly in Cantonese Communication, which followed a ceremony and set inspired prison, training.

同样可以通过名为Char-RNN网络RNN网络的字符层级,用于联系数据集合任意一个文本数据以及学习通过一次生成一个字母的方式生成文本在这里并没有预先将句法语义结构提供给网络网络这些结构比如类似这个例子,你可以通过维基百科的文章来训练网络,它不仅可以生成有某些语法含义的文本,还能完美契合维基百科、Markdown、后期编辑等等的句法结构。

诸如“naturalism and decision for the majority of arab countries capitlide was grounded by the Irish language by [[John Clair]]

这些都是句子。如果不太了解他或许他们听上去是正确的。它在某一时刻暂停字符因此这些并不是新生成的词汇。这是一个字待。跟随三个字母NAT开始,在完全不知道词语本身的情况下生成了字母’u',这难以置信

Life Is About The Weather!

Life Is About The (Wild) Truth About Human-Rights

Life ls About The True Love Of Mr. Mom

Life Is About Where He Were Now

Life Is About Kids

Life ls About What It Takes If Being On The Spot Is Tough

Life ls About.... An Eating Story

Life Is About The Truth Now

The meaning of life is literary recognition.

The meaning of life is the tradition of the ancient human reproduction

你可以通过给出句子的开头的方式让神经网络完成这些句子

比如。在子开头给Life Is(生命是)或者“life is albout (生命与租关),网络将会用很多有趣的词汇来完成句子。

”The weather'(天气Life Is About Kids(与孩子相关)

Life ls About The True Love Of Mr. Mom ls About The Truth now生命与妈妈先生的爱相关)。

如果你以The meaning of life生命的意义开头网络可以完成

The meaning of life is literary recognition(生命的意义在于文学的认可这样适用于这里有些人的句子出版或出局

The meaning of life is the tradition of the ancient human reproduction(生命的意文在于古老人类的繁行生息)

相关文章
|
10月前
|
机器学习/深度学习 前端开发
前端学习笔记202304学习笔记第八天-web前端学习-深度学习分析2
前端学习笔记202304学习笔记第八天-web前端学习-深度学习分析2
155 0
|
11月前
|
机器学习/深度学习 前端开发
前端学习笔记202304学习笔记第八天-深度学习分析1
前端学习笔记202304学习笔记第八天-深度学习分析1
53 0
|
机器学习/深度学习 人工智能 自然语言处理
Pytorch学习笔记-00深度学习初见
Pytorch学习笔记-00深度学习初见
63 0
Pytorch学习笔记-00深度学习初见
|
机器学习/深度学习 人工智能 算法
CV学习笔记-深度学习
CV学习笔记-深度学习
CV学习笔记-深度学习
|
机器学习/深度学习 算法 BI
《TensorFlow深度学习应用实践》学习笔记1
《TensorFlow深度学习应用实践》学习笔记1
91 0
|
机器学习/深度学习 存储
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.4)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.4)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.4)
|
机器学习/深度学习 算法 网络架构
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.3)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.3)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.3)
|
机器学习/深度学习 算法
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.2)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.2)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.2)
|
机器学习/深度学习 算法 测试技术
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.1)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.1)
【吴恩达深度学习笔记-改善深层神经网络】——第一周深度学习的实用层面(1.1)
|
机器学习/深度学习 TensorFlow 算法框架/工具
Whale 基于 Tensorflow 深度学习分布式训练框架|学习笔记
快速学习 Whale 基于 Tensorflow 深度学习分布式训练框架。
380 0
Whale 基于 Tensorflow 深度学习分布式训练框架|学习笔记