CNN网络进化:AlexNet-》VGG->GoogleNet->ResNet,深度8-》19-》22-》152
GoogleNet:Lsplit-》transform-》merge,分治思想
ResNeXt:在ResNet上增加cardinality基数,即通道数,残差~缓解梯度消失问题
Bag of words:视觉词汇组成一组一组的

ground truth:任何标签都可以称为~
鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的黑塞矩阵为不定矩阵。

卷积核/滤波器的个数~通道数

Relu:解决梯度消失,深度网络能进行优化的关键

卷积层+激活函数:激活函数类似于人眼-达到一定阈值才会被激活,传到下一次;增加非线性-》分段线性,拟合所有函数

卷积步长大于1:特征降维作用

池化:特征融合,尺寸降维

全连接层:等效全局卷积/全尺寸卷积,卷积核大小维上一层输出尺寸即W*H*C,卷积核个数维最终分类个数即K;去除空间信息

工程tricks:

  图像像素中心化~rgb各自减通道均值

  防止过拟合:数据增强;dropout;weigth decay权重衰减(L2正则)

Alexnet:新技术~Relu;dropout;max pooling

  注意双gpu交互:卷积层一中特征通道96在2中显卡评分-》48

          三中通道合并,即跨显卡做卷积

  LRN局部响应归一化~模拟神经元侧抑制机制,某位置跨通道方向上的归一化~超参是实验定出的

VGG:卷积核7*7拆解为3个3*3

GoogleNet:进化InceptionV1到V4
   核心组件:Inception模块,先分支再合并

    inception3a:128=1*1,3*3,3*3,pooling四个的输出值和~即串接

    卷积分支中1*1先放前面,pooling中1*1放在后面~先pooling特征合并保证原始信息量再降维

      Split-Merge:四个不同卷积/池化~多尺度,宽度
      Bottleneck:NiN的1*1卷积来解决多尺度带来的高额参数,特征降维
   
  Inception V1:两大贡献(1)取消全连接:global average pooling+softmax可以代替,对应主分类器取消全连接层增加两个辅助分类器,辅助是有全连接的  (2)辅助

  InceptionV2:核心组件

      (1)批归一化:解决相关偏移问题~内部神经元的数据分布发生变化;本质是白化即每一层的输出都规范化到0,1的正态分布,取代dropout,允许较高学习率;

        详细:在batch范围内,对每个特征通道分别进行归一化~每个batch如32个图片,每个图片k通道,那么每个通道对应32个值~长*宽*1*batchsize的均值和标准差来归一化;注意~每张图片的每个通道的矩阵表示:长*宽*1

        位置:卷积层和激活层之间,归一化在非线性变换之前

        因为不同特征的均值和方差本来就是有相对差异 的,强制化为0,1的正态分布是有问题的,比如有的特征是在均值1附近的-》尺度变换和偏移,即scale和shift即尺度和偏移即乘子和偏置要学习出来即需训练,配对使用,每个通道都有一对共k组,乘以scale加上shift后的y才是传入后面的

        训练中每个batch中的k组均值和标准差都会被保存,测试时存储的所有batch的k组均值和标准差会分别求平均,使用k组平均

       (2)5*5卷积核拆为3*3

 Inception3:

    (1)非对称卷积:N*N分解成1*N-》N*1

      (2) 低层处低分辨35*35上将5*5拆为两个3*3;分辨率17*17上火将两个N*N分别拆了;分辨率8*8上并行操作做分解    why好--  工程实践经验

       (3)高效的降尺寸Grid size :

      现象:25*25*320先pooling后Incepion~有表达瓶颈计算量小,因为pooling后hi是低维的17*17*320,inception后17*17*640;25*25*320先inception后pooling~无表达瓶颈但是计算量大,因为inceptin后时25*25*640,pooiling后维17*17*640

      目的:避免表达瓶颈增加特征通道

      操作:两个并行分支,卷积分支+池化分支,串接分支结果

        卷积分支1:1*1特征降维减少计算量-》3*3卷积步长1-》3*3卷积步长2

        卷积分支2:1*1卷积-》3*3步长2

        池化:步长2,即池化照常做

        卷积分支1出160,卷积分支2出160,池化出320,串接为640的特征通道数,卷积的串接补充了信息

   (4)取消浅层辅助分类器。深层辅助分类器只在训练后期有用-工程经验

  Inception4:Inception模块加上了resnet的直连

ResNet:核心组件为skip/shortcut connection

  目标映射=残差映射+identity即H=F+x,求导,该模块倒数永远大于1

  卷积核基本都为3*3,池化层用卷积步长2代替~淡紫和黄色之间,步长为2使得尺寸降维度通道升维,使用BN;取消了全连接层,max池化,dropout

  基础网络时VGG

  当H是最优映射接近identity时,很容易捕捉到小的扰动

  更深层用Bootleneck优化残差映射网络

  

    

    

  

lesson4-图像分类-小象cv的更多相关文章

  1. lesson8-图像问答-小象cv

    QA即图像问答:覆盖最全面的AI,ai完备性 动态模型:不同任务需要不同模型 or 不同细分任务需要不同模型参数 数据集: 1)VQA,显示图片+抽象场景:每个问题给10个不同答案:含有无图片答案(考 ...

  2. lesson7-图像描述 -小象cv

    2018-04-25朴素rcnn - 梯度消失严重LSTM长短时记忆模型,有效捕捉长时记忆包含四个神经元组:一个记忆神经元三个控制门神经元:输入.忘记.输出 注意:输入调制门.输出调制门 3个输入:前 ...

  3. lesson5-图像检测-小象cv

    R-CNN: 2014,cnn为Alexnet 训练流程: 1)在imagenet上对cnn模型pre-train 2)使用所有ss生成区域对1)进行fine-tune ~softmax改为21维度 ...

  4. resNet代码-小象/cv

    C:\yyy\ml\dengsong\ChinaHadoop\ChinaHadoop_C4-master\ChinaHadoop_C4-master\C4_ResNet_TF http://blog. ...

  5. OpenCV探索之路(二十五):制作简易的图像标注小工具

    搞图像深度学习的童鞋一定碰过图像数据标注的东西,当我们训练网络时需要训练集数据,但在网上又没有找到自己想要的数据集,这时候就考虑自己制作自己的数据集了,这时就需要对图像进行标注.图像标注是件很枯燥又很 ...

  6. Android开发学习—— ContentProvider内容提供者

    * 应用的数据库是不允许其他应用访问的* 内容提供者的作用就是让别的应用访问到你的数据库.把私有数据暴露给其他应用,通常,是把私有数据库的数据暴露给其他应用. Uri:包含一个具有一定格式的字符串的对 ...

  7. Android基础总结(十)

    内容提供者(掌握) 应用的数据库是不允许其他应用访问的 内容提供者的作用就是让别的应用访问到你的私有数据 自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数 ...

  8. openCV C++ 代码笔记

    代码片段1 cv_contourMask_step_tmp=cv_contourMask.clone(); cv::Mat maskImage; UIImageToMat(pathimg, maskI ...

  9. Android应用开发基础之九:内容提供者(ContentProvider)

    内容提供者 应用的数据库是不允许其他应用访问的 内容提供者的作用:就是让别的应用访问到你的数据库 自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代 ...

随机推荐

  1. struts项目部署在Tomca上在断网情况下启动报错

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6015693.html 前段时间,项目部署到现场后,反馈Tomcat能正常启动,但是项目有时访问不了也不报错. ...

  2. linux用户管理 用户和用户组管理

    用户组的基本命令 groupadd [选项] [参数] -g 指定新建工作的id -r 创建系统工作组,系统工作组的ID小于500,非系统工作组大于500 -K 覆盖配置文件"/etc/lo ...

  3. Win10系列:JavaScript获取文件和文件夹列表

    在应用程序中有时可能需要获取用户库中的内容,以便执行相关的操作.如果要获取某个用户库中的内容,需要先获取到这个用户库,获得用户库可以通过Windows.Storage命名空间中的KnownFolder ...

  4. linux 用户/群组/权限

    mv 原文件名 新文件名 #相当于重命名 查看文件内容相关命令 cat #查看文件全部内容 head - n #查看文件前n行内容(默认前十行) tail -n #查看文件后n行内容(默认后十行) t ...

  5. vue组件通信方式总结

    对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的各种方式的总结,总共有8种方式. 1. props和$emit 父组件向子组件传递数据是通过prop传递的,子组件传递数据给 ...

  6. Java 算法 概念汇总

    编程面试的10大算法概念汇总   以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java ...

  7. VirtualBox安装CentOS7的网络配置

    VirtualBox安装CentOS7的网络配置 这几天在本机VirtualBox安装CentOS时遇到了网络的坑... VirtualBox的下载地址:https://www.virtualbox. ...

  8. DFS----Lake Counting (poj 2386)

    Lake Counting(POJ No.2386) Description Due to recent rains, water has pooled in various places in Fa ...

  9. Linux系统管理常用命令用法总结(1)

    1.usermod可用来修改用户帐号的各项设定. usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数& ...

  10. 干货分享!DevExpress v17.1最新版帮助文档下载大全

    DevExpress v17.1.5帮助文档下载列表大全来啦!包含.NET.VCL.HTML/JS系列所有帮助文档,提供CHM和PDF两个版本.除已停止更新的Silverlight.Windows 8 ...