x79双路的内存是四通道还是四通道*2八通道?

  【PConline 评测】也许看这篇文章的各位都还没有用超过4GB容量的内存,不过科技前进的脚步并不会因此停歇。9月份的时候三星就已经在日本发售单条8GB内存,之后镁光、海盗船、博帝、宇帷、威刚都相继在日本发布自家的单条8GB产品。而也成为第一款进入中国市场的一线品牌单条8GB内存。

  目前主流的家用台式机总内存也不过4GB,8GB都是少数。而现在单条内存就已经达到8GB,如果配合上Intel X79芯片组支持的四通技术,主板上最多8条内存插槽可提供最大64GB内存。我们不禁要问了,内存真的有必要那么大吗? 

如果您想了解更多关于内存的知识,可以阅读下面的文章:

单条8GB还是DDR4?下一代内存/技术展望:

  话说内存,或者说现代内存,诞生于80286电脑时代的初期,芯片容量常见有256K×1bit、1M×4bit。在那之前,内存则是由焊接在主板上的一颗颗芯片组成,而在集成电路都没有发明的时代,内存则是排列在线路上的磁芯。

  之后的轨迹从这张图就可以知道了。SDRAM内存时代由内存频率从66MHz到133MHz,当然这时期内存带宽还是限制电脑性能的瓶颈,所以内存超频的概念在这一时期兴起。跨越过胎死腹中的Rambus DRAM,内存便走向了DDR1/2/3的时代,虽然单条内存的位宽都是64bit,但这个阶段内存的频率却不断攀升。据说2015年的DDR4内存将达到MHz的频率,不过那都是后话了。

  DDR1/2/3内存分别采用了2/4/8bit数据预取技术,带宽得以翻倍,而且随着核心频率及I/O频率的提升,带宽还会进一步增大。在需求没有变化的情况下,通过超频提升内存带宽,比提升内存容量更为给力。但问题是,我的需求一直在提高,正如历代Windows操作系统对内存的要求逐步提升,PC内存的容量也从64MB提升至4GB。不过有意思的是,即将到来的Windows 8对内存的需求却比Win7更低,硬件需求只低不高。

  2008年底单条2G、双通道4G内存进入普及阶段,如今3年过去了,内存价格在今年更是一路狂跌,单条4G的内存也才渐渐开始普及。在日常使用需求没有增大的情况下,内存厂家却纷纷推出DDR3-1333单条8GB的PC内存,实在是令人摸不着头脑。本次评测,我们将通过理论性测试和实际应用测试,为大家解读大容量的内存的意义。

2威刚万紫千红单条8GB内存赏析

2、威刚单条8GB内存赏析

  内存使用双面芯片设计,采用了专业6层PCB底板,主流双面十六颗内存颗粒的设计,正反两面焊接了16颗512MB内存芯片。沿用了威刚万紫千红系列的紫红色PCB设计,采用了30mil镀金层的“千足金”金手指工艺。

  从正面的标签上可以看到产品的具体性能规格,其产品容量为8GB,工作频率为DDR3-1333(等效于PC3-10600),内存延时时序为CL=9,属于常见的普条体制。

  内存采用的内存颗粒是来自尔必达原厂生产的内存颗粒,单颗容量512MB,均为威刚严格检验过的优质A级芯片,其编号为J4208BASE-DJ-F,封装日期是2011年第40周。


民用主板只有X79能插满8根内存

  如果将它们全部插到X79芯片组的主板上,配合8条内存插槽,我们就能得到8GB×8=64GB的超大内存。虽然还是四通道,但内存容量则达到了入门级固态硬盘的水准,也是现阶段PC上锁能达到的最大内存。

3理论结合实际 测试平台和方法说明

3、测试平台和方法说明:

  本次测试所使用的是单条容量为4GB内存组建四通道模式,不用说自然要采用如今最顶级的SNB-E架构的Intel Core i7 3930K搭配华硕 P9X79主板作为测试平台,测试项目包括理论性能测试和实际应用测试。


系统成功识别64GB内存

  理论性能测试自然是以一些跑分软件为主,从测试成绩我可以了解到内存容量提升对系统性能的帮助。实际应用测试则是模拟一些可行的内存使用行为,来探究大容量内存在日常使用中能带来哪些帮助。

464GB神话破灭?理论内存性能测试

4、理论内存性能测试:

  SuperPI是由东京大学Kanada Lab.所制作的一款通过计算圆周率的来检测处理器性能的工具,在测试里面可以有效的反映CPU的单线程科学运算性能。在玩家群中,Super PI也是一个衡量CPU性能的标尺之一。计算位数为1M,得出结果时间越少则其性能越佳。


测试结果对比(数值越小越好)

WinRAR内存性能测试:

  WinRAR作为一款目前非常流行的压缩软件,我们使用了它内置的性能测试功能,支持多线程,测试结果能有效反映CPU的多线程性能与内存性能。对于普通用户来说,就是压缩RAR文件的速度。


测试结果对比(数值越大越好)

  PCMark Vantage是Futuremark推出的基准测试软件,可以较好地反映出PC实际的整机性能。无论什么样的PC,都能在PCMark Vantage里通过得分了解自己电脑的各组件性能强弱。我们采用其中的内存测试子项来测试内存性能。


测试结果对比(数值越大越好)

  AIDA64(原Everest)作为一个系统检测软件,它可以详细的显示出PC每一个方面的信息。软件自带的Memory Latency评测,可以通过对内存延时的评测,直观显示出内存子系统的效能。对于普通用户来说,内存系统的快慢可以简单理解成双击文件夹的响应速度。


测试结果对比(数值越大越好)

  测试小结:从上面的测试结果可以发现,除了单条内存的成绩略差一截,其他双通道、三通道、四通道,甚至把主板插满8根内存(实际上还是4通道)的成绩都没有很大变化,可见三、四通道内存技术并不是非常适用一般的普通用户。在压缩测试中,8根内存的性能甚至不如4根内存,也说明了当内存数量超过主板支持最大的通道数时,平台的性能会受到影响。

  SiSoftware Sandra是一套功能强大的系统分析评测工具,它能直接反应整机或各个部件的理论性能。我们采用它来考察Core i7 3960X的四通道内存性能。

以上测试环境下的理论带宽是多少?

  我们可以按照一个简单的公式计算内存理论带宽:

  测试小结:从内存带宽的测试结果也可以发现,通道数越多,理论与实际差距越大。而且八条内存四通道,其带宽更是是低于四根内存四通道,可见在内存的使用上,光大是不行的。

58GB已经很完美 实际应用测试

  Windows操作系统的内存管理比较智能,一般会依照系统搭载的内存总量来调配占用率。

  可见即使Win7内存占用是随内存总量递增,这个增幅不足为惧。64GB开机后内存占用仅为3.40GB,其余60GB都处于空闲状态。

实际应用内存占用测试:

  这个部分我们采用双通道16GB内存进行测试,之前的结果显示,开机后双通道16GB内存将被系统占用1.34GB,这将是下面测试的基准。


战地3+使命召唤8+生化危机5内存占用2.86GB

  首先我们同时运行了战地3+使命召唤8+生化危机5(跑分程序),三个大型游戏,此时内存占用为2.86GB,减去1.34GB的系统占用,三个游戏实际消耗了1.52GB内存

  接着在三个大型游戏的基础上加入了一段1080P的高清视频,采用WMP播放器,此时内存占用为2.98GB,减去之前的内存占用,高清播放实际消耗了0.12GB内存。可见即使你挂着3个游戏再看一个高清视频,4GB内存也是足够了。

  为了模拟更为苛刻的使用环境,我在三个游戏加一个高清的基础上再添加一个4.35GB的文件拷贝,此时内存占用达到了4.95GB,除去之前的占用,但是文件传输一项就占用了1.97GB,约2GB的内存空间。要知道这仅仅是一个4.35GB的高清视频,而文件越大,传输时的内存占用自然也越大。这样也是为什么服务器需要很大的内存来满足海量数据传输。

  这里我们用PS CS5来批处理60张照片,每张照片均在3MB以上。测试的结果就是60张照片扔到PS里,内存占用就达到了4.49GB,除去系统占用的1.34,就是3.15GB。而60张高清图片的大小和专业图形工作所用到的大型素材还有很大的差距,所以如果你经常要使用专业的后期软件,那么4GB内存就有点不够用了,8GB才比较合适。

  通过上面的测试,我们基本上可以说,以现阶段操作系统和日常应用的要求,4GB内存够用,8GB内存完美,当然这是在双通道也就是两条内存组合的前提下。至于更多条或者容量更大的内存,只能说日常应用用不着,但专业领域就很需要,比如X79的四通道技术就是来Intel的服务器产品。

6大内存很有用 一般人真不需要

  可见对于每一个使用者,内存的容量取决于自己的使用习惯,在目前的操作系统对硬件的要求下,低端用户2G内存已经基本够用,而主流用户使用4G的内存也已经足够。那么8G甚至更多的内存都可以拿来做什么呢?

  1、RamDisk,这个大概是大内存用的最多的地方了,这个软件可以划分一部分内存容量来做虚拟硬盘,大内存很多地方用不着就可以拿来做内存盘。

  内存毕竟是内存,虽然速度秒杀SSD,只要断电数据就会消失。可以选择关机前将数据保存至硬盘,但那样关机开机的速度就会大大降低。因此Ramdisk多是存放一些临时文件,例如网页缓存和系统临时文件。


将系统临时文件设置到Ramdisk

  把它们存在硬盘上会增加硬盘碎片,并且占用硬盘空间,时间长了可能导致系统盘读写速度降低。如果把它们放进Ramdisk,则不用担心此问题,更省去了手动删除的麻烦。

  2、多开游戏及虚拟机,玩网游的朋友经常会遇到这样的情况,有些游戏不支持同一系统下的多开,那么就需要在电脑上同时打开多个虚拟机,运行多个操作系统,而现在的大型游戏动辄使用1GB以上的内存,所以这对内存的要求也很高。

  3、运行大型软件,尤其是设计类软件。这类应用通常都是吃内存的大户,如果电脑配置的内存不够,打开一个素材文件都会卡。

  4、关闭虚拟内存,为了解决内存不够用的问题,Windows系统会在硬盘上虚拟出一个内存空间,但硬盘的读写速度比内存慢太多了。有了大内存就可以关闭这个功能,提高软件的运行速度。

  5、服务器应用,这里指得是一般PC兼职当当服务器的事情。专业的服务器内存都是64GB起,因此如果PC上有超过8GB的内存,不妨尝试下。

  本次测试我们使用了8条内存来组建64GB超大内存,但结果证明这样浮夸的配置并适用于一般PC用户。虽然技术革新使得内存厂家不断推出新品,但是软件发展的速度似乎并没有跟上硬件发展的脚步。就目前的需求来说,4GB双通道内存应该是主流配置,而8GB双通道也足以满足高端用户。值得注意的是,内存插满主板,性能不一定会提升,而且内存带宽还会打折,所以如果你的主板只支持双通道就没有必要上三条内存。

  上面总结了大容量内存5大作用,如果你正好有这方面的需求,不妨购买这类单条8GB内存,或者组建三通道、四通道。不过价格么,Intel只有最顶级的主板芯片组才支持三、四通道,单条8GB内存的价格目前也在800元左右,值不值还要您自己说了算。




万字长文,建议收藏!git


一、其设计初衷是能够在其基础上扩展宽度和深度算法

二、其设计动机来自于提升深度网络的性能通常能够经过提升网络的大小提升数据集的大小来提升,但同时会形成网络很容易过拟合和参数量过大计算资源的低效率以及高质量数据集的制做昂贵的问题。安全

三、其设计理念是将全链接改成稀疏架构,并尝试在卷积内部改成稀疏架构。网络

四、其主要的思想是设计了一个inception模块,并经过不断复制这些inception模块来提升网络的深度和宽度,不过GooLeNet主要仍是在深度上扩展这些inception模块。架构

每个inception模块中有四个并行通道,并在通道结束时进行concat
1x1 conv在文章中主要是用来进行维度的下降以免计算瓶颈。
其还在前面的网络层一些分支上加入了额外的softmax loss以免梯度消失问题。app

  • 1x1的conv:借鉴了【】,能够进行输入feature map的降维升维而不会太过损失输入的空间信息;
  • 3x3 max pooling followed by 1x1 conv:做者认为pooling层虽然会损失空间信息,可是由于其已经有效的应用在不少领域,这证实了其有效性,因此加了一个并行通道,并同时经过1x1 conv来更改其输出维度。

接下来是对论文主要内容的简单翻译:ide

本文提出了一个命名为Inception的深度卷积网络架构, 其成为2014年ILSVRC分类和检测比赛中最早进的方法。网络架构的主要特色是最大化利用网络内部的计算力。在保持计算负载稳定的前提下,经过精心的设计容许对网络的深度和宽度进行提高。为了最优化性能,网络架构是基于Hebbian原则,而且进行了多尺度处理。在2014ILSVRC中使用的是一个22层的网络,被命名为GooLeNetsvg

在过去三年里,因为深度学习的发展,更具体的卷积网络被提出,促进了图像分类和检测。一个值得振奋人心的消息是,大多数的进展不只仅是更强大的硬件算力、更大的数据集、更大的模型的结果,并且是因为一些新的想法、算法以及在网络架构上的创新。咱们的GooLeNet模型实际上用了比两年前AlexNet 12倍更少的参数,然而性能却更好
对于大多数的实验,模型被设计在推理阶段来保持一个15亿的multiply-adds

在这篇文章中,咱们关注一个对计算机视觉更有效的深度神经网络架构,其被命名为Inception,名字源于Network in network这篇文章,并结合了“we need to go deeper”网络用语。在咱们的状况下,deep有两种含义,首先是咱们介绍了一种Inception module新的组织形式,并且能够直接的提高网络深度。

LeNet-5开创了CNN的标准结构,在全链接层以前堆积的卷积层,可选择的一些标准化层和池化层。这种基础的设计和架构已经在MINISTCIFAR中取得了显著的效果,甚至在ImageNet上都有很好地表现。可是对于Imagenet这种更大的数据集,趋势倾向于提高网络层的数量和其大小,同时使用dropout来避免过拟合的问题。

尽管最大池化会形成一些精细空间信息的损失,这种网络架构已经能够成功的应用在定位、目标检测以及人体姿态识别上。

本文在网络中使用1x1的卷积层主要有如下目的,它们被用来进行维度下降避免计算瓶颈,而这种瓶颈每每会限制模型的大小。这不只容许深度提高,并且容许在不损失性能的前提下去提高宽度。

当前在目标检测最显著的模型是R-CNN,其将检测问题分为两个阶段问题:充分利用低级特征,例如颜色以及针对类别的超像素一致性,同时用CNN分类器去进行这些位置的分类。

提升网络的性能的两种方式:

提高深度神经网络性能最直接的方法就是提高它们的大小。这包括深度,即层级的数量以及他们的宽度即每一层级单元的大小
还有一个比较容易和安全的方式是提高训练数据的大小。

然而这两种方法都会形成两个弊端

更大的模型意味着更多的参数量,这会使得网络更容易过拟合,特别是当训练数据集中的标签样本数量被限制的状况。
同时由于高质量训练集制做棘手的和昂贵的,特别是当一些人类专家去分的时候也有很大的错误率。以下图。


另一个短板是,统一提高网络的大小是会提高计算资源使用、例如,在一个深度网络中,若是两个卷积是链式的,对于其卷积核任何统一的提高都会形成需求资源二次方的增长。若是增长的能力是低效率的,例如若是大多数的权值是以0做为结束,那么不少计算资源是被浪费的。但由于计算资源实际上老是有限的,一个有效的计算分布老是倾向于不加选择的去提高模型大小,甚至主要的客观目标是提高结果的性能。

来解决这两个问题的基础方法是在最后将全链接网络改为稀疏架构,甚至是在卷积内部

Inception架构的主要创新点是关注如何在一个卷积网络中寻找一个稀疏的架构来和一个稠密的架构相匹配和对等。平移不变性意味着咱们将须要从一个卷积模块中去构建网络。咱们须要的是发现最优局部架构而且去重复这种架构

GooLeNet网络层的细节以下表所示:
其在前面的一些分支上加入了一些softmax层去减轻深度网络的梯度消失问题。

  • 128个1x1的卷积核用来维度下降和修正线性激活单元;
  • 一个1024个单元的全链接层和修正线性激活单元;
  • 一个以70%几率丢掉神经元链接的dropout层;
  • 一个以softmax损失做为分类的线性层
  • 预测1000个类别,可是在推理阶段被去除

动量设置为0.9,学习率设置为每8个epoch下降4%。
训练了7个模型,为了使问题更精细,一些模型在小的crop上训练,一些则在大的crop上训练

使模型训练好的因素包括
图像各类尺寸patch的采样,大小平均分布在8%到100%,长宽比例在3/4到4/3之间。
光照变化对于避免过拟合有做用
后期使用随机插值进行图像的resize

在测试阶段,其将图像分为25六、28八、320、352四个尺度,而且裁剪左中右正方形在修正尺寸后图像,对于一些人物照片,咱们进行了上中下的裁剪。对于每个裁剪后的正方形图像,咱们采起四个角点和中心采起了224x224的图像,同时这些正方形也被修正为224x224大小,以及还有他们的镜像版本。因而结果就有4x3x6x2=144张裁剪后的图像。4是四个尺度,3是左中右,6是四个角点+1个中心+一个原始图像修正,2是镜像图片的操做。

softmax输出几率经过不一样裁剪图像以及不一样分类器最终的平均做为分类器的输出,在咱们的实验中,咱们分析了在验证集中可选择的方法,例如对裁剪的图片进行平均池化,或者经过分类器后的平均,可是这些方法都劣于原始的平均方法。



本文在深度网络模型的发展中是一篇具备里程碑性质的文章,其最突出的贡献是提出了归一化的Batch Normalization层,去统一网络的输出范围,所以能够将每一层的网络输出都固定在一个较为统一的范围,若是不加BN层,那么每一层的网络输入输出的值范围相差较大,那么其学习率的大小也会不太同样,而BN层则避免了这种状况,这加速网络的训练和在必定程度给网络正则项,减轻网络的过拟合程度,在后续的网络模型发展,大多数模型都或多或少的在模型中添加BN层。

本文是在输入到激活函数前,先进行BN层标准化的处理。同时借鉴VGG用2个3x3的conv代替inception模块中的5x5conv,下降了参数量,加速了计算。

一、提高了学习率:在BN模型中,实现了使用更高的学习率去加速训练收敛,可是不会形成其余影响。由于若是每层的scale不同,那么每层须要的学习率是不同的,同一层维度的scale每每也须要不一样大小的学习率,而一般须要使用最小的学习才能保证损失函数的降低,可是BN层将每层每维的scale保持一致,那么就能够直接使用较高的学习率进行优化。
三、下降L2权重衰减系数:尽管L2损失控制了Inception模型的过拟合,可是在BN-Inception模型中,权重的损失已经降低了五倍。
四、加速学习率的衰减:在训练Inception模型时,咱们让学习率按照指数降低。由于咱们的网络比Inception更快,咱们将将下降学习率的速度提高了6倍。
五、移除局部响应层:尽管这个层是有必定做用的,可是在BN层加入后,这个层就没什么存在的必要了。
六、更完全打乱训练样本:咱们将训练样本打乱,这能够阻止相同的样本出如今一个mini-batch内。这能够在验证集提高1%的精度,这是BN层做为一个正则项的优点所在。在咱们的方法中,当模型每一次看到的样本不一样时,随机的选择是更有效的。
七、减小图像扭曲:由于BN网络训练的更快并且观察每个训练样本的次数更少,咱们想让模型看到更真实的图像而不是扭曲的图像。

  • 在模型中加入使用不一样初始学习率的BN层表现以下表所示:




本文主要探讨这样一个问题,如何将卷积核使用两个甚至多个更小尺寸的卷积核去代替,同时还引入了非对称的卷积层即一维卷积
还提出了对pooling层会形成空间信息损失的一些补救方法;
对不一样分辨率的输入进行了实验,结果证实低分辨率输入虽然须要更多的时间训练,可是达到的精度和高分辨率没有相差不少。

在提升网络精度的同时下降了计算成本。


卷积网络依然是针对普遍任务的最早进的计算机视觉方法。从2014年开始,很是深的网络开始成为主流,在不一样的标准评价上产生了重要的进步。虽然模型大小和计算成本的提高更容易对大多数任务产生一种当即的效果(只要为训练提供的标注好的数据足够大),可是计算效率以及低参数仍然是手机视觉和大数据场景下重要的推动因素。在这方面,咱们有一些探索,致力于使用尽量合适的卷积层正则化手段去修正网络架构。

自从2012年,AlexNet赢得了ImageNet比赛的冠军,其成功的被应用在不少计算机视觉任务中,包括目标检测,分割,人体姿态估计、视频分类,目标追踪以及超分辨率。

这些成功的应用激励了不少致力于寻找性能更好的网络的研究。从2014年开始,网络架构的性能在充分利用网络的深度和宽度后获得了显著的提高VGGNetGooLeNet在2014年ILSVRC中达到了类似的精度。一个有趣的现象是,在分类上性能优异的网络更倾向于用在更为普遍的应用领域。这意味着,深度卷积架构的进步能够被充分使用以提高其余的计算机视觉任务,这些视觉任务很是依赖于高质量可学习到的视觉特征。同时,网络性能的提高催生了其余应用领域,而在这些领域内,AlexNet提取的特征没法在检测领域同手动设计的特征方法或者推荐的生成相竞争。

虽然VGGNet能够简单地提取出有效的特征,但同时它也带来了高昂的计算成本:评价该网络须要不少计算。另外一方面,GooLeNet的Inception设计在很是严苛的计算资源下能够展示出很好的效果,好比,其能够用5百万参数,相比于AlexNet12倍的下降,可是VGGNet的参数倒是AlexNet的3倍

Inception的computational cost比VGGNet是更低的,包括比VGGNet性能更好的网络。所以在大数据场景充分利用Inception模块是可行的,由于在这种场景下,巨大的数据量须要在一种合理的cost和场景下被处理,而每每这种状况,memory和computational capacity是有限的,例如在手机视觉领域中。固然这是可能的来使用一些具体的方法来致力于内存使用,或者经过一些computational tricks来优化一些肯定操做的执行。然而,这些方法用在Inception架构上,效果同样会很好,并且会将效率提高的更高。

虽然,Inception模块的复杂度使得对网络做出改变是很是困难的。若是网络架构是被简单的scale,那么不少计算效果就会马上损失掉。同时,这是没办法肯定GooLeNet架构中什么因素或者参数会影响到模型的设计。所以保持其性能的同时并将其适应一些使用状况是困难的。好比,若是提高模型的容量是必要的,那么简单的double全部卷积集群的数量将会致使在computational cost和参数数量上4倍的提高。这被证实在大部分实际场景下是不可行的和不合理的,特别是得到的效果通常。

在这篇文章中,咱们开始描述一些通常原则和优化方法,这被证实是scale网络一种有效的手段。虽然咱们的原则是不只仅限于Inception style的网络,可是它们是更容易观测到这样一种效果,那就是Inception style这样一种更为普通模块结构是能够更灵活和天然地融合这些原则限制。经过Inception模块中的维度下降和并行结构能够缓和周围结构的变化所带来的影响。可是,这样作值得注意的地方是,这些指导原则应该是致力于保持模型的高性能。

咱们将会描述一些设计原则,这些原则是经过对卷积网络进行不一样的架构设计而进行的大量实验所提出的。在这一点上,对如下原则的充分利用是能够猜想出的,并且一些额外的在未来会进行的实验将是有必要来估算它们的精度和有效性。

原则1要防止出现特征描述的瓶颈。所谓特征描述的瓶颈就是中间某层出现对特征比较大比例的压缩(好比使用pooling操做),这种操做会形成特征空间信息的损失,致使特征的丢失。虽然pooling在CNN中操做很重要,可是可使用一些方法来尽可能避免这种损失(笔者记:后来的空洞卷积操做)。

原则2特征的维度越高训练收敛的速度越快。即特征的独立性和模型收敛的速度有很大关系,独立的特征越多,输入的特征信息就被分解的越完全,子特征之间的相关性低,子特征内部的相关性高,把相关性强的放在一块儿更容易收敛,Hebbin原理:fire together, wire together。

原则3经过维度下降减小计算量。v1中先经过1x1卷积降维再进行特征提取。不一样的维度之间有必定的相关性,降维能够理解为一种无损或者低损压缩,即使是维度下降了,依然能够利用其相关性恢复其原有的信息。

原则4要平衡网络的深度和宽度。只有同比例的提高网络的深度和宽度,才能最大限度提高模型的性能。

虽然这些原则是合理的,可是着 没法直接使用这些原则去提高模型的性能。

GooLeNet中使用不少维度下降的方法,这取得了必定的效果。考虑一下3x3卷积层以前有一个1x1卷积层用来降维的例子。在网络中,咱们指望网络在激活函数处的输出相邻元素之间是具备高度相关性的。所以咱们能够将它们的激活值在汇集前进行维度下降,这样应该能够生成类似的局部表达描述。

本文探索了为了提高方法计算效率,在不一样设置下将网络层分解为不一样因子的实验。由于Inception网络是全卷积的,每个权值在每一次激活时对应一个乘积操做。所以,任何在计算成本的下降都会形成参数的下降。这意味着,咱们可使用一些合适的分解因子,来下降参数,从而加快训练速度。

在相同数量的卷积核状况下,更大的卷积核(例如5x5或者7x7)比3x3的卷积核计算的角度上是更加昂贵的,大概是25/9=2.78的倍数。固然,5x5的卷积核能够在前面的网络得到信息和激活单元更多的相关性,可是在计算资源消耗巨大的前提下,卷积核尺寸物理上的减少依然出现了。然而,咱们依然想知道,是否一个5x5的卷积层在输入输出尺寸保持一致的状况能够用一个更少参数的多层卷积层来代替。若是咱们缩放5x5卷积的计算图,咱们能够看到每个输出都像一个小的全链接网络以5x5的大小在输入窗口上做滑动。参考图1。
所以咱们本文了一个网络,其更加本质地去探索平移不变性以及经过两层卷积去替换一层卷积:第一层是一个3x3的卷积层,第二层是一个全链接层。参考图1。咱们最终用两个3x3的卷积层去替换一个5x5的卷积层。参考图4图5。这项操做能够实现邻近层的权值共享。大概是计算消耗(9+9)/25倍的下降。

咱们在想是否能够卷积核变得更小,好比 2x2 的大小,然而这里有一个非对称方法能够比这种方法更加好。那就是使用 nx1 大小的卷积。好比使用【3x1+1x3】的卷积层,这种状况是和单独一个 3x3 的卷积是具备相同感觉野的。参考图3.这种非对称的方法能够节约【((3x3)-(3+3))/(3x3)=33%】大小的计算资源,而替换成两个 2x2 只是节约【11%】的计算资源。
从理论上讲,咱们能够进行更深刻的讨论,使用【1xn+nx1】的卷积来代替 nxn 的卷积层。参考图6。可是这种状况在前面层表现的不是很好,不过在一个中等大小的特征图上其能够表现的比较好【mxm,m大概在12至20之间】,这种状况下,使用【1x7+7x1】的卷积层能够得到一个很是好的结果。

Inception-v1介绍过一些辅助分类器(指的就是前面层的一些分支加入softmax层去计算loss反向传播)来提高深度网络中的汇集问题。最原始的动机是将梯度可以回传到前面的卷积层,使得它们可以有效而且提高特征的汇集并避免梯度的消失问题

不过本文发现,辅助分类器在训练的早期并不会产生特别的提高:不管在模型头部有没有这些辅助分支,网络的训练进程均可以达到一个很高的精度。然而在训练快要结束的时候,带有辅助分类分支的网络的性能开始超过没有辅助分类分支的网络,而且能够达到一个很是好的稳定精度。

Inception-v1在网络不一样阶段使用了两个额外分支。移除这些更低层次分类器分支不会对网络的最终质量产生不利的影响。

结合早期对网络的观察,咱们发现Inception-v1中对于辅助分支能够提升对低级特征的获取的理论是不合理的。相反,咱们讨论辅助分类器做为一个正则项。这个理论是被支持的,由于若是将辅助分支换成BN层或者加入一个dropout层,那么主分类器的性能是更好的**,大概0.4%的提高**。这同时也辅助证实了BN做为一个正则项在网络中的做用。

传统的,卷积网络中使用池化层去下降feature map的尺寸大小。为了不空间信息的表达瓶颈,能够在使用max pooling或者average pooling以前将网络的卷积核数量扩大。例如对于一个 dxd 带有 K 个feature map的网络层,要生成一个带有 2K 个 【d/2 x d/2】大小feature map的网络层,咱们可使用 2K 个卷积核按照步长为1的卷积而后加一个池化层去获得,那么这种操做就须要 【2d2K2】。可是用池化代替卷积,大概的操做是【2*(d/2)2xK2】,下降了四倍操做。然而这却会形成一个描述瓶颈,由于feature map下降到了【(d/2)2xK】,确定会形成网络的空间信息损失。参考图9。不过咱们采用了一个更不一样的方法来避免这种瓶颈,参考图10。即便用两条并行的通道,一个是池化层(max or average),步长是2,一个是卷积层,而后在输出的时候被concatenated

下面一段关于模块结构的文字描述使用有点疑问,感受和表格中不太一致。

本文综合了以前提出的想法,提出了一种新的网络架构,这提高了ILSVRC 2012分类数据集的精度。咱们的网络。参见表1。

本文将7x7的卷积分解为了3个3x3的卷积,这种想法来自于3.1章节。

基于章节5的思想,本文使用768个卷积核将尺寸下降到17x17,这种模块一共有5个,模块的细节参见图5。

在8x8大小的等级,本文使用两个图6中 所描述的模块结构将其变换为8x8x2048。

提出了一个机制经过在训练时估计label-dropout的边缘效果来调整分类层。

对于每个训练样本x,模型会计算每个label即类别的几率值,下图7.1。其中【zi】是 log 值或者是未标准化的 log 几率值。考虑一个该样本的 GT label 的分布【q(k|x)】,标准化以后有【sum(q(q|x))=1 {k=[1,2,…K]}】。简短来讲,让咱们忽略关于样本 x 的 p 和 q 的依赖性。咱们对于该样本定义一个交叉熵损失函数(图7.2)。最小化损失函数的值等价于最大化该标签的log-likehood的值,在公式中,label是服从于其GT分布的【q(k)】。交叉熵损失关于【zk】的 logits 是可微的,所以能够用梯度更新来训练模型。梯度有一个简单的公式,如图7.3。其值范围是【-1,1】。

时,等于1,其余状况为0。这会形成【zy】远大于【zk】,对于 k 不等于 y 的标签,其 log 值也会显著大于其余的 log 值。

而这会形成两个问题。首先会形成过拟合,若是模型学习每个训练样本的 GT label 的全几率值,那么泛化性能是不够的。第二点是其鼓励最大的 log 和其余 log 之间的差距尽量大,这种状况下,在一个有限的梯度下,即图7.3中的梯度,下降了模型适应的性能。直观来看,这种状况发生的缘由是模型对预测值太自信了

经过提出一个机制鼓励模型对其预测值不那么自信,尽管这个和最大化训练标签log-likelihood值的目标是不符合的,可是这种理念的确能够调整模型,而且使其更具备泛化能力

方法很是简单,考虑 label 是【u(k)】分布的,独立的训练样本 x ,一个平滑值,对于 GT label为y 的训练样本,将【q(k|x)】替换为:,该公式是原始【q(k|x)】和固定分布【u(k)】的中和值。

具体的,其标签分布的k值能够经过如下方式得到:首先设置【GT k=y】;接着在几率下,用分布的【u(k)】替换

注意LSR实现了防止最大的log值比其余的log变得更大的目的。

的确,若是这确实发生的话,那么一个单独q(k)是1,而其余为0。但是q’(k)会形成一个很大的交叉熵损失,由于其有一个正向的较低的限制。

另一个来解释LSR的理论是经过交叉熵理论:图7.4。

所以,LSR是经过【H(q,p)】和【H(u,p)】来替换【H(q,p)】的 loss 值。第二个loss用来惩罚预测的分布p和先验u之间误差。注意这种也能够经过KL散度来获取,,在这里【H(u)】是被固定的。当 u 是统一的分布时,【H(u,p)】用来衡量预测 p 和统一分布之间的差距,这能够经过一个负的交叉熵【-H§】来度量(但不等价)。

decay=0.9。可是最好的模型时使用RMSProp,decay=0.9,可是LSR中权重设为1.0。base_lr=0.045,使用0.94的指数降低率,每两个epoch降低一次。另外梯度剪切的阈值是2.0,这对于训练稳定有必定效果。模型评价经过屡次的平均来获得。

探究了低分辨率输入图像同模型性能之间的关系。通常来讲分辨率越高,模型的性能相应也会提高,可是计算消耗也会增长,模型也要相应的设计提高以可以容纳足够高分辨率图像的空间特征信息。

全部的网络计算成本都是同样的,虽然第三个是更小的,可是pooling的成本是很小的,通常占据整个cost的1%。在ILSVRC 2012进行测试,结果如表2所示。尽管低分辨率图像须要更长的时间训练,可是其结果精度却很是靠近高分辨率图像。

然而,若是只是根据分辨率的大小就简单的缩小网络的大小,那么模型的表现也不会好。虽然这是一个不公平的比较,由于,咱们在一个复杂的任务上执行的是一个16倍小的网络。
正如表2建议的那样,一个能够考虑的点是RCNN中可使用专用的高耗时低分辨率图像进行更小目标的检测。

Inception-v2就是章节6描述的那种结构,每一行Inception-v2描述的都是累积的一个变化。7x7的分解,表示将其分为多个3x3的卷积层。而BN-auxiliary是在全链接的辅助分类器之路上加入BN而不是卷积层。




在ResNet出现后,加入了ResNet的残差结构。

凡是没有加V的层都是意味着其输入和输出尺寸是一致,即same。加V都是valid的。

Fig9是一各总体图,而Fig3,4,5,6,7,8都是其局部结构。各模块具体结构参见文末。

尝试了不少版本,可是本文只给出了其中两个版本的细节。

图15给出两个的结构。可是实际上Inception-v4在实际状况是更慢的,多是由于其层数更多。

另一个小的技术是,**咱们在Inception-ResNet模块中的传统层的头部使用了BN层,可是没有在summations的头部使用。**有理由相信BN层是有效的。可是为了在增长更多的Inception模块,咱们在这二者中做了一个妥协。

本文发现当卷积核的数量超过1000个残差变体就会开始表现出不稳定,并且网络也会在训练的早期的died,这意味着在进行平均pooling层的以前的最后一层在不多迭代次数的开始仅仅输出0值。这种状况及不能经过下降学习率也不能经过添加BN层来阻止。Hekaiming的ResNet文章也提到了这一个现象。

本文发现将残差模块添加到激活层以前先进行scale能够稳定训练过程。本文将scale系数定在0.1到0.3之间。参见Fig20.

为了防止深层残差网络的不稳定训练现象的出现,He在文章中建议分为两阶段的训练,第一阶段称之为warm-up(预热),即先以一个很低学习去训练模型,第二阶段再使用一个比较高的学习率。而本文发现若是卷积和很是高,甚至是一个0.00001的学习率也是没法解决这个训练不稳定问题,并且高的学习率也会破坏效果。可是本文认为scale

即使是scal不是严格必要的,可是对最终的精度没有任何影响,不过却可以稳定训练的过程。



Fig7中的具体参数参见下表。




但愿能帮到你们。 全文15000字。

我要回帖

更多关于 x79主板四通道内存 的文章

 

随机推荐