读书笔记TF032

Google 英斯ption Net,ILSVRC
二〇一六竞赛第一名。调节计算量、参数量,分类品质非常好。V1,top-5错误率6.67%,22层,15亿次浮点运算,500万参数(亚历克斯Net
6000万)。V1减少参数量指标,参数越来越多模型越粗大,需数据量越大,高水平数据昂贵;参数越来越多,费用计算能源越大。模型层数更深,表明工夫更加强,去除最终全连接层,用全局平均池化层(图片尺寸变1×1),参数大减,模型练习越来越快,缓和过拟合(《Network
in Network》诗歌),英斯ption
Module提升级参谋数利用功效,大网络中型Mini互联网。扩展分支网络,NIN级联卷积层、NLPConv层。日常,卷积层扩张出口通道数,提高表明本事,总括量增大、过拟合,每种输出通道对应一个滤波器,同大器晚成滤波器分享参数,只可以领取生龙活虎类本性。NIN,输出通道组保新闻。MLPConv,普通卷积层,接1×1卷积、ReLU激活函数。

英斯ption
Module结构,4个支行。第一分支,输入1×1卷积。1×1卷积,跨通道组织音信,进步互连网表明手艺,输出通道升维、降维。4个支行都用1×1卷积,低本钱跨通道特征转换。第二分段,1×1卷积,3×3卷积,两回特征转换。第五分支,1×1卷积,5×5卷积。第四拨出,3×3最大池化,1×1卷积。1×1卷积价廉物美,小总计量,特征转换、非线性化。4个支行后聚合操作合并(输出通道数聚合)。英斯ption
Module
包涵3种分歧尺寸卷积、1个最大池化,增添差别条件适应性。网络深度、宽度高效扩大,进步精确率,可是拟合。

英斯ption Net,找到最优荒废结构单元(英斯ption
Module)。Hebbian原理,神经反射活动持续、重复,神经元连接牢固性长久进步,三个神经元细胞间隔近,加入对方再也、持续欢腾,代谢变化成为使对方欢畅细胞。一齐发出神经元会连在一齐(Cells
that fire together,wire
together),学习进度激情使神经元间突触强度扩张。《Provable Bounds for
Learning Some Deep
Representations》,异常的大很抛荒神经互联网表明数据集可能率布满,互联网最棒构筑方式是逐层构筑。上层中度相关(correlated)节点聚类,每一种小簇(cluster)连接一齐。相关性高节点连接一齐。

图形数据,贴近区域数据相关性高,相邻像素点卷积连接一同。七个卷积核,同生龙活虎空间地方,区别通道卷积核输出结果,相关性超高。稍大一点卷积(3×3、5×5),连接节点相关性高,适当用大尺寸卷积,扩展各个性(diversity)。英斯ption
Module 4分支,分裂尺寸(1×1、3×3、5×5)Mini卷积,连接相关性异常高节点。

英斯ption
Module,1×1卷积比例(输出通道数占比)最高,3×3、5×5卷积稍低。整个网络,几个英斯ption
Module聚成堆。靠后英斯ption
Module卷积空间集高度渐收缩,捕获更加大规模特征,捕捉越来越高阶抽象特征。靠后英斯ption
Module,3×3、5×5大范围卷积核占比(输出通道数)越多。

英斯ption 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%。

英斯ption
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正则,去除LENVISIONN,更干净shuffle训练样品,减弱数额拉长进程数据光学畸变(BN操练越来越快,样品被教练次数越来越少,更实际样板对练习有支持)。

英斯ption V3,引进Factorization into small
convolutions观念,极大二维卷积拆成四个比较小生龙活虎维卷积,节约大量参数,加快运算,缓解过拟合,增添大器晚成层蜚线性,扩展模型表明技术。非对称卷积结构拆分,比对称拆分相符小卷积核效果更明了,管理越来越多、更丰硕空间特点,扩大风味三种性。

优化Inception
Module结构,35×35,17×17,8×8。分支中接收分支,8×8结构,Network In
Network In Network。V3结合微软ResNet。

接收tf.contrib.slim协助设计42层英斯ption V3 网络。

英斯ption 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

概念轻便函数trunc_normal,发生截断正态分布。

概念函数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。

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。

概念函数inception_v3_base,生成英斯ption V3互联网卷积。参数inputs
输入图片数据tensor,scope 函数暗中同意参数景况。定义字典表end_points
,保存关键节点。slim.agr_scope,设置slim.conv2d、slim.max_pool2d、slim_avg_pool2d函数参数暗许值,stride设1,padding设VALID。非英斯ption
Module卷积层,slim.conv2d创制卷积层,第风姿罗曼蒂克参数输入tensor,第二参数输出通道数,第三参数卷积核尺寸,第四参数步长stride
,第五参数padding格局。第后生可畏卷积层输出通道数32,卷积核尺寸3×3,步长
2,padding情势VALID。

非英斯ption Module卷积层,首要用3×3小卷积核。Factorization into small
convolutions观念,
用多少个1维卷积模拟大尺寸2维卷积,减弱参数量,扩充非线性。1×1卷积,低本钱跨通道特征结合。第生龙活虎卷积层步长2,其他卷积层步长1。池化层尺寸3×3、步长2重叠最大池化。互连网输入数据惊寸299x299x3,经过3个升幅2层,尺寸裁减为35x35x192,空间尺寸大减弱,输出通道扩展比超级多。少年老成共5个卷积层,2个池化层,达成输入图片数据尺寸减弱,抽象图片特征。

七个延续英斯ption模块组。

第三个英斯ption模块组3个布局相似英斯ption Module。

第1 英斯ption模块组第4个英斯ption
Module,名称Mixed_5b。slim.arg_scope设置富有英斯ption模块组暗中认可参数,全数卷积层、最大池化、平均池化层步长设1,padding情势设SAME。设置英斯ption
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分支输出(第三维度输出通道归并),生成英斯ption
Module最终输出。全部层步长为1,padding模型SAME,图片尺寸不收缩,维持35×35,通道数扩充,4个支行通道数和64+64+96+32=256,最后输出tensor尺寸35x35x256。

第1 英斯ption模块组第四个英斯ption
Module,名称Mixed_5c。步长1,padding模型SAME。4个支行,第伍分段最终接64输出通道1×1卷积。输出tensor尺寸35x35x288。

第1 英斯ption模块组第四个英斯ption
Module,名称Mixed_5d。输出tensor尺寸35x35x288。

第3个英斯ption模块组5个英斯ption Module。第2到第5英斯ption
Module结构相通。

第2 英斯ption模块组第4个英斯ption
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
英斯ption模块组5个Inception Module尺寸肖似。

第2 英斯ption模块组第1个英斯ption
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模块组第四个英斯ption
Module,名称Mixed_6c。第二分段和第七分支援前线多少个卷积层输出通道数从128产生160,最后输出通道数依然192。互联网每经过一个Inception
Module,纵然输出尺寸不改变,特征被再度精炼叁遍,丰硕卷积和非线性化,提高互联网品质。

第2 英斯ption模块组第二个英斯ption Module,名称Mixed_6d。

第2 英斯ption模块组第5个英斯ption
Module,名称Mixed_6e。Mixed_6e存储end_points,作Auxiliary
Classifier输助模型分类。

第2个Inception模块组3个英斯ption Module。第2到第3英斯ption
Module结构肖似。

第3 英斯ption模块组第三个英斯ption
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。从这一个英斯ption
Module初始,输出图片尺寸降低,通道数增添,tensor 总size下落。

第3 Inception模块组第三个英斯ption
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 英斯ption模块组第2个英斯ption
Module,名称Mixed_7c。重回那一个Inception
Module结果,作inception_v3_base函数最终输出。

英斯ption
V3网络布局,首先5个卷积层和2个池化层轮换普通布局,3个英斯ption模块组,种种模块组内包罗多少个组织相仿英斯ption
Module。设计英斯ption
Net主要规范,图片尺寸不断收缩,从299×299由此5个上升的幅度2卷积层或池化层,降低8×8,输出通道数持续扩充,从早先3(CRUISERGB三色)到2048。每大器晚成层卷积、池化或英斯ption模块组,空间组织简化,空间音讯转变高阶抽象特征消息,三个维度转为通道维度。每层输出tensor总size持续收缩,降低总结量。英斯ption
Module规律,经常4个分支,第1分支1×1卷积,第2分支1×1卷积再接分解后(factorized)1xn和nx1卷积,第3分段和第2分层相似,越来越深,第4分层最大池化或平均池化。英斯ption
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。

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。

英斯ption V3
网络创设变成。超参数选取,包涵层数、卷积核尺寸、池化地点、步长大小、factorization使用机会、分支设计,必要大批量研商和实施。

英斯ption 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性能。

英斯ption V3网络,图片面积比VGGNet
224×224大78%,forward速度比VGGNet快。2500万参数,比Inception
V1的700万多,不到亚历克斯Net的6000万的八分之四,比VGGNet的1.4亿少相当多。42层,整个网络浮点总计量仅50亿次,比英斯ption
V1的15亿次多,比VGGNet少。能够移植到寻平常衣服务器提供高速响应服务,或移植到手提式有线电话机实时图像识别。

英斯ption V3
backward品质测量试验,将全体互联网具备参数参与参数列表,测量检验对一切参数求导所需时日,或直接下载ImageNet数据集,使用真实样品演练并评测所需时日。

英斯ption V3,Factorization into small
convolutions很得力,能够减弱参数量、缓和过拟合,增添互连网非线性表达本事。卷积互联网从输入到输出,图片尺寸慢慢缩短,输出通道数慢慢扩充,空间协会简化,空间消息转变为高阶抽象特征新闻。Inception
Module多个支行提取差别抽象程度高阶特征很得力,丰盛互连网表达技术。

 

参考资料:
《TensorFlow实战》

招待付费咨询(150元每小时),笔者的微信:qingxingfengzi

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图