卷积神经网络的一些细节

节选自语义分析的一些方法(二),以后会不断补充。——by wepon



结合文献『Deep Learning for Computer Vision』, 以下讲讲卷积神经网络的一些注意点和问题。

  • 激励函数,要选择非线性函数,譬如tang,sigmoid,rectified liner。在CNN里,relu用得比较多,原因在于:(1)简化BP计算;(2)使学习更快。(3)避免饱和问题(saturation issues)
  • 池化(Pooling):其作用在于(1)对一些小的形态改变保持不变性,Invariance to small transformations;(2)拥有更大的感受域,Larger receptive fields。pooling的方式有sum or max。
  • Normalization:Equalizes the features maps。它的作用有:(1) Introduces local competition between features;(2)Also helps to scale activations at each layer better for learning;(3)Empirically, seems to help a bit (1–2%) on ImageNet
  • 训练CNN:back-propagation;stochastic gradient descent;Momentum;Classification loss,cross-entropy;Gpu实现。
  • 预处理:Mean removal;Whitening(ZCA)
  • 增强泛化能力:Data augmentation;Weight正则化;在网络里加入噪声,包括DropOut,DropConnect,Stochastic pooling。
    • DropOut:只在全连接层使用,随机的将全连接层的某些神经元的输出置为0。
    • DropConnect:也只在全连接层使用,Random binary mask on weights.
    • Stochastic Pooling:卷积层使用。Sample location from multinomial。
  • 模型不work,怎么办?结合我自身的经验,learning rate初始值设置得太大,开始设置为0.01,以为很小了,但实际上0.001更合适。
时间: 2024-10-15 17:29:26

卷积神经网络的一些细节的相关文章

Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.2

3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.2 http://blog.csdn.net/sunbow0 第三章Convolution Neural Network (卷积神经网络) 2基础及源码解析 2.1 Convolution Neural Network卷积神经网络基础知识 1)基础知识: 自行google,百度,基础方面的非常多,随便看看就可以,只是很多没有把细节说得清楚和明白: 能把细节说清

数据挖掘(10):卷积神经网络算法的一个实现

前言 从理解卷积神经到实现它,前后花了一个月时间,现在也还有一些地方没有理解透彻,CNN还是有一定难度的,不是看哪个的博客和一两篇论文就明白了,主要还是靠自己去专研,阅读推荐列表在末尾的参考文献.目前实现的CNN在MINIT数据集上效果还不错,但是还有一些bug,因为最近比较忙,先把之前做的总结一下,以后再继续优化. 卷积神经网络CNN是Deep Learning的一个重要算法,在很多应用上表现出卓越的效果,[1]中对比多重算法在文档字符识别的效果,结论是CNN优于其他所有的算法.CNN在手写体

CNN卷积神经网络在自然语言处理的应用

摘要:CNN作为当今绝大多数计算机视觉系统的核心技术,在图像分类领域做出了巨大贡献.本文从计算机视觉的用例开始,介绍CNN及其在自然语言处理中的优势和发挥的作用. 当我们听到卷积神经网络(Convolutional Neural Network, CNNs)时,往往会联想到计算机视觉.CNNs在图像分类领域做出了巨大贡献,也是当今绝大多数计算机视觉系统的核心技术,从Facebook的图像自动标签到自动驾驶汽车都在使用. 最近我们开始在自然语言处理(Natural Language Process

实战卷积神经网络

在近些年,深度学习领域的卷积神经网络(CNNs或ConvNets)在各行各业为我们解决了大量的实际问题.但是对于大多数人来说,CNN仿佛戴上了神秘的面纱. CNN能做什么 CNN是深度学习算法在图像处理领域的一个应用.主要被用来找寻图片中的模式.这个过程主要有两个步骤,首先要对图片做卷积,然后找寻模式.在神经网络中,前几层是用来寻找边界和角,随着层数的增加,我们就能识别更加复杂的特征.这个性质让CNN非常擅长识别图片中的物体. 学习CNN之前,我们需要对CNN和Deep Learning有一个简

CNN卷积神经网络

CNN是一种多层神经网络,基于人工神经网络,在人工神经网络前,用滤波器进行特征抽取,使用卷积核作为特征抽取器,自动训练特征抽取器,就是说卷积核以及阈值参数这些都需要由网络去学习. 图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程. 一般卷积神经网络的结构: 前面feature extraction部分体现了CNN的特点,feature extraction部分最后的输出可以作为分类器的输入.这个分类器你可以用softmax或RBF等等. 局部感受野与权值共享 局部感受

CNN卷积神经网络学习笔记2:网络结构

在上篇笔记<CNN卷积神经网络学习笔记1:背景介绍>中已经介绍过CNN的结构,这篇笔记中,通过一个简单的CNN的例子,梳理一下CNN的网络结构的细节. 以下是一个6层的CNN网络,这个简单的CNN网络是DeepLearning Toolbox里面CNN的一个例子,后面要通过DeepLearning Toolbox中CNN的代码来进一步理解CNN的整个过程.我们输入的是1张大小为28*28的图片. 需要注意的有: 1,这里输入的是一张图片,如果我们输入了50张图片,那么下图中的每一个方框(代表一

数据挖掘系列(9)——卷积神经网络算法的一个实现

前言 从理解卷积神经到实现它,前后花了一个月时间,现在也还有一些地方没有理解透彻,CNN还是有一定难度的,不是看哪个的博客和一两篇论文就明白了,主要还是靠自己去专研,阅读推荐列表在末尾的参考文献.目前实现的CNN在MINIT数据集上效果还不错,但是还有一些bug,因为最近比较忙,先把之前做的总结一下,以后再继续优化. 卷积神经网络CNN是Deep Learning的一个重要算法,在很多应用上表现出卓越的效果,[1]中对比多重算法在文档字符识别的效果,结论是CNN优于其他所有的算法.CNN在手写体

【深度学习笔记】第 6 课:卷积神经网络简介

到目前为止,我们已经大致地介绍了一些新网络 但是,如果你对数据已有一些了解,比如它是一张图片,或者一系列事物,你可以做得更好 颜色 想法非常简单,如果你的数据是某种结构,则你的网络没有必要从零开始学习结构,它会表现得更好 例如,假设你想尝试分类这些字母,你知道颜色并不是让A成为A的重要因素 你认为怎么样会使得你的分类器更容易学习? 一个使用彩色照片的模型还是只使用灰度的模型 直观地说,如果一个字母表现为你从未见过的颜色,当你尝试分类字母时,忽略颜色的特性将使得模型变得更加容易 统计不变性 这是另

基于theano的深度卷积神经网络

1.引言 卷积神经网络(Convolutional Neural Networks , CNN)受到视网膜上的细胞只对视野范围内的部分区域敏感,这一部分区域称为感受域(receptive field).卷积神经网络正是采用了这种机制,每一个神经元只与一部分输入相连接. 2.稀疏连接 CNNs通过局部连接的方式揭示了空间中的局部相关性.在 $m$ 层的隐单元的输入来自于 $m-1$ 层的一部分单元的加权和,这一部分单元在空间上是连续的感受域.如下图: 可以把 $m-1$ 层想象成视网膜输入.$m$