卷积神经网络

CNN初探

冷暖自知 提交于 2019-12-18 02:07:08
前言 https://www.cnblogs.com/fydeblog/p/7450413.html 这篇博客主要讲解卷积神经网络(CNN)的历史、模块、特点和架构等等 1. CNN历史 CNN最早可以追溯到1968Hubel和Wiesel的论文,这篇论文讲述猫和猴的视觉皮层含有对视野的小区域单独反应的神经元,如果眼睛没有移动,则视觉刺激影响单个神经元的视觉空间区域被称为其 感受野 (Receptive Field)。相邻细胞具有相似和重叠的感受野。感受野大小和位置在皮层之间系统地变化,形成完整的视觉空间图。这个为CNN的局部感知奠定了一个基础。 然后是1980年, 神经感知机 (neocognitron)的提出,标志了第一个初始的卷积神经网络的诞生,也是感受野概念在人工神经网络领域的首次应用,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理。 在然后1988年, 时不变神经网络 (Shift-invariant neural network)的提出,将卷积神经网络的功能进行了一次提高,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。 卷积神经网络的前馈架构在 神经抽象金字塔 (Neural abstraction pyramid)中被横向和反馈连接扩展。所产生的复现卷积网络允许灵活地并入情景信息以迭代地解决局部模糊

【学习笔记】卷积神经网络

核能气质少年 提交于 2019-12-18 02:05:42
目录 人工神经网络VS卷积神经网络 卷积神经网络CNN 卷积层 新的激活函数-Relu Pooling计算 Mnist数据集卷积网络实现 人工神经网络VS卷积神经网络 参数太多,在cifar-10的数据集中,只有32*32*3,就会有这么多权重,如果说更大的图片,比如200*200*3就需要120000多个,这完全是浪费。 没有利用像素之间位置信息,对于图像识别任务来说,每个像素与周围的像素都是联系比较紧密的。 网络层数限制 我们知道网络层数越多其表达能力越强,但是通过梯度下降方法训练深度人工神经网络很困难,因为全连接神经网络的梯度很难传递超过3层。因此,我们不可能得到一个很深的全连接神经网络,也就限制了它的能力。 那么,卷积神经网络又是怎样解决这个问题的呢?主要有三个思路: 局部连接:这个是最容易想到的,每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数。 权值共享:一组连接可以共享同一个权重,而不是每个连接有一个不同的权重,这样又减少了很多参数。 下采样:可以使用Pooling来减少每层的样本数,进一步减少参数数量,同时还可以提升模型的鲁棒性。对于图像识别任务来说,卷积神经网络通过尽可能保留重要的参数,去掉大量不重要的参数,来达到更好的学习效果 卷积神经网络CNN 卷积神经网络与上一篇文章中的普通神经网络非常相似

卷积神经网络(CNN)

扶醉桌前 提交于 2019-12-18 00:43:27
卷积神经网络介绍 卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。 最典型的卷积网络,由卷积层、池化层、全连接层组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。 卷积层完成的操作,可以认为是受局部感受野概念的启发,而池化层,主要是为了降低数据维度。 综合起来说,CNN通过卷积来模拟特征区分,并且通过卷积的权值共享及池化,来降低网络参数的数量级,最后通过传统神经网络完成分类等任务。 经典卷积神经网络 卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。 图:卷积神经网络的概念示范:输入图像通过和三个可训练的滤波器和可加偏置进行卷积,滤波过程如图一,卷积后在C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征映射图。这些映射图再进过滤波得到C3层。这个层级结构再和S2一样产生S4。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。 一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来;S层是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射为一个平面

图卷积神经网络初探

不羁岁月 提交于 2019-12-17 09:35:46
【摘要】 你吃过牛角甜甜圈吗(cronuts)? 这一被时代杂志称为“2013年25个最佳发明之一”的神奇美食,带着甜甜圈的可爱外貌与牛角面包的酥软内里,从美国纽约席卷全球。直到今天,世界各地的甜品店依然热衷于开发各种口味的cronuts,引得饕餮们纷纷自掏腰包。再看一眼圆圆胖胖的cronuts,各位擦擦口水回到正题,接下来,本文将介绍近年来引爆学术界的另一样“牛角甜甜圈”:Graph C… 这一被时代杂志称为“2013年25个最佳发明之一”的神奇美食,带着甜甜圈的可爱外貌与牛角面包的酥软内里,从美国纽约席卷全球。直到今天,世界各地的甜品店依然热衷于开发各种口味的cronuts,引得饕餮们纷纷自掏腰包。 再看一眼圆圆胖胖的cronuts,各位擦擦口水回到正题,接下来,本文将介绍近年来引爆学术界的另一样“牛角甜甜圈”: Graph Convolutional Network—— 图卷积神经网络 ,顾名思义,它是图与卷积神经网络(CNN)的结合体。 CNN在图像识别、NLP等领域拥有广泛的应用场景,技术日臻成熟,常用于分类、识别等任务。通过将数据映射到低维的欧式空间,可以有效地采用CNN进行运算。图像中的像素点具有明确的上下左右位置关系,语句中的文字具有清晰的序列结构,均可转换为低维的欧几里得结构化数据,输入到神经网络中进行特征提取和计算。 图作为一种通用的数据结构

随想录(第一个卷积神经网络)

折月煮酒 提交于 2019-12-17 09:27:45
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前学习了keras和mnist,知道了如何用keras编写简单的感知器。感知器的优点是比较简单,但是缺点也很明显。训练出来的识别正确率不是很高,所以自己就想试试卷积网络。网上的卷积网络算法和代码也比较多,正好可以学习一下。 1、keras支持多种卷积核 目前keras中支持多种卷积核,有Conv1D、Conv2D、Conv3D等等。 2、cnn是图像分类的标配 对于特征提取、图像分类的场景来说,cnn基本上是标配。 3、归一化 图像输入给卷积核之前一般先归一化一下,即x_train = x_train / 255 4、池化层 卷积层一般和池化层配合使用。一个卷积神经网络可能只有一组卷积层、池化层,也可能有很多组卷积层、池化层。 5、模型大小 一般而言,卷积神经网络比感知器的模型稍大一点。 6、示例代码 #!/usr/bin/python # -*- coding: utf-8 -*- # # 首次使用卷积神经网络来进行处理 20191215 # # 参考链接:https://blog.csdn.net/weixin_41055137/article/details/81071226 # 理论上卷积神经网络可以训练几千到上万次 # import numpy #from keras

经典分类模型(七):ResNext(2017)

拈花ヽ惹草 提交于 2019-12-17 01:26:31
Aggregated Residual Transformations for Deep Neural Networks----2017ResNext Abstract 我们提出了一种用于图像分类的简单, 高度模块化 的网络体系结构。我们的网络是通过 重复构建模块 来构建的,该模块聚合具有相同拓扑的一组转换。我们的简单设计导致了同类的多分支架构,仅需设置几个超参数。 此策略提供了一个新维度,我们将其称为“基数”(转换集的大小),它是深度和宽度维度之外的一个重要因素。 在ImageNet-1K数据集上,我们根据经验表明,即使在保持复杂性的限制条件下, 增加基数也可以提高分类精度 。此外,当我们增加容量时,增加基数比深入或更广泛更有效。我们的模型名为 ResNeXt ,是我们进入2016年ILSVRC分类任务的基础,我们获得了第二名。我们进一步在ImageNet-5K集和COCO检测集上对ResNeXt进行了研究,其结果也比ResNet同类要好。该代码和模型可以在线公开获得1。 1.Introduction 视觉识别的研究正在经历从“功能工程”到“网络工程”的转变[25、24、44、34、36、38、14]。与传统的手工设计特征(例如,SIFT [29]和HOG [5])相反,神经网络从大规模数据中学习的特征[33]在训练过程中所需的人力最少,并且可以转移到各种识别任务中[7,10

深度学习项目——基于卷积神经网络(CNN)的人脸在线识别系统

谁都会走 提交于 2019-12-16 20:30:45
基于卷积神经网络(CNN)的人脸在线识别系统   本设计研究人脸识别技术,基于卷积神经网络构建了一套人脸在线检测识别系统,系统将由以下几个部分构成: 制作人脸数据集、 CNN 神经网络模型训练、 人脸检测、人脸识别 。经过实验,确定该系统可对本人的人脸进行快速并准确的检测与识别。 关键词 : 神经网络; 图像处理; 人脸检测;人脸识别; TensorFlow ;模型训练 一、设计目标 1.掌握人脸识别原理; 2.掌握卷积神经网络算法原理 3.掌握卷积神经网络模型训练过程; 4.掌握常用图像处理技术; 设计内容与要求 1.完成基于卷积神经网络的人脸在线识别系统算法设计; 2.完成基于卷积神经网络的人脸在线识别系统模型训练; 3.检测并且识别出人脸; 二、制作人脸数据集 2.1、制作我的人脸数据集   人脸检测出人脸位置,返回坐标、尺寸把脸用数组切片的方法截取下来,把截取的小图片保存下来作为数据集。 本系统获取本人的人脸数据集 10000 张,使用的是 dlib 来识别人脸,虽然速度比 OpenCV 识别慢,但是识别效果更好。 其中,人脸大小: 64*64 。 2.2、主要步骤 ( 1 ) 加载 dlib 机器学习的开源库 ( 2 ) 图像预处理 cvtColor (灰度化)。 ( 3 ) 使用 dlib 自带的 frontal_face_detector 进行特征提取 。 ( 4 )

卷积神经网络的卷积核大小、个数,卷积层数如何确定

匆匆过客 提交于 2019-12-15 23:53:56
卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?看到有些答案是刚开始随机初始化卷积核大小,卷积层数和map个数是根据经验来设定的,但这个里面应该是有深层次原因吧,比如下面的手写字卷积神经网络结构图1,最后输出为什么是12个map,即输出12个特征?然后图2又是输出10个特征了? 在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。 具体来说。卷积核大小必须大于1才有提升感受野的作用,1排除了。而大小为偶数的卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。 每一层卷积有多少channel数,以及一共有多少层卷积,这些暂时没有理论支撑,一般都是靠感觉去设置几组候选值,然后通过实验挑选出其中的最佳值。这也是现在深度卷积神经网络虽然效果拔群,但是一直为人诟病的原因之一。 多说几句,每一层卷积的channel数和网络的总卷积层数,构成了一个巨大的超参集合,这个超参集合里的最优组合,很可能比目前业界各种fancy的结构还要高效。只是我们一来没有理论去求解这个超参集合里的最优,二来没有足够的计算资源去穷举这个超参集合里的每一个组合,因此我们不知道这个超参集合里的最优组合是啥。 现在业界里提出的各种fancy结构中不少都是不断trial

深度学习-自动训练参数

眉间皱痕 提交于 2019-12-15 20:03:02
卷积核:明显化特征 最大池化:提取特征,去掉不需要的特征 卷积层:普通神经网络的特殊化-未全连接-连接后未参数不同(训练参数缩小,对应数据集小的情况,防止过拟合,有利于提升计算速度) 全连接:普通神经网络(训练参数众多) 来源: CSDN 作者: chris__tina 链接: https://blog.csdn.net/chanleoo/article/details/89319094

论文阅读笔记:ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks!

戏子无情 提交于 2019-12-15 07:02:24
ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks! 文章目录 一. 摘要 二. 研究背景 三. 相关工作 3.1. 非对称卷积 3.2. CNN架构中的中性结构 四. 本文方法 4.1. 公式 4.2. 利用卷积的可加性 4.3. ACB不增加任何推理时间开销 五. 实验部分 六. 代码实现 参考文献 本文文章来自ICCV2019: 通过非对称卷积块增强CNN的核骨架。论文地址: https://arxiv.org/abs/1908.03930v1 代码开源在: https://github.com/ShawnDing1994/ACN 本文主要内容来自: 3×3卷积+1×3卷积+3×1卷积=白给的精度提升! 一. 摘要 由于在给定的应用环境中设计合适的卷积神经网络(CNN)结构需要 大量的人工工作 或 大量的GPU资源消耗 ,研究界正在寻找网络结构无关的CNN结构,这种结构可以很容易地插入到多个成熟的体系结构中,以提高我们实际应用程序的性能。 我们提出了 非对称卷积块 (ACB)作为CNN的构造块,它使用一维非对称卷积核来增强方形卷积核,我们用ACBs代替标准的方形卷积核来构造一个非堆成卷积网络ACNet,该网络可以训练到更高的精度。训练后