神经网络与深度学习(一)



一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的。————阿兰·图灵(Alan Turing) 图灵测试


人工智能

深度学习采用的模型一般比较复杂,指样本的原始输入到输出目标之间的数据流经过多个线性或非线性的组件(components)。因为每个组件都会对信息进行加工,并进而影响后续的组件。当我们最后得到输出结果时,我们并不清楚其中每个组件的贡献是多少。这个问题叫做贡献度分配问题(Credit Assignment Problem,CAP)。在深度学习中,贡献度分配问题是一个很关键的问题,这关系到如何学习每个组件中的参数。贡献度分配问题也经常翻译为信用分配问题或功劳分配问题。

如果我们把神经网络看作是由一组参数控制的复杂函数,并用来处理一些模式识别任务(比如语音识别、人脸识别等)时,神经网络的参数可以通过机器学习的方式来从数据中学习。由于神经网络模型一般比较复杂,从输入到输出的信息传递路径一般比较长,所以复杂神经网络的学习可以看成是一种深度的机器学习,即深度学习

要使得计算机能通过图灵测试,计算机必须具备理解语言、学习、记忆、推理、决策等能力。这样,人工智能就延伸出了很多不同的子学科,比如机器感知(计算机视觉、语音信息处理),学习(模式识别、机器学习、强化学习),语言(自然语言处理)、记忆(知识表示)、决策(规划、数据挖掘)等。所有这些研究领域都可以看成是人工智能的研究范畴。

1956年的达特茅斯(Dartmouth)会议。在这次会议上,“人工智能”被提出并作为本研究领域的名称。同时,人工智能研究的使命也得以确定。John McCarthy提出了人工智能的定义:人工智能就是要让机器的行为看起来就像是人所表现出的智能行为一样。

人工智能发展史

目前,人工智能的主要领域大体上可以分为以下几个方面:

感知即模拟人的感知能力,对外部刺激信息(视觉和语音等)进行感知和加工。主要研究领域包括语音信息处理和计算机视觉等。
学习即模拟人的学习能力,主要研究如何从样例或与环境交互中进行学习。主要研究领域包括监督学习、无监督学习和强化学习等。
认知即模拟人的认知能力,主要研究领域包括知识表示、自然语言理解、推理、规划、决策等。

机器学习

机器学习(Machine Learning,ML)是指从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并利用这些规律对未知数据进行预测的方法。

传统机器学习的数据处理流程

开发一个机器学习系统的主要工作量都消耗在了预处理、特征提取以及特征转换上。

表示学习

为了提高机器学习系统的准确率,我们就需要将输入信息转换为有效的特征,或者更一般性称为表示(Representation)。如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就是可以叫做表示学习(Representation Learning)

语义鸿沟:表示学习的关键是解决语义鸿沟(Semantic Gap)问题。语义鸿沟问题是指输入数据的底层特征和高层语义信息之间的不一致性和差异性。比如给定一些关于“车”的图片,由于图片中每辆车的颜色和形状等属性都不尽相同,不同图片在像素级别上的表示(即底层特征)差异性也会非常大。但是我们人理解这些图片是建立在比较抽象的高层语义概念上的。如果一个预测模型直接建立在底层特征之上,会导致对预测模型的能力要求过高。如果可以有一个好的表示在某种程度上可以反映出数据的高层语义特征,那么我们就可以相对容易地构建后续的机器学习模型。在表示学习中,有两个核心问题:一是“什么是一个好的表示?”;二是“如何学习到好的表示?”

好的表示:具有很强的表示能力,即同样大小的向量可以表示更多信息;使后续的学习任务变得简单,即需要包含更高层的语义信息;具有一般性,是任务或领域独立的。期望其学到的表示可以比较容易地迁移到其它任务上。

局部表示通常可以表示为one-hot向量的形式:不同名字来命名不同的颜色;分布式表示通常可以表示为低维的稠密向量:用RGB值来表示颜色,不同颜色对应到R、G、B 三维空间中一个点。

我们可以使用神经网络来将高维的局部表示空间$\mathbb{R}^{|\mathcal{V}|}$映射到一个非常低维的分布式表示空间$\mathbb{R}^{|\mathcal{d}|},d≪|V|$。在这个低维空间中,每个特征不再是坐标轴上的点,而是分散在整个低维空间中。在机器学习中,这个过程也称为嵌入(Embedding)。嵌入通常指将一个度量空间中的一些对象映射到另一个低维的度量空间中,并尽可能保持不同对象之间的拓扑关系。比如自然语言中词的分布式表示,也经常叫做词嵌入。

深度学习

为了学习一种好的表示,需要构建具有一定“深度”的模型,并通过学习算法来让模型自动学习出好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测模型的准确率。所谓“深度”是指原始数据进行非线性特征转换的次数。如果把一个表示学习系统看作是一个有向图结构,深度也可以看作是从输入节点到输出节点所经过的最长路径的长度。这样我们就需要一种学习方法可以从数据中学习一个“深度模型”,这就 是深度学习(Deep Learning,DL)。深度学习是机器学习的一个子问题,其主要目的是从数据中自动学习到有效的特征表示。

深度学习的数据处理流程

目前,深度学习采用的模型主要是神经网络模型,其主要原因是神经网络模型可以使用误差反向传播算法,从而可以比较好地解决贡献度分配问题。只要是超过一层神经网络都会存在贡献度分配问题,因此超过一层的神经网络都可以看作是深度学习模型。

端到端学习(End-to-End Learning),也称端到端训练,是指在学习过程中不进行分模块或分阶段进行训练,直接优化任务的总体目标。在端到端学习中,一般不需要明确地给出不同模块或阶段的功能,中间过程不需要人为干预。端到端学习的训练数据为“输入-输出”对的形式,无需提供其它额外信息。因此,端到端学习和深度学习一样,都是要解决贡献度分配问题。目前,大部分采用神经网络模型的深度学习也可以看作是一种端到端的学习。

深度学习是将表示学习和预测模型的学习进行端到端的学习,中间不需要人工干预。深度学习所要解决的问题是贡献度分配问题,而神经网络恰好是解决这个问题的有效模型。套用马克思的一句名言“金银天然不是货币,但货币天然是金银”,我们可以说,神经网络天然不是深度学习,但深度学习天然是神经网络。

国家自然科学基金体系中,人工智能是信息科学部(F)下的第6个一级分类(F06)。信息科学部中,人工智能之外,还有6个研究方向,分别是:F01 电子学与信息系统,F02 计算机科学,F03 自动化,F04 半导体科学与信息器件,F05 光学和光电子,F07 交叉学科中的信息科学。人工智能下分10个二级分类代码,分别为:

img


文章作者: nusqx
文章链接: https://nusqx.top
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 nusqx !
评论
  目录