
CNN
feiyy404
选择往往比努力更重要。
展开
-
DeepLearningToolbox(1)代码框架分析之关键函数的主要功能
test_example_CNN_MNIST.m:是使用CNN识别手写数字的主函数;cnnsetup.m:建立卷积神经网络的函数;cnntrain.m:使用训练样本进行训练的函数;cnntest.m:使用测试样本进行测试的函数;cnnff.m:CNN的前向计算过程;cnnapplygrads.m:更新权值和偏置。注意: (1)在使用此程序时,可以设置的参数有:卷积神经网络的结构、每个卷积层卷积面的原创 2016-12-13 19:24:45 · 700 阅读 · 0 评论 -
论文理解:基于卷积神经网络的人脸识别方法
本文是对陈耀丹、王连明的基于卷积神经网络的人脸识别方法的理解。 摘要:实现了一种基于卷积神经网络的人脸识别方法,该网络由两个卷积层,两个池化层、一个全连接层和一个softmax回归层组成,它能自动提取人脸特征并进行分类,网络通过批量梯度下降法训练特征提取器和分类器,各隐层应用“dropout”方法解决了过拟合问题,应用于ORL和AR人脸数据库的人脸识别率分别达到99.50%和99.62%,识别单张翻译 2017-03-03 14:31:38 · 28549 阅读 · 7 评论 -
VGG Convolutional Neural Networks Practical(6)training data and labels
第3.1部分:培训数据和标签 第一步是加载图像data/ dots.jpg并使用提供的extractBlackBlobs函数提取图像中的所有黑点。 % Load an imageim = rgb2gray(im2single(imread('data/dots.jpg'))) ;% Compute the location of black blobs in the image[pos,ne原创 2016-12-19 16:25:15 · 1041 阅读 · 0 评论 -
VGG Convolutional Neural Networks Practical(6)learning a tiny CNN
在这部分,我们将学习一个非常简单的CNN。 CNN完全由两层组成:卷积层和最大池层: 任务 打开文件tinycnn.m并检查代码。 说服你自己,代码计算刚刚描述的CNN。 看看代码中使用的paddings。 如果输入图像x1具有尺寸M×N,则输出特征图x3的尺寸是多少?function res = tinycnn(x, w, b, dzdy)% TINYCNN A very simple原创 2016-12-19 15:02:39 · 1436 阅读 · 0 评论 -
VGG Convolutional Neural Networks Practical(5)the theory of back-propagation
第2部分:反向传播和衍生 例如,这是如何查找卷积运算符:y = vl_nnconv(x,w,b) ; % forward mode (get output)p = randn(size(y), 'single') ; % projection tensor (arbitrary)[dx,dw,db] = vl_nnconv(x,w,b,p) ; % backward mode (get pro原创 2016-12-19 14:39:39 · 1688 阅读 · 2 评论 -
VGG Convolutional Neural Networks Practical(4)normalisation
另一个重要的CNN构建块是通道方式归一化。 该算子对输入映射x中每个空间位置处的特征通道的向量进行归一化。 标准化运算符的形式实际上是存疑的:任务:了解此运算符在做什么。 如何设置κ,α和β来实现简单的L平方归一化? 现在让我们试试:rho = 5 ;kappa = 0 ;alpha = 1 ;beta = 0.5 ;y_nrm = vl_nnnormalize(x, [rho kappa原创 2016-12-19 14:08:59 · 1116 阅读 · 0 评论 -
VGG Convolutional Neural Networks Practical(3)pooling
CNN中还有几个其他重要的操作。 其中一个是池化。 池化操作符对各个特征通道进行操作,通过应用合适的算子将附近的特征值合并为一个。 常见的选择包括max-pooling(使用max运算符)或sum-pooling(使用summation)。 例如,max-pooling定义为:最大池由vl_nnpool函数实现。 立即尝试:y = vl_nnpool(x, 15) ;figure(6) ; clf原创 2016-12-19 13:53:19 · 960 阅读 · 0 评论 -
VGG Convolutional Neural Networks Practical(1)convolution
VGG卷积神经网络实践卷积神经网络是可应用于许多计算机视觉问题的可学习表示的重要类别。 特别地,深CNN由多个处理层组成,每个处理层涉及线性和非线性算子,以端对端的方式联合地学习以解决特定任务。 这些方法现在是用于从视听和文本数据中提取特征的主要方法。这个实践探讨了学习(深度)CNN的基础。 第一部分介绍典型的CNN构造块,例如ReLU单元和线性滤波器,特别强调理解反向传播。 第二部分研究学习两个基原创 2016-12-19 13:29:16 · 1966 阅读 · 1 评论 -
VGG Convolutional Neural Networks Practical(2)non-linear activation functions
第1.2部分:非线性激活函数 如我们在介绍中所述,CNN是通过组成几个不同的功能获得的。 除了前面部分所示的线性滤波器之外,还有几个非线性算子。 问题:CNN中的某些功能必须是非线性的。 为什么?(还真回答不了这个问题······大家说说自己的理解呗,共同交流。)通过由非线性激活函数遵循线性滤波器来获得最简单的非线性,该非线性激活函数被相同地应用于特征图的每个分量(即逐点地)。 最简单的这种功能原创 2016-12-19 13:42:29 · 1279 阅读 · 0 评论 -
VGG计算机视觉实践
The Oxford Visual Geomery Group Computer Vision Practicals 是基于MATLAB的实践经验的集合,介绍了图像理解中的基本概念(要求和安装说明)。 提供以下实用工具: 1.对象实例识别是在图像中匹配(识别)特定对象或场景的问题,例如由梵高的圣母大教堂或“繁星夜”。 挑战是对尺度,照相机视角,照明条件和部分遮挡的变化是不变的。 本实践包括以下主题翻译 2016-12-24 00:29:22 · 1083 阅读 · 0 评论 -
卷积神经网络(CNN)标准模型分析(四)
卷积神经网络的变种模型(一)卷积神经网络可以改变输入的形式,比如说把一副图像的R、G、B三个通道看做一个整体输入,并且采用3D的卷积核,建立3D卷积神经网络模型,以处理视频图像。 (二)卷积神经网络可以采用重叠池化来进行下采样,比如在AlexNet中就采用了重叠池化的技术。池化就是对矩阵数据进行分块下采样。在标准的卷积神经网络中,池化分块是不允许重叠的。如果允许重叠,那么将产生更大的下采样层,学习转载 2016-12-15 15:13:06 · 4150 阅读 · 3 评论 -
卷积神经网络(CNN)标准模型分析(三)
卷积神经网络的学习算法卷积神经网络在本质上是一种特殊的多层前馈网络,它的权值和偏置在理论上可以用反向传播的算法进行学习和训练。现在我们来分析,对于第l个样本,标准的卷积神经网路从输入到输出的计算过程: 其中的”。“表示两个向量的阿达马积,rot180(.)的意思是把一个矩阵水平翻转一次再垂直翻转一次。转载 2016-12-15 13:35:30 · 1021 阅读 · 0 评论 -
卷积神经网络(CNN)标准模型分析(二)
第一个隐含层的构造:卷积神经网络的第1个隐含层用H1表示。由于H1是通过卷积来计算的,所以又称为卷积层。一个卷积层可能包含多个卷积面(这里即我们所说的特征图)。每个卷积面又关联于一个卷积核。第2个隐含层的构造第二层为下采样层,一个下采样层可能包含多个下采样面,这些下采样面又称为下采样特征图。 全连接层的构造全连接的各层分别用H5-Hr表示,主要是用来分类。这些层实际上是构成了一个普通的多层前馈网络转载 2016-12-15 13:13:38 · 904 阅读 · 0 评论 -
DeepLearningtoolbox(8):cnnbp.m
%函数名称:cnnbp() %输入参数:net,待训练的神经网络;y,训练样本的标签,即期望输出 %输出参数:net,经过BP算法训练得到的神经网络 %主要功能:通过BP算法训练神经网络参数 %实现步骤:1)将输出的残差扩展成与最后一层的特征map相同的尺寸形式 % 2)如果是卷积层,则进行上采样 % 3)如果是下采样层,则进行下采样 %原创 2016-12-14 00:49:47 · 700 阅读 · 0 评论 -
DeepLearningtoolbox(7):cnnff.m
%函数名称:cnnff() %输入参数:net,神经网络;x,训练数据矩阵; %输出参数:net,训练完成的卷积神经网络 %主要功能:使用当前的神经网络对输入的向量进行预测 %算法流程:1)将样本打乱,随机选择进行训练; % 2)讲样本输入网络,层层映射得到预测值 %注意事项:1)使用BP算法计算梯度 function net = cnnff(net, x)原创 2016-12-14 00:28:32 · 784 阅读 · 0 评论 -
卷积神经网络(CNN)标准模型分析(一)
卷积神经网络的早期模型称为神经认知机,是一种生物物理模型···其中大量神经元按照一定的方式组织起来,以对视野中的交叠区域产生反应。卷积神经网络的标准模型: CNN最初最初是受到视觉系统的神经机制的启发,针对二维形状的识别而设计的一种多层感知器,在平移的情况下具有高度不变性。在缩放和倾斜的情况下也具有一定的不变性。···通过对猫视觉皮层细胞的研究,提出了感受野的概念 ···在感受野的基础上,提出了转载 2016-12-14 00:10:40 · 2364 阅读 · 0 评论 -
以90°倍数旋转和翻转的方式扩展CNN数据
我用CNN主要做的是手掌静脉图像的识别。传统的识别的方式可能对静脉的方向性依赖性比较大。这次尝试将图像进行上下、左右的翻转和以90°为倍数的旋转,观察训练是否能够收敛。 原图是放在500个文件夹下的500类,每类有12张图像,具体程序:%增加数据,通过对图像左右上下翻转和以90°的倍数进行旋转来进项数据扩展。close all;clear;WTR1='F:\手掌静脉图像\data_flipd原创 2017-03-27 22:33:20 · 2093 阅读 · 0 评论