开发者学堂课程【深度学习与自动驾驶:自动驾驶中的循环神经网络(3)】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/533/detail/7159
自动驾驶中的循环神经网络(3)
内容介绍
一、Application
二、Reminder:Original NVIDIA Approach to End-to-End Driving
一、Application
1、Application: Image Caption Generation
图片标题生成也是一样,你可以检测场景中的不同物体,生成物体
对应的单词把他们拼接成语法正确的句子,并且将这些句子排序第二和第三步都是LSTM来完成的,第一步是由计算机视觉来完成对物体的识别,将图片进行分割并检测物体,这样你就可以生成一个标题,例如“一位男士坐在沙发上,一条狗坐在他的大腿上”。
2、Application: Video Description Generation
同样的LSTM也可以应用于视频,为视频生成标题,输入每一帧都是图片,它们被输入LSTM,输入是图片,输出是一系列字符,首先加载图片,在上方你可以看到输出的结果,你将视频编码成网络中的一种表示,然后你产生与有关视频的单词,首先是输入层,其次是编码阶段,译码阶段,接受输入的视频,比如一个人正在说话之类的,由于输入和输出都是任意的,必须指明句子的开始和结束,在这个例子中是句子的结束,你想要知道什么时候结束,从而产生可法正确的句子,你也希望能够产生一个句号,来指明一个句子的结束。
3、Application: Modeling Attention Steering
循环神经网络,这里的 LSTM 控制滑动窗口,在图片上的移动,用来对图片内容进行分类,这里,一个 CNN 被循环神经网络引导,来将图片转换成一个房间号,这被称作视觉注意。
4、Application: Drawing with Selective Attention
视觉注意可以被用来引导,在感知方面,用来引导网络产生输出,在右边,可以产生一张图片,网络的输出,这是一个 LSTM,每一步的输出,都是可视的,这样你可以画出数字。
5、Application: Adding Audio to Silent Film
将一个无声图片作为输入,也就是一系列图片,来产生相应的音频,这是一个LSTM,对于每一帧都有相应的卷积层,将每一帧图片作为输入产生,将音频作为输出,训练集是一个人用鼓槌击打物体,你的任务是给输入的无声视频,产生鼓槌击打该物体所发出的声音。
6、Application: Medical Diagnosis
医学诊断,实际上,已经列举了一些应用非常成功的地方,非常酷,并且开始应用于一些可以真正帮助在医学应用方面帮助公民的地方。对于医学诊断,有高度稀疏,不同长度的,信息序列,例如病人的电子病历,每次你看医生都会有一份检测并产生相应的信息,你可以把一段时间内的信息看作一个序列,将这些数据作为输入,输出是相应的诊断,一份医学诊断,在这种情况下,可以看看糖尿病,脊柱侧弯,哮喘等疾病的预测,具有相当不错的准确性。
7、Application: Stock Market Prediction
有一些东西,所有人都希望能做到,那是股市预测,你可以输入,比如,首先可以输入股票的原始数据,图书等财务数据,你也可以研究来自整个网络的新闻文章,并把这些作为输入,如图所示,x轴上是时间,文章是来自不同日期的,再次LSTM,可以并产生你所预测的输出,二元预测,股票是否会上涨或下跌,现在还没有人能够真正成功地做到这一点,但这里有一堆实验结果,并试图超过随机值,这是你如何赚钱的方法,明显高于随机值,在预测它正在上涨还是下跌,所以你可以买或卖,特别是当这里发生崩溃的情况下,更容易预测,所以你可以预测一个侵犯性的崩溃,这些显示在表中,不同的股票的失误率。
8、Application: Audio Generation
汽车股,你也可以生成音频,与生成语言的过程完全相同,这里是对它的训练,单个扬声器,几个小时他们讲述的史诗,而你只是学习,这是演讲者的原始音频,而且它正在慢慢地学习生成,显然他们正在读取数字,这是不可思议的,这是在原始音频的压缩频谱图上训练,并正在生成一些东西,只用几段史诗就能产生听起来像文字的东西,这是原始的输入,原始输出都是使用LSTM,在语音识别方面有很多工作,音频识别,你正在映射,你将任何类型的音频映射到分类,你可以用道路的音频,这就是底部的光谱图。
可以检测路是湿润的或者是干燥的,你可以对识别说话者的性别做同样的事情,或多对多的映射。
二、Reminder:Original NVIDIA Approach to End-to-End Driving
1、递归神经网络是如何用于驾驶的?
讲过NMDIA的方法,DeepTeslaJS实际上是基于它的,它是一个简单的卷积神经网络,有五个卷积层,在他们的方法中,有三个完全连接层,你可以在DeepTeslaJS中添加任意多层,这有25万个参数进行优化,你只需输入单个图像,没有时间信息,单个图像,并产生转向角度,这就是DeepTesla的方法。
输入单个图像,并学习转向角度的回归,比赛的奖品之一,是udacity的自动驾驶的纳米学位,他们将要实现超越,利用卷积神经网络预测转同,输入一系列的图像然后预测转向,获胜者们做的是至少第一名,第二名的获胜者用的是三维卷积神经网络,第一名和第三名获奖者使用的是RNN,使用LSTMs递值神经网络,并映射一系列图像,到一系列的转向角度。
2、End-to- End Driving with RNNs
对任何人,从统计学上来说,在座往何不是做计算机视觉的人,无论对什么应用,你最可能想用的,最感兴趣的是RNN,因为世界充满了时间序列数据,很少人在做,没有时间序列的数据的研究,实际上每当它只是快照,你只是将问题简化,到可以处理的大小,但大部分数据,世界是时间序列的数据,这是你最终使用的方法,如果你想在自己的研究中应用它,RNN是一种选择。
x: 3d convolution of image sequence
h: predicted steering angle, speed, torque
Sequence length: 10
再次它们在做什么?你怎么将图像输入一个递归神经网络,这是一样的,你拿你必须将图像转换成数字以某种方式,一个有效的方法就是卷积神经网络,所以你可以拿三维卷积神经网络或二维卷积神经网络,却决于你是否考虑时间处理这个图像,提取该图像的表征,这就变成了LSTM的输入,之后输出,在每一个单元每一个时间步骤中,是一个预测的转向角度,车辆的速度和扭矩,这就是第一位胜利者做的,他们不仅输出转向角,也输出速度和扭矩,至于他们使用的序列长度,用于训练和测试,用于输入和输出,是一个长度为10的序列。
(1)问题:他们使用监督学习吗?还是他们使用强化学习?
是的,DeepTesla给他们相同的东西,一系列帧对应一系列,转向角、速度和扭矩,还有其他的可用的信息,这里没有强化学习。
(2)问题:你知道有多少信息被传输,里面有多少LSTM门?
这个网络,这张图有些隐蔽,这里的参数,但是任意多的,就像卷积神经网络的参数是任意多的,输入的大小是任意的,Sigmoid 函数的大小,tanh 是任意的,所以你可以让它尽可能的大,尽可能的深,并且越深越大就越好,这些人实际使用了什么,这些比赛运作的方式,你在用LSTM,如果这是一对一映射,使用卷积神经网络,全连接网络,与一些巧妙的预处理,整个的工作需要数月,可能如果你是一位研究人员,你的研究就是对参数进行处理,对数据进行预处理,处理不同的控制网络大小的参数,学习率,各类优化器,这些事情就是你所要处理的,用你自己的直觉,用任何可以一直检测网络性能的方法。(3)问题:这个 LSTM 存在长度为10的记忆
RNN应该是任意的,这与训练有关网络是如何训练的,它用长度为10的序列进行训练,结构还是一样的,你只有一个单元,这是互相循环的,但是这里的问题就是,在哪块,在训练和测试中使用的序列长度是多少,它可以是任意长的,只是保持一致通常更好,并有一个固定长度,你没有把十个单元连在一起,只是一个单元。
Transfer learning: stacked CNN (pruned to 3000 features)
X: 3000 features extracted with CNN
h: predicted steering angle
Sequence length: 50
第三位冠军,Chauffeur队使用了转移学习,但它暗示了神经网络的神奇,首先你需要大量数据来做任何事情,这就是成本,是神经网络的局限性,但是你能做的是有在一个庞大的数据集上训练的神经网络,ImageNet、VggNet AlexNet ResNet,这些网络都是在巨大的数据量上训练的,那些网络被训练来分辨猫和狗的区别或具体图的视觉识别,然后怎样将这些网络运用到我的问题中,驾驶或道路检测或者医疗诊断,有没有得癌症或者医疗诊断,神经网络的美,迁徒学习的承诺,可以用那个网络砍掉最后一层,全连接层它映射了那些,你在视觉空间里学到的高维特征,与判别猫和狗不同,你可以教他判断有没有癌症,你可以教他判断有没有车道,有没有卡车,只要网络工作的视觉空间与之相似,比如声音之类的如果与之相似,如果你学习的深入研究判别猫和狗的问题的特征是有用的,那么你已经学会了看这个世界,当你将要运用那些视觉知识的时候,你可以将知识迁移到另一个领域,这就是神经网络优雅的力量,就是它是可迁移的,他们在这里所做的是,没有花足够的时间来看代码,我不确定他们拿了哪个巨大的神经网络,但是他们使用了一个巨大的卷积神经网络,他们砍掉了最后一层,产生了3000个特征,他们利用每一帧的3000个特征,这就是xt,他们将它作为LSTM的输入,在那个情况下序列长度是50,那个过程在不同领域中,非常相似,这就是它的美,神经网络的艺术是超参数的调整,这就是棘手的部分,那是你无法学的部分,就是经验,可悲的是,这就是为什么他们叫随机梯度下降 SGD,Geoffrey Hinton,称它为随机毕业生下降,意味着你不断招毕业生来处理超参数,直到问题解决。