『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瓶颈层。
总结:















『cs231n』卷积神经网络工程实践技巧_上的更多相关文章
- 『cs231n』卷积神经网络工程实践技巧_下
概述 计算加速 方法一: 由于计算机计算矩阵乘法速度非常快,所以这是一个虽然提高内存消耗但是计算速度显著上升的方法,把feature map中的感受野(包含重叠的部分,所以会加大内存消耗)和卷积核全部 ...
- 『cs231n』卷积神经网络的可视化与进一步理解
cs231n的第18课理解起来很吃力,听后又查了一些资料才算是勉强弄懂,所以这里贴一篇博文(根据自己理解有所修改)和原论文的翻译加深加深理解,其中原论文翻译比博文更容易理解,但是太长,而博文是业者而非 ...
- Stanford CS231n实践笔记(课时22卷积神经网络工程实践技巧与注意点 cnn in practise 上)
本课主要2个实践内容: 1.keras中数据集丰富,从数据集中提取更多特征(Data augmentation) 2.迁移学习(Tranform learning) 代码:https://github ...
- 『cs231n』循环神经网络RNN
循环神经网络 循环神经网络介绍摘抄自莫凡博士的教程 序列数据 我们想象现在有一组序列数据 data 0,1,2,3. 在当预测 result0 的时候,我们基于的是 data0, 同样在预测其他数据的 ...
- 『cs231n』通过代码理解风格迁移
『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...
- 『cs231n』计算机视觉基础
线性分类器损失函数明细: 『cs231n』线性分类器损失函数 最优化Optimiz部分代码: 1.随机搜索 bestloss = float('inf') # 无穷大 for num in range ...
- 『TensorFlow』通过代码理解gan网络_中
『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 上篇是一个尝试生成minist手写体数据的简单GAN网络,之前有介绍过,图片维度是28*28*1,生成器的上采样使 ...
- 【cs231n】卷积神经网络
较好的讲解博客: 卷积神经网络基础 深度卷积模型 目标检测 人脸识别与神经风格迁移 译者注:本文翻译自斯坦福CS231n课程笔记ConvNet notes,由课程教师Andrej Karpathy授权 ...
- 『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上
GAN网络架构分析 上图即为GAN的逻辑架构,其中的noise vector就是特征向量z,real images就是输入变量x,标签的标准比较简单(二分类么),real的就是tf.ones,fake ...
随机推荐
- Python入门之字符编码
一.字节编码的基础知识 一.计算机基础知识 #1 我们的程序都是运行在特定的操作系统内,例如window,linux,mac等等#2 运行应用程序,需要要操作系统发出请求,我们双击运行的时候会向操作系 ...
- 03: KindEditor (HTML可视化编辑器)
目录: 1.1 kindEditor常用配置参数 1.2 kindEditor下载与文件说明 1.3 kindEditor实现上传图片.文件.及文件空间管理 1.1 kindEditor常用配置参数返 ...
- 20145105 《Java程序设计》第6周学习总结
20145105 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 一.InputStream与OutputStream (一)串流设计的概念 输入串流代表对象:j ...
- tensorflow的写诗代码分析【转】
本文转载自:https://dongzhixiao.github.io/2018/07/21/so-hot/ 今天周六,早晨出门吃饭,全身汗湿透.天气真的是太热了!我决定一天不出门,在屋子里面休息! ...
- 51nod 1073约瑟夫环
思路传送门 :http://blog.csdn.net/kk303/article/details/9629329 n里面挑选m个 可以递推从n-1里面挑m个 然后n-1里面的x 可以转换成 n里面的 ...
- BZOJ4401: 块的计数 思维题
Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...
- [BZOJ1370][Baltic2003]Gang团伙 并查集+拆点
Description 在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足: 1. 我朋友的朋友是我的朋友: 2. 我敌人的敌人是我的朋友: 所有是朋友的人组成一个团伙.告诉你关于这n个 ...
- 《EMCAScript6入门》读书笔记——24.编程风格
- [Shiro] - Shiro之SpringBoot中的使用
下载了运行项目后,访问路径:http://localhost/shiro/login 这篇应该在进阶后面的. shiro中的重中之重,一定要看. 基于springboot+thymeleaf+shir ...
- Ubuntu 下 su:authentication failure的解决办法
Ubuntu下使用 su 切换到超级用户时候遇到下面的问题 su: Authentication failure 解决办法: $ sudo passwd root Enter new UNIX pas ...