卷积神经网络_(3)_几种简单训练技巧

下面来介绍几种简单的训练技巧:

1.首先说一下filter(感受野)的概念:感受野的大小即特征图中的某一单元是从原始输入图像中多大的一块区域中提取的特征;

如上图,第一次卷积后得到的特征图中,每一个小单元的感受野大小为3*3,而第二次卷积后特征图中的每一个小单元对应的感受野大小为5*5,以此类推,如果

用三层3*3的filter,那么最后一层特征图中每一个小单元的感受野大小即为7*7。

同时我们可以推论:卷积层数越多,越后面的特征图中的每个单元的感受野大小就越大,特征提取的效果就越好。

这时我们有一个问题,能不能用一层7*7的filter来代替三层3*3的filter?

由上可知,7*7的filter需要的参数个数为49C*C,而3层3*3的filter需要的参数个数为27C*C;一方面需要的参数个数更少,计算复杂度降低了,另一方面三层3*3的filter即有了三层的激活函数,

使得分类器的非线性更好,因此我们选择3层3*3的filter;

为了得到上面的两个效果,我们还可以使用今年大放异彩的深度参差网络,如下:

(1*1*C)*C/2+3*3*C/2*C/2+1*1*C/2*C=3.25C*C;

(3*3*C)*C=9C*C;

更少的参数和更好的非线性,而且层数增加,参数个数最多停滞,但不会增加!

总结一下,就是:(1)堆叠小的filters;

(2)比如融合3*3的filter和1*1的filter来组成深度参差网络;

(3)将N*N的filter拆分成1*N和N*1的filter;

2.训练技巧之数据预处理:即使输入数据可以成倍增长,尤其对于深度学习这类需要大量训练数据的算法,数据预处理很重要!

预处理的方法大致有:(1)水平翻转;

(2)随机裁剪/大小变换:要对不同的scale做不同的crops;

(3)平移,角度变换,拉伸,修剪等等。。。。

比如下图是水平翻转的效果:

这里注意一点:对于一张原始输入图像,这些操作都要操作一遍,而且参数是随机的;

3.训练技巧之Transfer Learning(即fine tune):就是说我们已经做了数据增强,但需要的数据量还是不够,这时候我们就需要别人训练好的网络,借鉴别人的参数,在此基础上训练自己

的网络;

如上图:如果可提供的训练样本是小的数据集,则只改FC层,若是中数据集,则改FC层和最后一点conv层和pooling层。

时间: 2024-12-19 05:27:05

卷积神经网络_(3)_几种简单训练技巧的相关文章

转:面向视觉识别的卷积神经网络课程 & CNN的近期进展与实用技巧

http://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650408190&idx=1&sn=f22adfb13fb14f8a220222355659913f 1. 如何了解NLP的现状: 看最新的博士论文的一些Tips 了解一个领域的现状,看最新的博士论文也许是个捷径.譬如有童鞋问如何了解NLP的state-of-the-art, 其实就斯坦福,伯克利, CMU, JHU等学校的近期博士论文选读一些,领域主流方向的概况就能了解一

简单的卷积神经网络(CNN)的搭建

卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现.与普通神经网络非常相似,它们都由具有可学习的权重和偏置常量(biases)的神经元组成.每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数,普通神经网络里的一些计算技巧到这里依旧适用. 卷积神经网络通常包含以下几种层: 卷积层(Convolutional layer),卷积神经网路中每层卷积层由若干卷积单

卷积神经网络Lenet-5实现-深入浅出

卷积神经网络算法是n年前就有的算法,只是近年来因为深度学习相关算法为多层网络的训练提供了新方法,然后现在电脑的计算能力已非当年的那种计算水平,同时现在的训练数据很多,于是神经网络的相关算法又重新火了起来,因此卷积神经网络就又活了起来. 在开始前,我们需要明确的是网上讲的卷积神经网络的相关教程一般指的是神经网络的前向传导过程,反向传播都是用梯度下降法进行训练,大部分深度学习库,都已经把反向求导的功能给封装好了,如果想要深入学习反向求导,就需要自己慢慢学了. 因为卷积神经网络的经典模型是:Lenet

卷积神经网络Lenet-5实现

卷积神经网络Lenet-5实现 原文地址:http://blog.csdn.net/hjimce/article/details/47323463 作者:hjimce 卷积神经网络算法是n年前就有的算法,只是近年来因为深度学习相关算法为多层网络的训练提供了新方法,然后现在电脑的计算能力已非当年的那种计算水平,同时现在的训练数据很多,于是神经网络的相关算法又重新火了起来,因此卷积神经网络就又活了起来,再开始前,我们需要明确的是网上讲的卷积神经网络的相关教程一般指的是神经网络的前向传导过程,反向传播

人工智能中卷积神经网络基本原理综述

人工智能Artificial Intelligence中卷积神经网络Convolutional Neural Network基本原理综述 人工智能(Artificial Intelligence,简称AI)的Deep Learning(深度学习)通过机器学习,把某一层的输出output当做下一层的输入input.在人工智能中,认为output是机器通过深度学习获得的某种"智慧".深度学习(Deep Learning)通过神经网络把海量数据分组,然后形成组合分层结果,这样就形成了神经网络

同态加密在卷积神经网络上的应用

参考:http://www.aibbt.com/a/44588.html 作者:Morten Dahl 编译:weakish 编者按:奥胡斯大学密码学PhD.Datadog机器学习工程师Morten Dahl介绍了如何实现基于加密数据进行训练和预测的卷积神经网络. 设定 我们假定训练数据集由一些输入提供者(input provider)共同所有,而数据由两个不同服务器(方)进行,我们信任两方不会在协议指定的范围之外协作.例如,在实践中,服务器可能是共享云环境下由两个不同组织掌握的虚拟实例. 输入

卷积神经网络_(2)_分类与回归_几类经典网络简介

1.经典神经网络有:2012年提出的AlexNet和2014年提出的VGGNet,结构图分别如下: 2.分类与回归: (1)分类(classfication):就是经过经过一系列的卷积层和池化层之后,再经过全连接层得到样本属于每个类的得分,再用比如softmax分类其对其进行分类: (2)回归(regression):相当于用一个矩形框来框住要识别的物体,即localization; 如下: 这里,回归用了拟合的方法,即给定输入中物体的位置(x,yw,h),再用卷积网络的输出(x',y',w',

CNN卷积神经网络_深度残差网络 ResNet——解决神经网络过深反而引起误差增加的根本问题

from:https://blog.csdn.net/diamonjoy_zone/article/details/70904212 环境:Win8.1 TensorFlow1.0.1 软件:Anaconda3 (集成Python3及开发环境) TensorFlow安装:pip install tensorflow (CPU版) pip install tensorflow-gpu (GPU版) TFLearn安装:pip install tflearn 参考: Deep Residual Le

掌握卷积神经网络,从一个简单项目开始

卷积神经网络可以算是深度神经网络中很流行的网络了.本文从基础入手,介绍了卷积网络的基本原理以及相关的其它技术,并利用卷积网络做了一个简单项目作为示例参考.想入手 CNN 的朋友不可错过~首先,我们先看看下面这张照片: 图源:Pix2PixHD这不是一张真实的照片,你可以新建一个窗口来打开它,放大看看,可以看到马赛克.实际上,这张照片是由 AI 生成的,是不是看起来很真实?这项技术就是卷积神经网络.它是深度神经网络的一个分支,处理图像的效果格外好. 图源:ImageNet上图是几年来赢得 Imag