zoukankan      html  css  js  c++  java
  • 『cs231n』卷积神经网络工程实践技巧_上

     概述

    数据增强

    思路:在训练的时候引入干扰,在测试的时候避免干扰。

    翻转图片增强数据。

     

    随机裁切图片后调整大小用于训练,测试时先图像金字塔制作不同尺寸,然后对每个尺寸在固定位置裁切固定大小进入训练,最后对所有结果取平均值。

    对颜色信息进行主成分分析并重建

    迁移学习

    三种网络训练思路:

    中量数据的训练思路:先训练附加层,收敛后整体整体微调(funetuning)

     

    值得注意:少量低相似度数据处理方式,虽然不乐观,但可以尝试不同层提取特征后组合处理(感觉和之前看的腾讯的检测文档边缘工程案例相似:基于 TensorFlow 在手机端实现文档检测

    实际上预训练模型不是特例,几乎大型计算机视觉任务都会使用预先训练好的模型加速。

    卷积网络架构

     感受野大小探讨

    双层3*3卷积核感受野大小为5*5

    三层3*3卷积核感受野大小为7*7,有意思的是这等价于单层7*7大小的卷积核

     对比同感受野不同卷积结构优劣

    需学习参数多层小卷积核网络更少

    运算量也是多层小卷积核结构更少

    [思路]:尝试把大的单层卷积分解为小的多层卷积

    [问题]:3*3是最小的了,如何分解它提升效率?

    分解思路一:1*1瓶颈层

     

    尝试1*1卷积核引入提升效率,不过由于1*1的卷积核无法顾及周边信息,所以只能作为一个辅助,上图的瓶颈结构从输入输出上来看等价于单层3*3网络

    对比需学习参数,我们发现还是复杂但小的结构更少

    分解思路二:不对称卷积网络

    另一种分解3*3卷积网络的方法,效果同样不错

    这个看起来很蹩脚的网络架构(不对称卷积网络)主要由Google使用,它自家的Inception有复杂的不对称网络&特征拼接结构(如上图),有意思的是我学习tensorflow时尝试写过Inception3的最终层结构,的确是个脑洞大开的东西,看了这节课才算明白了人家为什么这么设计。注意,上图同时也使用了1*1瓶颈层。

    总结:

     

     

  • 相关阅读:
    Netty入门(三)之web服务器
    Math对象
    DOM
    BOM
    字符串
    数组
    ajax
    如何安装vue脚手架
    git提交拉取远程仓库
    第九届蓝桥杯,赛后感!!含泪写完。
  • 原文地址:https://www.cnblogs.com/hellcat/p/7210212.html
Copyright © 2011-2022 走看看