
深度学习与卷积神经网络
文章平均质量分 84
山在岭就在
天道酬勤
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈模式识别中的特征提取
如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢。 这两天一直在看深度学习的东西,看的头晕脑胀,不过晕乎归晕乎,感觉对模式识别中的特征提取有了更深一点的小理解,暂时记载下来。 突然觉得,模式识别的所有问题都绕不过两个关键门槛,第一是分类器,第二便是特征提取。而且几乎所有模式识别方面的研究都是在优化这两个问题,要么是造一个更牛的分类器,要么是找出...原创 2015-05-24 16:04:27 · 8303 阅读 · 0 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(7)——fully_connected_layer层结构类分析
之前的博文中已经将卷积层、下采样层进行了分析,在这篇博文中我们对最后一个顶层层结构fully_connected_layer类(全连接层)进行分析: 一、卷积神经网路中的全连接层 在卷积神经网络中全连接层位于网络模型的最后部分,负责对网络最终输出的特征进行分类预测,得出分类结果: LeNet-5模型中的全连接层分为全连接和高斯连接,该层的最终输出结果即为预测标签,例如这里我们需要对MNI...原创 2016-03-16 08:56:07 · 12027 阅读 · 2 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(6)——average_pooling_layer层结构类分析
在之前的博文中我们着重分析了convolutional_layer类的代码结构,在这篇博文中分析对应的下采样层average_pooling_layer类: 一、下采样层的作用 下采样层的作用理论上来说由两个,主要是降维,其次是提高一点特征的鲁棒性。在LeNet-5模型中,每一个卷积层后面都跟着一个下采样层: 原因就是当图像在经过卷积层之后,由于每个卷积层都有多个卷积模板,直接导致卷积结...原创 2016-03-14 21:52:24 · 11912 阅读 · 0 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(5)——convolutional_layer类结构信息之其他成员函数
在上一篇博客中我们介绍了convolutional_layer类的基本结构及其成员变量、构造函数的相关信息,在这篇博文中我们对其中剩余的其他成员函数进行分析。首先把convolutional_layer类的结构图给出来: 可见,convolutional_layer类除了构造函数之外,还有另外两部分成员函数,一部分负责定义当前卷积层与前一层之间的连接关系,另一部分则完成convolution...原创 2016-03-13 21:39:49 · 9046 阅读 · 0 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(4)——convolutional_layer类结构信息之成员变量与构造函数
在之前的博文中我们已经对tiny_cnn框架的整体类结构做了大致分析,阐明了各个类之间的继承依赖关系,在接下来的几篇博文中我们将分别对各个类进行更为详细的分析,明确其内部具体功能实现。在这篇博文中着重分析convolutional_layer类。convolutional_layer封装的是卷积神经网络中的卷积层网路结构,其在主程序中对应的初始化部分代码如下: 可见在测试程序中我们构建了一个...原创 2016-03-12 16:39:08 · 12214 阅读 · 5 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(3)——层间继承关系
在上一篇博文中我们顺利将tiny_cnn的程序调试通过,在这篇博文中我们尝试从整体角度给出对tiny_cnn这个深度学习框架的解读,重点论述一下其各个层直接类封装的继承关系。 一、卷积神经网络快速入门 tiny_cnn作为卷积神经网络的一种实现形式,在探讨其框架结构之前,首先需要简要介绍一些卷积神经网络相关的知识。首先,给出经典卷积神经网络的网络结构: 这个是经典的LeNet-5的网络结...原创 2016-03-11 21:48:11 · 15610 阅读 · 4 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(8)——partial_connected_layer层结构类分析(上)
在之前的博文中我们已经将顶层的网络结构都介绍完毕,包括卷积层、下采样层、全连接层,在这篇博文中主要有两个任务,一是整体贯通一下卷积神经网络在对图像进行卷积处理的整个流程,二是继续我们的类分析,这次需要进行分析的是卷积层和下采样层的公共基类:partial_connected_layer。 一、卷积神经网络的工作流程 首先给出经典的5层模式的卷积神经网络LeNet-5结构模型: 这是一个典...原创 2016-03-18 08:28:28 · 7637 阅读 · 1 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(9)——partial_connected_layer层结构类分析(下)
在上一篇博文中我们着重分析了partial_connected_layer类的成员变量的结构,在这篇博文中我们将继续对partial_connected_layer类中的其他成员函数做一下简要介绍。 一、构造函数 由于partial_connected_layer类是继承自基类layer,因此在构造函数中同样分为两部分,即调用基类构造函数以及初始化自身成员变量:partial_connec...原创 2016-03-19 08:21:52 · 6303 阅读 · 2 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(12)——从CNN中看多态性
最近由于在准备论文的相关事宜,导致博客的更新速度有点缓慢,望大家见谅。不过该更新还是要更新的,所以今天我就挤出一点时间来更新一篇。由于之前的博文已经将tiny_cnn中相关的网络层结构介绍的差不多,接下来的博文中着重介绍卷积神经网络的训练流程和测试流程,重点就是前向传播算法和反向传播算法。不过我在研究CNN前向传播算法的流程时,发现作者在前向传播算法的调用过程中,很好的体现了C++的多态性特点...原创 2016-04-02 09:57:30 · 9382 阅读 · 10 评论 -
C++卷积神经网络实例:tiny_cnn代码详解(10)——layer_base和layer类结构分析
在之前的博文中,我们已经队大部分层结构类都进行了分析,在这篇博文中我们准备针对最后两个,也是处于层结构类继承体系中最底层的两个基类layer_base和layer做一下简要分析。由于layer类只是对layer_base的一个简单实例化,因此这里着重分析layer_base类。 首先,给出layer_base类的基本结构框图: 一、成员变量 由于layer_base是这个类体系结构的基类...原创 2016-03-23 08:41:15 · 8054 阅读 · 0 评论 -
深度学习卷积神经网络大事件一览
深度学习(DeepLearning)尤其是卷积神经网络(CNN)作为近几年来模式识别中的研究重点,受到人们越来越多的关注,相关的参考文献也是层出不穷,连续几年都占据了CVPR的半壁江山,但是万变不离其宗,那些在深度学习发展过程中起到至关重要的推动作用的经典文献依然值得回味,这里依据时间线索,对CNN发展过程中出现的一些经典文献稍作总结,方便大家在研究CNN时追本溯源,在汲取最新成果的同时不忘经...原创 2016-04-11 08:20:32 · 57067 阅读 · 12 评论 -
有关深度学习领域的几点想法
今天早上吃完饭,在去往实验室的路上,脑袋了突然冒出一个奇怪的想法,就是万一将来人家公司的HR问我“既然你是做DeepLearning研究的,那你对深度学习有什么个人体会?”,我该怎么说呢? 因此为了应对这一丢丢的可能性,我就在食堂去往实验室的路上,用这二十分钟的时间稍稍把自己脑子中的想法总结总结,现在到了实验室了,写篇博客和大家交流交流,这篇博客纯属我个人一时的头脑风暴,没有图没有代码,稍显...原创 2016-03-15 09:26:41 · 28029 阅读 · 8 评论 -
类脑计算与神经网络加速
今天花了一下午时间看了一期计算机学会通讯的杂志,这期的专题是《类脑计算》,正好与我目前研究的深度学习有很大的关联,看完这期杂志之后得到了不少感悟,在这里稍作总结。当然首先给出这期杂志的地址:《类脑计算》 一、导言 首先,看完杂志之后的一个最大的感触就是“一个人的眼界很重要”。为什么这么说呢,作为一个算法研究人员,我们每天都在看论文,去搜寻别人提出的方法,从本质上讲这就是有一个扩宽眼界的过程...原创 2016-01-09 21:37:44 · 14402 阅读 · 2 评论 -
漫谈Deep PCA与PCANet
又到了无聊的写博客的时间了,由于电脑在跑程序,目前无事可做,我觉得把昨天我看的一些论文方面的知识拿出来和大家分享一下。 美其名曰我是在研究”深度学习“,不过由于本人是穷屌丝一个,买不起GPU(当然明年我准备入手一块显卡来玩玩),因此这半年我找了个深度学习中的一个”便宜“的方向——PCANet。 首先给出PCANet的原始文献《PCANet:A Simple Deep Learn原创 2015-12-29 16:50:33 · 11790 阅读 · 5 评论 -
图像处理入门教程
最近有人问我图像处理怎么研究,怎么入门,怎么应用,我竟一时语塞。仔细想想,自己也搞了两年图像方面的研究,做个两个创新项目,发过两篇论文,也算是有点心得,于是总结总结和大家分享,希望能对大家有所帮助。在写这篇教程之前我本想多弄点插图,让文章看起来花哨一点,后来我觉得没必要这样做,大家花时间沉下心来读读文字没什么不好,况且学术和技术本身也不是多么花哨的东西。 一、图像处理的应用 这个其实没什么...原创 2015-12-29 11:21:24 · 62054 阅读 · 50 评论 -
DeepID算法实践
转自算法组DeepID算法实践转载 2015-08-19 09:27:13 · 3331 阅读 · 0 评论 -
深度学习Matlab工具箱代码注释——cnntrain.m
%%=========================================================================%函数名称:cnntrain()%输入参数:net,神经网络;x,训练数据矩阵;y,训练数据的标签矩阵;opts,神经网络的相关训练参数%输出参数:net,训练完成的卷积神经网络%算法流程:1)将样本打乱,随机选择进行训练;%原创 2015-09-22 21:39:36 · 14374 阅读 · 2 评论 -
深度学习Matlab工具箱代码注释——cnnff.m
%%=========================================================================%函数名称:cnnff()%输入参数:net,神经网络;x,训练数据矩阵;%输出参数:net,训练完成的卷积神经网络%主要功能:使用当前的神经网络对输入的向量进行预测%算法流程:1)将样本打乱,随机选择进行训练;% 2)讲原创 2015-09-22 21:42:41 · 12790 阅读 · 11 评论 -
深度学习Matlab工具箱代码注释——cnnsetup.m
%%=========================================================================% 函数名称:cnnsetup% 输入参数:net,待设置的卷积神经网络;x,训练样本;y,训练样本对应标签;% 输出参数:net,初始化完成的卷积神经网络% 主要功能:对CNN的结构进行初始化% 算法流程:1)% 注意事项:1)isOc原创 2015-09-22 21:34:16 · 20265 阅读 · 6 评论 -
深度学习Matlab工具箱代码注释——cnnapplygrads.m
%%=========================================================================%函数名称:cnnapplygrads(),权值更新函数%输入参数:net,权值待更新的卷积神经网络;opts,神经网络训练的相关参数%输出参数:%算法流程:先更新卷积层的参数,再更新全连接层参数%注意事项:%%=============原创 2015-09-22 21:47:25 · 7859 阅读 · 2 评论 -
深度学习Matlab工具箱代码注释——MnistTest.m
%%=========================================================================% 主要功能:在mnist数据库上做实验,验证工具箱的有效性% 算法流程:1)载入训练样本和测试样本% 2)设置CNN参数,并进行训练% 3)进行检测cnntest()% 注意事项:1)由于直接将所有测试原创 2015-09-22 21:31:24 · 6330 阅读 · 2 评论 -
深度学习Matlab工具箱代码注释——cnnbp.m
%%=========================================================================%函数名称:cnnbp()%输入参数:net,呆训练的神经网络;y,训练样本的标签,即期望输出%输出参数:net,经过BP算法训练得到的神经网络%主要功能:通过BP算法训练神经网络参数%实现步骤:1)将输出的残差扩展成与最后一层的特征map原创 2015-09-22 21:45:13 · 10848 阅读 · 1 评论 -
深度学习Matlab工具箱代码详解
最近研究了几天深度学习的Matlab工具箱代码,发现作者给出的源码中注释实在是少得可怜,为了方便大家阅读,特对代码进行了注释,与大家分享。 在阅读Matlab工具箱代码之前,建议大家阅读几篇CNN方面的两篇经典材料,对卷积神经网络Matlab工具箱代码的理解有很大帮助,稍后我会将这两篇文献上传到网上与大家分享。急需的也可以留言注明,我会及时发送至邮箱的。 (1)《Notes o原创 2015-09-23 10:00:33 · 38247 阅读 · 38 评论 -
《PCANet: A Simple Deep Learning Baseline for Image Classification》中文翻译总结
PCANet可谓是国内技术大牛新提出的一种新的深度学习框架,为了方便大家研究,在此将其摘要、引言、基本原理介绍等三部分的内容进行了翻译,不过并非原文直译,会加上一点我自己的理解,次要部分也会一笔带过。如果大家不介意,可以去阅读原版的英文文档。 摘要 在这篇文章中,我们提出了一个很简洁的关于图像分类的深度学习框架,这个框架主要依赖几个基本的数据处理方法:1)主成分分析PCA。2)原创 2015-11-25 17:12:08 · 20293 阅读 · 10 评论 -
2DPCA以及增强的双向2DPCA详解
最近在做目标追踪的过程中用到了2DPCA变换,花了两天时间研究了下2DPCA的起源及其重要改进,在此稍作总结。 1、一维PCA及其不足之处 在介绍2DPCA之前,稍微提一下历史悠久的PCA变换,一句话总结PCA变换:“通过求解目标协方差矩阵的前N个最大特征值对应的特征向量来组成特征映射矩阵以实现样本的主成分空间映射。”,可能有点笼统,其余的传统PCA的知识大家可以自行百度吧。原创 2015-11-19 21:22:49 · 11401 阅读 · 2 评论 -
PCANet中PCA算法为什么没有起到降维的作用?
最近在研究深度学习中的PCANet,这是由国内深度学习方面的一些技术大牛提出的一个简洁的深度学习框架,然后在调试运行源代码的时候发现一个有趣问题,就是其中的PCA算法并没有对图片矩阵起到降维的作用。 举个例子,假设我们已经训练好了PCANet的滤波器矩阵,我们的输入图像设置为64*64,经过PCANet的映射之后(核心就是主成分映射),输出的矩阵仍为64*64,如图:原创 2015-11-25 10:41:28 · 8432 阅读 · 24 评论 -
支付宝刷脸——我们进入了一个怎样的刷脸时代
随着2016年6月份左右支付宝的一次更新,其中的刷脸功能终于从幕后走到前台,这次我就借支付宝上的刷脸系统,来聊聊人脸识别的那些事儿。事先声明,这是一篇科普小文章,言语轻松。 一、简单界面蕴含不简单道理 下面是支付宝刷脸过程中的一个界面(截图来自网络): 这个刷脸界面主要元素有三个:脸部框、“眨眨眼”、一张脸。接下来我们逐一介绍。 1、脸部框——人脸监测与人脸识别不可兼得 支付宝刷脸的...原创 2016-08-19 22:42:44 · 15691 阅读 · 3 评论