【深度学习】P1 引言(待完成)
目录
- 人工智能
- 深度学习
人工智能
当人类第一次构思可编程计算机时,就已经在思考计算机能否变得智能。如今,人工智能已经成为一个具有众多实际应用和活跃研究课题的领域,并且正在蓬勃发展。
在人工智能早期,那些对人类智力来说非常困难、但对计算机来说相对简单的问题得以迅速解决。而对于计算机真正的挑战一直没有变 —— 那些对人来说很容易执行、但却抽象、很难形式化描述的任务。这种任务,我们人类往往能够凭借直觉轻易解决。
深度学习
针对这些问题,计算机领域的先驱们给出的解决方案:让计算机从经验中学习,并根据层次化的概念体系来理解世界,每个概念则通过与某些相对简单的概念之间的关系来定义。层次化的概念,让计算机得以从简单的关系中通过构造“深”层次的结构来解决复杂问题、“理解”复杂概念,这张建立在彼此之上的结构,我们形象的称之为:深度学习(Deep Learning)。
机器学习
而机器学习(Machine Learning),则是让AI通过从原始数据中提取模式。通过提取特征、修改参数、构建模型,从而实现将表示映射到输出。
表示学习
然而,针对一些复杂、形式化的问题,我们也很难知道应该提取哪些特征。解决这个问题的途径之一就是使用机器学习来发掘表示本身,而不仅仅把表示映射到输出,这种方法我们称为:表示学习(representation learning)。
# 自编码器
表示学习典型例子是:自编码器(autoencoder)。自编码器是由一个编码器(encoder)函数和一个解码器(decoder)函数组合而成。编码器函数将输入数据转换为一种不同的表示,而解码器函数则将这个新的表示转换回原来的形式。我们期望当输入数据经过编码器和解码器之后尽可能多地保留信息,同时希望新的表示有各种好的特性,这就是自编码器的训练目标。
# 变差因素
那么,当设计用于学习特征的算法时,我们的目标通常是分离出能解释观察数据的变差因素(factors of variation)。什么是变差因素呢?这个概念比较抽象 —— 变差因素中的这些“因素”,通常是显示世界中观察不到的物体或者不可观测的力,但会真切影响到可观测的量。这些因素在人类中会以“概念”的形式,去尝试解释和推断并存储在人类的思维中。比如在分析语音时,变差因素可能包含说话者的年龄、性别、口音等等,而不仅局限于语音的词语内容。
# 深度学习
在现实的人工智能应用中,困难主要来源于多个变差因素同时影响着我们能够观察到的每一个数据,我们需要从数据中理清、抽取出高层次、抽象的特征。这就回到了我们的主题 —— 需要通过深度的网络构建深度学习。
深度学习
深度学习,就是让计算机通过较简单的概念来构建复杂的概念、通过较为简单的表示来表达复杂表示,从而解决表示学习中的核心问题。一个深度学习的典型例子 —— 多层感知机(multilayer perception MLP),通过将许多简单的函数复合而成网络,通过顺序执行,不断参考早期指令的结果,并依据内容提供新的表示。但事实上,并非所有信息都蕴含着解释输入的变差因素,这些表示还存储着如状态信息等用于辅助程序理解输入的内容。详细关于多层感知机的内容请见后续博文。
度量深度
那么深度学习中网络的“深度”,该如何度量?
目前主要有两种度量模型深度的方式:
- 一种方式是基于评估架构所需执行的顺序指令的数目。通过将模型表示为给定输入,确定用来作为一个步骤的函数,计算得到对应输出的流程图,该图的最长路径视为模型深度。
- 另一种是在深度概率模型中使用的方法,其并非将计算图的深度作为模型深度,而是将描述概念彼此如何关联的图视为模型的深度。因而深度概率模型计算的深度一定小于图的深度,因为每个概念表示的、经过精细化后的计算流程图一定比概念本身的图更深。
这两种度量深度的方式(一种通过实际图深度,一种通过概念深度)并非存在哪一种更有意义的情况。对于架构的深度,也不存在一个单一的确定值。此外,也不存在模型多么深才能被修饰为“深”的共识。但毋庸置疑的是,深度学习研究的模型涉及更多学到功能或学到概念的组合。
而深度学习,作为一种特殊的机器学习方法,通过将大千世界表示为嵌套的层次概念体系,将复杂概用简单概念的联系来定义,从一般抽象概括到高级抽象表示。