EDN China > 行业资讯 > 工业电子 > 机器视觉 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

这样的深度学习算法你真的懂吗?对物联网又有何启示?

机器之心?? 2016年01月12日 ?? 收藏4
这文主要讲述一个正在演化的论题。现在,我将主要解释深度学习的基础,以及深度学习算法如何应用于物联网及智慧城市等。尤其是,像我接下来论述的一样,我对于使用物联网数据来完善深度学习算法很感兴趣。我在物联网数据科学课程项目中阐述过这些想法,这个课程的目的是培养物联网数据科学家(与我在牛津大学和马德里理工大学的课程类似)。我还会在上海同济大学城市科学国际会议、旧金山物联网大会(IoTworld event)上针对这些理论进行论述。

深度学习

深度学习经常会被认为是模仿大脑的一系列算法。但更加精确的定义应该是“利用神经层进行学习”的算法。深度学习涉及通过让计算机从简单概念之上建立起复杂概念的神经层进行学习。

深度学习逐渐从黑暗中摸索出了光明的道路,谷歌的研究员为他们的试验性深度学习系统输入了数千万张来自于YouTube的随机图像,继而指导系统去识别图像的基本元素,以及如何将这些元素相互整合。这个有着16000个CPU的系统能够识别出有着共同特点的图像(例如猫咪的图像)。谷歌权威性的实验展示了深度学习的无限潜力。深度学习算法可以应用在多种领域,包括计算机视觉、图像识别、模式识别、语音识别以及行为识别等。

计算机如何学习?

为了理解深度学习算法的惊人之处,首先必须了解计算机如何思考和学习。从很早以来,研究员就尝试过创造可以思考的计算机。直至最近,这种努力最近已经成为了“自上而下”方法的规则。这种方法包括了为所有可能的情况写出足够的规则。但是此方法很明显受限于规则的数量,以及其有限的规则依据。

为了克服这些限制,一个由下至上的方法被提出来。这种想法是从经验中学习。“标识数据”提供这些经验。标识数据输入到系统中,系统基于回应进行训练。这种方法对过滤垃圾邮件这样的应用十分有效。然而,大部分数据(图像、视频、语言等)并没有标识,即使有,也并不完善。

另一个问题是解决无限的问题域。例如,国际象棋的问题域非常复杂,但是有限,因为它有着有限的基元(32个棋子)以及有限的可采取步骤(在64个格子上)。但是在真实生活中,无论何时,我们都有着无限多的变量。问题域因此而变得非常大。

像国际象棋这样的问题可以根据一系列形式化规则向电脑进行描述。而反过来,许多真实世界的问题能够被人们容易地理解(直觉)但是却不是那么容易地向计算机表达。像这样需要直觉的例子包括了在图片上识别文字与脸。这样的问题很难向计算机表达,因为问题域是无限的。因此,问题描述承受着维度的诅咒——当维度增加,空间的体积会增加得非常迅速,使可用的数据变得稀疏。计算机无法在稀疏数据中训练。这样的情景很难描述,因为没有足够的数据去合适地表达由维度代表的组合。即使如此,这样“无限的选择”问题在日常生活中也很常见。

深度学习算法如何学习?

深度学习涉及“困难/直觉性”的高维度无规则问题。在此,系统必须在不知道规则的前提下学习去处理未预料的情况。许多现存的系统例如Siri的语音识别与Facebook的脸部识别就在这些宗旨下运作。深度学习系统现在有着完善的可能,因为三个原因:高CPU配置,更好的算法,以及更多的数据。在接下去的许多年,这些因素会带来深度学习算法更多的应用。

深度学习算法基于大脑的运作进行模拟。大脑可能会被视为一种大规模并行模拟计算机,有着 10^10个简单处理器(神经元)——每一个都只需要几毫秒去对输入进行回应。为了从理论上模拟大脑的运行,每个神经元都被设计为一个小型电子设备,有着与生物神经元相似的传输功能。我们继而可以连接这些神经元,模拟大脑的运作方式。从实践上来说,这证明了这个模型并不是那么容易去完善,并且很难训练。

因此我们制作了一些模型的简化版本。这类神经网络叫做“前馈反向传播网络”。简化和限制在于:我们改变了神经元之间的相连方式,这样它们可以位于不同层。每层中的每个神经元都与下一层的每个神经元相连。信号只能在一个方向上传播。最终,我们简化了神经元的设计,使其基于其他神经元传来的简单、权重驱动的输入做出反应。这样简化的网络(前馈神经网络模型)在更容易构建和使用。

前馈反向传播网络

这样:

每个神经元都收到上一层神经元传来的信号

每个信号都乘上了一个权重

加权后的输入值加总起来,通过一个限制的功能,将输出值的范围缩小为一个固定范围。

通过限制器后的输出值继而向下一层的所有神经元传播

误差反向传播

人工神经网络最常见的学习算法叫做反向传播(Back Propagation,简称BP),即“误差反向传播”。为了利用神经网络,我们给第一层施加输入值,让信号通过网络传播,读取输出。一个BP网络通过例子学习,也就是说,我们必须提供一套学习模式,由一些输入值和已知的正确输出值组成。这样,我们将这些输入-输出的例子展示给网络,告诉它哪些行为是我们期望得到的。BP算法通过网络反向传播误差值,调整权重值,并以此让网络适应。这些神经元的每个链接都有着独一无二的权重值。网络的“智能”就隐藏于权重的值中。随着每个误差迭代返回,权重以此得到调整。每个案例中整个过程都在重复。因此,为了检测目标函数,程序员将会通过迅速发送许多包含目标的数字化数据版本(例如图片)来训练网络。如果网络没有准确识别一个具体的模式,权重就会被调整。训练的最终目的是去让网络能始终如一地识别我们能够识别的模式(例如猫咪)。

【分页导航】


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈