《神经网络与深度学习》邱锡鹏学习笔记(一):绪论

目录

      • 前言
      • 人工智能
      • 神经网络
      • 机器学习
      • 表示学习
      • 深度学习
        • 端到端学习
        • 常用深度学习框架

前言

深度学习是机器学习的一个分支,是一个机器学习问题,是指一类问题以及解决这类问题的方法。与传统机器学习不同的是,深度学习的模型一般比较复杂,样本的输入输出之间数据流要经过多个线性或非线性的组件,这个过程涉及到贡献度分配问题(CAP),即每个组件的贡献。而神经网络是一种可以较好的解决贡献度分配问题的模型,神经网络的参数可以通过机器学习的方式从数据中学习,一般神经网络模型比较复杂,从输入到输出信息传递路径较长,所以这一复杂神经网络的学习过程可以看做一种深度的机器学习,即深度学习。
明确深度学习和神经网络不是等价的,进行深度学习可以使用神经网络模型(由于其能较好的解决贡献度分配问题,因此主要使用神经网络模型),也可以使用其他模型,比如概率图模型。

人工智能

人工智能就是让机器具有人类的智能,具体来说,可以分为机器感知(计算机视觉、语音信息处理),学习(模式识别、机器学习、强化学习),语言(自然语言处理)、记忆(知识表示)、决策(规划、数据挖掘)等。
人工智能的流派包括有符号主义和连接主义,符号主义的两个基本假设是(1)信息可以由符号来表示。(2)符号可以通过显式的规则来操作。人类的认知过程可以看做是符号操作过程。而连接主义认为人类的认知过程是由大量神经元构成的神经网络的信息处理过程,而不是符号运算。
符号主义的一个优点是可解释性,这也是连接主义的一个弊端,深度学习的主要模型神经网络是一种连接主义模型。

神经网络

人工神经网络与生物神经元类似,由多个节点互相连接而成,可以用来对数据的复杂关系进行建模,是一个自适应非线性动态系统。反向传播算法的提出有效的解决了多层神经网络的学习问题,即贡献度分配问题。人工神经网络模型的塑造任何函数的能力大小称为网络容量。

机器学习

机器学习是指从有限的观测数据中学习出具有一般性的规律,并将这些规律应用到未观测样本上的方法。传统的机器学习主要关注于如何学习一个预测模型,首先将数据表示为一组特征,这些特征是人为选择的,然后将特征输入到预测模型,得到最终结果,这个过程不涉及特征学习,是一种浅层学习。
传统机器学习数据处理流程:
在这里插入图片描述
其中,特征转换指的是对特征进行加工,比如升维降维,降维包括特征抽取和特征选择两种途径,常用的特征转换方法有主成分分析(PCA)、线性判别分析(LDA)等。这一流程中特征处理和预测是分开进行的,而且在实际操作中特征处理对于最终预测结果准确性有关键作用,因此,模式识别问题变成了特征工程问题,主要工作量都消耗在了特征处理上。

表示学习

表示学习就是指可以自动的学习出有效的特征,并提高系统性能的算法。要学习到一种好的高层语义表示(一般为分布式表示),通常需要从底层特征开始,经过多步非线性转换才能得到。
在传统机器学习中常使用局部表示分布式表示来表示特征。局部表示通常表示为one-hot向量的形式,以颜色表示为例,假设所有颜色的名字构成一个词表V,词表大小为|V|,用|V|维的向量表示每一种颜色,在第i种颜色对应的one-hot向量中,第i维的值为1,其他为0。分布式表示可以思考为颜色表示中的RGB表示方法,不同的颜色对应RGB三维空间中的一个点,通常表示为低维的稠密向量。
局部表示和分布式表示示例图如下图所示:
《神经网络与深度学习》邱锡鹏学习笔记(一):绪论_第1张图片
可以通过神经网络将高维的局部表示映射到低维的分布表示,这个过程也称为嵌入,如下图展示了一个三维one-hot向量和二维嵌入空间对比。
《神经网络与深度学习》邱锡鹏学习笔记(一):绪论_第2张图片

深度学习

深度学习是将原始的数据特征经过多步的特征转换得到一种特征表示,并进一步输入到预测函数得到最终结果
《神经网络与深度学习》邱锡鹏学习笔记(一):绪论_第3张图片
深度学习主要使用神经网络模型,主要原因是其可以使用反向传播算法较好的解决贡献度分配问题。超过一层的神经网络都会存在贡献度分配问题,都可以看做是深度学习模型。

端到端学习

在一些复杂任务中,传统机器学习方法需要将一个任务的输入输出之间人为的分割成几个子模块,每个子模块分开学习。这种方法单独优化每个模块,其优化目标和任务总体目标不能保持一致,而且前一步的错误会对后续模块产生影响。
端到端学习是指在学习过程中不进行分模块或者分阶段训练,直接优化总体目标。端到端学习的训练数据为输入-输出对的形式,无需提供其它额外的信息,需要解决贡献度分配问题。目前,大部分采用神经网络模型的深度学习也可以看作是一种端到端的学习。

常用深度学习框架

深度学习框架有自动梯度计算、无缝GPU和CPU切换等功能,极大的提升了运算效率,目前主要有Theano、Caffe、TensorFlow、Pytorch、Keras 等。

你可能感兴趣的:(神经网络与深度学习)