哈尔滨工业大学沈俊楠:典型模式-卷积神经网络入门

简介: 在2018年3月13日云栖社区,来自哈尔滨工业大学的沈俊楠分享了典型模式-卷积神经网络入门。本文详细介绍了关于卷积神经网络的基础概念和知识与讲解,并列举实例展示了卷积和池化的效果。

哈尔滨工业大学的沈俊楠分享了典型模式-卷积神经网络入门。本文详细介绍了关于卷积神经网络的基础概念和知识与讲解,并列举实例展示了卷积和池化的效果。
直播视频回顾请点击
以下是精彩视频内容整理:
问题引出
学习知识从问题引出入手是一个很好的方法,所以本文将可以围绕下面三个问题来展开:
1.CNN从何而来?有何作用?运行原理是什么?
2.为什么现在图像上用得这么多?怎么用?
3.我想要入门,怎么实践操作下?
本文思维导图如下:

_1

概念原理
预备知识-神经元
神经网络有大量的节点(或称“神经元”、“单元”)和相互链接而成。每个神经元接受输入的线性组合,进行非线性变换(亦称激活函数activation function)后输出。每两个节点之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。

_2

以上图为例,该图即为一个神经元。神经元有a1,a2,a3...an输入,而每个输入中都有权值以及偏置值,对应图中的w1,w2,w3...wn以及b。这些输入与权值的乘积加上偏置会经过激活函数的处理得到输出t。
神经元的作用我们可以根据上图以是否参加音乐节的决策为实力来详细介绍一下。图中a1,a2代表是否有人陪同参加音乐节,w1,w2代表今天的天气如何。分别赋值a1为1,a2为0,w1为5,w2为-2,偏置b代表随意事件,此处赋值为0。这些值的和为s,s=a1 w1+a2w2+b。
s作为输入进入激活函数,此处激活函数代表决策,当决策大于某一个值时就参加音乐节,若小于该值就不参加音乐节,最后的输出t即为是否参加音乐节。这就是神经远的构成。
预备知识-激活函数
常用的非线性激活函数有sigmoid、relu等等,前两者sigmoid比较常见与全连接层,后者relu常见与卷积层。这里先简要介绍下最基础的sigmoid。
sigmoid的函数表达式如下:

_3

其中z时一个线性组合,比如z可以等于:z=b+w1 a1+w2a2。通过带入很大的正数或很小的负数到g(z)函数中可知,其结果趋近于0或1。因此,sigmoid函数g(z)的图形表示如下图(横轴表示定义域z,纵轴表示值域g(z))。

_3

Sigmoid函数的功能是相当于把一个输出压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时,则g(z)会趋近于0。压缩至0到1之间的作用是这样以来便可以把激活函数看作一种“分类的概率”,比如激活函数的输出为0.9的话便可以解释为90%的概率为正样本。
预备知识-神经网络
定义:将神经元组织在一起,其实便形成了神经网络。下图便是一个三层神经网络结构

_4


最左边的原始输入信息称之为输入层,最右边的神经元称之为输出层(上图中输出层只有一个神经元),中间的叫隐藏层。
输入层(Input layer)众多神经元(Neuron)接受大量非线性形输入讯息。输入的讯息称为输入向量。
输出层(Output layer)讯息在神经元链接中传输、分析、权衡,形成输出结果。输出的讯息成为输出向量。
隐藏层(Hidden layer)简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。如果有同多个隐藏层,则意味着多个激活函数
同时,每一层都可能有单个或多个神经元组成,每一层的输出将会作为下一层的输入数据,不断传递,最终有输出层输出最终结果。
CNN的结构

_5


卷积神经网络(Convolutional Neural Network,CNN)是受到神经科学启发后的多层感知机模型的进化。
卷积的概念来自信号处理,是对输入信号经过持续的转换持续的输出另一组信号的过程。图像处理中可以通过卷积完成边缘检测、模糊、锐化等效果。
在计算机视觉(Computer Version)领域中卷积层是指感受野(Receptive Field)与卷积核(Kernel)的内积通过激活函数(Activation Function)之后输出特征图像(Feature Map)
结果多层的卷积层、池化层、全连接层,卷积神经网络便可以赋予计算机视觉等能力。
CNN的机构-感受野
感受野是指某个卷积核在输入图像所看到的空间。

_6


上图表示卷积操作为:卷积核3x3、填充1、步长2。第一排是对5x5蓝色图像进行卷积操作,得到3x3绿色图像。相对左侧的通常表示方法, 左侧表示方法更容易观察到特征的关注点(感受野的中心)和视野(感受野的范围)。第二排是对3x3的绿色图像进行卷积操作,得到2x2黄色图像。
CNN的结构-卷积操作
图像处理中,卷积操作是从输入图像中取出与卷积核大小相同的区块,与卷积核执行内积后生成一个像素,计算完毕后取下一个区块一次类推,最终得到特征图像,过程如下图所示:

_7


卷积操作的好处有两点,第一稀疏连接:眼睛在看东西的时候目光是聚焦在要给相对很小的局部,而不是全部。相对传统多层感知器的隐层节点会连接到图像的每个像素点上,卷积神经网络模拟了眼睛的特性,每个隐层节点通过卷积核连接到图像某个足够小局部的像素点上,从而大大减少权值参数。第二权值共享:如同神经中枢中的神经细胞,知识对某些形状有反应,这样的神经细胞被卷积核来模拟,同一个特征图像中的卷积核的权值是一样的,从而大大减少全职参数。通过仿生而提出的稀疏连接,卷积不仅仅符合视觉原理,复杂度也得到了很好的控制。
CNN的结构-卷积核

_8


_9


以图像为例,卷积是从输入图像中取出与卷积核大小相同的区块,与卷积核执行点乘后生成了特征图像(feature Map)中的一个像素,当一个像素计算完毕后,移动一个像素取下一个区块执行相同的运算。
不同的卷积核会得到不同的输出数据,比如深浅,轮廓等。如果想提取图像的不同特征,则需要使用不同的卷积核。所以卷积核有时候也被形象的称为检测器(Detector)。
CNN的结构-激活函数&特征图像
激活函数(Activation Function)是用来增加非线性能力,使得神经网络可以更好的解决较为复杂的问题。典型的激活函数有Rectified Linear Unit(非线性激活函数),即ReLU函数:Y=max{0,x}。

_10


不同的卷积核将产生不同的特征图像,适合的卷积核就可以为特征来进行图像识别。
CNN的结构-池化层
池化是对某个区域内的内容进行一定统计操作以改变输出的图像。池化层操作有两个典型用途:
1.降低计算
理想情况下,学习到的特征都嗯那个用来分类就好了,但是这种做法不仅在计算机的压力会非常打,还会容易造成过拟合。鉴于图像的特征往往出现在图片的多个地方,所以对于特征进行聚合来提高抽象程度,便显得非常合情合理了。这种池化操作往往通过控制步长使得感受野不重叠。
2.平移不变性
如果特征在不同的图像上有轻微的移动,池化操作能够确保该特征以一定概率在感受野上被识别与保留。这样,比如MNIST所针对的手写数字,及时有轻微的平移,仍然能够被正确识别。这种池化操作的感受野往往是重叠的。
池化操作的算法有两个,分别为平均池化核最大池化。平均池化考虑各种特征,最大池化强调突出特征。
CNN的结构-全连接层

_11


最后的两列小圆球就是两个全连接层,在最后一层卷积结束后,进行了最后一次池化,输出了20个12 12的图像,然后通过了一个全连接层变成了1100的向量。
自所以能够做到这样,其实就是有20 100个1212的卷积核卷积出来的,对于输入的每一张图,用了一个和图像一样大小的核卷积,这样整幅图就变成了一个数了,如果厚度是20那就是20个核卷积完了之后相加求和。这样就能把一张图高度弄成了一个数了。
由于传统的网络输出都是分类,也就是几个类别的概率甚至就是要给数类别号,那么全连接层的目的就是高度提纯特征,方便交给最后的分类器或者回归。
CNN的处理图像的例子-卷积效果与池化效果

_12


四张图片对应不同卷积核计算结果非别为:左上角模糊blur、右上角向下Sobel、左下角emboss、右下角outline

_13


该池化操作通过max_pool进行的,max_pool为最大池化。如图中为4 4的特征图像,对其用一个22的框架进行最大池化。可以看出提取出的四个结果分别为四个模块中的最大值分别为6、4、5、8。
应用介绍-LeNet5数字分类
LeNet是第一个卷积神经网络,它的架构是由Yann LeCun等在1998年的论文Gradient-Based Learning Applled to Document Recognition中首先提出的,主要用来识别数字。下图为LeNet的架构:

_14


MNIST数据作为场景。很大程度上,LeNet+MNIDST已经称为深度学习图像处理的Hello World了。MNIST包含三种数据:55000个训练数据点,10000个测试数据点,5000个验证数据点。每个MNIST 数据点有两部分内容:手写数字的图像,对应图像的标签。每个图像的长和宽都是28个像素,总共784像素。
LeNet模型包含:1.使用卷积核最大池化。2.仍然是卷积核最大池化,只是使用64个特征,卷积核仍然是5x5。最大池化后图像大小变为7x7。3.全连接层。4.对全连接层的输出使用劝退。5.直观的softmax层,得到最后的概率输出。
训练是通过损失函数表示模型的预测对比预期有多糟糕,训练的目标是最小化损失函数。预测是最后通过计算图谱便能够完成的。
本文由云栖志愿小组谭昊整理,编辑百见
数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!
目录
相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
9天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
8天前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
30 0
|
10天前
|
域名解析 网络协议 虚拟化
vmware 提供的三种网络工作模式
本文介绍了VMware虚拟机的三种网络工作模式:Bridged(桥接模式)、NAT(网络地址转换模式)和Host-Only(仅主机模式)。桥接模式将虚拟机与主机通过虚拟网桥连接,实现与物理网络的直接通信;NAT模式通过虚拟NAT设备和DHCP服务器使虚拟机联网;Host-Only模式则将虚拟机与外网隔离,仅与主机通信。此外,文章还简要介绍了网络相关的基础知识,包括主机名、IP地址、子网掩码、默认网关和DNS服务器。
28 3
|
13天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
10天前
|
Docker 容器
【赵渝强老师】Docker的None网络模式
Docker容器在网络方面实现了逻辑隔离,提供了四种网络模式:bridge、container、host和none。其中,none模式下容器具有独立的网络命名空间,但不包含任何网络配置,仅能通过Local Loopback网卡(localhost或127.0.0.1)进行通信。适用于不希望容器接收任何网络流量或运行无需网络连接的特殊服务。
|
10天前
|
Docker 容器
【赵渝强老师】Docker的Host网络模式
Docker容器在网络环境中是隔离的,可通过配置不同网络模式(如bridge、container、host和none)实现容器间或与宿主机的网络通信。其中,host模式使容器与宿主机共享同一网络命名空间,提高性能但牺牲了网络隔离性。
|
10天前
|
Kubernetes Docker 容器
【赵渝强老师】Docker的Container网络模式
Docker容器在网络环境中彼此隔离,但可通过配置不同网络模式实现容器间通信。其中,container模式使容器共享同一网络命名空间,通过localhost或127.0.0.1互相访问,提高传输效率。本文介绍了container模式的特点及具体示例。
|
10天前
|
Linux Docker 容器
【赵渝强老师】Docker的Bridge网络模式
本文介绍了Docker容器的网络隔离机制及其四种网络模式:bridge、container、host和none。重点讲解了默认的bridge模式,通过示例演示了如何创建自定义bridge网络并配置容器的网络信息。文中还附有相关图片和视频讲解,帮助读者更好地理解Docker网络的配置和使用方法。
|
10天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
27 0

热门文章

最新文章