close
当前位置: 物联网在线 > 技术文库 >

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

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

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

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

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

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

1.空间问题

图像分类是输入图像并输出类(猫,狗等)的任务,或是最能描述图像的类的概率。对于人类来说,这个任务是我们从出生的那一刻开始学习的第一个技能之一。我们人类能够快速,无缝地识别我们所处的环境以及我们周围的对象。当我们看到一个图像,甚至只是看着我们周围的世界,大多数时候,我们能够立即刻画场景,并给每个对象一个标签,所有这些都没有意识到注意。能够快速识别模式的这些技能,从先前的知识推测出来,适应不同的图像环境是我们的特长。我个人觉得这是人类三维视角的独特的优势,相较于机器的二维视角。

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

2.输入和输出
当计算机看到图像(将图像作为输入)时,它将看到的是像素值的数组。根据图像的分辨率和大小,它会看到一个32 x 32 x 3的数组(3是RGB值)。我们假设我们有一个JPG形式的彩色图像,其大小是480 x 480.代表性的数组将是480 x 480 x 3。这些数字中的每一个都给出一个从0到255的值,它描述某个点的像素强度。这些数字在我们进行图像分类时对我们毫无意义,但它是计算机可用的唯一输入。所以,这在人类的潜意识中是非常困难的。

3.我们想要电脑做什么
现在我们知道了问题以及如何输入和输出,让我们考虑一下如何解决这个问题。我们希望电脑能够区分所有的图像,并找出识别狗或识别猫的独特功能。当我们看一只狗的照片时,如果图片具有可识别的特征,例如爪子或四条腿,我们可以对其进行分类。以类似的方式,计算机能够通过寻找诸如边缘和曲线的低级特征,然后通过一系列卷积层来构建更抽象的概念来执行图像分类。这是CNN功能的总体概述,我们来详细了解一下。

3.1生物连接
首先你要有一点生物学背景。当你第一次听到“卷积神经网络”一词的时候,你可能会想到与神经科学或生物学有关的东西。CNN确实从生物学中的视觉皮质获得启发,视觉皮层是具有对视野的特定区域敏感的细胞区域,而且特定区域一般很小。这个想法在1962年由Hubel和Wiesel的实验产生的。Hubel和Wiesel发现,所有这些神经元都被组织在一个柱状结构中,并且它们一起能够产生视觉感知。具有特定任务(视觉皮层中的神经元细胞寻找特定特征)的系统内的专门组件的想法也是机器使用的构思。也是我们常说的局部感受野:就是输出图像某个节点的响应所对应的最初的输入图像的区域。这也是CNN的基础。

4.结构体
接下来我们谈谈具体细节。对CNN做什么的更详细的概述将是:拍摄图像、通过一系列卷积、非线性、池(下采样)和完全连接的层,并获得输出。如我们前面所说,输出可以是单个类或最能描述图像的类的概率。现在,困难的部分是理解这些层中的每一个,首先让我们进入最重要的一个。

4.1第一层:数学 (Math)
CNN中的第一层总是卷积层。第一件事是要确保你记得是这个转换的输入,像我们之前提到的,输入是一个32 x 32 x 3的像素数组。解释转换层的最好方法是想象一下闪光在图像左上方的手电筒,这个手电筒的光线覆盖着5×5的区域。而现在,我们可以想象这个手电筒可以滑过输入图像的所有区域。在机器学习术语中,这种手电筒被称为滤波器(或有时称为神经元或内核),并且其闪烁的区域称为接收场。现在这个过滤器也是数字数组(数字称为权重或参数)。一个非常重要的注意事项是,该滤波器的深度必须与输入深度相同(这样才可以确保数学运算),因此滤波器的尺寸为5 x 5 x 3。

译者注:滤波器:filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。


(责任编辑:ioter)

用户喜欢...

初学者必看!深度学习入门指南

前言 机器学习技术为现代社会的许多领域提供了强大的技术支持:从网络搜索到社交网络的内容过滤,再到电子商务网站的产品推荐。机器学习技术正越来越多的出现在消费级产品上,比如...


深度卷积神经网络在目标检测中的进展

近些年来,深度卷积神经网络(DCNN)在图像分类和识别上取得了很显著的提高。回顾从2014到2016这两年多的时间,先后涌现出了R-CNN,Fast R-CNN, Faster R-CNN, ION, HyperNet, SDP-CRC, YOLO,G-CNN, SSD等越来...


一步一步学用Tensorflow构建卷积神经网络

摘要: 本文主要和大家分享如何使用Tensorflow从头开始构建和训练卷积神经网络。这样就可以将这个知识作为一个构建块来创造有趣的深度学习应用程序了。 0. 简介 在过去,我写的主要都是...


pcb layout初学者如何理解差分信号

随着半导体技术和深压微米工艺的不断发展,IC的开关速度目前已经从几十M H z增加到几百M H z,甚至达到几GH z。在高速PCB设计中,工程师经常会碰到误触发、阻尼振荡、过冲、欠冲、串扰等信号...


【科普】卷积神经网络(CNN)基础介绍

本文是对卷积神经网络的基础进行介绍,主要内容包括卷积神经网络概念、卷积神经网络结构、卷积神经网络求解、卷积神经网络LeNet-5结构分析、卷积神经网络注意事项。 一、卷积神经网络...


深度学习初学者必须了解的基本知识

深度学习是计算机领域中目前非常火的话题,不仅在学术界有很多论文,在业界也有很多实际运用。本篇博客主要介绍了三种基本的深度学习的架构,并对深度学习的原理作了简单的描述。...


卷积神经网络(CNN)的简单实现(MNIST)

卷积神经网络(CNN)的基础介绍见 ,这里主要以代码实现为主。 CNN是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。 以MNIST作为数据库,仿照LeNet-5和tin...


卷积神经网络(CNN)基础介绍

本文是对卷积神经网络的基础进行介绍,主要内容包括卷积神经网络概念、卷积神经网络结构、卷积神经网络求解、卷积神经网络LeNet-5结构分析、卷积神经网络注意事项。 一、卷积神经网络...


长文揭秘图像处理和卷积神经网络架构

本文由微信公众号编译,选自 Analyticsvidhya,作者:DISHASHREE GUPTA 近日,Dishashree Gupta 在 Analyticsvidhya 上发表了一篇题为《Architecture of Convolutional Neural Networks (CNNs) demystified》的文章,对用于图像...


卷积神经网络(CNN)新手指南

卷积神经网络:听起来像是生物与数学还有少量计算机科学的奇怪结合,但是这些网络在计算机视觉领域已经造就了一些最有影响力的创新。2012年神经网络开始崭露头角,那一年Alex Krizhevs...