如今越来越多的人愿意和自己的虚拟私人助理交谈,只需要动动嘴就可以让Siri/Alexa/Rokid帮你完成发微信、订车票、设闹钟这样的闲事,还能提醒你吃药、开会,这样一个不需要付工资的贴心小棉袄怎么会不受喜爱呢?虚拟助理正在一步步接近现实中的私人助理,而背后支持它的正是深度学习的技术。除了虚拟助理之外,深度学习技术还将是未来计算机视觉、自动驾驶、语音识别等多个领域的核心技术。而 深度学习实践的四个关键要素:计算能力、算法、数据和应用场景 ,就像四大护法神兽一样保证了深度学习的应用和实践,缺一不可。
深度学习是以不少于两个隐含层的神经网络对输入进行非线性变换或表示学习的技术,通过构建深层神经网络,进行各项分析活动。 深层神经网络由一个输入层,数个隐层,以及一个输出层构成。每层有若干个神经元,神经元之间有连接权重。每个神经元模拟生物的神经细胞,而结点之间的连接模拟神经细胞之间的连接。总结起来是这个样子的:
这种流向图的一个特别属性是深度(depth):从一个输入到一个输出的最长路径的长度。深度学习并非一个新的概念,但在2006年由Hinton等人引领了一波爆发。然而近年来虽然许多人都在谈论深度学习,但这项技术在实际应用时到底有哪些坑?创办一家成熟的依赖深度学习的公司需要哪些要素?以下是我们的看法。
| 计算能力
首先,深度神经网络复杂,训练数据多,计算量大。深度神经网络中神经元多,神经元间连接数量也相当惊人。从数学的角度看,每个神经元都要包含数学计算(如Sigmoid、ReLU或者Softmax函数),需要估计的参数量也极大。语音识别和图像识别应用中,神经元达数万个,参数数千万,模型复杂导致计算量大。所以 计算能力是深度学习应用的基础 。
不仅如此,计算能力还是推动深度学习的利器, 计算能力越强,同样时间内积累的经验就越多、迭代速度也越快 ,百度首席科学家吴恩达博士认为 深度学习的前沿正转移到高性能计算(HPC) ,这也是他目前在百度的工作重心之一,吴博士认为深度学习上的很多成功得益于主动地追求可用的计算能力,2011年Jeff Dean(谷歌第二代人工智能学习系统Tensorflow的设计者之一)创立并领导了谷歌深度学习小组,使用谷歌云扩展深度学习;这使得深度学习得以推向工业界。在2013年,科茨博士等人建立了第一个HPC式的深度学习系统,可扩展性提升了1-2个数量级,使深度学习有了革命性的进步—— 计算能力这种对于深度学习的支撑与推动作用是不可替代的 。
目前这方面技术处于领先地位的还是像百度、谷歌这样的大型互联网公司,当然也有一些像 地平线机器人 这样的初创公司在该领域颇有成就,由百度深度学习研究院负责人余凯博士创立的 地平线机器人 公司设计的深度神经网络芯片相比传统的CPU芯片能够支持深度神经网络中图像、语音、文字、控制等方面的任务而不是去做所有事情,这样比在CPU上用软件要高效, 会提高2-3个数量级 。
| 算法
在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络,我们可以把算法理解为深度学习的神经网络或是计算思维,这种神经网络越复杂,捕捉到的信号就越精确,目前比较常见的算法包括 深度信念网络(Deep Belief Networks)、卷积神经网络(ConvolutionalNeural Networks)、受限玻尔兹曼机(Restricted BoltzmannMachine)和堆栈式自动编码器(Stacked Auto-encoders) ,以深度卷积神经网络为代表的监督学习方法目前来说是最有效也是使用最多的。
但目前问题在于大家把专注度放在了数据与运算,因为 神经网络本身差异不会很大,并且神经网络的核心算法提升起来太困难 ,仍然面临着像局部最优问题、代价函数与整个神经网络系统的设计等问题,但这也给众多创业公司以新的思路,何不反其道而行之,避开那载着千军万马的“独木桥”,如果能将算法优化,前途也是不可限量的。