Inception 模型
https://blog.csdn.net/xxiaozr/article/details/71481356
inception v1:
去除了最后的全连接层,使用全局平均池化层来代替,因为全连接层的参数很多,基本上占据了百分之九十的参数,而且全连接层会带来过拟合的问题。
采用了inception module。
Hebbian 原理:神经反射活动的持续和重复会导致神经元连接稳定性的持久提升,当两个神经元细胞A和B距离很接近,并且A参与了对B的重复持续的兴奋,那么某些代谢变化会导致A将作为能使B兴奋的细胞。即,一起发射的神经元会连在一起。
inception module 一共有四个分支
1*1的卷积层使用低成本进行跨通道的特征变换,在同一个空间位置但是在不同通道的卷积核的输出结果相关性极高,一个1*1的卷积就可以将这些空间位置相同但属于不同通道的连接在一起。1*1卷积所连接的节点的相关性是最高的。
在inception module中,1*1卷积的比例最高,但靠后的module中卷积的空间集中度逐渐降低,捕获更大面积的特征, 3*3,5*5的比例增大。
四个分支最后通过一个聚合操作合并(在输出通道的维度上)
inception中间节点的分类效果也比较好,因此还采用了辅助分类器,将中间某一层的输出用作分类,并按一个较小的权重加到最终的分类结果中。相当于做了模型融合,同时给网络加了反向传播的梯度信号,提供了额外的正则化。
Inception v2:
卷积神经网络经过卷积后得到的是一系列的特征图,如果min-batch sizes为m,那么网络某一层输入数据可以表示为四维矩阵(m,f,p,q),m为min-batch sizes,f为特征图个数,p、q分别为特征图的宽高。在cnn中我们可以把每个特征图看成是一个特征处理(一个神经元),因此在使用Batch Normalization,mini-batch size 的大小就是:m*p*q,于是对于每个特征图都只有一对可学习参数:γ、β。说白了吧,这就是相当于求取所有样本所对应的一个特征图的所有神经元的平均值、方差,然后对这个特征图神经元做归一化。
虽然使用随机梯度的mini-batch可以简化梯度下降的算法,但它需要十分小心的超参数和比较小的合适的学习率,在模型的初始化方面敏感。
softmax函数存在饱和问题,当|x|增大时,梯度趋于0,导致梯度消失,学习缓慢,这个问题可以使用RLU,小心的初始化和小的学习率来解决,但是我们确信,如果输入的非线性数据分布更平缓,将不会饱和,学习会加速。
batch-normalization 有正则化的作用,可以减少dropout 的使用,减少梯度对模型参数和初始值的依赖。
检验的时候认为γ和β都是训练是算下来的
Inception v3:
将两个较大的二维卷积拆成两个较小的一维卷积,例如将3*3拆成1*3和3*1,一方面减少参数减轻过拟合,一方面则加了一层非线性扩展模型表达能力,非对称的卷积结构拆分结果比对称的拆分为几个相同的小卷积核效果更好,可以处理更多更丰富的空间特征,增加特征多样性。
卷积网络从输入到输出,应该让图片尺寸逐渐减小,输出通道数逐渐增加,即让空间结构简化,将空间信息转化为高阶抽象的特征信息。
inception module使用多个分支提取不同抽象程度的高阶特征的思路很有效,可以丰富网络的表达能力。
Inception 模型的更多相关文章
- CNN卷积神经网络_深度残差网络 ResNet——解决神经网络过深反而引起误差增加的根本问题,Highway NetWork 则允许保留一定比例的原始输入 x。(这种思想在inception模型也有,例如卷积是concat并行,而不是串行)这样前面一层的信息,有一定比例可以不经过矩阵乘法和非线性变换,直接传输到下一层,仿佛一条信息高速公路,因此得名Highway Network
from:https://blog.csdn.net/diamonjoy_zone/article/details/70904212 环境:Win8.1 TensorFlow1.0.1 软件:Anac ...
- Inception模型和Residual模型卷积操作的keras实现
Inception模型和Residual残差模型是卷积神经网络中对卷积升级的两个操作. 一. Inception模型(by google) 这个模型的trick是将大卷积核变成小卷积核,将多个卷积核 ...
- (原)ubuntu16在torch中使用caffe训练好的模型
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5783006.html 之前使用的是torch,由于其他人在caffe上面预训练了inception模型 ...
- 学习笔记TF022:产品环境模型部署、Docker镜像、Bazel工作区、导出模型、服务器、客户端
产品环境模型部署,创建简单Web APP,用户上传图像,运行Inception模型,实现图像自动分类. 搭建TensorFlow服务开发环境.安装Docker,https://docs.docker. ...
- 论文阅读笔记四十二:Going deeper with convolutions (Inception V1 CVPR2014 )
论文原址:https://arxiv.org/pdf/1409.4842.pdf 代码连接:https://github.com/titu1994/Inception-v4(包含v1,v2,v4) ...
- tensorflow-Inception-v3模型训练自己的数据代码示例
一.声明 本代码非原创,源网址不详,仅做学习参考. 二.代码 # -*- coding: utf-8 -*- import glob # 返回一个包含有匹配文件/目录的数组 import os.pat ...
- 第十四节,卷积神经网络之经典网络Inception(四)
一 1x1卷积 在架构内容设计方面,其中一个比较有帮助的想法是使用 1×1 卷积.也许你会好奇,1×1 的卷积能做什么呢?不就是乘以数字么?听上去挺好笑的,结果并非如此,我们来具体看看. 过滤器为 1 ...
- Deep Dream 模型
本节的代码参考了TensorFlow 源码中的示例程序https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ ...
- 2 (自我拓展)部署花的识别模型(学习tensorflow实战google深度学习框架)
kaggle竞赛的inception模型已经能够提取图像很好的特征,后续训练出一个针对当前图片数据的全连接层,进行花的识别和分类.这里见书即可,不再赘述. 书中使用google参加Kaggle竞赛的i ...
随机推荐
- Scala泛型[T]的使用
package com.dtspark.scala.basics /** * 1,scala的类和方法.函数都可以是泛型. * * 2,关于对类型边界的限定分为上边界和下边界(对类进行限制) * 上边 ...
- watch的几种用法
https://www.cnblogs.com/hity-tt/p/6677753.html . 亲测无误
- "pip3 install requests"
后续设置参考 “selenium python3” https://www.cnblogs.com/jpr-ok/p/10108231.html
- 天猫京东app中常见的上下滚动轮播效果如何实现?
前段时间,公司安排我制作一个上下滚动轮播效果,类似于我们在天猫京东app中常见的这样: 哇kao!这个我完全不会呀??? 幸好,前几天一个朋友在朋友圈分享了一篇推文.瞬间引领我走出了迷茫,这个教程特别 ...
- SQL Server 2014忘记SA密码或禁用而且Windows身份验证也无法登录的解决办法
SQL Server双重验证都无法验证的情况下如何处理 1.以管理员身份运行sql配置管理器 2.打开[Sql Server 服务]节点关掉所有服务 3.双击本地实例[SQL Server (MSSQ ...
- 回车和刷新以及Ctr+F5的区别
回车(url跳转)主要是判断本地缓存文件的Expires的有效时间,如果有效则直接使用客户端缓存 不在提交到HTTP服务器 F5 Expires设置不再起效果,只有Last-Modified/ETag ...
- php删除文件或文件夹
<?php function deleteDir($dir) { if (!$handle = @opendir($dir)) { return false; } while (false != ...
- DoTween
dotween最原始的用法 using System.Collections; using System.Collections.Generic; using UnityEngine; using D ...
- Yii DataProvider
- Latex数学公式中的空格
http://blog.sina.com.cn/s/blog_4ddef8f80100iwwv.html 两个quad空格 a \qquad b 两个m的宽度 quad空格 a \quad b 一个m ...