当前位置:文档之家› 深度 向手机端神经网络进发:MobileNet压缩指南

深度 向手机端神经网络进发:MobileNet压缩指南

深度  向手机端神经网络进发:MobileNet压缩指南
深度  向手机端神经网络进发:MobileNet压缩指南

深度向手机端神经网络进发:MobileNet压缩指南

选自Machine Think作者:Matthijs Hollemans机器之心编译

随着MobileNet 等面向移动设备的模型不断出现,机器学习正在走向实用化。不过,由于深度学习等方法需要消耗大量计算资源的因素,目前我们距离真正的移动端人工智能应用还有一段距离。在硬件之外,我们也需要对模型本身进行压缩,最近,荷兰工程师Matthijs Hollemans 向我们展示了他压缩MobileNet 的方法:通过删除卷积层的部分滤波器,他在保证准确性不变的情况下,让模型体量缩小了25%,让我们看看他是怎么做的。

随着机器学习技术向移动设备渗透的趋势,人们正在越来越注重于寻找让深度神经网络更快、更简洁的方式。

一种方法是提出更智能化的神经网络设计。例如:MobileNet 可以在获得相同结果的情况下比VGG-16 小32 倍,速度快上10 倍。

另一个方法是采用现有的神经网络,并用删除与结果无关的神经元的方法来压缩它。本文会着重介绍这种方法。

我们将着手改进MobileNet-224,让它的体量减小25%,换句话说,我们要把它的参数从400 万个减少到300 万个——同时不损失模型的准确性(好吧…只有一点点)。

如何做到更好

鉴于MobileNet 比VGG16 要小32 倍,而准确性相同,前者捕获知识的效率显然更高。

的确,VGG 模型中的神经网络连接比我们所需要的多很多。斯坦福大学韩松等人2015 年在论文《Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding》中提出的压缩网络方法展示了通过剪枝不必要的神经网络连接让VGG16 缩小49 倍,并保持准确性的方法。

现在问题来了:MobileNet 里还有不必要的连接接吗?即使这个模型已足够小,但我们能不能让它变得更小且不损失准确性呢?

当你试图压缩一个神经网络,需要权衡的问题是模型尺寸与准确性。通常,网络越小,速度就越快(当然也耗电更少),但预测出来的结果也会越差。例如,MobileNet 的性能要好过SqueezeNet,同时前者也比后者大上3.4 倍。

在理想情况下,我们总是希望找到尽可能小的神经网络——不过它们必须为我们传递准确的结果。这在机器学习中是一个开放问题,在正确的理论出现之前,让我们先试着从大模型开始剪枝吧。

在这个项目中,我使用了Keras 2.0.7 版中预训练的MobileNet,并运行在TensorFlow1.0.3 上。如果使用

ImageNet ILSVRC2012 验证集来测试,它的得分是:

Top-1 accuracy over 50000 images = 68.4%Top-5 accuracy over 50000 images = 88.3%这意味着它有68.4% 的几率一次性给出正确结果,如果范围扩大到排名前五的结果,则准确率则为88.3%。我们希望压缩这个模型,并让它保持以上分数。

注意:MobileNet 论文(MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications)声称它在ImageNet 上的准确率是70.6%,VGG16 是71.5%,GoogleNet 是69.8%。我们还不知道这个数据是来自ImageNet 还是验证集。无论如何,Keras 版的MobileNet 在验证集上的得分是68.4%,我们将会使用这个数字作为基准。

如何压缩一个卷积神经网络

就像多数的现代神经网络一样,MobileNet 有着许多卷积层。将每层的权重由小至大排列并剔除带有最小权重的连接就

是一种压缩卷积层的方法。

这种方法是由Han 等人在将VGG 压缩49 倍时提出的。听起来是个好方法但也存在着大缺陷:它造成了稀疏连接。不幸的是,GPUs 并不擅长处理稀疏矩阵,并且在计算上花费了更多的时间,尽管网络得到了压缩,你并未由此而省时。在这种情况下,压缩得更小并不意味着会更快。

但这对于追求魔鬼速度的我们并不奏效:小而快才是我们所追求的。我们将移除复杂的卷积滤波器,而不是修剪掉单个连接。这让我们保持连接紧密的同时也不会给GPU 带来麻烦。回想一下一个卷积层产出一个带有一组特定数量的输出通道的图像。每一个输出通道都包含了单一卷积滤波器带来的影响。这样一个滤波器接管了所有来自于输入通道的加权和,并将这一加权和写入单一的输出通道。我们要找出那种最不重要的卷积滤波器,并且将其输出通道从层中移除。例如,MobileNet 中的层conv_pw_12 有1024 个输出通道。我们会舍弃这其中的256 个通道使得被压缩版的

conv_pw_12 只有768 个输出通道。

注意:为了迎合Metal,我们应该以每次移除四个输出通道的速度进行。因为Metal 实际上是一个图形API,它用纹理(texture)来描述神经网络的图像数据,而每一个纹理为四个连续的通道保存数据。所以,如果我们只移除一个输出通道,Metal 仍然需要处理其他三个通道的纹理。考虑到Metal 的这一特点,我们只有以四的倍数来移除通道才会使得压缩层有意义。

现在问题是:我们可以移除哪些滤波器和输出通道?我们仅希望在不影响太多性能的情况下移除一些输出通道。

我们可以使用不同的度量方案来估计滤波器的相关性,但是我们也可以选择非常简单的方法:滤波器权重的L1 范数,

即所有滤波器权重的绝对值之和。

例如以下是MobileNet 前面几个卷积层(32 个滤波器)的L1 范数:如图所示,L1 范数非常小、接近于零的第一个层有10 个滤波器。我们或许可以去除这些滤波器。但是由于我们的目标是使用带有Metal 的网络,因此去除10 个滤波器没有意义。我们必须去除8 个或12 个滤波器。

我首先尝试去除8 个最小的滤波器。效果很好,准确率完全没有损失,因此我决定去除12 个。稍后你可以看到,它的效果依然很好。这意味着我们实际上能够去除该网络第一个卷积层中37.5% 的滤波器,而网络性能不会变差!

这里有MobileNet 所有卷积层的L1 范数示图。你可以看到很多层的滤波器对网络几乎没有贡献(低L1 范数)。注:由于并非所有层都具备相同数量的输出通道,上图中所有数据都按同样的标准进行归一化处理。横轴代表通道(按L1 范数的值从低到高),纵轴代表实际的L1 范数(同样是归一化处理后的)。

你可以在Li et al 所写的论文《Pruning Filters For Efficient Convnets》中获取该方法的更多详情。

从一个层中去除滤波器意味着该层输出通道的数量变少。自然而然,这对该网络下一层也有影响,因为下一层现在的输入通道变少了。

因此,我们还必须从那一层去除对应输入通道。当卷积之后

是批量归一化(BN)时,我们还必须从批量归一化参数中去除这些通道。MobileNet 事实上有三种卷积层:

一个常规的3×3 卷积(第一层)Depth-wise 卷积1×1 卷

积(又名pointwise convolution)

我们仅从3×3 和1×1 卷积中去除滤波器,而非

Depth-wise 卷积。一个Depth-wise 卷积必须具备相同数

量的输出通道和输入通道。压缩可能没有什么收获,而且Depth-wise 卷积很快(因为它们的工作比常规卷积要少)。因此我们主要将注意力集中在带有3×3 和1×1 卷积的层。再训练

因为从层中删除滤波器会让网络的准确性变差——毕竟,你在丢弃神经网络学习到的东西,即使它可能不是非常重要——你需要做一点重新训练,这样才能弥补丢弃造成的损失。在训练意味着你需要再次调用model.fit()。一点小小的试错后,我们就会把学习率定在0.00001——一个非常小的数字,任何稍大的训练参数都会让结果超出控制。学习率如此之小的原因是,在这里,大部分网络已经被训练过了,我们只想进行小改进来提升结果。

过程是这样:

1. 在层中4 倍并行地移除滤波器(即输出通道)

2. 再训练该神经网络几个epoch

3. 对验证集进行评估,以检查该神

经网络的准确性是否恢复至之前水准4. 移动到下一层并重

复这些步骤

正如你所看到的,这个过程费时费力,因为我们每次只能改动一层,而修改之后每次又要重新训练神经网络。每个层中,可以丢弃的滤波器都是不太一样的。

使用训练子集

MobileNet 已在ILSVRC 比赛数据集(也就是ImageNet)中进行过预训练了。这是一个巨大的数据集,其中包含超过120 万张训练图片。

依靠最近装配的深度学习机器(只有一块英伟达GTX

1080Ti 的Linux 系统),每个epoch 需要训练两小时之久。即使用5 万张图像验证集来做这件事也需要3 分钟。

毫无疑问,这样的硬件让快速迭代变得难以实现。我可不想每天盯着屏幕两个小时,只为看到模型出现一点点小变化。所以我们得在样本上找办法,而不是用完整的数据集,我在数据集1000 个类别中每类随机找出五张图片(这多少有点代表性),形成了5000 张图片的训练子集。现在每个epoch 只需要30 秒钟了。这要比两个小时方便多了!

为了进行验证,我从完整验证集中随机抽取了1000 张图片作为验证集,用它来评估网络性能只需要画上3 秒钟。

看来,使用样本的方法很有效。

压缩第一个卷积层

如你所见,第一个卷积层有10 个非常小的L1 规范滤波器。

因为对于Metal,我们需要以4 的倍数来去除滤波器,所

以我删除了具有最小L1 规范的12 个滤波器。

最初,我还没有从神经网络中删除任何滤波器,只是将他们的连接权重设置为0。理论上,这样的事情可以让Top-1 准确率从69.4% 降到68.7%——有一点损失,不过没有什么不是在训练不能解决的。

接下来,我创建了一个与原始层相同的新模型,并在这里删除了滤波器,所以在第一个卷积层中,实际上只有24 个输出通道(而不是原来的36 个)。但是现在准确率评分变得

很低了:29.9%,发生了什么?

理论上,将连接权重设置为0 和删除连接应该可以获得相

同的结果,但实践中却出了差错:我忘了将下一层相应输入通道的权重设置为0。而更糟的是,因为下一层是深度卷积,我还得设置相应的参数,让该层的批量归一化为0。教训:从一层中去除滤波器也会对其它层产生影响。而这些变化会影响评分。

所以删除第一层中的滤波器损失37.5% 的准确率不太值得?在检查整个模型后,我发现问题在于第二个批量范数(batch norm)层上12 个偏置值:当它们变成其他任何数字后,其他的东西都归零了。

看起来,是这12 个数字让68.7% 的识别率变成了29.9%,真的吗?这个神经网络有400 万个参数,12 个数字肯定不

能决定一切,在这样的思路下,我觉得我可以做点什么了。我用5000 张图片的子集重训练了神经网络10 个epoch (只用了五分钟),现在准确率重新回到了68.4%,这虽然不及原模型(69.4%),但已经很接近了。

一点样本图像就让准确率回到了65% 以上,这太简单了,请记住:我们用于重训练的样本大小只有整个数据集的

0.4%。我认为,如果这样一点图像就可以让分数大体回复,那么整个数据集的训练应该可以让准确率完全回归原水平。注解:使用相同的样本进行长时间训练可不是什么好主意。当你用同样的子集训练10 个epoch 之后,神经网络就会严重过拟合。所以在使用了10 个epoch 之后,你得换一个新的训练子集。

现在,第一卷积层减少了37.5% 的权重,这听起来不错,但是这只是小小的一层而已。它只有三个输入通道与32 个输出通道(削减后为24 个)。总共节省的参数是:

3×3×3×12=324,效果太不明显了,不过这是一个好的开始。最后的PW 卷积层

在压缩第一层后,我们可以考虑压缩分类层之前的最后一个卷积层。

在MobileNet 的Keras 版中,分类层也正好是一个卷积层,但是我们不能从这一卷积层中移除任何通道。因为这个网络是在ImageNet 中训练的,该数据集有1000 个种类,因

此分类层也必须有1000 个输出通道。如果我们删除了任何通道,那么模型就不能再对这些类别做预测。

conv_pw_13 层有1024 个输出通道,虽然并没有理论依据,但我们可以先尝试移除256 个。conv_pw_13 层有

104.8576 万个参数,它在整个网络中都是最大的层,因此

我们可以对它执行多一点的压缩。

这一层的L1 范数如下所示:从上图来看,移除256 个通道可能有点多,留待观察。

再一次,我们移除了网络层的输出通道,然后是批规范化层,然后调整下一层,因为它们也有一些输入通道。

移除256 个通道,不止为conv_pw_13 节省了

1024×1×1×256 = 262,144 个参数,也为分类层移除了256,000 个参数。

在压缩完conv_pw_13 层之后,验证得分掉到了60.7%(top1)和82.9%(top5)。也没多糟糕,特别是考虑到还

没再训练。

在样本上再训练10 个epochs 之后,准确率提升到了

63.6%。在新的训练样本上再多训练10 个epochs 之后,提升到了65.0%(top1)和86.1%(top5)。对10 分钟的训练来说,不错了。

得到0.65 的得分我已经很开心了,能够继续修剪其他的层。虽然还没得到最初的得分,但已经证明网络成功地补偿了修

剪的连接。

更多层& 真实再训练

接下来,我使用同样的方法修剪conv_pw_10(移除了512 个滤波器中的32 个)和conv_pw_12(移除了1024 个滤波器中的256 个)。

在每个新的网络层上,我发现要得到之前的标准准确率越来越难。在conv_pw_10 之后准确率是64.2%,conv_pw_12 之后只有63.4%。

每次我使用不同的训练样本,只是为了确保结果仍旧具有代表性,模型不会过拟合。

在pw_10 与pw_12 之后,我做了conv_pw_11。其实在选择压缩层上我没有总体规划,是随机选择的。

在conv_pw_11 上,我修剪了512 个滤波器中的96 个。在其他层上,我最多修剪掉滤波器个数的25%,部分是基于L1-norms 所获得的信息进行修剪,但主要是因为它是很好的约整数。但是,移除128 个滤波器导致准确率下降太多,再训练也无法提升到60% 以上。只剪除96 个滤波器有更好的结果,但再训练之后得分也只是61.5%。

在验证得分如此令人失望的情况下,无疑是我过于激动,移除了太多的滤波器,导致神经网络不再能够学习ImageNet。所有的再训练都是在5000 张图像的小样本上进行的,所以修剪过的网络只是在所有训练集上的一部分再训练的。时间

限制了网络只能在全部训练集上运行几轮。

在1 个epoch 之后,准确率达到66.4 (top 1)、0.87(top 5)。我并未使用数据增强,只使用了原始的训练图像。

既然已经开始,我决定多训练几个epoch,看看会有什么不同结果。在第二个epoch 之后,网络得分是67.2(top1)、87.7(top 5)。

之后,我又在完整训练集上训练了更多的epochs,且加入

了数据增强,用了更小的学习率。不幸的是,这对结果改善毫无益处。

于是,我停止了实验,时间不够。在多训练几轮,我保证有很大可能把网络再次压缩。而且,还有9 个pw 卷积层我们还没处理,我保证这些层也能修剪掉一些滤波器。

结论Original network size: 4,253,864 parametersCompressed network size: 3,210,232 parametersCompressed to: 75.5% of original sizeTop-1 accuracy over 50000 images = 67.2%Top-5 accuracy over 50000 images = 87.7%以上结果未能达到我的预期目标:网络确实压缩了25%,但准确率有点差,虽然准确率没有损

失25%。

因为我顾及的是整个流程,所以该工作流中有些地方可以改进。在选择需要移除的滤波器上,或者压缩网络层的顺序上,我做的也不科学。但对该项目而言,足够了,我只是想要获

取可能压缩神经网络的思路。

可以明显看到,我未能做到对网络的最优修剪。使用

L1-norms 可能不是确定滤波器重要度的最佳方式。也可能一次性只移除一些滤波器,而非砍掉网络层输出通道的1/4,这样会更好一些。我很开心使用的样本在再训练中表现非常好,不需要几个小时进行再训练,这意味着我能快速的进行新实验。

这件事是否值得做呢?我觉得是。假设你有一个神经网络在手机端运行需要25FPS,意味着每帧需要0.04 秒的处理时间。如果网络压缩了25%,假设这意味着处理速度快了25%,也就是每帧的处理时间为0.03 秒,节约了很大的时间。在运行流畅与运行不畅的APP 上,可能会有细微差别。原文地址:

https://www.doczj.com/doc/cc17084536.html,/blog/compressing-deep-neural-net s/

零基础入门深度学习(5) - 循环神经网络

[关闭] 零基础入门深度学习(5) - 循环神经网络 机器学习深度学习入门 无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了,《零基础入门深度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行了,没错,这是专门为程序员写的文章。虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看懂的(我周围是一群狂热的Clean Code程序员,所以我写的代码也不会很差)。 文章列表 零基础入门深度学习(1) - 感知器 零基础入门深度学习(2) - 线性单元和梯度下降 零基础入门深度学习(3) - 神经网络和反向传播算法 零基础入门深度学习(4) - 卷积神经网络 零基础入门深度学习(5) - 循环神经网络 零基础入门深度学习(6) - 长短时记忆网络(LSTM) 零基础入门深度学习(7) - 递归神经网络 往期回顾 在前面的文章系列文章中,我们介绍了全连接神经网络和卷积神经网络,以及它们的训练和使用。他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列;当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。这时,就需要用到深度学习领域中另一类非常重要神经网络:循环神经网络(Recurrent Neural Network)。RNN种类很多,也比较绕脑子。不过读者不用担心,本文将一如既往的对复杂的东西剥茧抽丝,帮助您理解RNNs以及它的训练算法,并动手实现一个循环神经网络。 语言模型 RNN是在自然语言处理领域中最先被用起来的,比如,RNN可以为语言模型来建模。那么,什么是语言模型呢? 我们可以和电脑玩一个游戏,我们写出一个句子前面的一些词,然后,让电脑帮我们写下接下来的一个词。比如下面这句:我昨天上学迟到了,老师批评了____。 我们给电脑展示了这句话前面这些词,然后,让电脑写下接下来的一个词。在这个例子中,接下来的这个词最有可能是『我』,而不太可能是『小明』,甚至是『吃饭』。 语言模型就是这样的东西:给定一个一句话前面的部分,预测接下来最有可能的一个词是什么。 语言模型是对一种语言的特征进行建模,它有很多很多用处。比如在语音转文本(STT)的应用中,声学模型输出的结果,往往是若干个可能的候选词,这时候就需要语言模型来从这些候选词中选择一个最可能的。当然,它同样也可以用在图像到文本的识别中(OCR)。 使用RNN之前,语言模型主要是采用N-Gram。N可以是一个自然数,比如2或者3。它的含义是,假设一个词出现的概率只与前面N个词相关。我

(完整版)深度神经网络及目标检测学习笔记(2)

深度神经网络及目标检测学习笔记 https://youtu.be/MPU2HistivI 上面是一段实时目标识别的演示,计算机在视频流上标注出物体的类别,包括人、汽车、自行车、狗、背包、领带、椅子等。 今天的计算机视觉技术已经可以在图片、视频中识别出大量类别的物体,甚至可以初步理解图片或者视频中的内容,在这方面,人工智能已经达到了3岁儿童的智力水平。这是一个很了不起的成就,毕竟人工智能用了几十年的时间,就走完了人类几十万年的进化之路,并且还在加速发展。 道路总是曲折的,也是有迹可循的。在尝试了其它方法之后,计算机视觉在仿生学里找到了正确的道路(至少目前看是正确的)。通过研究人类的视觉原理,计算机利用深度神经网络(Deep Neural Network,NN)实现了对图片的识别,包 括文字识别、物体分类、图像理解等。在这个过程中,神经元和神经网络模型、大数据技术的发展,以及处理器(尤其是GPU)强大的算力,给人工智能技术 的发展提供了很大的支持。 本文是一篇学习笔记,以深度优先的思路,记录了对深度学习(Deep Learning)的简单梳理,主要针对计算机视觉应用领域。 一、神经网络 1.1 神经元和神经网络 神经元是生物学概念,用数学描述就是:对多个输入进行加权求和,并经过激活函数进行非线性输出。 由多个神经元作为输入节点,则构成了简单的单层神经网络(感知器),可以进行线性分类。两层神经网络则可以完成复杂一些的工作,比如解决异或问题,而且具有非常好的非线性分类效果。而多层(两层以上)神经网络,就是所谓的深度神经网络。 神经网络的工作原理就是神经元的计算,一层一层的加权求和、激活,最终输出结果。深度神经网络中的参数太多(可达亿级),必须靠大量数据的训练来“这是苹在父母一遍遍的重复中学习训练的过程就好像是刚出生的婴儿,设置。.果”、“那是汽车”。有人说,人工智能很傻嘛,到现在还不如三岁小孩。其实可以换个角度想:刚出生婴儿就好像是一个裸机,这是经过几十万年的进化才形成的,然后经过几年的学习,就会认识图片和文字了;而深度学习这个“裸机”用了几十年就被设计出来,并且经过几个小时的“学习”,就可以达到这个水平了。 1.2 BP算法 神经网络的训练就是它的参数不断变化收敛的过程。像父母教婴儿识图认字一样,给神经网络看一张图并告诉它这是苹果,它就把所有参数做一些调整,使得它的计算结果比之前更接近“苹果”这个结果。经过上百万张图片的训练,它就可以达到和人差不多的识别能力,可以认出一定种类的物体。这个过程是通过反向传播(Back Propagation,BP)算法来实现的。 建议仔细看一下BP算法的计算原理,以及跟踪一个简单的神经网络来体会训练的过程。

深度学习系列(7):神经网络的优化方法

机器?学习中,梯度下降法常?用来对相应的算法进?行行训练。常?用的梯度下降法包含三种不不同的形式,分别是BGD 、SGD 和MBGD ,它们的不不同之处在于我们在对?目标函数进?行行梯度更更新时所使?用的样本量量的多少。 以线性回归算法来对三种梯度下降法进?行行?比较。 ?一般线性回归函数的假设函数为: (即有n 个特征)对应的损失函数为下图即为?一个?二维参数和组对应的损失函数可视化图像:批量量梯度下降法(Batch Gradient Descent ,简称BGD )是梯度下降法最原始的形式,它的具体思路路是在更更新每?一参数时都使?用所有的样本来进?行行更更新,其数学形式如下: 深度学习系列列(7):神经?网络的优化?方法?一、Gradient Descent [Robbins and Monro, 1951,Kiefer et al., 1952] = h θ∑j =0n θj x j L (θ)=12m ∑i =1 m (h ()?)x i y i 2θ0θ11.1 BGD (Batch Gradient Descent )

还是以上?面?小球的例例?子来看,momentum ?方式下?小球完全是盲?目被动的?方式滚下的。这样有个缺 三、NAG (Nesterov accelerated gradient )[Nesterov, 1983]

点就是在邻近最优点附近是控制不不住速度的。我们希望?小球可以预判后?面的“地形”,要是后?面地形还是很陡峭,那就继续坚定不不移地?大胆?走下去,不不然的话就减缓速度。 当然,?小球?自?己也不不知道真正要?走到哪?里里,这?里里以 作为下?一个位置的近似,将动量量的公式更更改为: 相?比于动量量?方式考虑的是上?一时刻的动能和当前点的梯度,?而NAG 考虑的是上?一时刻的梯度和近似下?一点的梯度,这使得它可以先往前探探路路,然后慎重前进。 Hinton 的slides 是这样给出的: 其中两个blue vectors 分别理理解为梯度和动能,两个向量量和即为momentum ?方式的作?用结果。?而靠左边的brown vector 是动能,可以看出它那条blue vector 是平?行行的,但它预测了了下?一阶段的梯度是red vector ,因此向量量和就是green vector ,即NAG ?方式的作?用结果。 momentum 项和nesterov 项都是为了了使梯度更更新更更加灵活,对不不同情况有针对性。但是,?人?工设置?一些学习率总还是有些?生硬,接下来介绍?几种?自适应学习率的?方法 训练深度?网络的时候,可以让学习率随着时间退?火。因为如果学习率很?高,系统的动能就过?大,参数向量量就会?无规律律地变动,?无法稳定到损失函数更更深更更窄的部分去。对学习率衰减的时机把握很有技巧:如果慢慢减?小,可能在很?长时间内只能浪费计算资源然后看着它混沌地跳动,实际进展很少;但如果快速地减少,系统可能过快地失去能量量,不不能到达原本可以到达的最好位置。通常,实现学习率退?火有三种?方式: θ?γv t ?1 =γ+ηJ (θ?γ) v t v t ?1?θv t ?1θ=θ?v t 四、学习率退?火

吴恩达深度学习课程:神经网络和深度学习

吴恩达深度学习课程:神经网络和深度学习[中英文字幕+ppt课件] 内容简介 吴恩达(Andrew Ng)相信大家都不陌生了。2017年8 月8 日,吴恩达在他自己创办的在线教育平台Coursera 上线了他的人工智能专项课程(Deep Learning Specialization)。此课程广受好评,通过视频讲解、作业与测验等让更多的人对人工智能有了了解与启蒙,国外媒体报道称:吴恩达这次深度学习课程是迄今为止,最全面、系统和容易获取的深度学习课程,堪称普通人的人工智能第一课。 关注微信公众号datayx 然后回复“深度学习”即可获取。 第一周深度学习概论: 学习驱动神经网络兴起的主要技术趋势,了解现今深度学习在哪里应用、如何应用。 1.1 欢迎来到深度学习工程师微专业 1.2 什么是神经网络? 1.3 用神经网络进行监督学习 1.4 为什么深度学习会兴起? 1.5 关于这门课

1.6 课程资源 第二周神经网络基础: 学习如何用神经网络的思维模式提出机器学习问题、如何使用向量化加速你的模型。 2.1 二分分类 2.2 logistic 回归 2.3 logistic 回归损失函数 2.4 梯度下降法 2.5 导数 2.6 更多导数的例子 2.7 计算图 2.8 计算图的导数计算 2.9 logistic 回归中的梯度下降法 2.10 m 个样本的梯度下降 2.11 向量化 2.12 向量化的更多例子 2.13 向量化logistic 回归 2.14 向量化logistic 回归的梯度输出 2.15 Python 中的广播 2.16 关于python / numpy 向量的说明 2.17 Jupyter / Ipython 笔记本的快速指南 2.18 (选修)logistic 损失函数的解释 第三周浅层神经网络:

(完整版)深度神经网络全面概述

深度神经网络全面概述从基本概念到实际模型和硬件基础 深度神经网络(DNN)所代表的人工智能技术被认为是这一次技术变革的基石(之一)。近日,由IEEE Fellow Joel Emer 领导的一个团队发布了一篇题为《深度神经网络的有效处理:教程和调研(Efficient Processing of Deep Neural Networks: A Tutorial and Survey)》的综述论文,从算法、模型、硬件和架构等多个角度对深度神经网络进行了较为全面的梳理和总结。鉴于该论文的篇幅较长,机器之心在此文中提炼了原论文的主干和部分重要内容。 目前,包括计算机视觉、语音识别和机器人在内的诸多人工智能应用已广泛使用了深度神经网络(deep neural networks,DNN)。DNN 在很多人工智能任务之中表现出了当前最佳的准确度,但同时也存在着计算复杂度高的问题。因此,那些能帮助DNN 高效处理并提升效率和吞吐量,同时又无损于表现准确度或不会增加硬件成本的技术是在人工智能系统之中广泛部署DNN 的关键。 论文地址:https://https://www.doczj.com/doc/cc17084536.html,/pdf/1703.09039.pdf 本文旨在提供一个关于实现DNN 的有效处理(efficient processing)的目标的最新进展的全面性教程和调查。特别地,本文还给出了一个DNN 综述——讨论了支持DNN 的多种平台和架构,并强调了最新的有效处理的技术的关键趋势,这些技术或者只是通过改善硬件设计或者同时改善硬件设计和网络算法以降低DNN 计算成本。本文也会对帮助研究者和从业者快速上手DNN 设计的开发资源做一个总结,并凸显重要的基准指标和设计考量以评估数量快速增长的DNN 硬件设计,还包括学界和产业界共同推荐的算法联合设计。 读者将从本文中了解到以下概念:理解DNN 的关键设计考量;通过基准和对比指标评估不同的DNN 硬件实现;理解不同架构和平台之间的权衡;评估不同DNN 有效处理技术的设计有效性;理解最新的实现趋势和机遇。 一、导语 深度神经网络(DNN)目前是许多人工智能应用的基础[1]。由于DNN 在语音识别[2] 和图像识别[3] 上的突破性应用,使用DNN 的应用量有了爆炸性的增长。这些DNN 被部署到了从自动驾驶汽车[4]、癌症检测[5] 到复杂游戏[6] 等各种应用中。在这许多领域中,DNN 能够超越人类的准确率。而DNN 的出众表现源于它能使用统计学习方法从原始感官数据中提取高层特征,在大量的数据中获得输入空间的有效表征。这与之前使用手动提取特征或专家设计规则的方法不同。 然而DNN 获得出众准确率的代价是高计算复杂性成本。虽然通用计算引擎(尤其是GPU),已经成为许多DNN 处理的砥柱,但提供对DNN 计算更专门化的加速方法也越来越热门。本文的目标是提供对DNN、理解DNN 行为的各种工具、有效加速计算的各项技术的概述。 该论文的结构如下:

神经网络及深度学习

可用于自动驾驶的神经网络及深度学习 高级辅助驾驶系统(ADAS)可提供解决方案,用以满足驾乘人员对道路安全及出行体验的更高要求。诸如车道偏离警告、自动刹车及泊车辅助等系统广泛应用于当前的车型,甚至是功能更为强大的车道保持、塞车辅助及自适应巡航控制等系统的配套使用也让未来的全自动驾驶车辆成为现实。 作者:来源:电子产品世界|2017-02-27 13:55 收藏 分享 高级辅助驾驶系统(ADAS)可提供解决方案,用以满足驾乘人员对道路安全及出行体验的更高要求。诸如车道偏离警告、自动刹车及泊车辅助等系统广泛应用于当前的车型,甚至是功能更为强大的车道保持、塞车辅助及自适应巡航控制等系统的配套使用也让未来的全自动驾驶车辆成为现实。 如今,车辆的很多系统使用的都是机器视觉。机器视觉采用传统信号处理技术来检测识别物体。对于正热衷于进一步提高拓展ADAS功能的汽车制造业而言,深度学习神经网络开辟了令人兴奋的研究途径。为了实现从诸如高速公路全程自动驾驶仪的短时辅助模式到专职无人驾驶旅行的自动驾驶,汽车制造业一直在寻求让响应速度更快、识别准确度更高的方法,而深度学习技术无疑为其指明了道路。 以知名品牌为首的汽车制造业正在深度学习神经网络技术上进行投资,并向先进的计算企业、硅谷等技术引擎及学术界看齐。在中国,百度一直在此技术上保持领先。百度计划在2019 年将全自动汽车投入商用,并加大全自动汽车的批量生产力度,使其在2021 年可广泛投入使用。汽车制造业及技术领军者之间的密切合作是嵌入式系统神经网络发展的催化剂。这类神经网络需要满足汽车应用环境对系统大小、成本及功耗的要求。 1轻型嵌入式神经网络 卷积式神经网络(CNN)的应用可分为三个阶段:训练、转化及CNN在生产就绪解决方案中的执行。要想获得一个高性价比、针对大规模车辆应用的高效结果,必须在每阶段使用最为有利的系统。 训练往往在线下通过基于CPU的系统、图形处理器(GPU)或现场可编程门阵列(FPGA)来完成。由于计算功能强大且设计人员对其很熟悉,这些是用于神经网络训练的最为理想的系统。 在训练阶段,开发商利用诸如Caffe(Convolution Architecture For Feature Extraction,卷积神经网络架构)等的框架对CNN 进行训练及优化。参考图像数据库用于确定网络中神经元的最佳权重参数。训练结束即可采用传统方法在CPU、GPU 或FPGA上生成网络及原型,尤其是执行浮点运算以确保最高的精确度。 作为一种车载使用解决方案,这种方法有一些明显的缺点。运算效率低及成本高使其无法在大批量量产系统中使用。 CEVA已经推出了另一种解决方案。这种解决方案可降低浮点运算的工作负荷,并在汽车应用可接受的功耗水平上获得实时的处理性能表现。随着全自动驾驶所需的计算技术的进一步发展,对关键功能进行加速的策略才能保证这些系统得到广泛应用。 利用被称为CDNN的框架对网络生成策略进行改进。经过改进的策略采用在高功耗浮点计算平台上(利用诸如Caffe的传统网络生成器)开发的受训网络结构和权重,并将其转化为基于定点运算,结构紧凑的轻型的定制网络模型。接下来,此模型会在一个基于专门优化的成像和视觉DSP芯片的低功耗嵌入式平台上运行。图1显示了轻型嵌入式神经网络的生成

深度神经网络及目标检测学习笔记

深度神经网络及目标检测学习笔记 https://youtu.be/MPU2HistivI 上面是一段实时目标识别的演示,计算机在视频流上标注出物体的类别,包括人、汽车、自行车、狗、背包、领带、椅子等。 今天的计算机视觉技术已经可以在图片、视频中识别出大量类别的物体,甚至可以初步理解图片或者视频中的内容,在这方面,人工智能已经达到了3岁儿童的智力水平。这是一个很了不起的成就,毕竟人工智能用了几十年的时间,就走完了人类几十万年的进化之路,并且还在加速发展。 道路总是曲折的,也是有迹可循的。在尝试了其它方法之后,计算机视觉在仿生学里找到了正确的道路(至少目前看是正确的)。通过研究人类的视觉原理,计算机利用深度神经网络(DeepNeural Network,NN)实现了对图片的识别,包括文字识别、物体分类、图像理解等。在这个过程中,神经元和神经网络模型、大数据技术的发展,以及处理器(尤其是GPU)强大的算力,给人工智能技术的发展提供了很大的支持。 本文是一篇学习笔记,以深度优先的思路,记录了对深度学习(Deep Learning)的简单梳理,主要针对计算机视觉应用领域。 一、神经网络 1.1 神经元和神经网络 神经元是生物学概念,用数学描述就是:对多个输入进行加权求和,并经过激活函数进行非线性输出。 由多个神经元作为输入节点,则构成了简单的单层神经网络(感知器),可以进行线性分类。两层神经网络则可以完成复杂一些的工作,比如解决异或问题,而且具有非常好的非线性分类效果。而多层(两层以上)神经网络,就是所谓的深度神经网络。 神经网络的工作原理就是神经元的计算,一层一层的加权求和、激活,最终输出结果。深度神经网络中的参数太多(可达亿级),必须靠大量数据的训练来设置。训练的过程就好像是刚出生的婴儿,在父母一遍遍的重复中学习“这是苹

深度学习与全连接神经网络

统计建模与R语言 全连接神经网络 学院航空航天学院 专业机械电子工程 年级 2019级 学生学号 19920191151134 学生姓名梅子阳

一、绪论 1、人工智能背景 信息技术是人类历史上的第三次工业革命,计算机、互联网、智能家居等技术的普及极大地方便了人们的日常生活。通过编程的方式,人类可以将提前设计好的交互逻辑交给机器重复且快速地执行,从而将人类从简单枯燥的重复劳动工作中解脱出来。但是对于需要较高智能水平的任务,如人脸识别、聊天机器人、自动驾驶等任务,很难设计明确的逻辑规则,传统的编程方式显得力不从心,而人工智能(Artificial Intelligence,简称 AI)是有望解决此问题的关键技术。 随着深度学习算法的崛起,人工智能在部分任务上取得了类人甚至超人的智力水平,如围棋上 AlphaGo 智能程序已经击败人类最强围棋专家之一柯洁,在 Dota2 游戏上OpenAI Five 智能程序击败冠军队伍 OG,同时人脸识别、智能语音、机器翻译等一项项实用的技术已经进入到人们的日常生活中。现在我们的生活处处被人工智能所环绕,尽管目前能达到的智能水平离通用人工智能(Artificial General Intelligence,简称 AGI)还有一段距离,但是我们仍坚定地相信人工智能的时代已经来临。 怎么实现人工智能是一个非常广袤的问题。人工智能的发展主要经历过三个阶段,每个阶段都代表了人们从不同的角度尝试实现人工智能的探索足迹。早期,人们试图通过总结、归纳出一些逻辑规则,并将逻辑规则以计算机程序的方式实现,来开发出智能系统。但是这种显式的规则往往过于简单,并且很难表达复杂、抽象的概念和规则。这一阶段被称为推理期。 1970 年代,科学家们尝试通过知识库加推理的方式解决人工智能,通过建庞大复杂的专家系统来模拟人类专家的智能水平。这些明确指定规则的方式存在一个最大的难题,就是很多复杂、抽象的概念无法用具体的代码实现。比如人类对图片的识别、对语言的理解过程,根本无法通过既定规则模拟。为了解决这类问题,一门通过让机器自动从数据中学习规则的研究学科诞生了,称为机器学习,并在 1980 年代成为人工智能中的热门学科。在机器学习中,有一门通过神经网络来学习复杂、抽象逻辑的方向,称为神经网络。神经网络方向的研究经历了两起两落。2012 年开始,由于效果极为显著,应用深层神经网络技术在计算机视觉、自然语言处理、机器人等领域取得了重大突破,部分任务上甚至超越了人类智能水平,开启了以深层神经网络为代表的人工智能的第三次复兴。深层神经网络有了一个新名字:深度学习。一般来讲,神经网络和深度学习的本质区别并不大,深度学习特指基于深层神经网络实现的模型或算法。 2、神经网络与深度学习 将神经网络的发展历程大致分为浅层神经网络阶段和深度学习阶段,以2006 年为分割点。2006 年以前,深度学习以神经网络和连接主义名义发展,

神经网络11大常见陷阱及应对方法

深度学习的这些坑你都遇到过吗?神 经网络11 大常见陷阱及应对方法【新智元导读】如果你的神经网络不工作,该怎么办?本文作者列举了搭建神经网络时可能遇到的11个常见问题,包括预处理数据、正则化、学习率、激活函数、网络权重设置等,并提供解决方法和原因解释,是深度学习实践的有用资料。 如果你的神经网络不工作,该怎么办?作者在这里列出了建神经网络时所有可能做错的事情,以及他自己的解决经验。 1.忘记规范化数据 2.忘记检查结果 3.忘记预处理数据 4.忘记使用正则化 5.使用的batch太大 6.使用了不正确的学习率 7.在最后层使用了错误的激活函数 8.你的网络包含了Bad Gradients 9.初始化网络权重不正确 10.你使用的网络太深了 11.使用隐藏单元的数量不对 忘记规范化数据了

问题描述 在使用神经网络时,思考如何正确地规范化数据是非常重要的。这是一个无法改变的步骤——假如这一步骤没有小心、正确地做,你的网络就几乎不可能工作。由于这个步骤非常重要,在深度学习社区中也是众所周知的,所以它很少在论文中被提及,因此初学者常常在这一步出错。 怎样解决? 一般来说,规范化(normalization)的意思是:将数据减去均值,再除以其方差。通常这是对每个输入和输出特征单独做的,但你可能经常会希望对特征组做或特别主翼处理某些特征的规范化。 为什么? 我们需要对数据进行规范化的主要原因是大部分的神经网络流程假设输入和输出数据都以一个约是1的标准差和约是0的均值分布。这些假设在深度学习文献中到处都是,从权重初始化、激活函数到训练网络的优化算法。 还需要注意 未训练的神经网络通常会输出约在-1到1范围之间的值。如果你希望输出其他范围的值(例如RBG图像以0-255范围的字节存储)会出现一些问题。在开始训练时,网络会非常不稳定,因为比如说预期值是255,网络产生的值是-1或1——这会被大多数用于训练神经网络的优化算法认为是严重的错误。这会产生过大的梯度,可能导致梯度爆炸。如果不爆炸,那么训练的前几个阶段就是浪费的,因为网络首先学习的是将输出值缩小到大致是预期的范围。如果规范化了数据(在这种情况下,你可以简单地将数值除以128再减去1),就不会发生这些问题。 一般来说,神经网络中特征的规模也决定了其重要性。如果输出中的有一个特征规模很大,那么与其他特征相比它会产生更大的错误。类似地,输入中的大规模特征将主导网络并导致下游发生更大的变化。因此,使用神经网络库的自动规范化往往是不够的,这些神经网络库会在每个特征的基础上盲目地减去平均值并除以方差。你可能有一个输入特征,通常范围在0.0到0.001之间——这个特征的范围如此之小,因为它是一个不重要的特征(在这种情况下,你可能不想重新scale),或者因为与其他特征相比它有一些小的单元(在这种情

深度学习与神经网络

CDA数据分析研究院出品,转载需授权 深度学习是机器学习的一个子领域,研究的算法灵感来自于大脑的结构和功能,称为人工神经网络。 如果你现在刚刚开始进入深度学习领域,或者你曾经有过一些神经网络的经验,你可能会感到困惑。因为我知道我刚开始的时候有很多的困惑,我的许多同事和朋友也是这样。因为他们在20世纪90年代和21世纪初就已经学习和使用神经网络了。 该领域的领导者和专家对深度学习的观点都有自己的见解,这些具体而细微的观点为深度学习的内容提供了很多依据。 在这篇文章中,您将通过听取该领域的一系列专家和领导者的意见,来了解什么是深度学习以及它的内容。 来让我们一探究竟吧。 深度学习是一种大型的神经网络 Coursera的Andrew Ng和百度研究的首席科学家正式创立了Google Brain,最终导致了大量Google服务中的深度学习技术的产品化。 他已经说了很多关于深度学习的内容并且也写了很多,这是一个很好的开始。 在深度学习的早期讨论中,Andrew描述了传统人工神经网络背景下的深度学习。在2013年的题为“ 深度学习,自学习和无监督特征学习”的演讲中“他将深度学习的理念描述为: 这是我在大脑中模拟的对深度学习的希望: - 使学习算法更好,更容易使用。 - 在机器学习和人工智能方面取得革命性进展。 我相信这是我们迈向真正人工智能的最好机会

后来他的评论变得更加细致入微了。 Andrew认为的深度学习的核心是我们现在拥有足够快的计算机和足够多的数据来实际训练大型神经网络。在2015年ExtractConf大会上,当他的题目“科学家应该了解深度学习的数据”讨论到为什么现在是深度学习起飞的时候,他评论道: 我们现在拥有的非常大的神经网络......以及我们可以访问的大量数据 他还评论了一个重要的观点,那就是一切都与规模有关。当我们构建更大的神经网络并用越来越多的数据训练它们时,它们的性能会不断提高。这通常与其他在性能上达到稳定水平的机器学习技术不同。 对于大多数旧时代的学习算法来说......性能将达到稳定水平。......深度学习......是第一类算法......是可以扩展的。...当你给它们提供更多的数据时,它的性能会不断提高 他在幻灯片中提供了一个漂亮的卡通片: 最后,他清楚地指出,我们在实践中看到的深度学习的好处来自有监督的学习。从2015年的ExtractConf演讲中,他评论道: 如今的深度学习几乎所有价值都是通过有监督的学习或从有标记的数据中学习 在2014年的早些时候,在接受斯坦福大学的题为“深度学习”的演讲时,他也发出了类似的评论。 深度学习疯狂发展的一个原因是它非常擅长监督学习

深度神经网络

1. 自联想神经网络与深度网络 自联想神经网络是很古老的神经网络模型,简单的说,它就是三层BP网络,只不过它的输出等于输入。很多时候我们并不要求输出精确的等于输入,而是允许一定的误差存在。所以,我们说,输出是对输入的一种重构。其网络结构可以很简单的表示如下: 如果我们在上述网络中不使用sigmoid函数,而使用线性函数,这就是PCA模型。中间网络节点个数就是PCA模型中的主分量个数。不用担心学习算法会收敛到局部最优,因为线性BP网络有唯一的极小值。

在深度学习的术语中,上述结构被称作自编码神经网络。从历史的角度看,自编码神经网络是几十年前的事情,没有什么新奇的地方。 既然自联想神经网络能够实现对输入数据的重构,如果这个网络结构已经训练好了,那么其中间层,就可以看过是对原始输入数据的某种特征表示。如果我们把它的第三层去掉,这样就是一个两层的网络。如果,我们把这个学习到特征再用同样的方法创建一个自联想的三层BP网络,如上图所示。换言之,第二次创建的三层自联想网络的输入是上一个网络的中间层的输出。用同样的训练算法,对第二个自联想网络进行学习。那么,第二个自联想网络的中间层是对其输入的某种特征表示。如果我们按照这种方法,依次创建很多这样的由自联想网络组成的网络结构,这就是深度神经网络,如下图所示:

注意,上图中组成深度网络的最后一层是级联了一个softmax分类器。 深度神经网络在每一层是对最原始输入数据在不同概念的粒度表示,也就是不同级别的特征描述。 这种层叠多个自联想网络的方法,最早被Hinton想到了。 从上面的描述中,可以看出,深度网络是分层训练的,包括最后一层的分类器也是单独训练的,最后一层分类器可以换成任何一种分类器,例如SVM,HMM等。上面的每一层单独训练使用的都是BP算法。相信这一思路,Hinton早就实验过了。 2. DBN神经网络模型 使用BP算法单独训练每一层的时候,我们发现,必须丢掉网络的第三层,才能级联自联想神经网络。然而,有一种更好的神经网络模型,这就是受限玻尔兹曼机。使用层叠波尔兹曼机组成深度神经网络的方法,在深度学习里被称作深度信念网络DBN,这是目前非

BP神经网络及深度学习研究-综述(最新整理)

BP神经网络及深度学习研究 摘要:人工神经网络是一门交叉性学科,已广泛于医学、生物学、生理学、哲学、信息学、计算机科学、认知学等多学科交叉技术领域,并取得了重要成果。BP(Back Propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。本文将主要介绍神经网络结构,重点研究BP神经网络原理、BP神经网络算法分析及改进和深度学习的研究。 关键词:BP神经网络、算法分析、应用 1 引言 人工神经网络(Artificial Neural Network,即ANN ),作为对人脑最简单的一种抽象和模拟,是人们模仿人的大脑神经系统信息处理功能的一个智能化系统,是20世纪80 年代以来人工智能领域兴起的研究热点。人工神经网络以数学和物理方法以及信息处理的角度对人脑神经网络进行抽象,并建立某种简化模型,旨在模仿人脑结构及其功能的信息处理系统。 人工神经网络最有吸引力的特点就是它的学习能力。因此从20世纪40年代人工神经网络萌芽开始,历经两个高潮期及一个反思期至1991年后进入再认识与应用研究期,涌现出无数的相关研究理论及成果,包括理论研究及应用研究。最富有成果的研究工作是多层网络BP算法,Hopfield网络模型,自适应共振理论,自组织特征映射理论等。因为其应用价值,该研究呈愈演愈烈的趋势,学者们在多领域中应用[1]人工神经网络模型对问题进行研究优化解决。 人工神经网络是由多个神经元连接构成,因此欲建立人工神经网络模型必先建立人工神经元模型,再根据神经元的连接方式及控制方式不同建立不同类型的人工神经网络模型。现在分别介绍人工神经元模型及人工神经网络模型。 1.1 人工神经元模型 仿生学在科技发展中起着重要作用,人工神经元模型的建立来源于生物神经元结构的仿生模拟,用来模拟人工神经网络[2]。人们提出的神经元模型有很多,其中最早提出并且影响较大的是1943年心理学家McCulloch和数学家W. Pitts 在分析总结神经元基本特性的基础上首先提出的MP模型。该模型经过不断改进后,形成现在广泛应用的BP神经元模型。人工神经元模型是由人量处理单元厂泛互连而成的网络,是人脑的抽象、简化、模拟,反映人脑的基本特性。一般来说,作为人工神经元模型应具备三个要素: (1)具有一组突触或连接,常用表示神经元i和神经元j之间的连接强度。 w ij (2)具有反映生物神经元时空整合功能的输入信号累加器。

大数据分析的深度神经网络方法

章毅 四川大学计算机学院2016.03.25 重庆

提纲 大数据简介 大脑新皮层的神经网络结构 大脑新皮层神经网络的记忆 大数据分析GPU深度神经网络计算平台

大数据商业应用诞生 全世界兴起大数据分布式存储与并行计Google Brain 计划,激起大规模神经网络在深度神经网络在语音大数据、图像大数据领域接连取得巨大突破 G. E. Hinton 教授在《Science 》发表文章,基于深度神经网络的大数据分析方法在学术界和工工信部白皮书指出:大数据分析是大数据研究的重要环节,其中大数据分“大数据” 一词诞生 2000 1997 2004 2006 2011 2012 2014 2015 我国大数据产业兴起 2013 美国奥巴马政府发布了大数据计划,将大数据战略上升为美国国家意志 国务院发布大数据发展行动纲要,大数据正式上升为我国国家意志

体量浩大Volume 多源异构Variety 生成快速Velocity 价值稀疏Value 大数据的基本特点大数据的目标实现大数 据转换为 价值 大数据的概念 问题:怎样实现大数据的目标?

大数据 关键技术 价值 大数据分析是大数据转化为价值的桥梁 问题:怎样设计大数据分析方法? 展示平台 ?大数据知识展示 ?大数据产品 数据平台 ?大数据采集,标记 ?大数据存储,管理 大数据分析是大数据转 换为价值的最重要的环 节,否则,大数据仅仅 是一堆数据而已。

?每秒信息传递和交换1000亿次,PB 级数据 ?同步处理声音、温度、气味、图像等数据 ?50亿本书的存储容量 ?每秒人眼数据量140.34GB ? 在识别、判断、预测等智能行为方面展现出十分强大的能力 ?优秀的大数据处理器 人类大脑是天然的大数据处理器! 进入大脑的信息被编码为某种数据,进而由大脑神经网络处理

《神经网络与深度学习综述DeepLearning15May2014

Draft:Deep Learning in Neural Networks:An Overview Technical Report IDSIA-03-14/arXiv:1404.7828(v1.5)[cs.NE] J¨u rgen Schmidhuber The Swiss AI Lab IDSIA Istituto Dalle Molle di Studi sull’Intelligenza Arti?ciale University of Lugano&SUPSI Galleria2,6928Manno-Lugano Switzerland 15May2014 Abstract In recent years,deep arti?cial neural networks(including recurrent ones)have won numerous con-tests in pattern recognition and machine learning.This historical survey compactly summarises relevant work,much of it from the previous millennium.Shallow and deep learners are distinguished by the depth of their credit assignment paths,which are chains of possibly learnable,causal links between ac- tions and effects.I review deep supervised learning(also recapitulating the history of backpropagation), unsupervised learning,reinforcement learning&evolutionary computation,and indirect search for short programs encoding deep and large networks. PDF of earlier draft(v1):http://www.idsia.ch/~juergen/DeepLearning30April2014.pdf LATEX source:http://www.idsia.ch/~juergen/DeepLearning30April2014.tex Complete BIBTEX?le:http://www.idsia.ch/~juergen/bib.bib Preface This is the draft of an invited Deep Learning(DL)overview.One of its goals is to assign credit to those who contributed to the present state of the art.I acknowledge the limitations of attempting to achieve this goal.The DL research community itself may be viewed as a continually evolving,deep network of scientists who have in?uenced each other in complex ways.Starting from recent DL results,I tried to trace back the origins of relevant ideas through the past half century and beyond,sometimes using“local search”to follow citations of citations backwards in time.Since not all DL publications properly acknowledge earlier relevant work,additional global search strategies were employed,aided by consulting numerous neural network experts.As a result,the present draft mostly consists of references(about800entries so far).Nevertheless,through an expert selection bias I may have missed important work.A related bias was surely introduced by my special familiarity with the work of my own DL research group in the past quarter-century.For these reasons,the present draft should be viewed as merely a snapshot of an ongoing credit assignment process.To help improve it,please do not hesitate to send corrections and suggestions to juergen@idsia.ch.

深度神经网络的关键技术及其在自动驾驶领域的应用

ISSN 1674-8484 CN 11-5904/U 汽车安全与节能学报, 第10卷第2期, 2019年 J Automotive Safety and Energy, Vol. 10 No. 2, 2019 1/13 119—145 深度神经网络的关键技术及其在自动驾驶领域的应用 李升波1,关?阳1,侯?廉1,高洪波1,段京良2,梁?爽3,汪?玉3,成?波1, 李克强1,任?伟4,李?骏1 (1. 清华大学车辆与运载学院,北京100084,中国;2. 加州大学伯克利分校机械系,加州 94720,美国; 3. 清华大学电子工程系,北京100084,中国; 4. 加州大学河滨分校电子计算机系,加州92521,美国) 摘?要:?智能化是汽车的三大变革技术之一,深度学习具有拟合能力优、表征能力强和适用范围广的 特点,是进一步提升汽车智能性的重要途径。该文系统性总结了用于自动驾驶汽车的深度神经网络(DNN)技术,包括发展历史、主流算法以及感知、决策与控制技术应用。回顾了神经网络的历史及现状, 总结DNN的“神经元-层-网络”3级结构,重点介绍卷积网络和循环网络的特点以及代表性模型; 阐述了以反向传播(BP)为核心的深度网络训练算法,列举用于深度学习的常用数据集与开源框架,概 括了网络计算平台和模型优化设计技术;讨论DNN在自动驾驶汽车的环境感知、自主决策和运动控 制3大方向的应用现状及其优缺点,具体包括物体检测和语义分割、分层式和端到端决策、汽车纵 横向运动控制等;针对用于自动驾驶汽车的DNN技术,指明了不同问题的适用方法以及关键问题的 未来发展方向。 关键词:?智能汽车;自动驾驶;深度神经网络(DNN);深度学习;环境感知;自主决策;运动控制 中图分类号:?TP 18;U 463.6 文献标志码:?A DOI:?10.3969/j.issn.1674-8484.2019.02.001 Key technique of deep neural network and its applications in autonomous driving LI Shengbo1, GUAN Yang1, HOU Lian1, GAO Hongbo1, DUAN Jingliang2, LIANG Shuang3, WANG Yu3, CHENG Bo1, LI Keqiang1, REN Wei4, LI Jun1 (1. School of Vehicle and Mobility, Tsinghua University, Beijing 100084, China; 2. Mechanical Engineering, University of California Berkeley, Berkeley, CA 94720, USA; 3. Electronic Engineering, Tsinghua University, Beijing 100084, China; 4. Electrical and Computer Engineering, University of California Riverside, Riverside, CA 92521, USA) Abstract: Autonomous driving is one of the three major innovations in automotive industry. Deep learning is a crucial method to improve automotive intelligence due to its outstanding abilities of data fitting, feature representation and model generalization. This paper reviewed the technologies of deep neural network (DNN) 收稿日期?/?Received?:?2019-01-19。 基金项目?/?Supported?by?: “十三五”国家重点研发计划(2016YFB0100906);国家自然科学基金面上项目(51575293);国家自然科学基金优秀青年科学基金项目(U1664263);国家自然科学基金重点项目(51622504);北京市自然科学基金杰出青 年科学基金项目(JQ18010);汽车安全与节能国家重点实验室开放基金课题(KF1828)。 第一作者?/?First?author?:?李升波(1982—),男(汉),山东,副教授。E-mail: lishbo@https://www.doczj.com/doc/cc17084536.html,。

相关主题
文本预览
相关文档 最新文档