- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
119|基于深度学习的计算机视觉技术(二):基本的深度学习模型
2018-09-03洪亮劼来自北京
《AI技术内参》
在上一期的介绍里,我们讨论了以深度学习为背景的计算机视觉技术,重点讲解了为什么需要
深度学习,特别是从传统模型的眼光来看深度学习模型的特点。
今天,我们来聊一聊应用到图像上的一些最基本的深度学习模型。
前馈神经网络
前馈神经网络(FeedforwardNetworks)应该算是最基本的神经网络架构了。这种架构是理
解其他神经网络结构的基础。
我们可以从最基本的线性模型(LinearModel)入手,来理解前馈神经网络。线性模型说的
是有一组输入x,然后有一个输出y,我们学习到一组向量,有的时候也叫作系数w,来通过
x预测y。这种线性模型可以算是最简单的机器学习模型了。在图像的情况下,输入往往是一
个向量,输出也是一个向量,这个时候,我们需要学习的系数就从一个向量变为一个矩阵了。
那么,试想一下,如果我们把多层的线性模型进行叠加,能否得到多层的神经网络结构呢?答
案是否定的。即便是多层的线性模型,只要每一层的变换是线性的,那么最后的结果一定也是
线性的。因此,要想构建多层的非线性模型,每一层的变换也一定要是非线性的。
那么,如何在线性模型的基础上,我们只进行一些最小的改动,就能引入非线性的因素呢?
在这里,我们引入一个叫“激活函数”(ActivationFunction)的概念。直观地理解,激活
函数就是在线性模型输出的基础上进行非线性变换。一个最简单的激活函数就是Sigmoid函
数,也就是把负无穷到正无穷的实数给映射到0~1这个范围内。我们经常提到的对数几率回
归,其实就是对这种变换的另一种称呼。
利用了Sigmoid激活函数的线性模型,本质上就是在做二元分类。在神经网络发展的早期,
Sigmoid激活函数是一种普遍使用的非线性变换方式。遗憾的是,在之后的发展中,研究人
员发现了Sigmoid函数在数值稳定性上存在严重的问题。
具体来说,在很多机器学习的优化算法中,我们都需要依赖“梯度下降”(Gradient
Descent)的方法来优化目标函数。在前馈神经网络中,梯度下降也是一种简单的优化神经网
络并且学习到系数矩阵的方法。但是因为有Sigmoid函数的存在,计算的梯度有可能会溢出
或者归零。在这样的情况下,模型就无法得到正常的学习。
为了解决Sigmoid激活函数的问题,研究人员发明了“线性整流函数”(RectifiedLinear
Unit),或简称ReLu函数。和Sigmoid函数相比,ReLu函数直接留下大于0的数值,把
小于0的数值统统归0。在ReLu函数的帮助下,我们能够更容易地训练多层的前馈神经网
络。
有了非线性的转换之后,前馈神经网络往往可以把多个非线性的转换给叠加在一起,形成多层
的结构。有了这个多层的转换之后,最后一层往往是是把已经有的信息再映射到最终需要的输
出上。这可以是一个回归问题,也可以是一个分类问题。
从我们之前提到的特征提取的角度来讲,前馈神经网络的中间层次就是利用最原始的信息来提
取数据的特征,而最后一层可以当作是我们之前讲过的线性模型层。只不过和手动构造复杂特
征有一个不同的地方,前馈神经网络是自动学习这样的特征。
卷积神经网络
了解了最基本的前馈神经网络之后,我们来看一看它是怎么应用到图像处理中的。我们在之前
的计算机视觉基础知识中讲到过,一种最直观的表达图像数据的方法就是把图像看成矩阵数
据。
比如,有一个长32像素、宽32像素并且有3个颜色通道(Channel),或者简称为“32乘
32乘3”的图像,如果我们采用前馈神经网络来对这个图像进行建模,需要学习的系数或者
说权重是多少呢?就是把这3个数乘起来,一共有3072个系数需要学习。如果说这还是一种
可以接受的方案的话,那么一个长宽为200像素,也是3个颜色通道的图片就需要12万个
系数。很显然,直接采用前馈神经网络来表达图想信息需要大量待学习的参数。那么,我们在
这里就需要有一种方法能够更加简洁地表达数据。
卷积神经网络(ConvolutionalNeuralNetworks),简称为CNN,就是来解决这类问题的
一种神经网络架构。其实,CNN最初就是专门为视觉问题而提出的。那么,如何利用CNN
来解决这个问题呢?
首先,卷积神经网络试图用向量来描述一个矩阵的信息。从工具的角度来讲,卷积神经网络利
用两个特殊的架构来对图像数据进行总结,一个叫“卷
您可能关注的文档
- 035-机器学习排序算法:配对法排序学习【萌萌家】.pdf
- 038-“查询关键字理解”三部曲之解析【萌萌家】.pdf
- 043-文档理解第一步:文档分类【萌萌家】.pdf
- 046-大型搜索框架宏观视角:发展、特点及趋势【萌萌家】.pdf
- 048-搜索索引及其相关技术概述【萌萌家】.pdf
- 049-PageRank算法的核心思想是什么?【萌萌家】.pdf
- 051-社区检测算法之“模块最大化”【萌萌家】.pdf
- 055-基于深度学习的搜索算法:深度结构化语义模型【萌萌家】.pdf
- 057-基于深度学习的搜索算法:局部和分布表征下的搜索模型【萌萌家】.pdf
- 058-简单推荐模型之一:基于流行度的推荐模型【萌萌家】.pdf
文档评论(0)