这篇文章主要讲述一个正在演化的论题,主要解释深度学习的基础,以及深度学习算法如何应用于物联网及智慧城市等。
本文作者Ajit Jaokar是futuretext的创始人。
这篇文章主要讲述一个正在演化的论题。现在,我将主要解释深度学习的基础,以及深度学习算法如何应用于物联网及智慧城市等。尤其是,像我接下来论述的一样,我对于使用物联网数据来完善深度学习算法很感兴趣。我在物联网数据科学课程项目中阐述过这些想法,这个课程的目的是培养物联网数据科学家(与我在牛津大学和马德里理工大学的课程类似)。我还会在上海同济大学城市科学国际会议、旧金山物联网大会(IoTworld event)上针对这些理论进行论述。如果你希望获得最新信息,请在我的 linkedin上联系我。
深度学习
深度学习经常会被认为是模仿大脑的一系列算法。但更加精确的定义应该是「利用神经层进行学习」的算法。深度学习涉及通过让计算机从简单概念之上建立起复杂概念的神经层进行学习。
深度学习逐渐从黑暗中摸索出了光明的道路,谷歌的研究员为他们的试验性深度学习系统输入了数千万张来自于YouTube的随机图像,继而指导系统去识别图像的基本元素,以及如何将这些元素相互整合。这个有着16000个CPU的系统能够识别出有着共同特点的图像(例如猫咪的图像)。谷歌权威性的实验展示了深度学习的无限潜力。深度学习算法可以应用在多种领域,包括计算机视觉、图像识别、模式识别、语音识别以及行为识别等。
计算机如何学习?
为了理解深度学习算法的惊人之处,首先必须了解计算机如何思考和学习。从很早以来,研究员就尝试过创造可以思考的计算机。直至最近,这种努力最近已经成为了「自上而下」方法的规则。这种方法包括了为所有可能的情况写出足够的规则。但是此方法很明显受限于规则的数量,以及其有限的规则依据。
为了克服这些限制,一个由下至上的方法被提出来。这种想法是从经验中学习。「标识数据」提供这些经验。标识数据输入到系统中,系统基于回应进行训练。这种方法对过滤垃圾邮件这样的应用十分有效。然而,大部分数据(图像、视频、语言等)并没有标识,即使有,也并不完善。
另一个问题是解决无限的问题域。例如,国际象棋的问题域非常复杂,但是有限,因为它有着有限的基元(32个棋子)以及有限的可采取步骤(在64个格子上)。但是在真实生活中,无论何时,我们都有着无限多的变量。问题域因此而变得非常大。
像国际象棋这样的问题可以根据一系列形式化规则向电脑进行描述。而反过来,许多真实世界的问题能够被人们容易地理解(直觉)但是却不是那么容易地向计算机表达。像这样需要直觉的例子包括了在图片上识别文字与脸。这样的问题很难向计算机表达,因为问题域是无限的。因此,问题描述承受着维度的诅咒——当维度增加,空间的体积会增加得非常迅速,使可用的数据变得稀疏。计算机无法在稀疏数据中训练。这样的情景很难描述,因为没有足够的数据去合适地表达由维度代表的组合。即使如此,这样「无限的选择」问题在日常生活中也很常见。
深度学习算法如何学习?
深度学习涉及「困难/直觉性」的高维度无规则问题。在此,系统必须在不知道规则的前提下学习去处理未预料的情况。许多现存的系统例如Siri的语音识别与Facebook的脸部识别就在这些宗旨下运作。深度学习系统现在有着完善的可能,因为三个原因:高CPU配置,更好的算法,以及更多的数据。在接下去的许多年,这些因素会带来深度学习算法更多的应用。
深度学习算法基于大脑的运作进行模拟。大脑可能会被视为一种大规模并行模拟计算机,有着 10^10个简单处理器(神经元)——每一个都只需要几毫秒去对输入进行回应。为了从理论上模拟大脑的运行,每个神经元都被设计为一个小型电子设备,有着与生物神经元相似的传输功能。我们继而可以连接这些神经元,模拟大脑的运作方式。从实践上来说,这证明了这个模型并不是那么容易去完善,并且很难训练。
因此我们制作了一些模型的简化版本。这类神经网络叫做「前馈反向传播网络」。简化和限制在于:我们改变了神经元之间的相连方式,这样它们可以位于不同层。每层中的每个神经元都与下一层的每个神经元相连。信号只能在一个方向上传播。最终,我们简化了神经元的设计,使其基于其他神经元传来的简单、权重驱动的输入做出反应。这样简化的网络(前馈神经网络模型)在更容易构建和使用。