如何在 ImageNet 比赛中we曾获得哪个比赛世界冠军冠军

卷积神经网络(Convolutional?Neural?NetworkCNN)最初是為解决图像识别等问题设计的,当然其现在的应用不仅限于图像和视频也可用于时间序列信号,比如音频信号、文本数据等在早期的圖像识别研究中,较大的挑战是如何组织特征因为图像数据不像其他类型的数据那样可以通过人工理解来提取特征。

在股票预测等模型Φ我们可以从原始数据中提取过往的交易价格波动、市盈率、市净率、盈利增长等金融因子,这即是特征工程但是在图像中,我们很難根据人为理解提取出有效而丰富的特征在

出现之前,我们必须借助SIFT、HoG等

提取具有良好区分性的特征再集合SVM等

SIFT对一定程度内的缩放、岼移、旋转、视角改变、亮度调整等畸变,都具有不变性是当时最重要的图像特征提取方法之一。然而SIFT这类算法提取的特征还是有局限性的在ImageNet?ILSVRC比赛的较好结果的错误率也有26%以上,而且常年难以产生突破

卷积神经网络提取的特征则可以达到更好的效果,同时它不需要將特征提取和分类训练两个过程分开它在训练时就自动提取了最有效的特征。CNN作为一个深度学习架构被提出的最初诉求是降低对图像數据预处理的要求,以及避免复杂的特征工程CNN可以直接使用图像的原始像素作为输入,而不必先使用SIFT等算法提取特征减轻了使用传统算法如SVM时必需要做的大量重复、烦琐的数据预处理工作。

和SIFT等算法类似CNN训练的模型同样对缩放、平移、旋转等畸变具有不变性,有着很強的泛化性CNN的较大特点在于卷积的权值共享结构,可以大幅减少神经网络的参数量防止过拟合的同时又降低了神经网络模型的复杂度。

卷积神经网络的概念最早出自19世纪60年代科学家提出的感受野(Receptive?Field37)当时科学家通过对猫的视觉皮层细胞研究发现,每一个视觉神经元呮会处理一小块区域的视觉图像即感受野。到了20世纪80年代日本科学家提出神经认知机(Neocognitron38)的概念,可以算作是卷积网络最初的实现原型

神经认知机中包含两类神经元,用来抽取特征的S-cells还有用来抗形变的C-cells,其中S-cells对应我们现在主流卷积神经网络中的卷积核滤波操作而C-cells則对应激活函数、较大池化(Max-Pooling)等操作。同时CNN也是较早的成功地进行多层训练的网络结构,即前面章节提到的LeCun的LeNet5而全连接的网络因为參数过多及梯度弥散等问题,在早期很难顺利地进行多层的训练

卷积神经网络可以利用空间结构关系减少需要学习的参数量,从而提高反向传播算法的训练效率在卷积神经网络中,第一个卷积层会直接接受图像像素级的输入每一个卷积操作只处理一小块图像,进行卷積变化后再传到后面的网络每一层卷积(也可以说是滤波器)都会提取数据中最有效的特征。这种方法可以提取到图像中最基础的特征比如不同方向的边或者拐角,而后再进行组合和抽象形成更高阶的特征因此CNN可以应对各种情况,理论上具有对图像缩放、平移和旋转嘚不变性

一般的卷积神经网络由多个卷积层构成,每个卷积层中通常会进行如下几个操作

图像通过多个不同的卷积核的滤波,并加偏置(bias)提取出局部特征,每一个卷积核会映射出一个新的2D图像

将前面卷积核的滤波输出结果,进行非线性的激活函数处理目前最常見的是使用ReLU函数,而以前Sigmoid函数用得比较多

对激活函数的结果再进行池化操作(即降采样,比如将2×2的图片降为1×1的图片)目前一般是使用较大池化,保留最显著的特征并提升模型的畸变容忍能力。

一个卷积层中可以有多个不同的卷积核而每一个卷积核都对应一个滤波后映射出的新图像,同一个新图像中每一个像素都来自完全相同的卷积核这就是卷积核的权值共享。那我们为什么要共享卷积核的权徝参数呢答案很简单,降低模型复杂度减轻过拟合并降低计算量。

举个例子如图5-2所示,如果我们的图像尺寸是1000像素×1000像素并且假萣是黑白图像,即只有一个颜色通道那么一张图片就有100万个像素点,输入数据的维度也是100万接下来,如果连接一个相同大小的隐含层(100万个隐含节点)那么将产生100万×100万=一万亿个连接。

仅仅一个全连接层(Fully?Connected?Layer)就有一万亿连接的权重要去训练,这已经超出了普通硬件的计算能力我们必须减少需要训练的权重数量,一是降低计算的复杂度二是过多的连接会导致严重的过拟合,减少连接数可以提升模型的泛化性

图像在空间上是有组织结构的,每一个像素点在空间上和周围的像素点实际上是有紧密联系的但是和太遥远的像素点僦不一定有什么关联了。这就是前面提到的人的视觉感受野的概念每一个感受野只接受一小块区域的信号。这一小块区域内的像素是互楿关联的每一个神经元不需要接收全部像素点的信息,只需要接收局部的像素点作为输入而后将所有这些神经元收到的局部信息综合起来就可以得到全局的信息。

这样就可以将之前的全连接的模式修改为局部连接之前隐含层的每一个隐含节点都和全部像素相连,现在峩们只需要将每一个隐含节点连接到局部的像素节点假设局部感受野大小是10×10,即每个隐含节点只与10×10个像素点相连那么现在就只需偠10×10×100万=1亿个连接,相比之前的1万亿缩小了10000倍

简单说,全连接就是上图的左边部分而局部连接就是上图的右边部分。局部连接可以大夶降低神经网络参数量从100M*100M = 1万亿,到10*10*100万=1亿

上面我们通过局部连接(Locally?Connect)的方法,将连接数从1万亿降低到1亿但仍然偏多,需要继续降低參数量现在隐含层每一个节点都与10×10的像素相连,也就是每一个隐含节点都拥有100个参数假设我们的局部连接方式是卷积操作,即默认烸一个隐含节点的参数都完全一样那我们的参数不再是1亿,而是100不论图像有多大,都是这10×10=100个参数即卷积核的尺寸,这就是卷积对縮小参数量的贡献

简单说,卷积就是使用完全相同的(参数相同)的模板去进行局部连接所以参数量可以继续骤降。

我们不需要再担惢有多少隐含节点或者图片有多大参数量只跟卷积核的大小有关,这也就是所谓的权值共享但是如果我们只有一个卷积核,我们就只能提取一种卷积核滤波的结果即只能提取一种图片特征,这不是我们期望的结果好在图像中最基本的特征很少,我们可以增加卷积核嘚数量来多提取一些特征

图像中的基本特征无非就是点和边,无论多么复杂的图像都是点和边组合而成的人眼识别物体的方式也是从點和边开始的,视觉神经元接受光信号后每一个神经元只接受一个区域的信号,并提取出点和边的特征然后将点和边的信号传递给后媔一层的神经元,再接着组合成高阶特征比如三角形、正方形、直线、拐角等,再继续抽象组合得到眼睛、鼻子和嘴等五官,最后再將五官组合成一张脸完成匹配识别。

因此我们的问题就很好解决了只要我们提供的卷积核数量足够多,能提取出各种方向的边或各种形态的点就可以让卷积层抽象出有效而丰富的高阶特征。每一个卷积核滤波得到的图像就是一类特征的映射即一个Feature?Map。一般来说我們使用100个卷积核放在第一个卷积层就已经很充足了。

那这样的话如上图所示,我们的参数量就是100×100=1万个相比之前的1亿又缩小了10000倍。因此依靠卷积,我们就可以高效地训练局部连接的神经网络了卷积的好处是,不管图片尺寸如何我们需要训练的权值数量只跟卷积核夶小、卷积核数量有关,我们可以使用非常少的参数量处理任意大小的图片每一个卷积层提取的特征,在后面的层中都会抽象组合成更高阶的特征

其中,局部连接和权值共享降低了参数量使训练复杂度大大下降,并减轻了过拟合同时权值共享还赋予了卷积网络对平迻的容忍性,而池化层降采样则进一步降低了输出参数量并赋予模型对轻度形变的容忍性,提高了模型的泛化能力

卷积神经网络相比傳统的机器学习算法,无须手工提取特征也不需要使用诸如SIFT之类的特征提取算法,可以在训练中自动完成特征的提取和抽象并同时进荇模式分类,大大降低了应用图像识别的难度;相比一般的神经网络CNN在结构上和图片的空间结构更为贴近,都是2D的有联系的结构并且CNN嘚卷积连接方式和人的视觉神经处理光信号的方式类似。

下面介绍一下经典的卷积网络LeNet5

大名鼎鼎的LeNet5?诞生于1994年,是最早的深层卷积神经網络之一并且推动了深度学习的发展。从1988年开始在多次成功的迭代后,这项由Yann?LeCun完成的开拓性成果被命名为LeNet5

LeCun认为,可训练参数的卷積层是一种用少量参数在图像的多个位置上提取相似特征的有效方式这和直接把每个像素作为多层神经网络的输入不同。像素不应该被使用在输入层因为图像具有很强的空间相关性,而使用图像中独立的像素直接作为输入则利用不到这些相关性

LeNet5当时的特性有如下几点。

每个卷积层包含三个部分:卷积、池化和非线性激活函数

双曲正切(Tanh)或S型(Sigmoid)的激活函数

MLP作为最后的分类器

层与层之间的稀疏连接减尐计算复杂度

LeNet5中的诸多特性现在依然在state-of-the-art卷积神经网络中使用可以说LeNet5是奠定了现代卷积神经网络的基石之作。Lenet-5的结构下图所示

它的输入圖像为32×32的灰度值图像,后面有3个卷积层1个全连接层和1个高斯连接层。

下面我们来介绍一些其他几个经典的卷积网络结构AlexNet、VGGNet、Google Inception Net和ResNet,这4種网络依照出现的先后顺序排列深度和复杂度也依次递进。

如图所示ILSVRC的top-5错误率在最近几年取得重大突破,而主要的突破点都是在深度學习和卷积神经网络成绩的大幅提升几乎都伴随着卷积神经网络的层数加深。

前面提到的计算机视觉比赛ILSVRC使用的数据都来自ImageNet如上图所礻。ImageNet项目于2007年由斯坦福大学华人教授李飞飞创办目标是收集大量带有标注信息的图片数据供计算机视觉模型训练。ImageNet拥有1500万张标注过的高清图片总共拥有22000类,其中约有100万张标注了图片中主要物体的定位边框

每年度的ILSVRC比赛数据集中大概拥有120万张图片,以及1000类的标注是ImageNet全蔀数据的一个子集。比赛一般采用top-5和top-1分类错误率作为模型性能的评测指标上图所示为AlexNet识别ILSVRC数据集中图片的情况,每张图片下面是分类预測得分较高的5个分类及其分值

AlexNet是现代深度CNN的奠基之作。

2012年Hinton的学生Alex?Krizhevsky提出了深度卷积神经网络模型AlexNet,它可以算是LeNet的一种更深更宽的版本AlexNet中包含了几个比较新的技术点,也首次在CNN中成功应用了ReLU、Dropout和LRN等Trick同时AlexNet也使用了GPU进行运算加速,作者开源了他们在GPU上训练卷积神经网络的CUDA玳码

AlexNet包含了6亿3000万个连接,6000万个参数和65万个神经元拥有5个卷积层,其中3个卷积层后面连接了较大池化层最后还有3个全连接层。AlexNet以显著嘚优势赢得了竞争激烈的ILSVRC?2012比赛top-5的错误率降低至了16.4%,相比第二名的成绩26.2%错误率有了巨大的提升

AlexNet可以说是神经网络在低谷期后的第一次發声,确立了深度学习(深度卷积网络)在计算机视觉的统治地位同时也推动了深度学习在语音识别、自然语言处理、强化学习等领域嘚拓展。

AlexNet将LeNet的思想发扬光大把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下

成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了但是直到AlexNet的出现才将其发揚光大。

训练时使用Dropout随机忽略一部分神经元以避免模型过拟合。Dropout虽有单独的论文论述但是AlexNet将其实用化,通过实践证实了它的效果在AlexNetΦ主要是最后几个全连接层使用了Dropout。

在CNN中使用重叠的较大池化此前CNN中普遍使用平均池化,AlexNet全部使用较大池化避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性

提出了LRN层,对局部神经元的活動创建竞争机制使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元增强了模型的泛化能力。

使用CUDA加速深度卷积网絡的训练利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算AlexNet使用了两块GTX?580?GPU进行训练,单个GTX?580只有3GB显存这限制了可训練的网络的较大规模。因此作者将AlexNet分布在两个GPU上在每个GPU的显存中储存一半的神经元的参数。

数据增强随机地从256*256的原始图像中截取224*224大小嘚区域(以及水平翻转的镜像),相当于增加了(*2=2048倍的数据量如果没有数据增强,仅靠原始的数据量参数众多的CNN会陷入过拟合中,使用叻数据增强后可以大大减轻过拟合提升泛化能力。进行预测时则是取图片的四个角加中间共5个位置,并进行左右翻转一共we曾获得哪個比赛世界冠军10张图片,对他们进行预测并对10次结果求均值

整个AlexNet有8个需要训练参数的层(不包括池化层和LRN层),前5层为卷积层后3层为铨连接层,上图所示AlexNet最后一层是有1000类输出的Softmax层用作分类。LRN层出现在第1个及第2个卷积层后而较大池化层出现在两个LRN层及最后一个卷积层後。

AlexNet每层的超参数、参数量、计算量上图所示

我们可以发现一个比较有意思的现象,在前几个卷积层虽然计算量很大,但参数量很小都在1M左右甚至更小,只占AlexNet总参数量的很小一部分这就是卷积层有用的地方,可以通过较小的参数量提取有效的特征

虽然每一个卷积層占整个网络的参数量的1%都不到,但是如果去掉任何一个卷积层都会使网络的分类性能大幅地下降。

VGGNet是牛津大学计算机视觉组(Visual?Geometry?Group)囷Google?DeepMind公司的研究员一起研发的的深度卷积神经网络VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3*3的小型卷积核和2*2的较夶池化层VGGNet成功地构筑了16~19层深的卷积神经网络。VGGNet相比之前state-of-the-art的网络结构错误率大幅下降,并取得了ILSVRC?2014比赛分类项目的第2名和定位项目的第1洺

VGGNet论文中全部使用了3*3的卷积核和2*2的池化核,通过不断加深网络结构来提升性能下图所示为VGGNet各级别的网络结构图,和每一级别的参数量从11层的网络一直到19层的网络都有详尽的性能测试。

虽然从A到E每一级网络逐渐变深但是网络的参数量并没有增长很多,这是因为参数量主要都消耗在最后3个全连接层前面的卷积部分虽然很深,但是消耗的参数量不大不过训练比较耗时的部分依然是卷积,因其计算量比較大

VGGNet拥有5段卷积,每一段内有2~3个卷积层同时每段尾部会连接一个较大池化层用来缩小图片尺寸。每段内的卷积核数量一样越靠后的段的卷积核数量越多:64?–?128?–?256?–?512?–?512。其中经常出现多个完全一样的3*3的卷积层堆叠在一起的情况这其实是非常有用的设计。

如上图所示两个3*3的卷积层串联相当于1个5*5的卷积层,即一个像素会跟周围5*5的像素产生关联可以说感受野大小为5*5。而3个3*3的卷积层串联的效果则相当于1个7*7的卷积层除此之外,3个串联的3*3的卷积层拥有比1个7*7的卷积层更少的参数量,只有后者的55%

最重要的是,3个3*3的卷积层拥有仳1个7*7的卷积层更多的非线性变换(前者可以使用三次ReLU激活函数而后者只有一次),使得CNN对特征的学习能力更强

作者在对比各级网络时總结出了以下几个观点。

1*1的卷积也是很有效的但是没有3*3的卷积好,大一些的卷积核可以学习更大的空间特征

Google?Inception?Net首次出现在ILSVRC?2014的比赛Φ(和VGGNet同年),就以较大优势取得了第一名那届比赛中的Inception?Net通常被称为Inception?V1,它较大的特点是控制了计算量和参数量的同时we曾获得哪个仳赛世界冠军了非常好的分类性能——top-5错误率6.67%,只有AlexNet的一半不到

Inception?V1有22层深,比AlexNet的8层或者VGGNet的19层还要更深但其计算量只有15亿次浮点运算,哃时只有500万的参数量仅为AlexNet参数量(6000万)的1/12,却可以达到远胜于AlexNet的准确率可以说是非常优秀并且非常实用的模型。

Inception?V1降低参数量的目的囿两点:第一参数越多模型越庞大,需要供模型学习的数据量就越大而目前高质量的数据非常昂贵;第二,参数越多耗费的计算资源也会更大。

Inception?V1参数少但效果好的原因除了模型层数更深、表达能力更强外还有两点:一是去除了最后的全连接层,用全局平均池化层(即将图片尺寸变为1*1)来取代它全连接层几乎占据了AlexNet或VGGNet中90%的参数量,而且会引起过拟合去除全连接层后模型训练更快并且减轻了过拟匼。

二是Inception?V1中精心设计的Inception?Module提高了参数的利用效率其结构如图10所示。这一部分也借鉴了Network?In?Network的思想形象的解释就是Inception?Module本身如同大网络Φ的一个小网络,其结构可以反复堆叠在一起形成大网络

我们再来看Inception?Module的基本结构,其中有4个分支:第一个分支对输入进行1*1的卷积这其实也是NIN中提出的一个重要结构。1*1的卷积是一个非常优秀的结构它可以跨通道组织信息,提高网络的表达能力同时可以对输出通道升維和降维。

可以看到Inception?Module的4个分支都用到了1*1卷积来进行低成本(计算量比3*3小很多)的跨通道的特征变换。

第二个分支先使用了1*1卷积然后連接3*3卷积,相当于进行了两次特征变换第三个分支类似,先是1*1的卷积然后连接5*5卷积。最后一个分支则是3*3较大池化后直接使用1*1卷积

Inception?Module嘚4个分支在最后通过一个聚合操作合并(在输出通道数这个维度上聚合)。

Inception?V2学习了VGGNet用两个3*3的卷积代替5*5的大卷积(用以降低参数量并减輕过拟合),还提出了著名的Batch?Normalization(以下简称BN)方法BN是一个非常有效的正则化方法,可以让大型卷积网络的训练速度加快很多倍同时收斂后的分类准确率也可以得到大幅提高。

BN在用于神经网络某层时会对每一个mini-batch数据的内部进行标准化(normalization)处理,使输出规范化到N(0,1)的正态分咘减少了Internal?Covariate?Shift(内部神经元分布的改变)。

BN的论文指出传统的深度神经网络在训练时,每一层的输入的分布都在变化导致训练变得困难,我们只能使用一个很小的学习速率解决这个问题而对每一层使用BN之后,我们就可以有效地解决这个问题学习速率可以增大很多倍,达到之前的准确率所需要的迭代次数只有1/14训练时间大大缩短。

而达到之前的准确率后可以继续训练,并最终取得远超于Inception?V1模型的性能——top-5错误率4.8%已经优于人眼水平。因为BN某种意义上还起到了正则化的作用所以可以减少或者取消Dropout,简化网络结构

ResNet的结构可以极快哋加速超深神经网络的训练,模型的准确率也有非常大的提升

ResNet最初的灵感出自这个问题:在不断加神经网络的深度时,会出现一个Degradation的问題即准确率会先上升然后达到饱和,再持续增加深度则会导致准确率下降

这并不是过拟合的问题,因为不光在测试集上误差增大训練集本身误差也会增大。假设有一个比较浅的网络达到了饱和的准确率那么后面再加上几个的全等映射层,起码误差不会增加即更深嘚网络不应该带来训练集上误差上升。

而这里提到的使用全等映射直接将前一层输出传到后面的思想就是ResNet的灵感来源。假定某段神经网絡的输入是x期望输出是H(x),如果我们直接把输入x传到输出作为初始结果那么此时我们需要学习的目标就是F(x)=H(x)-x。

这就是一个ResNet的残差学习单元(Residual?Unit)ResNet相当于将学习目标改变了,不再是学习一个完整的输出H(x)只是输出和输入的差别H(x)-x,即残差

上图所示为VGGNet-19,以及一个34层深的普通卷積网络和34层深的ResNet网络的对比图。可以看到普通直连的卷积神经网络和ResNet的较大区别在于ResNet有很多旁路的支线将输入直接连到后面的层,使嘚后面的层可以直接学习残差这种结构也被称为shortcut或skip?connections。

传统的卷积层或全连接层在信息传递时或多或少会存在信息丢失、损耗等问题。ResNet在某种程度上解决了这个问题通过直接将输入信息绕道传到输出,保护信息的完整性整个网络则只需要学习输入、输出差别的那一蔀分,简化学习目标和难度

上图所示为ResNet在不同层数时的网络配置,其中基础结构很类似都是前面提到的两层和三层的残差学习单元的堆叠。

在使用了ResNet的结构后可以发现层数不断加深导致的训练集上误差增大的现象被消除了,ResNet网络的训练误差会随着层数增大而逐渐减小并且在测试集上的表现也会变好。

此就将ALexNet、VGGNet、Inception Net、ResNet四种经典的卷积介绍完了下面我们简单总结一下。我们简单回顾卷积神经网络的历史上图所示大致勾勒出最近几十年卷积神经网络的发展方向。

Perceptron(感知机)于1957年由Frank?Resenblatt提出而Perceptron不仅是卷积网络,也是神经网络的始祖Neocognitron(神經认知机)是一种多层级的神经网络,由日本科学家Kunihiko?Fukushima于20世纪80年代提出具有一定程度的视觉认知的功能,并直接启发了后来的卷积神经網络

LeNet-5由CNN之父Yann?LeCun于1997年提出,首次提出了多层级联的卷积结构可对手写数字进行有效识别。可以看到前面这三次关于卷积神经网络的技术突破间隔时间非常长,需要十余年甚至更久才出现一次理论创新

而后于2012年,Hinton的学生Alex依靠8层深的卷积神经网络一举we曾获得哪个比赛世界冠军了ILSVRC?2012比赛的冠军瞬间点燃了卷积神经网络研究的热潮。AlexNet成功应用了ReLU激活函数、Dropout、较大覆盖池化、LRN层、GPU加速等新技术并启发了后续哽多的技术创新,卷积神经网络的研究从此进入快车道

在AlexNet之后,我们可以将卷积神经网络的发展分为两类一类是网络结构上的改进调整(图6-18中的左侧分支),另一类是网络深度的增加(图18中的右侧分支)

2013年,颜水成教授的Network?in?Network工作首次发表优化了卷积神经网络的结構,并推广了1*1的卷积结构在改进卷积网络结构的工作中,后继者还有2014年的Google?Inception?Net?V1提出了Inception?Module这个可以反复堆叠的高效的卷积网络结构,並we曾获得哪个比赛世界冠军了当年ILSVRC比赛的冠军

而右侧分支上,许多研究工作则致力于加深网络层数2014年,ILSVRC比赛的亚军VGGNet全程使用3*3的卷积荿功训练了深达19层的网络,当年的季军MSRA-Net也使用了非常深的网络

2015年,微软的ResNet成功训练了152层深的网络一举拿下了当年ILSVRC比赛的冠军,top-5错误率降低至3.46%

我们可以看到,自AlexNet于2012年提出后深度学习领域的研究发展极其迅速,基本上每年甚至每几个月都会出现新一代的技术新的技术往往伴随着新的网络结构,更深的网络的训练方法等并在图像识别等领域不断创造新的准确率记录。

CNN的技术日新月异当然其中不可忽視的推动力是,我们拥有了更快的GPU计算资源用以实验以及非常方便的开源工具(比如TensorFlow)可以让研究人员快速地进行探索和尝试。在以前研究人员如果没有像Alex那样高超的编程实力能自己实现cuda-convnet,可能都没办法设计CNN或者快速地进行实验

现在有了TensorFlow,研究人员和开发人员都可以簡单而快速地设计神经网络结构并进行研究、测试、部署乃至实用

黄文坚:如果想快速入门,可以结合MNIST数据集尝试MLP、CNN进行图像分类,洏后尝试在MNSIT上实现AutoEncoder此后,可以学习TensorBoard这是一个非常方便的可视化工具。之后掌握进阶的CNN、RNN强化学习训练方式。然后如果有兴趣可以掌握单机多GPU并行计算,多机多GPU分布式训练目前TensorFlow中还推出了很多组件,比如TF.LearnSlim,XLA、Fold等可以针对需求探索。

Q2:目前主流的深度学习工具主偠包括TensorFlowCaffe和Mxnet。相比于其他两个库您认为TensorFlow的主要优势是哪些?未来TensorFlow的发展趋势着眼于哪些方面谢谢老师~

黄文坚:Caffe是比较经典的老框架,缺陷在于使用配置文件定义网络结构调试网络不是很方便,并且基于层的构筑方式一层一层的堆叠网络,对于一些更灵活的图的结构表示不方便,并且分布式也不完善

MXnet是国人推出的框架,主要作者是陈天奇和李沐MXNet非常灵活,支持多种编程范式并且分布式性能很恏,支持的前端语言绑定很多缺点是,开发团队小框架产品代码质量稳定性不如TensorFlow。并且非常缺完善的文档和资料

TensorFlow是Google大力研发的框架,大约有100-200人的全职的Engineer在协作开发拥有产品级的代码质量,完善的稳定高可靠性,适合生产环境使用同时其计算图定义模式,也非常靈活可以进行各种灵活的调试。并且目前大部分新推出的Paper和研究都使用TensorFlow进行实现,可用的模型代码非常多

黄文坚:做文本分析和处悝,主要使用RNN少数情况使用CNN。这两种网络TensorFlow都支持的非常好和完善并且新推出的TensorFLow Fold支持动态的批输入,可以对动态的RNN结构产生巨大的提速

Q4:如何选择网络的层数和神经元个数?

黄文坚:深度学习的层数和神经元个数条数一直是一个经验占比非常重的问题在TensorFlow中,可以使用TensorBoard觀察train loss和test loss如果train loss下降慢,并且test loss没有上升可以加大模型拟合能力,即加深网络和增大神经元个数如果train loss难以下降,并且test loss开始反弹则应控制模型的容量,即模型的拟合能力保持层数和神经元个数不过大,同时使用各种减轻过拟合的方法比如dropout、batch normalization等。

如果train loss难以下降并且test loss开始反弹,则应控制模型的容量即模型的拟合能力,保持层数和神经元个数不过大同时使用各种减轻过拟合的方法,比如dropout、batch normalization等

Q5:如何将tensorflow應用在实际项目中,涉及的数据转换及数据结构应该是怎样定的

同时对有空间关联性和时间管理性的数据,应连接CNN、RNN进行处理其他类型数据,应使用MLP

Q6:RNN和CNN分别适用哪些场景?

黄文坚:CNN适合空间和时间有关联性的场景比如图片分类,文本分类时间序列分类等。

RNN主要適合有时间关联性的场景并且对时间先后顺序敏感,适合文本分类语言模型等。

程序员5年工作经验,如何更好学习TensorFlow

黄文坚:TensorFlow最主鋶的接口是Python,不过目前也推出了Java接口如果感兴趣,可以直接先从Java接口入手不过非脚本语言,调试可能不方便后期可以再学习Python接口。

Q8:黄老师您好请问如何看待Keras和Tensorflow的关系?Keras作为更高层的库应该和TF一起学习掌握还是更推荐底层的TF作为

黄文坚:keras已经被合并到TensorFlow中了,目前鈳以属于TF的一个组件推荐先学习TensorFlow,掌握一些底层机制后面当需要快速构建大型神经网络实验时,可以学习keras并且学习过tensorflow后,keras将非常简單

黄文坚,《TensorFlow实战》作者该书we曾获得哪个比赛世界冠军Google TensorFlow工程研发总监Rajat Monga、360首席科学家颜水成教授、北大长江学者崔斌教授的推荐,出版後曾获京东、亚马逊、当当计算机类图书销量第一,并获台湾知名出版社引进版权现任职PPmoney大数据算法总监,负责集团的风控、理财、互联網证券等业务的数据挖掘工作Google TensorFlow Contributor。前明略数据技术合伙人领导了对诸多大型银行、保险公司、基金公司的数据挖掘项目,包括金融风控、新闻舆情分析、保险复购预测等并多次获客户方报送评奖。曾就职于阿里巴巴搜索引擎算法团队负责天猫上亿用户的个性化搜索系統。曾参加阿里巴巴大数据推荐算法大赛于7000多只队伍中we曾获得哪个比赛世界冠军前10名。本科、研究生毕业于香港科技大学在较高级会議和期刊SIGMOBILE

欢迎加入本站公开兴趣群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论分析工具,ETL工具数据仓库,数據挖掘工具报表系统等全方位知识

}

雷锋网了解到近两个月,国内團队先后在全球权威的人脸检测评测平台 FDDB 和全球自动驾驶算法公开排行榜 KITTI 以及 Cityscapes 上取得非常好的成绩这在一定程度上证明了国内计算机视覺相关算法已达到国际顶尖水平。

ILSVRC2016(大规模图像识别竞赛)公布了算法排名结果Hikvision(海康威视)夺得场景分类第一名。

那么今年的ImageNet的比賽为什么由这5部分组成?Hikvision(海康威视)是如何在场景识别一项中夺得冠军的今天雷锋网(公众号:雷锋网)请到了海康威视首席科学家、海康威视研究院常务副院长浦世亮先生为我们讲解ILSVRC2016相关的详细细节。雷锋网对采访过程整理如下

浦世亮,法国国家科学研究院(CNRS)博士、浙江大学博士现任海康威视(杭州海康威视数字技术股份有限公司002415)首席科学家、研究院常务副院长、海康威视博士后科研工作站负责囚、博士后导师,带领海康威视研究院的研发团队负责海康威视在视频应用领域的前瞻性、战略性基础技术研究其个人曾获第十九届求昰杰出青年奖、浙江省有突出贡献中青年专家、浙江省科学技术进步一等奖、杭州市131中青年人才等多项荣誉;已申请发明专利90多件,we曾获嘚哪个比赛世界冠军授权发明专利11件并在知名期刊、国际知名会议ICDAR、ICPR等发表多篇论文。

今年 ILSVRC 比赛为什么是这5部分跟往年有何变化?

與去年相比今年增加了一项场景分割任务这五类任务都是计算机视觉领域基础的人工智能任务,有广阔的工业应用前景与去年相比,紟年增加了一项场景分割任务

鉴于这个参赛规则相对复杂,请参考ImageNet官网权威说明

大致来说,五项任务提供了基础的训练集和测试集各参赛队伍在训练集上训练,在测试集上完成测试提交测试结果,然后由组委会统一评估性能,并给出排名

请仔细回顾一下,你們在场景识别比赛中最终we曾获得哪个比赛世界冠军表现最佳经历了什么

先说一下,场景识别比赛的主要的难点是训练数据的极度不均衡而且数据标签具有二义性。在训练过程中我们做了以下工作。

  • 借助于我们组建的M40 GPU大规模训练集群我们在过去两个月内训练了20多种不哃结构的模型,包括常见的VGGInception,ResNet及其变化形式

  • 同时通过实验我们发现,在非常深的ResNet(101/152/200层)上对场景数据进行精调无论是训练还是预测,都非常耗费时间而且性能上还略差于更快的Inception结构的模型。基于这个观察在模型结构上,我们主要采用了比较深的Inception模型和相对较浅的ResNet

  • 此外,我们还在训练和预测环节进行了多项改进比如说,我们提出了一种的数据增强方法可以更好的利用图像中的目标物信息。

  • 我們还采用了标签洗牌(label shuffling)和标签平滑(label smoothing)技术以更好地应对数据不均衡问题。

  • 最后我们的模型在28支队伍的92次结果提交中,脱颖而出we曾获嘚哪个比赛世界冠军了第一名,top5 的分类准确率达到了91%

你们如何取得这个比赛冠军的。表现出色的核心是什么

海康威视研究院所在的海康威视,本身就是以视频为核心的物联网解决方案和数据运营服务提供商连续五年蝉联IHS全球视频监控企业第一位。

我们在计算机视觉領域已经投入了十几年时间深度学习技术的研究也开展了相当长时间了。在长时间的研究工作中我们打造了一支经验丰富的人工智能算法团队,对于计算机视觉领域的基础技术有比较深刻的理解

其次,我们认为深度学习是一项复杂的系统性工程系统性工程需要集团莋战,数据的清洗标定、大规模训练集群的搭建、各种神经网络框架的测试、神经网络的优化都需要比较专业的团队分工才能达到最优效果

最后,理论的探索和创新需要一个良好的环境

一方面,我们投入大量资源构建我们的数据和训练平台让我们的研究人员可以在海量的训练数据上迅速的做大量的试验。另一方面我们营造了一个宽松的研究环境,可以让大家在支持公司业务发展的同时有大量时间可鉯进行技术的探索

之前为这个比赛准备了多久? 有一个怎样的团队在备战

我们准备了半年多,主体参赛团队总共7人四位博士、两位硕士外加一位实习生。另外还有很多该领域工作的同事也陪伴我们完成这个过程,比如有高性能计算团队团队搭建并行训练集群,團队成员大都毕业于国内的顶级高校

从产业界的角度讲, 赢得这个比赛(场景分类)的意义主要是哪里   除了场景分类外,赢得另外4個版块的意义在哪里

场景分类技术,对于视频产业及其应用领域有比较重要的应用价值基于对场景的理解可以有助于我们的系统对于視频中的信息理解和应用。

一方面可以让系统根据场景适配算法,另一方面也可以让系统更好的理解视频中所产生的信息。例如当系统检测到视频中有人在奔跑,系统理解到这个奔跑事件所发生的环境是在步行街或者是在学校,那么它就可以采用不同的应对策略。

而目标检测、分类、跟踪及定位技术是计算机视觉领域的基础算法可以应用于许多领域。

例如自动驾驶、机器人、智能摄像机、智能手机等,只要系统中有视觉传感器需要视觉传感器从视频图像中提取信息,这些技术都是必不可少的Imagenet竞争的成绩逐年提升,显示人笁智能技术在工业界的应用会逐渐成熟其应用领域也会we曾获得哪个比赛世界冠军极大的拓展。

▎具体的在detection task中,您们在解决imbalance的问题上具體的sampling策略是怎样的您们是怎样确定某一个class中的正负样本的比例的?

很多数据集存在样本不均衡的问题有些类别样本特别多,有些类别樣本特别少训练模型时,如果从一个图像列表中依次读取样本训练的话小类样本参与训练的机会就比大类少。

训练出来的模型会偏向於大类即大类性能好,小类性能差我们的平衡采样策略就是把样本按类别分组,每个类别生成一个样本列表

训练过程中先随机选择1個或几个类别,然后从各个类别所对应的样本列表中随机选择样本这样可以保证每个类别参与训练的机会比较均衡。

想问下在之前训練预测环节中提到的数据增强方法如何实现的可以详细谈一下吗?

我们实现了一种有监督的数据增强方法可以在裁剪数据的时候更好嘚利用目标物信息。后面马上会在Eccv会议上作report因此建议关心的朋友直接看report。

▎介绍下海康威视研究院和它的主要工作   

海康威视研究院重點开展视频领域共性技术、关键技术和前瞻技术的创新研究,持续增强公司技术实力为公司核心产品及新兴业务拓展提供有力支撑,成為公司主营业务及创新业务发展的重要驱动力研究院在KITTI、MOT、Pascal VOC等世界级人工智能竞赛中曾we曾获得哪个比赛世界冠军多个第一的好成绩。

除研究院之外海康威视还在全球设有五大研发中心,年轻的研发团队在视音频编解码、视频图像处理、视频智能分析、云计算、大数据、雲存储、人工智能等方面有深厚的技术积累成功助力海康威视不断引领整个行业的发展。他们在图像处理、识别算法、视频核心算法技術领域的前瞻性研究应用于海康威视的各类主营业务产品和解决方案中。

}

近两个月国内团队先后在全球權威的人脸检测评测平台 FDDB 和全球自动驾驶算法公开排行榜 KITTI 以及 Cityscapes 上取得非常好的成绩,这在一定程度上证明了国内计算机视觉相关算法已达箌国际顶尖水平

Challenge)分为五大部分,包括:目标检测、目标定位、视频中目标物体检测、场景分类、场景分析在昨天,全球最为权威的計算机视觉大赛 ILSVRC2016(大规模图像识别竞赛)公布了算法排名结果Hikvision(海康威视)夺得场景分类第一名。

那么今年的ImageNet的比赛为什么由这5部分組成?Hikvision(海康威视)是如何在场景识别一项中夺得冠军的今天雷锋网(搜索“雷锋网”公众号关注)请到了海康威视首席科学家、海康威视研究院常务副院长蒲世亮先生为我们讲解ILSVRC2016相关的详细细节。

浦世亮法国国家科学研究院(CNRS)博士、浙江大学博士,现任海康威视(杭州海康威视数字技术股份有限公司002415)首席科学家、研究院常务副院长、海康威视博士后科研工作站负责人、博士后导师带领海康威视研究院的研发团队负责海康威视在视频应用领域的前瞻性、战略性基础技术研究。其个人曾获第十九届求是杰出青年奖、浙江省有突出贡献中圊年专家、浙江省科学技术进步一等奖、杭州市131中青年人才等多项荣誉;已申请发明专利90多件we曾获得哪个比赛世界冠军授权发明专利11件,并在知名期刊、国际知名会议ICDAR、ICPR等发表多篇论文

▎今年 ILSVRC 比赛为什么是这5部分,跟往年有何变化

与去年相比今年增加了一项场景分割任务。这五类任务都是计算机视觉领域基础的任务有广阔的工业应用前景。与去年相比今年增加了一项场景分割任务。

鉴于这个参赛規则相对复杂请参考ImageNet官网权威说明。

大致来说五项任务提供了基础的训练集和测试集,各参赛队伍在训练集上训练在测试集上完成測试,提交测试结果然后,由组委会统一评估性能并给出排名。

▎请仔细回顾一下你们在场景识别比赛中最终we曾获得哪个比赛世界冠军表现最佳经历了什么?

先说一下场景识别比赛的主要的难点是训练数据的极度不均衡,而且数据标签具有二义性在训练过程中,峩们做了以下工作

  • 借助于我们组建的M40 GPU大规模训练集群,我们在过去两个月内训练了20多种不同结构的模型包括常见的VGG,InceptionResNet及其变化形式。

  • 同时通过实验我们发现在非常深的ResNet(101/152/200层)上对场景数据进行精调,无论是训练还是预测都非常耗费时间,而且性能上还略差于更快嘚Inception结构的模型基于这个观察,在模型结构上我们主要采用了比较深的Inception模型和相对较浅的ResNet。

  • 此外我们还在训练和预测环节进行了多项妀进,比如说我们提出了一种的数据增强方法,可以更好的利用图像中的目标物信息

  • 我们还采用了标签洗牌(label shuffling)和标签平滑(label smoothing)技术,以哽好地应对数据不均衡问题

  • 最后,我们的模型在28支队伍的92次结果提交中脱颖而出,we曾获得哪个比赛世界冠军了第一名top5 的分类准确率達到了91%。

▎你们如何取得这个比赛冠军的表现出色的核心是什么?

海康威视研究院所在的海康威视本身就是以视频为核心的解决方案囷数据运营服务提供商。连续五年蝉联IHS全球视频监控企业第一位

我们在计算机视觉领域已经投入了十几年时间,深度学习技术的研究也開展了相当长时间了在长时间的研究工作中,我们打造了一支经验丰富的人工算法团队对于计算机视觉领域的基础技术有比较深刻的悝解。

其次我们认为深度学习是一项复杂的系统性工程。系统性工程需要集团作战数据的清洗标定、大规模训练集群的搭建、各种框架的测试、神经网络的优化都需要比较专业的团队分工才能达到最优效果。

最后理论的探索和创新需要一个良好的环境。

一方面我们投入大量资源构建我们的数据和训练平台,让我们的研究人员可以在海量的训练数据上迅速的做大量的试验另一方面,我们营造了一个寬松的研究环境可以让大家在支持公司业务发展的同时有大量时间可以进行技术的探索。

▎之前为这个比赛准备了多久 有一个怎样的團队在备战?

我们准备了半年多主体参赛团队总共7人,四位博士、两位硕士外加一位实习生另外,还有很多该领域工作的同事也陪伴峩们完成这个过程比如,有高性能计算团队团队搭建并行训练集群团队成员大都毕业于国内的顶级高校。

▎从产业界的角度讲 赢得這个比赛(场景分类)的意义主要是哪里。   除了场景分类外赢得另外4个版块的意义在哪里?

场景分类技术对于视频产业及其应用领域囿比较重要的应用价值,基于对场景的理解可以有助于我们的系统对于视频中的信息理解和应用

一方面,可以让系统根据场景适配算法另一方面,也可以让系统更好的理解视频中所产生的信息例如,当系统检测到视频中有人在奔跑系统理解到这个奔跑事件所发生的環境,是在步行街或者是在学校那么,它就可以采用不同的应对策略

而目标检测、分类、跟踪及定位技术是计算机视觉领域的基础算法,可以应用于许多领域

例如,自动驾驶、、智能摄像机、等只要系统中有视觉传感器,需要视觉传感器从视频图像中提取信息这些技术都是必不可少的。Imagenet竞争的成绩逐年提升显示在工业界的应用会逐渐成熟,其应用领域也会we曾获得哪个比赛世界冠军极大的拓展

▎具体的,在detection task中您们在解决imbalance的问题上具体的sampling策略是怎样的?您们是怎样确定某一个class中的正负样本的比例的

很多数据集存在样本不均衡嘚问题,有些类别样本特别多有些类别样本特别少。训练模型时如果从一个图像列表中依次读取样本训练的话,小类样本参与训练的機会就比大类少

训练出来的模型会偏向于大类,即大类性能好小类性能差。我们的平衡采样策略就是把样本按类别分组每个类别生荿一个样本列表。

训练过程中先随机选择1个或几个类别然后从各个类别所对应的样本列表中随机选择样本。这样可以保证每个类别参与訓练的机会比较均衡

▎想问下在之前训练预测环节中提到的数据增强方法,如何实现的可以详细谈一下吗

我们实现了一种有监督的数據增强方法,可以在裁剪数据的时候更好的利用目标物信息后面马上会在Eccv会议上作report,因此建议关心的朋友直接看report

▎介绍下海康威视研究院和它的主要工作?   

海康威视研究院重点开展视频领域共性技术、关键技术和前瞻技术的创新研究持续增强公司技术实力,为公司核惢产品及新兴业务拓展提供有力支撑成为公司主营业务及创新业务发展的重要驱动力。研究院在KITTI、MOT、Pascal VOC等世界级人工智能竞赛中曾we曾获得哪个比赛世界冠军多个第一的好成绩

除研究院之外,海康威视还在全球设有五大研发中心年轻的研发团队在视音频编解码、视频图像處理、视频智能分析、云计算、大数据、云存储、人工智能等方面有深厚的技术积累,成功助力海康威视不断引领整个行业的发展他们茬图像处理、识别算法、视频核心算法技术领域的前瞻性研究,应用于海康威视的各类主营业务产品和解决方案中

}

我要回帖

更多关于 we曾获得哪个比赛世界冠军 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信