机器学习进阶笔记之四 | 深入理解GoogLeNet
引言
TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域。其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow代表着张量从图象的一端流动到另一端计算过程,是将复杂的数据结构传输至人工智能神经网中进行分析和处理的过程。
TensorFlow完全开源,任何人都可以使用。可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。
『机器学习进阶笔记』系列将深入解析TensorFlow系统的技术实践,从零开始,由浅入深,与大家一起走上机器学习的进阶之路。
GoogLeNet是ILSVRC 2014的冠军,主要是直径经典的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 caffe model.GoogLeNet借鉴了Network-in-Network的思想,下面会详细讲述下。
Network-in-Network
左边是我们CNN的线性卷积层,一般来说线性卷积层用来提取线性可分的特征,但所提取的特征高度非线性时,我们需要更加多的filters来提取各种潜在的特征,这样就存在一个问题,filters太多,导致网络参数太多,网络过于复杂对于计算压力太大。
文章主要从两个方法来做了一些改良:1,卷积层的改进:MLPconv,在每个local部分进行比传统卷积层复杂的计算,如上图右,提高每一层卷积层对于复杂特征的识别能力,这里举个不恰当的例子,传统的CNN网络,每一层的卷积层相当于一个只会做单一任务,你必须要增加海量的filters来达到完成特定量类型的任务,而MLPconv的每层conv有更加大的能力,每一层能够做多种不同类型的任务,在选择filters时只需要很少量的部分;2,采用全局均值池化来解决传统CNN网络中最后全连接层参数过于复杂的特点,而且全连接会造成网络的泛化能力差,Alexnet中有提高使用dropout来提高网络的泛化能力。
最后作者设计了一个4层的Network-in-network+全局均值池化层来做imagenet的分类问题.
- class NiN(Network):
- 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(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='cccp8-1024')
- .avg_pool(6, 6, 1, 1, padding='VALID', name='pool4')
- .softmax(name='prob'))
网络基本结果如上,代码见GitHub - ethereon/caffe-tensorflow: Caffe models in TensorFlow.
时间:2018-08-02 00:13 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [机器学习]2021年进入AI和ML领域之前需要了解的10件事
- [机器学习]Facebook新AI模型SEER实现自监督学习,LeCun大赞最有
- [机器学习]来自Facebook AI的多任务多模态的统一Transformer:向
- [机器学习]一文详解深度学习最常用的 10 个激活函数
- [机器学习]增量学习(Incremental Learning)小综述
- [机器学习]更深、更轻量级的Transformer!Facebook提出:DeLigh
- [机器学习]盘点近期大热对比学习模型:MoCo/SimCLR/BYOL/SimSi
- [机器学习]AAAI21最佳论文Informer:效果远超Transformer的长序列
- [机器学习]深度学习中的3个秘密:集成、知识蒸馏和蒸馏
- [机器学习]让研究人员绞尽脑汁的Transformer位置编码
相关推荐:
网友评论: