深度学习之概述(Overview)

  2016年被称为人工智能的元年,2017年是人能智能应用的元年;深度学习技术和应用取得飞速发展;深度学习在互联网教育场景也得到广泛应用。本文主要介绍机器学习及深度学习之定义及基本概念、相关网络结构等。

  本文主要内容包括机器学习的定义及组成分类、深度学习的定义、深度学习和机器学习的区别、神经网络基本概念及基本结构、深度学习的相关核心概念(基本假设、数据集、表示、泛化、容量、优化、超参数、误差、欠拟合、过拟合、正则化)、两种典型深度网络结构(CNN、RNN)基本介绍。

引言

  人工智能究竟能够做什么?对我们有什么影响?我们从下面两张图说起:图1是工业革命时期的《纱厂女孩 Cotton Mill Girl》,说明了工业革命导致机器替代人的体力劳动,把大量人从繁重的体力劳动中解放出来,更多人从事思考的、创新的、科学工作,生产力大大提高;图2说明了在人工智能时代,通过算法和计算力代替人类思考,把人类从重复性的脑力劳动解放出来,再次解放生产力,使生产力得到提高和飞跃。

图1

图2

关于机器学习

机器学习是机器通过统计学算法,对大量的历史数据进行学习规律从而生成经验模型,利用经验模型对新的样本做出智能识别或对未来做出预测,从而指导业务。机器学习严格定义为:不显式编程地赋予计算机能力的研究领域。机器学习的组成是有数据、算法、模型构成的,数据+算法生成模型,通过进行预测和模式识别,进而提供智能化的服务和产品;参考图3:机器学习和烹饪的形象对比,更好理解机器学习。

图3

机器学习算法分类方式包括学习方式、算法的类似性两种分类方式。

学习方式

通过学习方式将机器学习算法进行分类,主要包括:监督式学习、非监督式学习、半监督式学习、强化学习。

1. 监督式学习

在监督式学习方式下,输入数据被称为训练数据,每组训练数据有一个明确的表示或结果(Label);在建立预测模型的时候,监督学习建立一个学习过程,将预测结果与训练数据的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。常见应用场景如分类问题和回归问题。参见算法如逻辑回归(Logistic Regression)、反向传播神经网络(Back Propagation Neural Network)。

2. 非监督式学习

在非监督式学习中,数据并不被标识,学习模型为为了推断出数据的一些内在结构。常见应用场景有关联规则的学习以及聚类等。常见算法有Apriori算法、K-Means算法。

3. 半监督式学习

在半监督式学习方式下,输入数据部分被标识,部分没有被标识,模型首先需要学习数据的内在结构以便合理的组织数据来进行预测;算法包括一些对常用监督学习算法的延伸,算法首先试图对为标记数据进行建模,在此基础上对标记数据进行预测。算法例如图论推理算法(Graph Inference)、拉普拉斯支持向量机(Laplacian SVM)等。

4. 强化学习

在强化学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)

算法类似性

根据算法的功能和形式的类似性对算法进行分类,例如:基于树的算法、基于神经网络的算法等。

1. 回归算法

回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。常见算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)等。

2. 基于实例的算法

基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM)

3. 正则化方法

正则化方法通常回归算法的延伸,根据算法的复杂度对算法进行调整,通常解决过拟合问题,通过正则化项对简单模型予以奖励而对复杂算法予以惩罚。算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net)。

4. 决策树学习

决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine,GBM)。

5. 基于核的方法

基于核的算法中最著名的是支持向量机(SVM)。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:支持向量机(Support Vector Machine,SVM),径向基函数(Radial Basis Function,RBF), 以及线性判别分析(Linear Discriminate Analysis,LDA)等

6. 聚类算法

聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所有的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization,EM)。

7. 关联规则学习

关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 Apriori算法和Eclat算法等。

8. 降低维度算法

降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS),  投影追踪(Projection Pursuit)等。

9. 集成方法

集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting,Bootstrapped Aggregation(Bagging),AdaBoost,堆叠泛化(Stacked Generalization,Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。

机器学习分类及实践路线图参考图4。

图4

关于深度学习

深度学习是一种特定类型的机器学习,具有强大的能力和灵活性,它将大千世界表示为嵌套的层次概念体系(由较简单概念间的联系定义复杂概念、从一般抽象概括到高级抽象表示)。 深度学习层次概念体系如图5.

图5

深度学习模型的示意图(图6)。计算机难以理解原始感观输入数据的含义,如表示为像素值集合的图像。将一组像素映射到对象标识的函数非常复杂。如果直接处理,学习或评估此映射似乎是不可能的。深度学习将所需的复杂映射分解为一系列嵌套的简单映射(每个由模型的不同层描述)来解决这一难题。输入展示在 可见层(visible layer),这样命名的原因是因为它包含我们能观察到的变量。然后是一系列从图像中提取越来越多抽象特征的 隐藏层(hidden layer)。因为它们的值不在数据中给出,所以将这些层称为 ‘‘隐藏”; 模型必须确定哪些概念有利于解释观察数据中的关系。这里的图像是每个隐藏单元表示的特征的可视化。给定像素,第一层可以轻易地通过比较相邻像素的亮度来识别边缘。有了第一隐藏层描述的边缘,第二隐藏层可以容易地搜索可识别为角和扩展轮廓的边集合。给定第二隐藏层中关于角和轮廓的图像描述,第三隐藏层可以找到轮廓和角的特定集合来检测特定对象的整个部分。最后,根据图像描述中包含的对象部分,可以识别图像中存在的对象。

图6

深度学习与机器学习的区别

深度学习与机器学习的主要区别体现以下两个方面:

  • 数据规模上:深度学习需要大规模的数据,数据规模越大对深度学习的效果越好。经验法则是,监督深度学习算法在每类给定约 5000 个标注样本情况下使用机器学习算法一般将达到可以接受的性能,当至少有 1000 万个标注样本的数据集用于训练深度学习模型时,它将达到或超过人类表现。
  • 特征处理方式:深度学习有一个振奋的优点,它可以自动的从数据中提取特征。深度学习通过其他较简单的表示来表达复杂表示。

图7:韦恩图展示了深度学习是一种表示学习,也是一种机器学习。

图7

图8流程图展示了AI系统不同部分如何在不同的AI学科中彼此相关,阴影框表示能从数据中学习的组件。

图8

神经网络基本概念及结构

深度学习这个概念是架构在神经网络上的。而一个简单的神经网络如图9所示。其中每个圆圈表示神经元,每个神经元存储一个数,这些神经元通过权重和激活函数通过一定的连接结构和下一层的神经元连接在一起。在这些神经元中,接受外界输入的神经元被统称为输入层(input layer),中间和外界没有联系的神经元被称作隐含层(hidden layer),向外界输出的神经元被称作输出层(output layer)。在神经网络中,神经元之间连接的权重作为训练参数,通过反向传播算法(Backpropagation)进行训练。

图9

深度学习的相关核心概念

1. 泛化

在先前未观测到的输入上表现良好的能力被称为泛化(generalization)。机器学习的主要挑战就是算法模型的泛化能力,我们的算法必须能够在先前未观测的新输入上表现良好,而不只是在训练集上表现良好。深度学习部分发展动机就是解决人工智能问题的泛化能力。

2. 基本假设

  • 平滑先验(smoothnexx prior)、局部不变性先验(local constancy prior)是使用最广泛的先验假设,这个先验表明学习的函数不应在小区域内发生很大的变化。
  • 流形(manifold)指连接在一起的区域。数学上,它是指一组点,且每个点都有其邻域。给定一个任意的点,其流形局部看起来像是欧几里得空间。流形学习的目的是将其映射回低维空间中,揭示其本质;流形学习基本思想:假设数据在高维具有某种结构特征,希望降到低维后,仍能保持该结构。

3. 表示

表示的概念是深度学习核心主题之一;传统的机器学习算法的性能很大程度上依赖于给定数据的表示,表示的选择对机器学习算法的性能有巨大的影响;有很多算法的任务是找到数据的最佳表示,最佳表示是指该表示在比本身表示的信息更简单或更易访问而受到一些惩罚或限制的情况下,尽可能地保存关系数据x更多的信息。常见的三种表示包括低维表示、稀疏表示和独立表示。图10展示了一个简单数据不同表示的例子,左边是极坐标的表示,右边是笛卡尔坐标的表示。

图10

4. 误差、过拟合、欠拟合、容量

  • 误差:误差包括训练误差(training error)和泛化误差(generalization error)(也称为测试误差,test error);机器学习的核心目标是降低泛化误差。
  • 过拟合:过拟合是指训练误差和和测试误差之间的差距太大。
  • 欠拟合:欠拟合是指模型不能在训练集上获得足够低的误差。
  • 容量:模型的容量是指其拟合各种函数的能力。

容量和误差之间的典型关系:图11。 训练误差和测试误差表现得非常不同。在图的左端, 训练误差和泛化误差都非常高。这是 欠拟合机制(underfitting regime)。当我们增加容量时, 训练误差减小,但是训练误差和泛化误差之间的间距却不断扩大。最终,这个间距的大小超过了训练误差的下降,我们进入到了 过拟合机制(overfitting regime),其中容量过大,超过了 最佳容量(optimal capacity)

图11

5. 优化、正则化、超参数

在机器学习的实践中,一个很重要的问题是优化的问题。所谓优化就是寻找一组机器学习模型的参数,使得在该参数条件下,整个模型的损失函数(loss function)的值最小,即在该参数条件下模型和训练样本拟合得最好。相比于传统的机器学习而言,深度学习的优化过程有一个特点就是深度学习的损失函数是非凸(non-convex)的,也就是损失函数有许多局部极小值点,而非仅仅有一个局部极小值点。这样就增加了深度学习模型寻找最优参数的难度。在深度学习过程中,一般使用的是小批量梯度下降法(mini-batch gradient descent),设置一个合适的下降速率(即学习率,learning rate),进行优化。值得注意的一点是,在优化过程中,损失函数的值并非一定是下降的,而是在波动中逐渐下降,如图12所示。

图12

前面已经提到,虽然在整个训练过程中训练集的损失函数在不断地下降,但是测试集的损失函数有一个先下降然后升高的过程(如图11所示)。为了防止过拟合,我们需要人为的对参数进行一定的限制,这个限制就叫做正则化(Regularization)。正常用的正则化的方法主要包含L1正则化,L2正则化和Dropout正则化方法。通过调节这些正则化方法的权重,可以调节模型过拟合的程度。在深度学习的训练过程中,为了能够使模型更好的拟合训练样本,需要手动调节深度学习网络的一些参数。这些参数被称作超参数 (Hyperparameter)。这些参数包含了前面所提到的学习率,正则化的权重等等。由于可调节的超参数很多,可以先随机选定一些参数的值,从中取出最好的,然后再对参数进行微调。

6. 卷积神经网络(Convolutional Neural Network, CNN)

卷积神经网络是今年来比较热门的神经网络结构之一,主要应用于图像识别之类的输入数据有一定空间关联性的深度学习场景。在卷积神经网络中,比较重要的两种连接层是卷积层(Convolution Layer)和池化层(Pooling Layer)。下面来简单介绍一下这两种层的结构。

图13

图13简要的描述了卷积层是如何工作的,其中I是原始的输入图像,K是卷积层中的过滤器(filter)。过滤器是按照空间顺序排列的一系列的参数的集合。在图中这个过滤器是一个3x3的矩形。其中矩形区域填充了9个参数。通过过滤器在原始图像中不断滑动(红色区域,这个区域从图像的左上角一直滑动到右下角),覆盖的红色区域和过滤器的参数按照顺序两两相乘,最后求和得到一个数(I*K)中的绿色区域。这样就进行了一次卷积的运算。通过使用多个不同的过滤器可以从一个原始的图像出发生成包含有原始图像不同特征的新图像。

图14

图14描述了池化层是如何工作的。池化层通过把图像分割成很多小区域,然后取小区域的特征来把一个图像缩减成比较小的图像。图中描述了最大池化(Max-Pool)的一个过程,也就是特征的提取是基于小区域的最大值。可以看到这个池化层把原来的4x4图缩减成了2x2的图,减少了特征的维数。池化层的作用主要是简化模型和提取特征。

7. 循环神经网络(Recurrent Neural Network, RNN)

相比于卷积神经网络,循环神经网络主要用于做文字和语音识别之类的深度学习场景。循环神经网络由单元(Cell)按照时间顺序连接在一起,其中单元与单元之间共享参数,通过传递隐含状态(hidden state)相互连接,并且每个单元有输入和输出,如图15所示。其中当前单元隐含状态ht和上一个单元的的隐含状态ht-1以及当前输入值xt关联在一起,并且决定了当前单元的输出yt。

图15

在实际的训练和预测过程中,循环神经网络常常被展开成固定长度单元的连接构成的计算图。在这个计算图中所有的单元共享单元的参数,如图16所示。

图16

Deep Learning的心得:

随机器学习框架如TensorFlow、Caffe等的发展,机器学习及深度学习模型构建及应用成本大大降低,将算法工程师焦点逐步从算法逻辑本身转移业务模型构建及应用,开发效率极大提高;图17形象说明大众对深度学习的理解及深度学习模型构建过程比较像在玩积木一样,尝试各种堆叠的方法。

机器学习(深度学习)系统及应用是复杂的,所需要的周边基础设施是庞大而复杂(参见图18)。

图17

图18:Only a small fraction of real-world ML systems is composed of the ML code, as shown by the small black box in the middle. The required surrounding infrastructure is vast and complex.

关于HILL

智能学习实验室(HILL, Hujiang Intelligent Learning Lab)

沪江智能学习实验室(HILL)成立于 2017 年,旨在融合教育学、心理学和计算机科学等领域的相关理论和技术,探索人工智能在教育领域的应用场景,推进沪江教育产品的智能化能力。未来也希望将这些能力提供给合作伙伴和整个教育行业。HILL的愿景:Activate Intelligence,Innovate Learning。

转载:https://juejin.im/entry/59ddf2006fb9a04509087bcf

原文地址:https://www.cnblogs.com/huang-y-x/p/10281625.html

时间: 2024-10-10 08:09:57

深度学习之概述(Overview)的相关文章

浅谈深度学习中潜藏的稀疏表达

浅谈深度学习中潜藏的稀疏表达 “王杨卢骆当时体,轻薄为文哂未休. 尔曹身与名俱灭,不废江河万古流.” — 唐 杜甫<戏为六绝句>(其二) [不要为我为啥放这首在开头,千人千面千理解吧] 深度学习:概述和一孔之见 深度学习(DL),或说深度神经网络(DNN), 作为传统机器学习中神经网络(NN).感知机(perceptron)模型的扩展延伸,正掀起铺天盖地的热潮.DNN火箭般的研究速度,在短短数年内带来了能“读懂”照片内容的图像识别系统,能和人对话到毫无PS痕迹的语音助手,能击败围棋世界冠军.引

一天搞懂深度学习--李宏毅教程分享

原标题:[286页干货]一天搞懂深度学习(台湾资料科学年会课程) 本文是2016 台湾资料科学年会前导课程"一天搞懂深度学习"的全部讲义PPT(共268页),由台湾大学电机工程学助理教授李宏毅主讲.作者在文中分四个部分对神经网络的原理.目前存在形态以及未来的发展进行了介绍.深度学习的每一个核心概念在文中都有相关案例进行呈现,通俗易懂.一天的时间搞懂深度学习?其实并不是没有可能. 深度学习 ( Deep Learning ) 是机器学习 ( Machine Learning ) 中近年来

深度学习阅读清单

图书 深度学习,Yoshua Bengio,Ian Goodfellow,Aaron Courville,MIT Press,准备中. 评论文章 代表性学习:评论与新视角,Yoshua Bengio,Aaron Courville,Pascal Vincent,Arxiv,2012. 专题或评论文章  学习人工智能的深层架构  (基础和机器学习趋势,2009). 深度机器学习 - 人工智能研究的新前沿 -  Itamar Arel,Derek C. Rose和Thomas P. Karnowsk

【深度学习系列4】深度学习及并行化实现概述

[深度学习系列4]深度学习及并行化实现概述 摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别.图像识别和检索.自然语言理解等.深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具备强大的特征表达能力和对复杂任务建模能力.训练深层模型是长期以来的难题,近年来以层次化.逐层初始化为代表的一系列方法的提出给训练深层模型带来了希望,并在多个应用领域获得了成功.深层模型的并行化框架和训练加速方法是深度学习走向实用的重要基石,已有多个针对不同深度模型的开源实现,Google.Fac

基于深度学习的图像语义分割技术概述之背景与深度网络架构

图像语义分割正在逐渐成为计算机视觉及机器学习研究人员的研究热点.大量应用需要精确.高效的分割机制,如:自动驾驶.室内导航.及虚拟/增强现实系统.这种需求与机器视觉方面的深度学习领域的目标一致,包括语义分割或场景理解.本文对多种应用领域语义分割的深度学习方法进行概述.首先,我们给出本领域的术语及主要背景知识.其次,介绍主要的数据集及难点,以帮助研究人员找到合适的数据集和研究目标.之后,概述现有方法,及其贡献.最后,给出提及方法的量化标准及其基于的数据集,接着是对于结果的讨论.最终,对于基于深度学习

[译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)

译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我们训练单一模型或多个模型集合来完成指定得任务.然后,我们通过精细调参,来改进模型直至性能不再提升.尽管这样做可以针对一个任务得到一个可接受得性能,但是我们可能忽略了一些信息,这些信息有助于在我们关心的指标上做得更好.具体来说,这些信息就是相关任务的监督数据.通过在相关任务间共享表示信息,我们的模型在

机器学习&amp;深度学习基础(tensorflow版本实现的算法概述0)

tensorflow集成和实现了各种机器学习基础的算法,可以直接调用. 监督学习 1)决策树(Decision Tree) 决策树是一种树形结构,为人们提供决策依据,决策树可以用来回答yes和no问题,它通过树形结构将各种情况组合都表示出来,每个分支表示一次选择(选择yes还是no),直到所有选择都进行完毕,最终给出正确答案. 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树).在实际构造决策树时,通常要进行剪枝,这时为了处理由于数据中的噪声和离群点导致的过分拟合问题.剪

Overview:end-to-end深度学习网络在超分辨领域的应用(待续)

目录 1. SRCNN Contribution Inspiration Network O. Pre-processing I. Patch extraction and representation II. Non-linear mapping III. Reconstruction Story Further learning 1. SRCNN Home page http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html 2014 ECCV ,2015

关于机器学习和深度学习的资料

声明:转来的,原文出处:http://blog.csdn.net/achaoluo007/article/details/43564321 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定期的更新,望看到文章的朋友能够学到更多. <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林.Deep Learning. &