深度学习进阶笔记之四 深入理解googlenet

上传人:mg****85 文档编号:34190356 上传时间:2018-02-21 格式:DOCX 页数:46 大小:1.36MB
返回 下载 相关 举报
深度学习进阶笔记之四  深入理解googlenet_第1页
第1页 / 共46页
深度学习进阶笔记之四  深入理解googlenet_第2页
第2页 / 共46页
深度学习进阶笔记之四  深入理解googlenet_第3页
第3页 / 共46页
深度学习进阶笔记之四  深入理解googlenet_第4页
第4页 / 共46页
深度学习进阶笔记之四  深入理解googlenet_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《深度学习进阶笔记之四 深入理解googlenet》由会员分享,可在线阅读,更多相关《深度学习进阶笔记之四 深入理解googlenet(46页珍藏版)》请在金锄头文库上搜索。

1、 UCLoud中国云三强: 深度学习进阶笔记之四 | 深入理解 GoogLeNet引言TensorFlow是 Google基于 DistBelief进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域。其命名来源于本身的运行原理。Tensor(张量)意味着 N维数组,Flow (流)意味着基于数据流图的计算,TensorFlow 代表着张量从图象的一端流动到另一端计算过程,是将复杂的数据结构传输至人工智能神经网中进行分析和处理的过程。TensorFlow完全开源,任何人都可以使用。可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。机器学习进阶笔记系

2、列将深入解析 TensorFlow系统的技术实践,从零开始,由浅入深,与大家一起走上机器学习的进阶之路。GoogLeNet主要是直径经典的 LeNet-5算法,主要是 Google的 team成员完成,paper见 Going Deeper with Convolutions.相关工作主要包括 LeNet-5、 Gabor filters、 Network-in-Network.Network-in-Network 改进了传统的 CNN网络,采用少量的参数就轻松地击败了 AlexNet网络,使用 Network-in-Network的模型然后大小约为29MNetwork-in-Network

3、caffe model.GoogLeNet借鉴了 Network-in-Network的思想,下面会详细讲述下。 UCLoud中国云三强: Network-in-Network左边是我们 CNN的线性卷积层,一般来说线性卷积层用来提取线性可分的特征,但所提取的特征高度非线性时,我们需要更加多的 filters来提取各种潜在的特征,这样就存在一个问题,filters 太多,导致网络参数太多,网络过于复杂对于计算压力太大。文章主要从两个方法来做了一些改良:1,卷积层的改进:MLPconv ,在每个 local部分进行比传统卷积层复杂的计算,如上图右,提高每一层卷积层对于复杂特征的识别能力,这里举个

4、不恰当的例子,传统的 CNN网络,每一层的卷积层相当于一个只会做单一任务,你必须要增加海量的 filters来达到完成特定量类型的任务,而 MLPconv的每层 conv有更加大的能力,每一层能够做多种不同类型的任务,在选择 filters时只需要很少量的部分;2,采用全局均值池化来解决传统 CNN网络中全连接层参数过于复杂的特点,而且全连接会造成网络的泛化能力差,Alexnet 中有提高使用 dropout来提高网络的泛化能力。 UCLoud中国云三强: 末尾作者设计了一个 4层的 Network-in-network+全局均值池化层来做 imagenet的分类问题.class NiN(Ne

5、twork):def setup(self):(self.feed(data).conv(11, 11, 96, 4, 4, padding=VALID, name=conv1).conv(1, 1, 96, 1, 1, name=cccp1).conv(1, 1, 96, 1, 1, name=cccp2).max_pool(3, 3, 2, 2, name=pool1).conv(5, 5, 256, 1, 1, name=conv2).conv(1, 1, 256, 1, 1, name=cccp3).conv(1, 1, 256, 1, 1, name=cccp4).max_pool(

6、3, 3, 2, 2, padding=VALID, name=pool2).conv(3, 3, 384, 1, 1, name=conv3).conv(1, 1, 384, 1, 1, name=cccp5).conv(1, 1, 384, 1, 1, name=cccp6).max_pool(3, 3, 2, 2, padding=VALID, name=pool3).conv(3, 3, 1024, 1, 1, name=conv4-1024).conv(1, 1, 1024, 1, 1, name=cccp7-1024).conv(1, 1, 1000, 1, 1, name=ccc

7、p8-1024).avg_pool(6, 6, 1, 1, padding=VALID, name=pool4).softmax(name=prob)网络基本结果如上,代码见 GitHub - ethereon/caffe-tensorflow: Caffe models in TensorFlow. UCLoud中国云三强: 这里因为我近期工作变动的问题,没有了机器来跑一篇,也无法画下基本的网络结构图,之后我会补上。这里指的提出的是中间 cccp1和 ccp2(cross channel pooling)等价于1*1kernel大小的卷积层。caffe 中 NIN的实现如下:name: ni

8、n_imagenetlayers top: datatop: labelname: datatype: DATAdata_param source: /home/linmin/IMAGENET-LMDB/imagenet-train-lmdbbackend: LMDBbatch_size: 64transform_param crop_size: 224mirror: truemean_file: /home/linmin/IMAGENET-LMDB/imagenet-train-meaninclude: phase: TRAIN layers top: data UCLoud中国云三强: t

9、op: labelname: datatype: DATAdata_param source: /home/linmin/IMAGENET-LMDB/imagenet-val-lmdbbackend: LMDBbatch_size: 89transform_param crop_size: 224mirror: falsemean_file: /home/linmin/IMAGENET-LMDB/imagenet-train-meaninclude: phase: TEST layers bottom: datatop: conv1name: conv1type: CONVOLUTIONblo

10、bs_lr: 1blobs_lr: 2weight_decay: 1weight_decay: 0 UCLoud中国云三强: convolution_param num_output: 96kernel_size: 11stride: 4weight_filler type: gaussianmean: 0std: 0.01bias_filler type: constantvalue: 0layers bottom: conv1top: conv1name: relu0type: RELUlayers bottom: conv1top: cccp1 UCLoud中国云三强: name: cc

11、cp1type: CONVOLUTIONblobs_lr: 1blobs_lr: 2weight_decay: 1weight_decay: 0convolution_param num_output: 96kernel_size: 1stride: 1weight_filler type: gaussianmean: 0std: 0.05bias_filler type: constantvalue: 0layers bottom: cccp1top: cccp1 UCLoud中国云三强: name: relu1type: RELUlayers bottom: cccp1top: cccp2

12、name: cccp2type: CONVOLUTIONblobs_lr: 1blobs_lr: 2weight_decay: 1weight_decay: 0convolution_param num_output: 96kernel_size: 1stride: 1weight_filler type: gaussianmean: 0std: 0.05bias_filler type: constantvalue: 0 UCLoud中国云三强: layers bottom: cccp2top: cccp2name: relu2type: RELUlayers bottom: cccp2to

13、p: pool0name: pool0type: POOLINGpooling_param pool: MAXkernel_size: 3stride: 2layers bottom: pool0top: conv2name: conv2 UCLoud中国云三强: type: CONVOLUTIONblobs_lr: 1blobs_lr: 2weight_decay: 1weight_decay: 0convolution_param num_output: 256pad: 2kernel_size: 5stride: 1weight_filler type: gaussianmean: 0std: 0.05bias_filler type: constantvalue: 0layers bottom: conv2top: conv2 UCLoud中国云三强: name: relu3type: RELUlayers bottom: conv2top

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号