阿里云开发者社区,稀疏编码( 四 )


注意,深度学习不是万金油,像很多其他方法一样,它需要结合特定领域的先验知识,需要和其他模型结合才能得到最好的结果 。当然,还少不了需要针对自己的项目去仔细地调参数,这也往往令人诟病 。此外,类似于神经网络,深度学习的另一局限性是可解释性不强,像个“黑箱子”一样不知为什么能取得好的效果,以及不知如何有针对性地去具体改进,而这有可能成为产品升级过程中的阻碍 。
【阿里云开发者社区,稀疏编码】深度学习通过很多数学和工程技巧增加(堆栈叠加:Stack)隐层的层数,如果隐层足够多(也就是深),选择适当的连接函数和架构,就能获得很强的表达能力 。深度学习的一个主要优势在于可以利用海量训练数据(即大数据),但是常用的模型训练算法反向传播(Back Propagation)仍然对计算量有很高的要求 。而近年来,得益于计算机速度的提升、基于MapReduce的大规模集群技术的兴起、GPU的应用以及众多优化算法的出现,耗时数月的训练过程可缩短为数天甚至数小时,深度学习才在实践中有了用武之地 。
值得一提的是,深度学习的诞生并非一帆风顺 。虽然Yahn Lecun在1993年提出的卷积神经网络(Convolutional Neural Network:CNN)是第一个真正成功训练多层网络结构的学习算法,但应用效果一直欠佳?直到2006年,Geoffrey Hinton基于深度置信网(Deep Belief Net:DBN)——其由一系列受限波尔兹曼机(Restricted Boltzmann Machine:RBM)组成,提出非监督贪心逐层训练(Layerwise Pre-Training)算法,应用效果才取得突破性进展,其与之后Ruslan Salakhutdinov提出的深度波尔兹曼机(Deep Boltzmann Machine:DBM)重新点燃了人工智能领域对于神经网络(Neural Network)和波尔兹曼机(Boltzmann Machine)的热情,才由此掀起了深度学习的浪潮?从目前的最新研究进展来看,只要数据足够大、隐层足够深,即便不加“Pre-Training”预处理,深度学习也可以取得很好的结果,反映了大数据和深度学习相辅相成的内在联系 。
此外,虽说非监督(如DBM方法)是深度学习的一个优势,深度学习当然也可用于带监督的情况(也即给予了用户手动标注的机会),实际上带监督的CNN方法目前就应用得越来越多,乃至正在超越DBM 。提示:与前向神经网络不同,RBM(受限波尔兹曼机)中的可见层和隐含层之间的连接是无方向性且全连接的 。对比差异无监督训练是RBM的一个重要算法,包含了正向过程、反向过程和权值更新三个步骤,主要目标是使生成的数据与原数据尽可能相似,并通过对比两者的差异来调整权值更新:其中,α是学习速率 。
这样的网络可具备感知对输入数据表达程度的能力,而且尝试通过这个感知能力重建数据 。如果重建出来的数据与原数据差异很大,那么进行调整并再次重建 。2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注 。这个项目是由著名的斯坦福大学的机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16,000个CPU Core的并行计算平台去训练含有10亿个节点的深度神经网络(DNN,Deep Neural Networks),使其能够自我训练,对2万个不同物体的1,400万张图片进行辨识 。
在开始分析数据前,并不需要向系统手工输入任何诸如“脸、肢体、猫的长相是什么样子”这类特征 。Jeff Dean说:“我们在训练的时候从来不会告诉机器:‘这是一只猫’(即无标注样本) 。系统其实是自己发明或领悟了‘猫’的概念 。”2014年3月,同样也是基于深度学习方法,Facebook的 DeepFace 项目使得人脸识别技术的识别率已经达到了 97.25%,只比人类识别 97.5% 的正确率略低那么一点点,准确率几乎可媲美人类 。

推荐阅读