概述

数据增强

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

翻转图片增强数据。

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

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

迁移学习

三种网络训练思路:

中量数据的训练思路:先训练附加层,收敛后整体整体微调(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. python webdriver api-上传文件的三种方法

    上传文件: 第一种方式,sendkeys(),最简单的 #encoding=utf-8 from selenium import webdriver import unittest import ti ...

  2. python-安装,设置环境变量(win10)

    python官网: https://www.python.org/ 选择需要的版本下载 下载后安装 我装的是默认位置C:\Python27 打开环境变量设置: 右键电脑--->属性----> ...

  3. php判断数组元素是否存在某个字符串的方法

    php判断数组元素是否存在某个字符串的方法: 方法一:采用in_array(value,array,type) type 可选.如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同. ...

  4. LWIP使用经验---变态级(转)

    源:LWIP使用经验---变态级 LWIP使用经验 一 LWIP内存管理 数据包管理 设置内存大小 宏编译开关 二 LWIP启动时序 三 LWIP运行逻辑 接收数据包 SequentialAPI函数调 ...

  5. Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...

  6. 20145321 《网络对抗技术》 Web安全基础实践

    20145321<网络对抗技术> Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入就是通过把SQL命令插入到“Web表单递交”或“输入域名”或“页面请求”的 ...

  7. 在服务中用管理员权限创建一个可弹出UI的进程 (转载)

    转载:http://blog.csdn.net/woshinia/article/details/7850295 转载:http://blog.csdn.net/hurryboylqs/article ...

  8. Python3基础 os listdir 列举指定的所有文件及文件夹的名字

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. RabbitMQ延时任务

    概念: 消息的TTL(Time To Live)消息的TTL就是消息的存活时间.RabbitMQ可以对队列和消息分别设置TTL.对队列设置就是队列没有消费者连着的保留时间,也可以对每一个单独的消息做单 ...

  10. POJ 2425 A Chess Game(有向图SG函数)题解

    题意:给一个有向图,然后个m颗石头放在图上的几个点上,每次只能移动一步,如果不能移动者败 思路:dfs打表sg函数,然后求异或和 代码: #include<queue> #include& ...