概述

数据增强

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

翻转图片增强数据。

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

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

迁移学习

三种网络训练思路:

中量数据的训练思路:先训练附加层,收敛后整体整体微调(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瓶颈层。

总结:

『cs231n』卷积神经网络工程实践技巧_上的更多相关文章

  1. 『cs231n』卷积神经网络工程实践技巧_下

    概述 计算加速 方法一: 由于计算机计算矩阵乘法速度非常快,所以这是一个虽然提高内存消耗但是计算速度显著上升的方法,把feature map中的感受野(包含重叠的部分,所以会加大内存消耗)和卷积核全部 ...

  2. 『cs231n』卷积神经网络的可视化与进一步理解

    cs231n的第18课理解起来很吃力,听后又查了一些资料才算是勉强弄懂,所以这里贴一篇博文(根据自己理解有所修改)和原论文的翻译加深加深理解,其中原论文翻译比博文更容易理解,但是太长,而博文是业者而非 ...

  3. Stanford CS231n实践笔记(课时22卷积神经网络工程实践技巧与注意点 cnn in practise 上)

    本课主要2个实践内容: 1.keras中数据集丰富,从数据集中提取更多特征(Data augmentation) 2.迁移学习(Tranform learning) 代码:https://github ...

  4. 『cs231n』循环神经网络RNN

    循环神经网络 循环神经网络介绍摘抄自莫凡博士的教程 序列数据 我们想象现在有一组序列数据 data 0,1,2,3. 在当预测 result0 的时候,我们基于的是 data0, 同样在预测其他数据的 ...

  5. 『cs231n』通过代码理解风格迁移

    『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...

  6. 『cs231n』计算机视觉基础

    线性分类器损失函数明细: 『cs231n』线性分类器损失函数 最优化Optimiz部分代码: 1.随机搜索 bestloss = float('inf') # 无穷大 for num in range ...

  7. 『TensorFlow』通过代码理解gan网络_中

    『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 上篇是一个尝试生成minist手写体数据的简单GAN网络,之前有介绍过,图片维度是28*28*1,生成器的上采样使 ...

  8. 【cs231n】卷积神经网络

    较好的讲解博客: 卷积神经网络基础 深度卷积模型 目标检测 人脸识别与神经风格迁移 译者注:本文翻译自斯坦福CS231n课程笔记ConvNet notes,由课程教师Andrej Karpathy授权 ...

  9. 『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上

    GAN网络架构分析 上图即为GAN的逻辑架构,其中的noise vector就是特征向量z,real images就是输入变量x,标签的标准比较简单(二分类么),real的就是tf.ones,fake ...

随机推荐

  1. MIPSsim使用说明

    MIPSsim下载:https://files.cnblogs.com/files/jiangxinnju/MIPSsim.zip 启动模拟器 双击MIPSsim.exe,即可启动该模拟器.MIPSs ...

  2. IEEE发布2017年编程语言排行榜:Python高居首位,java第三,php第八

    2017年7月18日,IEEE Spectrum 发布了第四届顶级编程语言交互排行榜.因为有各种不同语言的排行,所以 IEEE Spectrum 依据不同的变量对流行度进行了排行.据 IEEE Spe ...

  3. win10锁屏界面无法更新

    win10的锁屏界面都是巨硬公司推送过来的,质量还不错,最近锁屏界面无法更新,解决方案如下: 以管理员身份运行cmd,分别运行如下两个命令 del /f /s /q /a "%userpro ...

  4. 一款简单实用的jQuery图片画廊插件

    图片画廊 今天分享一个自己实现的jQuery 图片画廊插件. 看一下效果图: 点击图片时: 在线演示地址:http://www.jr93.top/photoGallery/photoGallery.h ...

  5. 用Win32 实现进度条

    转载:http://www.cctry.com/thread-238862-1-1.html #include <windows.h> #include <commctrl.h> ...

  6. P1349 广义斐波那契数列(矩阵加速)

    P1349 广义斐波那契数列 题目描述 广义的斐波那契数列是指形如an=pan-1+qan-2的数列.今给定数列的两系数p和q,以及数列的最前两项a1和a2,另给出两个整数n和m,试求数列的第n项an ...

  7. kubernetes 命令记录

    操作基本命令:   通过yaml文件创建: kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete) kubectl apply -f xxx.yaml (创 ...

  8. JavaScript 小知识

    1.var 变量 <script type="text/javascript"> var a = "hong"; var fun = functio ...

  9. newcode wyh的吃鸡(优势队列+BFS)题解

    思路: 要用优势队列,因为有的+2,有的+1,所以队列中的步长是不单调的,所以找到一个答案但不一定最小,所以用优势队列把小的放在队首. 要记录状态,所以开了三维,题目和昨天做的那道小明差不多 vis开 ...

  10. sql 之优化小技巧

    SET NOCOUNT ON:不返回计数,如果存储过程中包含一些并不返回实际数据的语句,网络通信流量便会大量减少,可以显著提高应用程序性能: