深度学习最近成了一个流行热词。有分析认为它将使其他现存机器学习(machine learning,ML)方法黯然失色;还有分析认为其市场将是一座金矿,这项技术有望接管许多从工业到应用中的人类干预活动。在今天的专栏中,我尝试将深度学习的概念简化并在ML生态系统的范畴内对它的未来发表一些看法。
有趣的是,深度学习并不是一个新概念。它只是90年代在全世界兴起而后又冷却下来的人工神经网络(Artificial Neural Network ,ANN)算法的一个延伸。为什么?因为ANN需要庞大的数据量来实现,但实际中这是不可能的。有了深度学习,ANN重获新生。如何实现的呢?深度学习算法训练了多层ANN,与之前相比所需的数据更少。
1.我们为什么需要深度学习?
答案非常简单。学习算法的改进既可使用更多的数据进行预测也可使用更好的算法。对于某些应用深度学习显然比其他机器学习方法能更好的扩展到大数据组。如何将其转化到实际生活场景中?深度学习能更好的处理未标记数据,因为它超越了受限于整体认知的自然语言处理(natural language processing ,NLP)。
2.深度学习与机器学习相比如何?
从最简单的门外汉角度来看,深度学习超越其他传统ML工具,可以更深入地探索神经网络的可能性。那些对ML较为熟悉的人则认为深度学习算法能更好地处理未标出数据并借助于其强大的特征提取(deep architecture framework,深层体系架构),深度学习比其他工具更适用于模式识别(图像、文本、声音)。大部分原因是由于它能减少模型中自由参数的数量。
3.但是否可以说深度学习将会取代其他所有算法工具呢?
也未必。对于很多应用,诸如逻辑回归和支持向量机等采用更简单的算法将会更有效。对于某些监督学习算法,深度学习也许会将传统方法推入绝境,不过可采用变通方法来解决这一问题,比如扩大训练数据组的规模使得其更适合深度学习算法。
4.为什么支持者们对深度学习如此兴奋?
首要原因是其元算法不同于诸如支持逻辑回归向量机的线性或内核模型。这意味着深度学习算法既无法由任何损失函数描述,也不会被具体公式所限制,这能让科学家们更好地进行优化和拓展。事实上,深度学习正在改变特征学习。
5.深度学习算法是我们所拥有的最接近大脑的算法吗?
如果有些分析说深度学习算法是最接近大脑的算法,那他们说的并不完全。如果你听说过Numenta,你就会知道为什么我这么说。Numentan皮层算法基于分层时间记忆(hierarchical temporal memory,HTM),HTM成功实现了用于研究人类长时记忆的稀疏分布记忆(sparse distributed memory)的原始概念。
为什么Numenta更好呢?因为其特征提取工作是在时间(深度学习没有)和计算空间两个维度进行的,即类脑模拟。换句话说,Numenta稀疏分布记忆采用二进制数据表示(典型的是10,000位),在学习数据表示过程中稀疏地表示(这也是名字来源)。算法比较位数,试图找到其中的模式并搜索匹配。相反,深度学习使用浮点矢量(典型的是每个数据有100个元素)并结合如多层网络梯度下降算法来学习数据表示。
鉴于这点,我认为在深度学习和Numenta之间持续的争辩是不合理的。首先,让我们看看各自的辩词。对于初学者而言,有些人没有在Numenta中看到更多的学习;有些人却发现Numenta HTM对于无监管学习很合适,并将这点引为超越深度学习算法的一个重要优势。Numenta同时被视为具有精简时间记忆需求( leaner time-memory requirements)的在线学习方法。Numenta正在受到越来越多的关注。
今年四月份,IBM创建了一个研究小组来测试Numenta。但一个经常被忽略的重要事实是深度学习是一个多层模型。大部分神经网络模型在一个时间点通常只能解决一个问题。对于多个问题的情况,要用到组合或混合模型。而深度学习的多层模型在这方面上就显示出其他算法所没有(连Numenta也没有)的优势。有文献设想通过使用时间联合(temporal pooling)和感觉运动扩展(sensorimotor extensions)来实现基于Numenta的多层建模。
无论结果是什么,对于我们而言这都是个非常有趣的时代。无疑,技术和工具将会持续发展,数年后,我们也许能看到两者的争论将发生逆转。那些旨在寻找数据意义的科技公司、数据收集者、手机应用程序开发人员或传感器所有者会推动更好工具的开发进程。用户也能更好、更快地使用它们并更加将其完善。在这些层面上,深度学习很重要,它一定会存留下来。