CNN

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

学习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)深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系

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

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

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

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

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

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

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

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

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

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

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

    卷积与特征提取

    商汤科技联合北京大学等提出一种基于 FPGA 的快速 Winograd 算法,可以大幅降低算法复杂度,改善 FPGA 上的 CNN 性能。论文中的实验使用当前最优的多种 CNN 架构,从而实现了 FPGA 加速之下的最优性能和能耗。

    1. 引言
    深度卷积神经网络(CNN)在多个计算机视觉任务上取得了优秀的性能,包括图像分类、目标检测和语义分割 [1, 2]。CNN 的高准确率是以极大的计算复杂度为代价的,因为它需要对特征图中的所有区域进行综合评估 [3, 4]。为了解决如此巨大的计算压力,研究者使用 GPU、FPGA 和 ASIC 等硬件加速器来加速 CNN [5–17]。其中,FPGA 因其高性能、低能耗和可重配置性成为有效解决方案。更重要的是,使用 C 或 C++的高级综合(High Level Synthesis,HLS)大幅降低了 FPGA 的编程障碍,并提高了生产效率 [18–20]。

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

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

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

    异构计算架构师眼中的AI算法(object detection)

    作者: erickmeng, 腾讯架构师

    导语:
    虽然detection在classification基础上焕发了春天,但算法的复杂度确实增加了不少。对于底层平台来说,虽然看起来还是一堆卷积,但图片的增大,带来了一些列问题。

    目标检测object detection由于除了要识别what,还要找出where,从算法本身上复杂了许多。虽然最终实现端到端检测的网络是一个卷机网络,貌似和之前没有多大差别,但大图片除了计算量增加xx倍意外,图片的搬移才是给底层计算平台带来的最大挑战,高效的数据搬移重要性浮出水面,设计的中心从“计算为主”逐步切换到“计算加搬移”并重。

    对底层平台来说,核心在于理解:

    1. 为什么图片在object detection下越来越大,这个是不是其核心诉求?答案是,这个是第一诉求,从应用场景看,detection本身就是识别多个物体,提取出小图片来识别的代价太大;同时应用中物体的远近不等,大图片采集更大的视野也是一个主要原因。但同时一个利好因素是,在端侧应用,受限于人眼的识别能力,图片识别的张数要远比在服务器侧压力小。

    2. 功耗的额要求:在机器人、无人车等应用中,和服务器端相比,功耗是一个关键因素。

    介绍一款基于FPGA的CNN硬件加速器IP

    作者:Sleibso,编译:Stark

    随着人工智能(AI)的不断发展,它已经从早期的人工特征工程进化到现在可以从海量数据中学习,机器视觉、语音识别以及自然语言处理等领域都取得了重大突破。CNN(Convolutional Neural Network,卷积神经网络)在人工智能领域受到越来越多的青睐,它是深度学习技术中极具代表性的网络结构之一,尤其在图像处理领域取得了很大的成功。随着网络变得越来越大、越来越复杂,我们需要大量的计算资源来对其进行训练,因此人们纷纷将注意力转向FPGA(Field Programmable Gate Array,现场可编程门阵列)器件,FPGA不仅具有软件的可编程性和灵活性,同时又有ASIC高吞吐和低延迟的特性,而且由于具有丰富的I/O接口,FPGA还非常适合用作协议和接口转换的芯片。

    CNN在语音识别中的应用

    作者:侯艺馨

    前言

    总结目前语音识别的发展现状,dnn、rnn/lstm和cnn算是语音识别中几个比较主流的方向。2012年,微软邓力和俞栋老师将前馈神经网络FFDNN(Feed Forward Deep Neural Network)引入到声学模型建模中,将FFDNN的输出层概率用于替换之前GMM-HMM中使用GMM计算的输出概率,引领了DNN-HMM混合系统的风潮。长短时记忆网络(LSTM,LongShort Term Memory)可以说是目前语音识别应用最广泛的一种结构,这种网络能够对语音的长时相关性进行建模,从而提高识别正确率。双向LSTM网络可以获得更好的性能,但同时也存在训练复杂度高、解码时延高的问题,尤其在工业界的实时识别系统中很难应用。

    刚好在知乎上看到这个问题 如何用FPGA加速卷积神经网络CNN,恰巧我的硕士毕业设计做的就是在FPGA上实现CNN的架构,在此和大家分享。

    先说一下背景,这个项目的目标硬件是Xilinx的PYNQ。该开发板加载了Linux Ubuntu操作系统,可以在CPU上运行现有的Python CNN架构如Caffe和Theano。本设计旨在用PYNQ加载的ZYNQ FPGA对于CNN核心计算进行硬件加速,以达到对于大规模信息流进行大吞吐量CNN处理。

    初学者必读:卷积神经网络指南(一)

    摘要: 何为卷积神经网络,它来自何方?又要走向何处?跟着作者的节奏,一起来开始探索CNN吧。

    卷积神经网络听起来像一个奇怪的生物学和数学的组合,但它是计算机视觉领域最具影响力的创新之一。2012年是卷积神经网络最流行的一年,因为Alex Krizhevsky用它赢得当年的ImageNet竞争(基本上算得上是计算机视觉的年度奥运),它将分类错误记录从26%降至15%,这是惊人的改善。从那时起,深度学习开始流行起来,Facebook使用神经网络进行自动标记算法,Google进行照片搜索,亚马逊的产品推荐,家庭饲料个性化的Pinterest,以及以搜索为基础设施的Instagram。

    今天我们来看看在图像处理中如何使用CNN进行图像分类。

    1.空间问题

    同步内容