zoukankan      html  css  js  c++  java
  • 初步认识深度学习

    直接来个现实的例子。某公司招聘....

      2017年注定是深度学习火热之年,同时,博主我也正值研二学年,广深阅读文献搞科研,致力于大数据和机器学习深度学习领域。同时,分享后续这方面的干货知识,大家一起成长和学习!

      深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构。它是机器学习研究的一个新领域,模仿人脑机制来解释数据。

      目前“大数据”、“推荐系统”、“深度学习”是数字智能领域的热点研究方向,相关的书籍也很火热,比如“大数据”仅这两年就出版了很多本,让一般人看的眼花缭乱。

      个性化推荐系统确实很会“察言观色”,针对不同的用户,主动推送不同的3D打印内容。但如果你认为它真正有了“人工智能”,那你就错了。其实,这些推荐系统背后的运行原理主要基于概率统计、矩阵或图模型,计算机对这些数值运算确实很擅长,但由于采用的只是“经验主义”的实用方法(也即管用就行),而非以“理性主义”的原则真正探求智能产生的原理,所以距离真正的人工智能还很远。AI(Artificial Intelligence),也就是人工智能,就像长生不老和星际漫游一样,是人类最美好的梦想之一。虽然计算机技术已经取得了长足的进步,但是到目前为止,还没有一台计算机能产生“自我”的意识。

      直到深度学习(Deep Learning)的出现,让人们看到了一丝曙光,至少,(表象意义下的)图灵测试已不再是那么遥不可及了。2013年4月,《麻省理工学院技术评论》杂志将深度学习列为2013年十大突破性技术(Breakthrough Technology)之首。有了深度学习,推荐系统可以更加深度地挖掘你内心的需求,并从海量的3D模型库中挑选出最合适的供你打印。

      而深度学习(Deep Learning),恰恰就是通过组合低层特征形成更加抽象的高层特征(或属性类别)。例如,在计算机视觉领域,深度学习算法从原始图像去学习得到一个低层次表达,例如边缘检测器、小波滤波器等,然后在这些低层次表达的基础上,通过线性或者非线性组合,来获得一个高层次的表达。此外,不仅图像存在这个规律,声音也是类似的。比如,研究人员从某个声音库中通过算法自动发现了20种基本的声音结构,其余的声音都可以由这20种基本结构来合成!

      在进一步阐述深度学习之前,我们需要了解什么是机器学习(Machine Learning)。机器学习是人工智能的一个分支,而在很多时候,几乎成为人工智能的代名词。简单来说,机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测。

      而深度学习又是机器学习研究中的一个新的领域,其动机在于建立可以模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如,图像、声音和文本。深度学习是无监督学习的一种

      深度学习之所以被称为“深度”,是因为之前的机器学习方法都是浅层学习。深度学习可以简单理解为传统神经网络(Neural Network)的发展。大约二三十年前,神经网络曾经是机器学习领域特别热门的一个方向,这种基于统计的机器学习方法比起过去基于人工规则的专家系统,在很多方面显示出优越性。深度学习与传统的神经网络之间有相同的地方。二者的相同之处在于,深度学习采用了与神经网络相似的分层结构:系统是一个包括输入层、隐层(可单层、可多层)、输出层的多层网络,只有相邻层节点(单元)之间有连接,而同一层以及跨层节点之间相互无连接。这种分层结构,比较接近人类大脑的结构(但不得不说,实际上相差还是很远的,考虑到人脑是个异常复杂的结构,很多机理我们目前都是未知的)。

      深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近,并展现了强大的从大量无标注样本集中学习数据集本质特征的能力。深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深(通常有5层、6层,甚至10多层的隐层节点,“深”的好处是可以控制隐层节点的数目为输入节点数目的多项式倍而非多达指数倍)、表达能力强,因此有能力表示大规模数据。对于图像、语音这种特征不明显(需要手工设计且很多没有直观的物理含义)的问题,深度模型能够在大规模训练数据上取得更好的效果。尤其是在语音识别方面,深度学习使得错误率下降了大约30%,取得了显著的进步。相比于传统的神经网络,深度神经网络作出了重大的改进,在训练上的难度(如梯度弥散问题)可以通过“逐层预训练”来有效降低。注意,深度学习不是万金油,像很多其他方法一样,它需要结合特定领域的先验知识,需要和其他模型结合才能得到最好的结果。当然,还少不了需要针对自己的项目去仔细地调参数,这也往往令人诟病。此外,类似于神经网络,深度学习的另一局限性是可解释性不强,像个“黑箱子”一样不知为什么能取得好的效果,以及不知如何有针对性地去具体改进,而这有可能成为产品升级过程中的阻碍。

      深度学习通过很多数学和工程技巧增加(堆栈叠加:Stack)隐层的层数,如果隐层足够多(也就是深),选择适当的连接函数和架构,就能获得很强的表达能力。但是,常用的模型训练算法反向传播(Back Propagation)仍然对计算量有很高的要求。而近年来,得益于大数据、计算机速度的提升、基于MapReduce的大规模集群技术的兴起、GPU的应用以及众多优化算法的出现,耗时数月的训练过程可缩短为数天甚至数小时,深度学习才在实践中有了用武之地

      大数据这个时代背景上来。当坐拥海量的大数据,我们无论是做推荐系统还是3D模型检索,以前用简单的线性数学模型,一般也能获得还不错的结果。因此我们沾沾自喜起来,认为还是大数据更重要,而智能算法用简单直接的就OK了,不需要也没必要弄得很复杂。而当深度学习出现后,它的一系列辉煌战绩让我们意识到:也许是时候该“鸟枪换炮”了。简而言之,在大数据情况下,也许只有比较复杂的模型,或者说表达能力强的模型,才能充分发掘海量数据中蕴藏的有价值信息。更重要的是,深度学习可以自动学习特征,而不必像以前那样还要请专家手工构造特征,极大地推进了智能自动化。

      深度学习(即所谓“深度”)应大数据(即所谓“广度”)而生,给大数据提供了一个深度思考的大脑,而3D打印(即所谓“力度”)给了智能数字化一个强健的躯体,三者共同引发了“大数据+深度模型+3D打印”浪潮的来临。

    扩展学习

    人工智能、机器学习和深度学习之间的区别与联系(图文详解)

  • 相关阅读:
    基本架构思想
    tensorflow|tf.train.slice_input_producer|tf.train.Coordinator|tf.train.start_queue_runners
    tfsenflow队列|tf.train.slice_input_producer|tf.train.Coordinator|tf.train.start_queue_runners
    tensorflow队列tf.FIFOQueue | enqueue | enqueue_many | dequeue | dequeue_many
    Tensorflow-gpu1.13.1 和 Tensorflow-gpu2.0.0共存之安装教程
    pandas相关操作
    Numpy的基本运算及操作
    Numpy基础之创建与属性
    Series序列
    os.walk|图片数据集
  • 原文地址:https://www.cnblogs.com/wangsongbai/p/9116156.html
Copyright © 2011-2022 走看看