卷积神经网络

卷积神经网络的最佳解释

CNN由由可学习权重和偏置的神经元组成。每个神经元接收多个输入,对它们进行加权求和,将其传递给一个激活函数并用一个输出作为响应。整个网络有一个损失函数,在神经网络开发过程中的技巧和窍门仍然适用于CNN。很简单,对吧?

那么,卷积神经网络与神经网络有什么不同呢?

和神经网络输入不同,这里的输入是一个多通道图像(在这种情况下是3通道,如RGB)。

在我们深入之前,让我们先了解一下卷积的含义。

我们用5 * 5 * 3的滤波器滑过整个图像,并在滑动过程中与滑过的图像部分点积。

卷积神经网络物体检测之感受野大小计算

学习RCNN系列论文时, 出现了感受野(receptive field)的名词, 感受野的尺寸大小是如何计算的,在网上没有搜到特别详细的介绍, 为了加深印象,记录下自己对这一感念的理解,希望对理解基于CNN的物体检测过程有所帮助。

1. 感受野的概念
  在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。

RCNN论文中有一段描述,Alexnet网络pool5输出的特征图上的像素在输入图像上有很大的感受野(have very large receptive fields (195 × 195 pixels))和步长(strides (32×32 pixels) ), 这两个变量的数值是如何得出的呢?

2. 感受野大小的计算
感受野计算时有下面的几个情况需要说明:

  (1)第一层卷积层的输出特征图像素的感受野的大小等于滤波器的大小

  (2)深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系

【科普】卷积神经网络的特点和应用

1. 概念
英文名:convolutional neural network

是一种前馈神经网络,即表明没有环路,普通神经网络的 BP 算法只是用于方便计算梯度,也是前馈神经网络。

是深度学习结构的一种,是一种深度、前馈神经网络。

可以使用 BP 算法进行训练

ConvNet architectures make the explicit assumption that the inputs are images, which allows us to encode certain properties into the architecture

卷积神经网络的前提:输入是二维结构或者三维结构,但起比较大作用的是空间维度(spacial),深度那一维并没有太明显的作用。

1.1 空间维度 spacial
是宽和高,不包含深度

1.2 什么是卷积
https://www.zhihu.com/question/22298352

这条知乎解释得非常清楚!

卷积的离散和连续解释,其实就是求和符号和积分符号换一下而已

CNN 中卷积的体现在于,在神经元的感受野里的输入和权重滤波器做点积,然后权重滤波器对整个输入在空间维度上一边移动一边做点积,然后求和,所以跟一般的卷积是在时间上移动不同的是,这里是在空间上移动。

摘要: 本文讲述如何确定卷积神经网络的卷积核大小、个数,卷积层数。

卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?看到有些答案是刚开始随机初始化卷积核大小,卷积层数和map个数是根据经验来设定的,但这个里面应该是有深层次原因吧,比如下面的手写字卷积神经网络结构图1,最后输出为什么是12个map,即输出12个特征?然后图2又是输出10个特征了?


在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。
具体来说。卷积核大小必须大于1才有提升感受野的作用,1排除了。而大小为偶数的卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。

卷积神经网络(CNN)学习笔记2:模型训练

上篇博文主要对CNN的基本网络结构及连接方式做了简单的介绍,还介绍了一个界内经典的LeNet-5模型。下面重点介绍CNN模型的训练过程/参数学习,在阅读本文之前,最好需要有以下方面的预备知识:

  • 神经网络基础(网络结构,前向/后向传播方式,激活函数等);
  • 基础的最优化求解方法(梯度法,牛顿法等);
  • 机器学习基础
  • 神经网络模型常用于处理有监督学习的问题,例如分类问题,CNN也不例外。模型需要一些有标注的数据进行训练,训练过程中主要涉及到网络的前向传播和反向传播计算,前向传播体现了特征信息的传递,而反向传播则是体现误差信息对模型参数的矫正。

    CNN前向传播
    与普通的神经网络的前向传播过程一样。用 l 表示当前层,xl 表示当前层的输出,Wl 和 bl 分别表示当前层的权值和偏置,则前向传播可以用下面的公式表示:

    其中 f() 函数为激活函数,可以选择sigmod或者tanh等函数。

    对于卷积层,其前向传播如下图:

    卷积神经网络CNN中的各种意义

    只是知道CNN是不够,我们需要对其进行解剖,继而分析不同部件存在的意义

    CNN的目的
    简单来说,CNN的目的是以一定的模型对事物进行特征提取,而后根据特征对该事物进行分类、识别、预测或决策等。在这个过程里,最重要的步骤在于特征提取,即如何提取到能最大程度区分事物的特征。如果提取的特征无法将不同的事物进行划分,那么该特征提取步骤将毫无意义。而实现这个伟大的模型的,是对CNN进行迭代训练。

    特征
    在图像中(举个例子),目标事物的特征主要体现在像素与像素之间的关系。比如说,我们能区分一张图片中有一条直线,是因为直线上的像素与直线外邻像素的区别足够大(或直线两边的像素区别足够大),以至于这“直线”能被识别出来:

    除了直线外,其他特征也同理。在CNN中,大部分特征提取依赖于卷积运算。

    卷积与特征提取

    卷积神经网络(CNN)学习笔记1:基础入门

    概述
    卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的。CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的前期预处理过程(提取人工特征等),可以直接输入原始图像。

    图像处理中,往往会将图像看成是一个或多个的二维向量,如之前博文中提到的MNIST手写体图片就可以看做是一个28 × 28的二维向量(黑白图片,只有一个颜色通道;如果是RGB表示的彩色图片则有三个颜色通道,可表示为三张二维向量)。传统的神经网络都是采用全连接的方式,即输入层到隐藏层的神经元都是全部连接的,这样做将导致参数量巨大,使得网络训练耗时甚至难以训练,而CNN则通过局部连接、权值共享等方法避免这一困难,有趣的是,这些方法都是受到现代生物神经网络相关研究的启发(感兴趣可阅读以下部分)。

    卷积神经网络文本分类

    前言
    卷积神经网络(CNN)在图像处理领域取得了很大的成绩,它的卷积和池化结构能很好提取图像的信息,而在 NLP 领域循环神经网络(RNN)则使用的更多,RNN 及其各种变种因拥有记忆功能使得它们更擅长处理上下文。但 NLP 领域很多方面使用 CNN 取得了出色的效果,比如语义分析、查询检索、文本分类等任务。这篇文章看看如何用 CNN 进行文本分类。

    模型结构
    模型结构可以通过下图一层层来看,总共由4部分组成,包括了输入层、卷积层、池化层和全连接层。

    输入层
    图中最左边的部分即为输入层,总的来说输入层就是句子对应的矩阵。一般不会使用 ont-hot 向量来表示单词,而是使用 k 维的分布式词向量。那么对于一个长度为 n 的句子,则构成一个 n × k 的矩阵。

    预计2025年全球计算机视觉市场达到262亿美元

    根据Tractica的最新数据,计算机视觉市场正在快速发展。深度学习和卷积神经网络(CNN)利用大量的视觉推动基于人工智能(AI)的计算机视觉迅速改进。此外,计算机视觉应用于视频,正在扩大现实世界。Tractica预测,到2025年全球计算机视觉软件、硬件和服务收入将从2016年的11亿美元增长到262亿美元。

    根据Tractica的分析,2016-2025年计算机视觉最受欢迎的十大用例包括:

    1.视频监控

    2.机器/车辆物体检测/识别/避让

    3.医学图像分析

    4.增强现实(AR)/虚拟现实(VR)

    5.定位和制图

    6.将文书工作转换为数据

    7.人类情感分析

    8.广告插入图像和视频

    9.脸部识别

    10.房地产开发优化

    自动驾驶系统:基于Zynq的实时物体检测

    作者:Steve Leibson,编译:Stark

    最近几年关于自动驾驶汽车的新闻不断出现在头条新闻,各大传统汽车制造商与互联网公司结合纷纷杀入自动驾驶这个“蓝海”市场,与其说这是汽车行业所经历的一场巨大革命,倒不如说是人工智能(AI)的兴起,自动驾驶的根本原理就是利用机器视觉系统。当然自动驾驶汽车的发展也是一步一步的并且需要经验的积累,目前我们看到特斯拉、百度等厂商都推出了辅助自动驾驶系统,还远远没有实现完全的自动驾驶,此外自动驾驶汽车真正上路还必须得到国家机动车管理部门的政策许可,因此不得不承认自动驾驶汽车还有很长的一段路要走。(图1:自动驾驶汽车要能够实时感知路况信息)

    机器视觉技术可以应用于自动驾驶系统中实现路况信息的采集和检测,其中CNN(卷积神经网络)在机器视觉系统中用于图像处理具有压倒性的优势。CNN网络根据复杂度可以划分为很多个“网络层”,典型的卷积神经网络可以划分为卷积层、池化层和全连接层,它能够将数量庞大的图像识别问题进行不断的降维处理,最终被训练后用于高效的图像识别。

    同步内容