学笔记TF032:实现Google Inception Net学习笔记TF032:实现Google Inception Net

Google Inception Net,ILSVRC
2014比第一称呼。控制计算量、参数量,分类性能特别好。V1,top-5错误率6.67%,22重叠,15亿不善浮点运算,500万参数(AlexNet
6000万)。V1降低参数量目的,参数越多型越粗大,需数据量越怪,高质量数据昂贵;参数越多,耗费计算资源进一步怪。模型层数更可怜,表达能力更胜似,去除最后全连接层,用全局平均池化层(图片尺寸变1×1),参数大减,模型训练还快,减轻了拟合(《Network
in Network》论文),Inception
Module提高参数利用效率,大网络中小网络。增加分支网络,NIN级联卷积层、NLPConv层。一般,卷积层增加出口通道数,提升表达能力,计算量增大、过拟合,每个输出通道对应一个滤波器,同一滤波器共享参数,只能提取一像样特性。NIN,输出通道组保信息。MLPConv,普通卷积层,接1×1窝积、ReLU激活函数。

Google Inception Net,ILSVRC
2014竞第一叫作。控制计算量、参数量,分类性能特别好。V1,top-5错误率6.67%,22叠,15亿糟浮点运算,500万参数(AlexNet
6000万)。V1降低参数量目的,参数越多型越粗大,需数据量越老,高质量数据昂贵;参数越多,耗费计算资源进一步充分。模型层数更不行,表达能力更胜,去除最后全连接层,用全局平均池化层(图片尺寸变1×1),参数大减,模型训练还快,减轻了拟合(《Network
in Network》论文),Inception
Module提高参数利用效率,大网络中小网络。增加分支网络,NIN级联卷积层、NLPConv层。一般,卷积层增加出口通道数,提升表达能力,计算量增大、过拟合,每个输出通道对应一个滤波器,同一滤波器共享参数,只能提取一看似特性。NIN,输出通道组保信息。MLPConv,普通卷积层,接1×1卷积、ReLU激活函数。

Inception
Module结构,4只支行。第一分,输入1×1卷积。1×1窝积,跨通道组织消息,提高网络表达能力,输出通道升维、降维。4独分支都因此1×1窝积,低本钱跨通道特征变换。第二拨出,1×1窝积,3×3卷积,两浅特征变换。第三分,1×1卷积,5×5窝积。第四岔,3×3尽老池化,1×1卷积。1×1卷积性价比高,小计算量,特征变换、非线性化。4单分支后聚合操作合并(输出通道数聚合)。Inception
Module
包含3栽不同尺寸卷积、1单最酷池化,增加不同条件适应性。网络深度、宽度高效扩充,提升准确率,不过拟合。

Inception
Module结构,4个支行。第一旁,输入1×1卷积。1×1窝积,跨通道组织消息,提高网络表达能力,输出通道升维、降维。4单分支都用1×1窝积,低本钱跨通道特征变换。第二分,1×1卷积,3×3窝积,两坏特征变换。第三旁,1×1窝积,5×5卷积。第四子,3×3太充分池化,1×1窝积。1×1卷积性价比高,小计算量,特征变换、非线性化。4只支行后聚合操作合并(输出通道数聚合)。Inception
Module
包含3种植不同尺寸卷积、1单极度酷池化,增加不同口径适应性。网络深度、宽度高效扩充,提升准确率,不过拟合。

Inception Net,找到最优稀疏结构单元(Inception
Module)。Hebbian原理,神经反射活动不止、重复,神经元连接稳定性持久提升,两个神经元细胞距离接近,参与对方再次、持续兴奋,代谢变化成为一旦对方兴奋细胞。一起发出神经元会连在一起(Cells
that fire together,wire
together),学习过程刺激而神经元间突触强度增加。《Provable Bounds for
Learning Some Deep
Representations》,很特别不行稀疏神经网络表达数据集概率分布,网络最佳构筑方式是逐层构筑。上层高度相关(correlated)节点聚类,每个小簇(cluster)连接一起。相关性高节点连接一起。

Inception Net,找到最优稀疏结构单元(Inception
Module)。Hebbian原理,神经反射活动高潮迭起、重复,神经元连接稳定性持久提升,两只神经元细胞距离接近,参与对方再次、持续兴奋,代谢变化成为一旦对方兴奋细胞。一起发出神经元会连在一起(Cells
that fire together,wire
together),学习过程刺激而神经元间突触强度增加。《Provable Bounds for
Learning Some Deep
Representations》,很酷不行稀疏神经网络表达数据集概率分布,网络最佳构筑方式是逐层构筑。上层高度相关(correlated)节点聚类,每个小簇(cluster)连接一起。相关性高节点连接一起。

图片数,临近区域数据相关性高,相邻像素点卷积连接一起。多单卷积核,同一空间位置,不同通道卷积核输出结果,相关性极高。稍深一点卷积(3×3、5×5),连接节点相关性高,适当用大尺寸卷积,增加多样性(diversity)。Inception
Module 4分支,不同尺寸(1×1、3×3、5×5)小型卷积,连接相关性很高节点。

图表数,临近区域数据相关性高,相邻像素点卷积连接一起。多只卷积核,同一空间位置,不同通道卷积核输出结果,相关性极高。稍大一碰卷积(3×3、5×5),连接节点相关性高,适当用大尺寸卷积,增加多样性(diversity)。Inception
Module 4分支,不同尺寸(1×1、3×3、5×5)小型卷积,连接相关性很高节点。

Inception
Module,1×1窝积比例(输出通道数占比)最高,3×3、5×5窝积有些小。整个网络,多单Inception
Module堆叠。靠后Inception
Module卷积空间集中度渐退,捕获更老面积特征,捕捉更高阶抽象特征。靠后Inception
Module,3×3、5×5万分面积卷积核占比(输出通道数)更多。

Inception
Module,1×1窝积比例(输出通道数占比较)最高,3×3、5×5窝积有些小。整个网络,多只Inception
Module堆叠。靠后Inception
Module卷积空间集中度渐退,捕获更要命面积特征,捕捉更高阶抽象特征。靠后Inception
Module,3×3、5×5好面积卷积核占比较(输出通道数)更多。

Inception Net
22重合,最后一重合输出,中间节点分类功能好。使用辅助分类节点(auxiliary
classifiers),中间层输出作分类,按可比小权重(0.3)加到最终分类结果。相当模型融合,给网络增加反向传播梯度信号,提供额外正则化。

Inception Net
22层,最后一重合输出,中间节点分类功能好。使用辅助分类节点(auxiliary
classifiers),中间层输出作分类,按可比小权重(0.3)加到最终分类结果。相当模型融合,给网络增加反向传播梯度信号,提供额外正则化。

Google Inception Net家族:2014年9月《Going Deeper with
Convolutions》Inception V1,top-5错误率6.67%。2015年2月《Batch
Normalization:Accelerating Deep Network Trainign by Reducing Internal
Covariate》Inception V2,top-5错误率4.8%。2015年12月《Rethinking the
Inception Architecture ofr Computer Vision》Inception
V3,top-5错误率3.5%。2016年2月《Inception-v4,Inception-ResNet and the
Impact of Residual Connections on Learning》Inception
V4,top-5错误率3.08%。

Google Inception Net家族:2014年9月《Going Deeper with
Convolutions》Inception V1,top-5错误率6.67%。2015年2月《Batch
Normalization:Accelerating Deep Network Trainign by Reducing Internal
Covariate》Inception V2,top-5错误率4.8%。2015年12月《Rethinking the
Inception Architecture ofr Computer Vision》Inception
V3,top-5错误率3.5%。2016年2月《Inception-v4,Inception-ResNet and the
Impact of Residual Connections on Learning》Inception
V4,top-5错误率3.08%。

Inception
V2,用简单个3×3卷积代替5×5挺卷积,降低参数量,减轻了拟合,提出Batch
Normalization方法。BN,非常实惠正则化方法,让大型卷积网络训练进度加快很多加倍,收敛后分类准确率大幅提高。BN
对每个mini-batch数据中规则(normalization)处理,输出规范化到N(0,1)正态分布,减少Internal
Covariate
Shift(内部神经元分布改变)。传统深度神经网络,每层输入分布变化,只能用异常小学习速率。每层BN
学习速率增大很多倍增,迭代次数就需要原来的1/14,训练日缩短。BN正则化作用,减少或者撤回Dropout,简化网络布局。

Inception
V2,用单薄独3×3窝积代替5×5要命卷积,降低参数量,减轻了拟合,提出Batch
Normalization方法。BN,非常实惠正则化方法,让大型卷积网络训练进度加速很多加倍,收敛后分类准确率大幅提高。BN
对每个mini-batch数据中规则(normalization)处理,输出规范化到N(0,1)正态分布,减少Internal
Covariate
Shift(内部神经元分布改变)。传统深度神经网络,每层输入分布变化,只能用大小学习速率。每层BN
学习速率增大很多倍增,迭代次数就待原来的1/14,训练时缩短。BN正则化作用,减少或取消Dropout,简化网络布局。

外加学习速率,加快学习衰减速度,适用BN规范化数据,去除Dropout,减轻L2正则,去除LRN,更彻底shuffle训练样本,减少数额增长过程数据光学畸变(BN训练再次快,样本被教练次数更少,更诚实样本对训练有帮扶)。

叠加学习速率,加快学习衰减速度,适用BN规范化数据,去除Dropout,减轻L2正则,去除LRN,更干净shuffle训练样本,减少多少增长过程数据光学畸变(BN训练还快,样本被训练次数更少,更诚实样本对训练有帮带)。

Inception V3,引入Factorization into small
convolutions思想,较生二维卷积拆成稀个比较小一维卷积,节约大量参数,加速运算,减轻了拟合,增加一叠蜚线性,扩展模型表达能力。非对如卷积结构拆分,比对如拆分相同小卷积核效果又明显,处理还多、更丰富空间特点,增加特色多样性。

Inception V3,引入Factorization into small
convolutions思想,较生二维卷积拆成稀个比较小一维卷积,节约大量参数,加速运算,减轻了拟合,增加一重合蜚线性,扩展模型表达能力。非对如卷积结构拆分,比对如拆分相同小卷积核效果又明显,处理还多、更丰富空间特点,增加特色多样性。

优化Inception
Module结构,35×35,17×17,8×8。分支中行使分支,8×8组织,Network In
Network In Network。V3结合微软ResNet。

优化Inception
Module结构,35×35,17×17,8×8。分支中采取分支,8×8组织,Network In
Network In Network。V3结合微软ResNet。

运tf.contrib.slim辅助设计42叠Inception V3 网。

用tf.contrib.slim辅助设计42重合Inception V3 网络。

Inception V3 大网布局
项目 kernel尺寸/步长(或注释) 输入尺寸
卷积 3×3/2 299x299x3
卷积 3×3/1 149x149x32
卷积 3×3/1 147x147x32
池化 3×3/2 147x147x64
卷积 3×3/1 73x73x64
卷积 3×3/2 71x71x80
卷积 3×3/1 35x35x192
Inception模块组 3个InceptionModule 35x35x288
Inception模块组 5个InceptionModule 17x17x768
Inception模块组 3个InceptionModule 8x8x1280
池化 8×8 8x8x2048
线性 logits 1x1x2048
Softmax 分类输出 1x1x1000

                Inception V3 网络结构
类型             kernel尺寸/步长(或注释)   输入尺寸
卷积                    3x3/2           299x299x3
卷积                    3x3/1           149x149x32
卷积                    3x3/1           147x147x32
池化                    3x3/2           147x147x64
卷积                    3x3/1           73x73x64
卷积                    3x3/2           71x71x80
卷积                    3x3/1           35x35x192
Inception模块组  3个InceptionModule      35x35x288
Inception模块组  5个InceptionModule      17x17x768
Inception模块组  3个InceptionModule      8x8x1280
池化                     8x8            8x8x2048
线性                   logits           1x1x2048
Softmax               分类输出           1x1x1000

概念简单函数trunc_normal,产生截断正态分布。

概念简单函数trunc_normal,产生截断正态分布。

概念函数inception_v3_arg_scope,生成网络常用函数默认参数,卷积激活函数、权重初始化方式、标准化器。设置L2恰巧则weight_decay默认值0.00004,标准差stddev默认值0.1,参数batch_norm_var_collection默认值moving_vars

概念函数inception_v3_arg_scope,生成网络常用函数默认参数,卷积激活函数、权重初始化方式、标准化器。设置L2刚好则weight_decay默认值0.00004,标准差stddev默认值0.1,参数batch_norm_var_collection默认值moving_vars

定义batch normalization参数字典,定义衰减系数decay 0.997,epsilon
0.001,updates_collections为tf.GraphKeys.UPADTE_OPS,字典variables_collections中beta、gamma设None,moving_mean、moving_variance设batch_norm_var_collection。

定义batch normalization参数字典,定义衰减系数decay 0.997,epsilon
0.001,updates_collections为tf.GraphKeys.UPADTE_OPS,字典variables_collections中beta、gamma设None,moving_mean、moving_variance设batch_norm_var_collection。

slim.agr_scope,函数参数自动赋默认值。with
slim.arg_scope([slim.conv2d, slim.fully_connected],
weights_regularizer=slim.l2_regularizer(weight_decay))
,对[slim.conv2d,
slim.fully_connected]零星独函数参数自动赋值,参数weights_regularizer值默认设为slim.l2_regularizer(weight_decay)。不需要每次重复设置参数,只待修改时设置。

slim.agr_scope,函数参数自动赋默认值。with
slim.arg_scope([slim.conv2d, slim.fully_connected],
weights_regularizer=slim.l2_regularizer(weight_decay))
,对[slim.conv2d,
slim.fully_connected]星星单函数参数自动赋值,参数weights_regularizer值默认设为slim.l2_regularizer(weight_decay)。不欲每次重复设置参数,只待修改时设置。

嵌套一个slim.arg_scope,卷积层生成函数slim.conv2d参数赋默认值,权重初始化器weights_initializer设trunc_normal(stddev),激活函数设ReLU,标准化器设slim.batch_norm,标准化器参数设batch_norm_params,返回定义好之scope。

嵌套一个slim.arg_scope,卷积层生成函数slim.conv2d参数赋默认值,权重初始化器weights_initializer设trunc_normal(stddev),激活函数设ReLU,标准化器设slim.batch_norm,标准化器参数设batch_norm_params,返回定义好的scope。

概念函数inception_v3_base,生成Inception V3大网卷积。参数inputs
输入图片数tensor,scope 函数默认参数环境。定义字典表end_points
,保存要节点。slim.agr_scope,设置slim.conv2d、slim.max_pool2d、slim_avg_pool2d函数参数默认值,stride设1,padding设VALID。非Inception
Module卷积层,slim.conv2d创卷积层,第一参数输入tensor,第二参数输出通道数,第三参数卷积核尺寸,第四参数步长stride
,第五参数padding模式。第一窝积层输出通道数32,卷积核尺寸3×3,步长
2,padding模式VALID。

概念函数inception_v3_base,生成Inception V3大网卷积。参数inputs
输入图片数tensor,scope 函数默认参数环境。定义字典表end_points
,保存要节点。slim.agr_scope,设置slim.conv2d、slim.max_pool2d、slim_avg_pool2d函数参数默认值,stride设1,padding设VALID。非Inception
Module卷积层,slim.conv2d创立卷积层,第一参数输入tensor,第二参数输出通道数,第三参数卷积核尺寸,第四参数步长stride
,第五参数padding模式。第一窝积层输出通道数32,卷积核尺寸3×3,步长
2,padding模式VALID。

非Inception Module卷积层,主要用3×3略卷积核。Factorization into small
convolutions思想,
用两只1维卷积模拟大尺寸2维卷积,减少参数量,增加非线性。1×1窝积,低本钱跨通道特征结合。第一卷积层步长2,其余卷积层步长1。池化层尺寸3×3、步长2重叠最酷池化。网络输入数据惊寸299x299x3,经过3个涨幅2层,尺寸缩小为35x35x192,空间尺寸大降,输出通道搭多。一共5独卷积层,2独池化层,实现输入图片数尺寸减少,抽象图片特征。

非Inception Module卷积层,主要用3×3不怎么卷积核。Factorization into small
convolutions思想,
用两个1维卷积模拟大尺寸2维卷积,减少参数量,增加非线性。1×1窝积,低本钱跨通道特征结合。第一卷积层步长2,其余卷积层步长1。池化层尺寸3×3、步长2重叠最可怜池化。网络输入数据惊寸299x299x3,经过3只涨幅2层,尺寸缩小为35x35x192,空间尺寸大降,输出通道搭多。一共5单卷积层,2只池化层,实现输入图片数尺寸减少,抽象图片特征。

其三个连Inception模块组。

老三单连续Inception模块组。

第1只Inception模块组3只布局类似Inception Module。

第1个Inception模块组3个结构类似Inception Module。

第1 Inception模块组第1只Inception
Module,名称Mixed_5b。slim.arg_scope设置富有Inception模块组默认参数,所有卷积层、最酷池化、平均池化层步长设1,padding模式设SAME。设置Inception
Module
variable_scope名称Mixed_5b。4个分支,Branch_0到Branch_3。第一分段64输出通道1×1窝积。第二分层48出口通道1×1卷积,连接64输出通道5×5窝积。第三支64输出通道1×1卷积,连接2个96出口通道3×3卷积。第四分割支3×3平均池化,连接32出口通道1×1卷积。最后tf.concat合并4分叉出输出(第三维度输出通道合并),生成Inception
Module最终输出。所有层步长为1,padding模型SAME,图片尺寸不缩小,维持35×35,通道数增加,4个支行通道数和64+64+96+32=256,最终输出tensor尺寸35x35x256。

第1 Inception模块组第1独Inception
Module,名称Mixed_5b。slim.arg_scope设置有Inception模块组默认参数,所有卷积层、最酷池化、平均池化层步长设1,padding模式设SAME。设置Inception
Module
variable_scope名称Mixed_5b。4个分支,Branch_0到Branch_3。第一分支64出口通道1×1卷积。第二拨出48输出通道1×1窝积,连接64出口通道5×5卷积。第三分段64出口通道1×1窝积,连接2独96输出通道3×3窝积。第四分割支3×3平分池化,连接32输出通道1×1卷积。最后tf.concat合并4分叉出输出(第三维度输出通道合并),生成Inception
Module最终输出。所有层步长为1,padding模型SAME,图片尺寸不缩小,维持35×35,通道数增加,4只支行通道数和64+64+96+32=256,最终输出tensor尺寸35x35x256。

第1 Inception模块组第2单Inception
Module,名称Mixed_5c。步长1,padding模型SAME。4个支行,第四旁最后接64输出通道1×1卷积。输出tensor尺寸35x35x288。

第1 Inception模块组第2独Inception
Module,名称Mixed_5c。步长1,padding模型SAME。4只支行,第四分最后接64输出通道1×1卷积。输出tensor尺寸35x35x288。

第1 Inception模块组第3只Inception
Module,名称Mixed_5d。输出tensor尺寸35x35x288。

第1 Inception模块组第3独Inception
Module,名称Mixed_5d。输出tensor尺寸35x35x288。

第2单Inception模块组5单Inception Module。第2暨第5Inception
Module结构类似。

第2独Inception模块组5独Inception Module。第2交第5Inception
Module结构类似。

第2 Inception模块组第1单Inception
Module,名称Mixed_6a。3独分支。第一支行384出口通道3×3窝积,步长2,padding模式VAILD,图片尺寸压缩为17×17。第二分叉支3交汇,64出口通道1×1卷积,两独96出口通道3×3窝积,最后一层步长2,padding模式VAILD,分支输出tensor尺寸17x17x96。第三分开支3×3尽特别池化层,步长2,padding模式VAILD,分支输出tensor尺寸17x17x256。三瓜分出输出通道合并,最终输出尺寸17x17x(384+96+256)=17x17x768。第2
Inception模块组5独Inception Module尺寸相同。

第2 Inception模块组第1个Inception
Module,名称Mixed_6a。3只支行。第一拨出384输出通道3×3卷积,步长2,padding模式VAILD,图片尺寸压缩也17×17。第二细分支3重合,64输出通道1×1窝积,两只96输出通道3×3卷积,最后一叠步长2,padding模式VAILD,分支输出tensor尺寸17x17x96。第三划分支3×3极端深池化层,步长2,padding模式VAILD,分支输出tensor尺寸17x17x256。三分割出输出通道合并,最终输出尺寸17x17x(384+96+256)=17x17x768。第2
Inception模块组5只Inception Module尺寸相同。

第2 Inception模块组第2独Inception
Module,名称Mixed_6b。4个分支。第一分段192输出通道1×1窝积。第二分开支3交汇,第一重叠128输出通道1×1窝积,第二叠128出口通道1×7卷积,第三层192出口通道7×1窝积。Factorization
into small
convolutions思想,串联1×7卷积与7×1窝积,相当合成7×7窝积,参数量大减,减轻了拟合,增加一个激活函数,增强非线性特征变换。第三分开支5重合,第一重合128出口通道1×1窝积,第二重叠128输出通道7×1卷积,第三叠128出口通道1×7窝积,第四层128输出通道7×1窝积,第五重合192出口通道1×7卷积。Factorization
into small
convolutions典范,反复拆分7×7窝积。第四区划支3×3等分池化层,连接192输出通道1×1窝积。四支行合并,最终输出tensor尺寸17x17x(192+192+192+192+192)=17x17x768。

第2 Inception模块组第2独Inception
Module,名称Mixed_6b。4单支行。第一支192出口通道1×1卷积。第二细分支3重合,第一重合128出口通道1×1卷积,第二交汇128输出通道1×7窝积,第三重叠192输出通道7×1卷积。Factorization
into small
convolutions思想,串联1×7窝积与7×1卷积,相当合成7×7卷积,参数量大减,减轻了拟合,增加一个激活函数,增强非线性特征变换。第三细分支5叠,第一叠128输出通道1×1卷积,第二重合128出口通道7×1窝积,第三交汇128输出通道1×7窝积,第四重叠128出口通道7×1卷积,第五叠192出口通道1×7窝积。Factorization
into small
convolutions典范,反复拆分7×7卷积。第四分叉支3×3等分池化层,连接192输出通道1×1卷积。四支合并,最终输出tensor尺寸17x17x(192+192+192+192+192)=17x17x768。

第2 Inception模块组第3单Inception
Module,名称Mixed_6c。第二支行和老三分叉支前几乎单卷积层输出通道数从128变成160,最终输出通道数还是192。网络每经过一个Inception
Module,即使输出尺寸未转移,特征于再精炼一整个,丰富卷积和非线性化,提升网络性。

第2 Inception模块组第3独Inception
Module,名称Mixed_6c。第二分段和老三私分支前几个卷积层输出通道数从128化为160,最终输出通道数还是192。网络每经一个Inception
Module,即使输出尺寸不移,特征于重新精炼一满,丰富卷积和非线性化,提升网络性。

第2 Inception模块组第4独Inception Module,名称Mixed_6d。

第2 Inception模块组第4个Inception Module,名称Mixed_6d。

第2 Inception模块组第5只Inception
Module,名称Mixed_6e。Mixed_6e存储end_points,作Auxiliary
Classifier输助模型分类。

第2 Inception模块组第5单Inception
Module,名称Mixed_6e。Mixed_6e存储end_points,作Auxiliary
Classifier输助模型分类。

第3独Inception模块组3独Inception Module。第2及第3Inception
Module结构类似。

第3单Inception模块组3只Inception Module。第2顶第3Inception
Module结构类似。

第3 Inception模块组第1个Inception
Module,名称Mixed_7a。3独支行。第一支行2层,192出口通道1×1卷积,连接320输出通道3×3窝积,步长2,padding模式VAILD,图片尺寸压缩为8×8。第二瓜分支4叠,192出口通道1×1窝积,192输出通道1×7卷积,192出口通道7×1窝积,192输出通道3×3卷积,最后一重叠步长2,padding模式VAILD,分支输出tensor尺寸8x8x192。第三区划支3×3最好可怜池化层,步长2,padding模式VAILD,池化层不移输出通道,分支输出tensor尺寸8x8x768。三瓜分出输出通道合并,最终输出尺寸8x8x(320+192+768)=8x8x1280。从这Inception
Module开始,输出图片尺寸缩小,通道数增加,tensor 总size下降。

第3 Inception模块组第1单Inception
Module,名称Mixed_7a。3个支行。第一岔2层,192输出通道1×1窝积,连接320出口通道3×3卷积,步长2,padding模式VAILD,图片尺寸压缩也8×8。第二分开支4重叠,192输出通道1×1卷积,192出口通道1×7窝积,192输出通道7×1卷积,192出口通道3×3窝积,最后一重叠步长2,padding模式VAILD,分支输出tensor尺寸8x8x192。第三细分支3×3极端特别池化层,步长2,padding模式VAILD,池化层不改动输出通道,分支输出tensor尺寸8x8x768。三分开出输出通道合并,最终输出尺寸8x8x(320+192+768)=8x8x1280。从这Inception
Module开始,输出图片尺寸缩小,通道数增加,tensor 总size下降。

第3 Inception模块组第2只Inception
Module,名称Mixed_7b。4只支行。第一分段320输出通道1×1窝积。第二分层,第一交汇384输出通道1×1卷积,第二叠2只支行,384输出通道1×3卷积与384出口通道3×1窝积,用tf.concat合并两单分支,得到输出tensor尺寸8x8x(384+384)=8x8x768。第三拨出,第一叠448输出通道1×1窝积,第二层384出口通道3×3卷积,第三重合2只支行,384出口通道1×3窝积与384输出通道3×1窝积,合并得到8x8x768出口tensor。第四划分支3×3平均池化层,连接192出口通道1×1窝积。四子合并,最终输出tensor尺寸8x8x(320+768+768+192)=8x8x2048。这个Inception
Module,输出通道数从1280多及2048。

第3 Inception模块组第2独Inception
Module,名称Mixed_7b。4独分支。第一支行320出口通道1×1卷积。第二分段,第一交汇384出口通道1×1窝积,第二重叠2独分支,384出口通道1×3窝积与384出口通道3×1卷积,用tf.concat合并两只支行,得到输出tensor尺寸8x8x(384+384)=8x8x768。第三子,第一重叠448出口通道1×1卷积,第二叠384输出通道3×3窝积,第三层2独分支,384输出通道1×3窝积与384出口通道3×1卷积,合并得到8x8x768出口tensor。第四分割支3×3平分池化层,连接192输出通道1×1卷积。四旁合并,最终输出tensor尺寸8x8x(320+768+768+192)=8x8x2048。这个Inception
Module,输出通道数从1280充实至2048。

第3 Inception模块组第3个Inception
Module,名称Mixed_7c。返回这个Inception
Module结果,作inception_v3_base函数最终输出。

第3 Inception模块组第3个Inception
Module,名称Mixed_7c。返回这个Inception
Module结果,作inception_v3_base函数最终输出。

Inception
V3网络布局,首先5个卷积层和2单池化层交替普通布局,3单Inception模块组,每个模块组内包含多只组织类似Inception
Module。设计Inception
Net重要原则,图片尺寸不断压缩,从299×299透过5单增幅2卷积层或池化层,缩小8×8,输出通道数持续加码,从开3(RGB三色)到2048。每一样层卷积、池化或Inception模块组,空间组织简化,空间信息转化高阶抽象特征信息,空间维度转为通道维度。每层输出tensor总size持续下降,降低计算量。Inception
Module规律,一般4单分支,第1瓜分支1×1窝积,第2分割支1×1卷积还接分解后(factorized)1xn和nx1窝积,第3分和第2分类似,更可怜,第4支最充分池化或平均池化。Inception
Module,通过整合简单特征抽象(分支1)、比较复杂特征抽象(分支2、分支3)、一个简化结构池化层(分支4),4种不同档次特征抽象和转换来起选择保留不同层高阶特征,最特别程度助长网络表达能力。

Inception
V3网布局,首先5个卷积层和2个池化层交替普通布局,3单Inception模块组,每个模块组内包含多只结构类似Inception
Module。设计Inception
Net重要原则,图片尺寸不断缩小,从299×299透过5个涨幅2卷积层或池化层,缩小8×8,输出通道数持续增加,从开头3(RGB三色)到2048。每一样叠卷积、池化或Inception模块组,空间组织简化,空间信息转化高阶抽象特征信息,空间维度转为通道维度。每层输出tensor总size持续下滑,降低计算量。Inception
Module规律,一般4独分支,第1划分支1×1窝积,第2划分支1×1卷积还连接分解后(factorized)1xn和nx1窝积,第3子和第2子类似,更怪,第4分支最充分池化或平均池化。Inception
Module,通过做简单特征抽象(分支1)、比较复杂特征抽象(分支2、分支3)、一个简化结构池化层(分支4),4种不同程度特征抽象和转换来发出选择保留不同层高阶特征,最充分程度助长网络表达能力。

全局平均池化、Softmax、Auxiliary
Logits。函数inception_v3输入参数,num_classes最后索要分类数量,默认1000ILSVRC比数据集种类数,is_training标志是否训练过程,训练时Batch
Normalization、Dropout才见面给启用,dropout_keep_prob训练时Dropoutr所需保留节点比例,默认0.8。prediction_fn分类函数,默认使用slim.softmax。spatial_squeeze参数标志输出是否开展squeeze操作(去除维数1维度)。reuse标志网络及Variable是否用。scope包含函数默认参数环境,用tf.variable_scope定义网络name、reuse参数默认值,用slim.arg_scope定义Batch
Normalization和Dropout的is_trainin标志默认值。用incepiton_v3_base构筑整个网络卷积,拿到结尾一重叠输出net和要节点字典表end_points。

全局平均池化、Softmax、Auxiliary
Logits。函数inception_v3输入参数,num_classes最后用分类数量,默认1000ILSVRC比赛数据集种类数,is_training标志是否训练过程,训练时Batch
Normalization、Dropout才见面吃启用,dropout_keep_prob训练时Dropoutr所需保留节点比例,默认0.8。prediction_fn分类函数,默认使用slim.softmax。spatial_squeeze参数标志输出是否进行squeeze操作(去除维数1维度)。reuse标志网络和Variable是否用。scope包含函数默认参数环境,用tf.variable_scope定义网络name、reuse参数默认值,用slim.arg_scope定义Batch
Normalization和Dropout的is_trainin标志默认值。用incepiton_v3_base构筑整个网络卷积,拿到终极一层输出net和重大节点字典表end_points。

Auxiliary Logits,辅助分类节点,帮助预测分类结果。用slim.arg_scope
卷积、最要命池化、平均池化设默认步长1,默认padding模式SAME。通过end_points取Mixed_6e,再接5×5平均池化,步长3,padding设VALID,输出尺寸17x17x768变5x5x768。接128输出通道1×1窝积与768出口通道5×5卷积。权重初始化方式重设标准差0.01正态分布,padding模式VALID,输出尺寸变1x1x768。输出变1x1x1000。用tf.squeeze函数消除输出tensor前片只1维度。最后输助分类节点输出aux_logits储存到字典表end_points。

Auxiliary Logits,辅助分类节点,帮助预测分类结果。用slim.arg_scope
卷积、最酷池化、平均池化设默认步长1,默认padding模式SAME。通过end_points取Mixed_6e,再接5×5平均池化,步长3,padding设VALID,输出尺寸17x17x768变5x5x768。接128输出通道1×1窝积与768出口通道5×5卷积。权重初始化方式重设标准差0.01正态分布,padding模式VALID,输出尺寸变1x1x768。输出变1x1x1000。用tf.squeeze函数消除输出tensor前片只1维度。最后输助分类节点输出aux_logits储存到字典表end_points。

分拣预测逻辑。Mixed_7e末卷积层输出8×8大局平均池化,padding模式VALID,输出tensor尺寸变1x1x2048。接Dropout层,节点保留率dropout_keep_prob。连接输出通道数1000底1×1窝积,激活函数、规范化函数设空。tf.squeeze去除输出tensor维数1维度,接Softmax分类预测结果。最后回来输出结果logits、包含输助节点end_points。

分拣预测逻辑。Mixed_7e末卷积层输出8×8大局平均池化,padding模式VALID,输出tensor尺寸变1x1x2048。接Dropout层,节点保留率dropout_keep_prob。连接输出通道数1000底1×1卷积,激活函数、规范化函数设空。tf.squeeze去除输出tensor维数1维度,接Softmax分类预测结果。最后回到输出结果logits、包含输助节点end_points。

Inception V3
网络构建完成。超参数选择,包括层数、卷积核尺寸、池化位置、步长大小、factorization使用时、分支设计,需要大量追以及行。

Inception V3
网络构建形成。超参数选择,包括层数、卷积核尺寸、池化位置、步长大小、factorization使用时、分支设计,需要大量追与实施。

Inception V3运算性能测试。网络布局异常,令batch_size
32。图片尺寸299×299,用tf.random_uniform生成自由图片数
input。用slim.arg_scope加载inception_v3_arg_scope(),scope包含Batch
Normalization默认参数,激活函数和参数初始化方式默认值。在arg_scope,调inception_v3函数,传入inputs,获取logits和end_points。创建Session,初始化全部模参数。设置测试batch数量100,用time_tensorflow_run测试Inception
V3网络forward性能。

Inception V3运算性能测试。网络布局很,令batch_size
32。图片尺寸299×299,用tf.random_uniform生成自由图片数
input。用slim.arg_scope加载inception_v3_arg_scope(),scope包含Batch
Normalization默认参数,激活函数和参数初始化方式默认值。在arg_scope,调inception_v3函数,传入inputs,获取logits和end_points。创建Session,初始化全部模子参数。设置测试batch数量100,用time_tensorflow_run测试Inception
V3网络forward性能。

Inception V3网,图片面积比VGGNet
224×224可怜78%,forward速度比较VGGNet快。2500万参数,比Inception
V1的700万大抵,不至AlexNet的6000万的一半,比VGGNet的1.4亿不见生多。42叠,整个网络浮点计算量仅50亿糟,比Inception
V1的15亿糟多,比VGGNet少。可以移植到寻常服务器提供快捷响应服务,或移植到手机实时图像识别。

Inception V3大网,图片面积比VGGNet
224×224坏78%,forward速度比较VGGNet快。2500万参数,比Inception
V1的700万几近,不交AlexNet的6000万的一半,比VGGNet的1.4亿丢掉好多。42叠,整个网络浮点计算量仅50亿次,比Inception
V1的15亿软多,比VGGNet少。可以移植到常见服务器提供快速响应服务,或移植到手机实时图像识别。

Inception V3
backward性能测试,将整个网络有所参数加入参数列表,测试对全部参数求导所需要时间,或直接下载ImageNet数据集,使用真实样本训练并评测所用时间。

Inception V3
backward性能测试,将不折不扣网络有参数加入参数列表,测试对普参数求导所欲时,或直接下载ImageNet数据集,使用真实样本训练并评测所急需时。

Inception V3,Factorization into small
convolutions很有效,可以减低参数量、减轻了拟合,增加网络非线性表达能力。卷积网络由输入到输出,图片尺寸逐渐缩小,输出通道数逐渐多,空间组织简化,空间信息转化为高阶抽象特征信息。Inception
Module多独支行提取不同抽象程度高阶特征颇管用,丰富网络表达能力。

Inception V3,Factorization into small
convolutions很有效,可以减低参数量、减轻了拟合,增加网络非线性表达能力。卷积网络由输入到输出,图片尺寸逐渐缩小,输出通道数逐渐多,空间组织简化,空间信息转化为高阶抽象特征信息。Inception
Module多独支行提取不同抽象程度高阶特征非常管用,丰富网络表达能力。

 

澳门网上娱乐 1

参考资料:
《TensorFlow实战》

DingTalk20170727060324.png

迎付费咨询(150老大每时),我之微信:qingxingfengzi

澳门网上娱乐 2

DingTalk20170727060442.png

澳门网上娱乐 3

DingTalk20170727060524.png

澳门网上娱乐 4

DingTalk20170727060737.png

澳门网上娱乐 5

DingTalk20170727060822.png

澳门网上娱乐 6

DingTalk20170727060857.png

澳门网上娱乐 7

DingTalk20170727061119.png

澳门网上娱乐 8

澳门网上娱乐 9

DingTalk20170727061257.png

参考资料:
《TensorFlow实战》

迎接付费咨询(150首届每时),我的微信:qingxingfengzi