changdejie的专栏,玻尔兹曼机

深度学习技术具体怎么理解?

changdejie的专栏,玻尔兹曼机


现在深度学习在机器学习领域是一个很热的概念,不过经过各种媒体的转载播报,这个概念也逐渐变得有些神话的感觉:例如,人们可能认为,深度学习是一种能够模拟出人脑的神经结构的机器学习方式,从而能够让计算机具有人一样的智慧;而这样一种技术在将来无疑是前景无限的 。那么深度学习本质上又是一种什么样的技术呢?深度学习是什么深度学习是机器学习领域中对模式(声音、图像等等)进行建模的一种方法,它也是一种基于统计的概率模型 。
在对各种模式进行建模之后,便可以对各种模式进行识别了,例如待建模的模式是声音的话,那么这种识别便可以理解为语音识别 。而类比来理解,如果说将机器学习算法类比为排序算法,那么深度学习算法便是众多排序算法当中的一种(例如冒泡排序),这种算法在某些应用场景中,会具有一定的优势 。深度学习的“深度”体现在哪里论及深度学习中的“深度”一词,人们从感性上可能会认为,深度学习相对于传统的机器学习算法,能够做更多的事情,是一种更为“高深”的算法 。
而事实可能并非我们想象的那样,因为从算法输入输出的角度考虑,深度学习算法与传统的有监督机器学习算法的输入输出都是类似的,无论是最简单的Logistic Regression,还是到后来的SVM、boosting等算法,它们能够做的事情都是类似的 。正如无论使用什么样的排序算法,它们的输入和预期的输出都是类似的,区别在于各种算法在不同环境下的性能不同 。
那么深度学习的“深度”本质上又指的是什么呢?深度学习的学名又叫深层神经网络(Deep Neural Networks ),是从很久以前的人工神经网络(Artificial Neural Networks)模型发展而来 。这种模型一般采用计算机科学中的图模型来直观的表达,而深度学习的“深度”便指的是图模型的层数以及每一层的节点数量,相对于之前的神经网络而言,有了很大程度的提升 。
深度学习也有许多种不同的实现形式,根据解决问题、应用领域甚至论文作者取名创意的不同,它也有不同的名字:例如卷积神经网络(Convolutional Neural Networks)、深度置信网络(Deep Belief Networks)、受限玻尔兹曼机(Restricted Boltzmann Machines)、深度玻尔兹曼机(Deep Boltzmann Machines)、递归自动编码器(Recursive Autoencoders)、深度表达(Deep Representation)等等 。
不过究其本质来讲,都是类似的深度神经网络模型 。既然深度学习这样一种神经网络模型在以前就出现过了,为什么在经历过一次没落之后,到现在又重新进入人们的视线当中了呢?这是因为在十几年前的硬件条件下,对高层次多节点神经网络的建模,时间复杂度(可能以年为单位)几乎是无法接受的 。在很多应用当中,实际用到的是一些深度较浅的网络,虽然这种模型在这些应用当中,取得了非常好的效果(甚至是the state of art),但由于这种时间上的不可接受性,限制了其在实际应用的推广 。
而到了现在,计算机硬件的水平与之前已经不能同日而语,因此神经网络这样一种模型便又进入了人们的视线当中 。“ 2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注 。这个项目是由著名的斯坦福大学机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16000个CPU Core的并行计算平台训练一种称为“深层神经网络”(DNN,Deep Neural Networks) ”从Google Brain这个项目中我们可以看到,神经网络这种模型对于计算量的要求是极其巨大的,为了保证算法实时性,需要使用大量的CPU来进行并行计算 。

推荐阅读