当前位置:宠物百科>综合>资讯>正文

机器学习人工智能六大方向,人工智能发展概况机器学习篇

人气:162 ℃/2025-01-21 04:34:07

机器学习概念

机器学习已经成为了当今的热门话题,但是从机器学习这个概念诞生到机器学习技术的普遍应用经过了漫长的过程。在机器学习发展的历史长河中,众多优秀的学者为推动机器学习的发展做出了巨大的贡献。

从1642年Pascal发明的手摇式计算机,到1949年Donald Hebb提出的赫布理论——解释学习过程中大脑神经元所发生的变化,都蕴含着机器学习思想的萌芽。

事实上,1950年图灵在关于图灵测试的文章中就已提及机器学习的概念。到了1952年,IBM的亚瑟·塞缪尔(Arthur Samuel,被誉为“机器学习之父”)设计了一款可以学习的西洋跳棋程序。它能够通过观察棋子的走位来构建新的模型,用来提高自己的下棋技巧。塞缪尔和这个程序进行多场对弈后发现,随着时间的推移,程序的棋艺变得越来越好。塞缪尔用这个程序推翻了以往“机器无法超越人类,不能像人一样写代码和学习”这一传统认识。并在1956年正式提出了“机器学习”这个概念。他认为“机器学习是在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域”。

对机器学习的认识可以从多个方面进行,有着“全球机器学习教父”之称的Tom Mitchell则将机器学习定义为:对于某类任务T和性能度量P,如果计算机程序在T上以P衡量的性能随着经验E而自我完善,就称这个计算机程序从经验E学习。这些定义都比较简单抽象,但是随着对机器学习了解的深入,我们会发现随着时间的变迁,机器学习的内涵和外延在不断的变化。因为涉及到的领域和应用很广,发展和变化也相当迅速,简单明了地给出“机器学习”这一概念的定义并不是那么容易。

普遍认为,机器学习(Machine Learning,常简称为ML)的处理系统和算法是主要通过找出数据里隐藏的模式进而做出预测的识别模式,它是人工智能(Artificial Intelligence,常简称为AI)的一个重要子领域,而人工智能又与更广泛的数据挖掘(Data Mining,常简称为DM)和知识发现(Knowledge Discovery in Database,常简称为KDD)领域相交叉。为了更好的理解和区分人工智能(Artificial Intelligence)、机器学习(Machine Learning)、数据挖掘(Data Mining)、模式识别(Pattern Recognition)、统计(Statistics)、神经计算(Neuro Computing)、数据库(Databases)、知识发现(KDD)等概念,特绘制其交叉关系如下图所示:

机器学习相关概念的辨识

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。其过程可以用下图简单表示:

机器学习基本过程

机器学习发展历史

奠基时期

1950年,阿兰·图灵创造了图灵测试来判定计算机是否智能。图灵测试认为,如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器具有智能。这一简化使得图灵能够令人信服地说明“思考的机器”是可能的。

1952,IBM科学家亚瑟·塞缪尔开发的跳棋程序。驳倒了普罗维登斯提出的机器无法超越人类的论断,像人类一样写代码和学习的模式,他创造了“机器学习”这一术语,并将它定义为:“可以提供计算机能力而无需显式编程的研究领域”。

瓶颈时期

从60年代中到70年代末,机器学习的发展步伐几乎处于停滞状态。无论是理论研究还是计算机硬件限制,使得整个人工智能领域的发展都遇到了很大的瓶颈。虽然这个时期温斯顿(Winston)的结构学习系统和海斯·罗思(Hayes Roth)等的基于逻辑的归纳学习系统取得较大的进展,但只能学习单一概念,而且未能投入实际应用。而神经网络学习机因理论缺陷也未能达到预期效果而转入低潮。

重振时期

伟博斯在1981年的神经网络反向传播(BP)算法中具体提出多层感知机模型。虽然BP算法早在1970年就已经以“自动微分的反向模型(reverse mode of automatic differentiation)”为名提出来了,但直到此时才真正发挥效用,并且直到今天BP算法仍然是神经网络架构的关键因素。有了这些新思想,神经网络的研究又加快了。在1985-1986年,神经网络研究人员相继提出了使用BP算法训练的多参数线性规划(MLP)的理念,成为后来深度学习的基石。在另一个谱系中,昆兰在1986年提出了一种非常出名的机器学习算法,我们称之为“决策树”,更具体的说是ID3算法。在ID3算法提出来以后,研究社区已经探索了许多不改进(如ID4、回归树、CART算法等),这些算法至今仍然活跃在机器学习领域中。

成型时期

支持向量机(SVM)的出现是机器学习领域的另一大重要突破,算法具有非常强大的理论地位和实证结果。那一段时间机器学习研究也分为神经网络(Neural Network,NN)和SVM两派。然而,在2000年左右提出了带核函数的支持向量机后,SVM在许多以前由NN占优的任务中获得了更好的效果。此外,SVM相对于NN还能利用所有关于凸优化、泛化边际理论和核函数的深厚知识。因此SVM可以从不同的学科中大力推动理论和实践的改进。

爆发时期

神经网络研究领域领军者Hinton在2006年提出了神经网络Deep Learning算法,使神经网络的能力大大提高,向支持向量机发出挑战。2006年,Hinton和他的学生Salakhutdinov在顶尖学术刊物《Science》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。2015年,为纪念人工智能概念提出60周年,LeCun、Bengio和Hinton推出了深度学习的联合综述。深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示,这些方法在许多方面都带来了显著的改善。深度学习的出现,让图像、语音等感知类问题取得了真正意义上的突破,离实际应用已如此之近,将人工智能推进到一个新时代。

机器学习经典算法

机器学习算法可以按照不同的标准来进行分类。比如按函数f(x,θ)的不同,机器学习算法可以分为线性模型和非线性模型;按照学习准则的不同,机器学习算法也可以分为统计方法和非统计方法。

但一般来说,我们会按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为以下几类:

监督学习(Supervised Learning)

监督学习中的数据集是有标签的,就是说对于给出的样本我们是知道答案的。如果机器学习的目标是通过建模样本的特征x和标签y之间的关系:f(x,θ)或p(y|x,θ),并且训练集中每个样本都有标签,那么这类机器学习称为监督学习。根据标签类型的不同,又可以将其分为分类问题和回归问题两类。前者是预测某一样东西所属的类别(离散的),比如给定一个人的身高、年龄、体重等信息,然后判断性别、是否健康等;后者则是预测某一样本所对应的实数输出(连续的),比如预测某一地区人的平均身高。我们大部分学到的模型都是属于监督学习,包括线性分类器、支持向量机等。常见的监督学习算法有:k-近邻算法(k-Nearest Neighbors,kNN)、决策树(Decision Trees)、朴素贝叶斯(Naive Bayesian)等。监督学习的基本流程如下图所示:

监督学习的基本流程

无监督学习(Unsupervised Learning,UL)

跟监督学习相反,无监督学习中数据集是完全没有标签的,依据相似样本在数据空间中一般距离较近这一假设,将样本分类。

常见的无监督学习算法包括:稀疏自编码(sparseauto-encoder)、主成分分析(Principal Component Analysis,PCA)、K-Means算法(K均值算法)、DBSCAN算法(Density-Based Spatial Clustering of Applications with Noise)、最大期望算法(Expectation-Maximization algorithm,EM)等。

利用无监督学习可以解决的问题可以分为关联分析、聚类问题和维度约减。

  • 关联分析是指发现不同事物之间同时出现的概率。在购物篮分析中被广泛地应用。如果发现买面包的客户有百分之八十的概率买鸡蛋,那么商家就会把鸡蛋和面包放在相邻的货架上。
  • 聚类问题是指将相似的样本划分为一个簇(cluster)。与分类问题不同,聚类问题预先并不知道类别,自然训练数据也没有类别的标签。
  • 维度约减:顾名思义,是指减少数据维度的同时保证不丢失有意义的信息。利用特征提取方法和特征选择方法,可以达到维度约减的效果。特征选择是指选择原始变量的子集。特征提取是将数据从高维度转换到低维度。广为熟知的主成分分析算法就是特征提取的方法。

非监督学习的基本处理流程如图2-4所示:

非监督学习的基本流程

可以很清楚的看到相对于监督学习,非监督学习的过程中没有监督者(Supervisor)的干预。下图是一个典型的监督学习和非监督学习的对比,左图是对一群有标签数据的分类,而右图是对一群无标签数据的聚类。

一个典型的监督学习和非监督学习对比

半监督学习(Semi-Supervised Learning)

半监督学习是监督学习与无监督学习相结合的一种学习方法。半监督学习一般针对的问题是数据量大,但是有标签数据少或者说标签数据的获取很难很贵的情况,训练的时候有一部分是有标签的,而有一部分是没有的。与使用所有标签数据的模型相比,使用训练集的训练模型在训练时可以更为准确,而且训练成本更低。常见的两种半监督的学习方式是直推学习(Transductive learning)和归纳学习(Inductive learning)。

  • 直推学习(Transductive learning):没有标记的数据是测试数据,这个时候可以用测试的数据进行训练。这里需要注意,这里只是用了测试数据中的特征(feature)而没有用标签(label),所以并不是一种欺骗的方法。
  • 归纳学习(Inductive learning):没有标签的数据不是测试集。

半监督学习的基本流程如图2-6所示:

半监督学习的基本流程

监督学习、半监督学习和非监督学习之间的区别可以用图2-7表示:

监督学习、半监督学习和非监督学习的简单对比

可以看到,图2-7(a)中,红色三角形数据和蓝色圆点数据为标注数据;图2-7(b)中,绿色的小圆点为非标注数据。图2-7(c)显示监督学习将有标签的数据进行分类;而半监督学习如图2-7(d)中部分是有标签的,部分是没有标签的,一般而言,半监督学习侧重于在有监督的分类算法中加入无标记样本来实现半监督分类。

强化学习(Reinforcement Learning,RL)

强化学习从动物学习、参数扰动自适应控制等理论发展而来,基本原理是:如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。

强化学习在机器人学科中被广泛应用。在与障碍物碰撞后,机器人通过传感器收到负面的反馈从而学会去避免冲突。在视频游戏中,可以通过反复试验采用一定的动作,获得更高的分数。Agent能利用回报去理解玩家最优的状态和当前应该采取的动作。

下图采用一只老鼠来模拟强化学习中的Agent,其任务是走出迷宫,每走一步都有一个方法来衡量其走的好与坏,基本学习过程是当其走得好的时候就给其一定的奖励(如一块蛋糕)。通过这种方式,Agent在行动评价的环境中获得知识,改进行动方案以适应环境。

强化学习的基本学习流程

下面内容对部分机器学习代表算法进行了介绍。

  • 线性回归

在机器学习中,我们有一组输入变量(x)用于确定输出变量(y)。输入变量和输出变量之间存在某种关系,机器学习的目标是量化这种关系。

数据集的绘制x和y值

在线性回归中,输入变量(x)和输出变量(y)之间的关系表示为y=ax b的方程。因此,线性回归的目标是找出系数a和b的值。这里,a是直线的斜率,b是直线的截距。上图显示了数据集的x和y值,线性回归的目标是拟合最接近大部分点的线。

  • 分类与回归树(CART)

CART是决策树的一个实现方式,由ID3,C4.5演化而来,是许多基于树的bagging、boosting模型的基础。CART可用于分类与回归。

CART是在给定输入随机变量x条件下输出随机变量y的条件概率分布,与ID3和C4.5的决策树所不同的是,ID3和C4.5生成的决策树可以是多叉的,每个节点下的叉数由该节点特征的取值种类而定,比如特征年龄分为(青年,中年,老年),那么该节点下可分为3叉。而CART为假设决策树为二叉树,内部结点特征取值为“是”和“否”。左分支取值为“是”,右分支取值为“否”。这样的决策树等价于递归地二分每一个特征,将输入空间划分为有限个单元,并在这些单元上预测概率分布,也就是在输入给定的条件下输出条件概率分布。

  • 随机森林(RandomForest)

随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。它包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林是一种灵活且易于使用的机器学习算法,即便没有超参数调优,也可以在大多数情况下得到很好的结果。随机森林也是最常用的算法之一,因为它很简易,既可用于分类也能用于回归。

其基本的构建算法过程如下:

1.用N来表示训练用例(样本)的个数,M表示特征数目。

2.输入特征数目m,用于确定决策树上一个节点的决策结果;其中m应远小于M。

3.从N个训练用例(样本)中以有放回抽样的方式,取样N次,形成一个训练集(即bootstrap取样),并用未抽到的用例(样本)作预测,评估其误差。

4.对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的。根据这m个特征,计算其最佳的分裂方式。

5.每棵树都会完整成长而不会剪枝,这有可能在建完一棵正常树状分类器后被采用)。

一个简单的随机森林算法示意如下:

一个简单的随机森林算法示意

随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的Bagging思想。

  • 逻辑回归

逻辑回归最适合二进制分类(y=0或1的数据集,其中1表示默认类)例如:在预测事件是否发生时,发生的事件被分类为1。在预测人会生病或不生病,生病的实例记为1)。它是以其中使用的变换函数命名的,称为逻辑函数h(x)=1/(1 e-x),它是一个S形曲线。

在逻辑回归中,输出是以缺省类别的概率形式出现的。因为这是一个概率,所以输出在0-1的范围内。输出(y值)通过对数转换x值,使用对数函数h(x)=1/(1 e-x)来生成。然后应用一个阈值来强制这个概率进入二元分类。

逻辑函数曲线图

上图判断了肿瘤是恶性还是良性。默认变量是y=1(肿瘤=恶性);x变量可以是肿瘤的信息,例如肿瘤的尺寸。如图所示,逻辑函数将数据集的各种实例的x值转换成0到1的范围。如果概率超过阈值0.5(由水平线示出),则将肿瘤分类为恶性。

逻辑回归的目标是使用训练数据来找到系数b0和b1的值,以使预测结果与实际结果之间的误差最小化。这些系数是使用最大似然估计来计算的。

  • 朴素贝叶斯(NaiveBayesian)

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。通过以上定理和“朴素”的假定,我们知道:

P(Category|Document)=P(Document|Category)*P(Category)/P(Document)

朴素贝叶斯的基本方法:在统计数据的基础上,依据条件概率公式,计算当前特征的样本属于某个分类的概率,选择最大的概率分类。

对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。其计算流程表述如下:

(1)x={a1,a2,...,am}为待分类项,每个ai为x的一个特征属性

(2)有类别集合C={y1,y2,...,yn}

(3)计算P(y1|x),P(y2|x),...,P(yn|x)

(4)如果P(yk|x)=max{P(y1|x)

  • k最近邻(kNN)

kNN(k-NearestNeighbor)的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。kNN方法在做类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。

kNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。如下图是kNN算法中,k等于不同值时的算法分类结果:

kNN算法简单示例

简单来说,kNN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数 据最近的k个点,看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。

  • AdaBoost

Adaptive Boosting或称为AdaBoost,是多种学习算法的融合。它是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,然后将每次训练得到的分类器融合起来,作为最终的决策分类器。

AdaBoost是最常用的算法。它可用于回归或者分类算法。相比其他机器学习算法,它克服了过拟合的问题,通常对异常值和噪声数据敏感。为了创建一个强大的复合学习器,AdaBoost使用了多次迭代。因此,它又被称为“Adaptive Boosting”。通过迭代添加弱学习器,AdaBoost创建了一个强学习器。一个新的弱学习器加到实体上,并且调整加权向量,作为对前一轮中错误分类的样例的回应。得到的结果,是一个比弱分类器有更高准确性的分类器。

AdaBoost 执行

AdaBoost有助于将弱阈值的分类器提升为强分类器。上面的图像描述了AdaBoost的执行,只用了简单易于理解的代码在一个文件中就实现了。这个函数包含一个弱分类器和boosting组件。弱分类器在一维的数据中尝试去寻找最理想的阈值来将数据分离为两类。boosting组件迭代调用分类器,经过每一步分类,它改变了错误分类示例的权重。因此,创建了一个级联的弱分类器,它的行为就像一个强分类器。

目前,对Adaboost算法的研究以及应用大多集中于分类问题,同时近年也出现了一些在回归问题上的应用。Adaboost系列主要解决了:两类问题、多类单标签问题、多类多标签问题、大类单标签问题和回归问题。它用全部的训练样本进行学习。

  • K-均值算法(K-Means)

K-均值是著名聚类算法,它找出代表聚类结构的k个质心。如果有一个点到某一质心的距离比到其他质心都近,这个点则指派到这个最近的质心所代表的簇。依次,利用当前已聚类的数据点找出一个新质心,再利用质心给新的数据指派一个簇。

K-均值算法图示

K-均值算法——在上图中用“x”表示聚类质心,用点表示训练样本:

a)原始数据集

b)随机初始化聚类质心

c)(c-f)k-均值迭代2次的示意图

在每次迭代中每个训练样例都被指派到一个最近的聚类质心,每个聚类质心被移动到分配给它的点的平均值的位置。

  • 支持向量机(SVM)

支持向量机(Support Vector Machine,SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binaryclassification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。基本思想是:找到集合边缘上的若干数据(称为支持向量(Support Vector)),用这些点找出一个平面(称为决策面),使得支持向量到该平面的距离最大。由简至繁的SVM模型包括:

-当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;

-当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;

-当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机;在分类问题中,很多时候有多个解,如下图左边所示,在理想的线性可分的情况下其决策平面会有多个。而SVM的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大,SVM算法计算出来的分界会保留对类别最大的间距,即有足够的余量,如下图右边所示。

SVM的决策平面

在解决线性不可分问题时,它可以通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题。如下图所示,通过核函数的引入,将线性不可分的数据映射到一个高纬的特征空间内,使得数据在特征空间内是可分的。如下图所示:

SVM的核函数

  • 人工神经网络ANN(Artificial Neural Network)

人工神经网络ANN(Artificial Neural Network)是由大量处理单元互联组成的非线性、自适应信息处理系统。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。其基本过程可以概述如下:外部刺激通过神经末梢,转化为电信号,传导到神经细胞(又叫神经元);无数神经元构成神经中枢;神经中枢综合各种信号,做出判断;人体根据神经中枢的指令,对外部刺激做出反应。其过程表述如下图所示:

神经网络的传导过程

人工神经网络经历了漫长的发展阶段。最早是上个世纪六十年代提出的“人造神经元”模型,叫做“感知器”(perceptron)。感知机模型是机器学习二分类问题中的一个非常简单的模型。它的基本结构如下图所示:

感知机

随着反向传播算法、最大池化(max-pooling)等技术的发明,神经网络进入了飞速发展的阶段。神经网络就是将许多个单一“神经元”联结在一起,这样,一个“神经元”的输出就可以是另一个“神经元”的输入。典型的人工神经网络具有以下三个部分:

结构(Architecture)结构指定了网络中的变量和它们的拓扑关系。

激励函数(Activity Rule)大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。

学习规则(Learning Rule)指定了网络中的权重如何随着时间推进而调整。一个典型的人工神经网络结构如下图所示:

典型的人工神经网络结构

人工神经网络具有四个基本特征:非线性、非局限性、非常定性和非凸性。

人工神经网络的特点和优越性,主要表现在三个方面:具有自学习功能、具有联想存储功能和具有高速寻找最优解的能力。

深度学习

深度学习是近10年机器学习领域发展最快的一个分支,由于其重要性,三位教授(Geoffrey Hinton、Yann Lecun、Yoshua Bengio)因此同获图灵奖。深度学习模型的发展可以追溯到1958年的感知机(Perceptron)。1943年神经网络就已经出现雏形(源自NeuroScience),1958年研究认知的心理学家Frank发明了感知机,当时掀起一股热潮。后来Marvin Minsky(人工智能大师)和Seymour Papert发现感知机的缺陷:不能处理异或回路等非线性问题,以及当时存在计算能力不足以处理大型神经网络的问题。于是整个神经网络的研究进入停滞期。

最近30年来取得快速发展。总体来说,主要有4条发展脉络。

深度学习模型最近若干年的重要进展

第一个发展脉络(上图浅紫色区域)以计算机视觉和卷积网络为主。这个脉络的进展可以追溯到1979年,Fukushima提出的Neocognitron。该研究给出了卷积和池化的思想。1986年Hinton提出的反向传播训练MLP(之前也有几个类似的研究),该研究解决了感知机不能处理非线性学习的问题。1998年,以YannLeCun为首的研究人员实现了一个七层的卷积神经网络LeNet-5以识别手写数字。现在普遍把YannLeCun的这个研究作为卷积网络的源头,但其实在当时由于SVM的迅速崛起,这些神经网络的方法还没有引起广泛关注。真正使得卷积神经网络荣耀登上大雅之堂的事件是,2012年Hinton组的AlexNet(一个设计精巧的CNN)在ImageNet上以巨大优势夺冠,这引发了深度学习的热潮。AlexNet在传统CNN的基础上加上了ReLU、Dropout等技巧,并且网络规模更大。这些技巧后来被证明非常有用,成为卷积神经网络的标配,被广泛发展,于是后来出现了VGG、GoogLenet等新模型。2016年,青年计算机视觉科学家何恺明在层次之间加入跳跃连接,提出残差网络ResNet。ResNet极大增加了网络深度,效果有很大提升。一个将这个思路继续发展下去的是近年的CVPRBestPaper中黄高提出的DenseNet。在计算机视觉领域的特定任务出现了各种各样的模型(Mask-RCNN等),这里不一一介绍。2017年,Hinton认为反向传播和传统神经网络还存在一定缺陷,因此提出CapsuleNet,该模型增强了可解释性,但目前在CIFAR等数据集上效果一般,这个思路还需要继续验证和发展。

第二个发展脉络(上图浅绿色区域)以生成模型为主。传统的生成模型是要预测联合概率分布P(x,y)。机器学习方法中生成模型一直占据着一个非常重要的地位,但基于神经网络的生成模型一直没有引起广泛关注。Hinton在2006年的时候基于受限玻尔兹曼机(RBM,一个19世纪80年代左右提出的基于无向图模型的能量物理模型)设计了一个机器学习的生成模型,并且将其堆叠成为DeepBeliefNetwork,使用逐层贪婪或者wake-sleep的方法训练,当时模型的效果其实并没有那么好。但值得关注的是,正是式基于RBM模型Hinton等人开始设计深度框架,因此这也可以看做深度学习的一个开端。Auto-Encoder也是上个世纪80年代Hinton就提出的模型,后来随着计算能力的进步也重新登上舞台。Bengio等人又提出了DenoiseAuto-Encoder,主要针对数据中可能存在的噪音问题。MaxWelling(这也是变分和概率图模型的高手)等人后来使用神经网络训练一个有一层隐变量的图模型,由于使用了变分推断,并且最后长得跟Auto-Encoder有点像,被称为VariationalAuto-Encoder。此模型中可以通过隐变量的分布采样,经过后面的Decoder网络直接生成样本。生成对抗模型GAN(Generative Adversarial Network)是2014年提出的非常火的模型,它是一个通过判别器和生成器进行对抗训练的生成模型,这个思路很有特色,模型直接使用神经网络G隐式建模样本整体的概率分布,每次运行相当于从分布中采样。后来引起大量跟随的研究,包括:DCGAN是一个相当好的卷积神经网络实现,WGAN是通过维尔斯特拉斯距离替换原来的JS散度来度量分布之间的相似性的工作,使得训练稳定。PGGAN逐层增大网络,生成逼真的人脸。

第三个发展脉络(上图橙黄色区域)是序列模型。序列模型不是因为深度学习才有的,而是很早以前就有相关研究,例如有向图模型中的隐马尔科夫HMM以及无向图模型中的条件随机场模型CRF都是非常成功的序列模型。即使在神经网络模型中,1982年就提出了Hopfield Network,即在神经网络中加入了递归网络的思想。1997年Jürgen Schmidhuber发明了长短期记忆模型LSTM(Long-Short Term Memory),这是一个里程碑式的工作。当然,真正让序列神经网络模型得到广泛关注的还是2013年Hinton组使用RNN做语音识别的工作,比传统方法高出一大截。在文本分析方面,另一个图灵奖获得者Yoshua Bengio在SVM很火的时期提出了一种基于神经网络的语言模型(当然当时机器学习还是SVM和CRF的天下),后来Google提出的word2vec(2013)也有一些反向传播的思想,最重要的是给出了一个非常高效的实现,从而引发这方面研究的热潮。后来,在机器翻译等任务上逐渐出现了以RNN为基础的seq2seq模型,通过一个Encoder把一句话的语义信息压成向量再通过Decoder转换输出得到这句话的翻译结果,后来该方法被扩展到和注意力机制(Attention)相结合,也大大扩展了模型的表示能力和实际效果。再后来,大家发现使用以字符为单位的CNN模型在很多语言任务也有不俗的表现,而且时空消耗更少。Self-attention实际上就是采取一种结构去同时考虑同一序列局部和全局的信息,Google有一篇很有名的文章“attention is all you need”把基于Attention的序列神经模型推向高潮。当然2019年ACL上同样有另一篇文章给这一研究也稍微降了降温。

第四个发展脉络(上图粉色区域)是增强学习。这个领域最出名的当属DeepMind,图中标出的David Silver博士是一直研究RL的高管。Q-learning是很有名的传统RL算法,DeepQ-learning将原来的Q值表用神经网络代替,做了一个打砖块的任务。后来又应用在许多游戏场景中,,并将其成果发表在Nature上。Double Dueling对这个思路进行了一些扩展,主要是Q-Learning的权重更新时序上。DeepMind的其他工作如DDPG、A3C也非常有名,它们是基于Policy Gradient和神经网络结合的变种。大家都熟知的AlphaGo,里面其实既用了RL的方法也有传统的蒙特卡洛搜索技巧。DeepMind后来提出了的一个用AlphaGo框架,但通过主学习来玩不同(棋类)游戏的新算法AlphaZero。

下面对深度学习的不同方面进行分别解读。有些地方解读可能稍微会简单一些,不完整的地方还请见谅。

卷积神经网络

卷积神经网络的重要进展

卷积神经网络的发展,最早可以追溯到1962年,Hubel和Wiesel对猫大脑中的视觉系统的研究。1980年,一个日本科学家福岛邦彦(Kunihiko Fukushima)提出了一个包含卷积层、池化层的神经网络结构。在这个基础上,Yann Lecun将BP算法应用到这个神经网络结构的训练上,就形成了当代卷积神经网络的雏形。

其实最初的CNN效果并不算好,而且训练也非常困难。虽然也在阅读支票、识别数字之类的任务上有一定的效果,但由于在一般的实际任务中表现不如SVM、Boosting等算法好,因此一直处于学术界的边缘地位。直到2012年,ImageNet图像识别大赛中,Hinton组的AlexNet引入了全新的深层结构和Dropout方法,一下子把errorrate从25%降低到了15%,这颠覆了图像识别领域。AlexNet有很多创新,尽管都不是很难的方法。其最主要的结果是让人们意识到原来那个福岛邦彦提出的、Yann Lecun优化的LeNet结构原来是有很大改进空间的:只要通过一些方法能够加深这个网络到8层左右,让网络表达能力提升,就能得到出人意料的好结果。

顺着AlexNet的思想,Lecun组2013年提出一个DropConnect,把error rate降低到了11%。而NUS的颜水成组则提出了一个重要的Network in Network(NIN)方法,NIN的思想是在原来的CNN结构中加入了一个1*1conv层,NIN的应用也得到了2014年Imagine另一个挑战——图像检测的冠军。Network in Network更加引发了大家对CNN结构改变的大胆创新。因此,两个新的架构Inception和VGG在2014年把网络加深到了20层左右,图像识别的error rate(越小越好)也大幅降低到6.7%,接近人类错误率的5.1%。2015年,MSRA的任少卿、何恺明、孙剑等人,尝试把identity加入到卷积神经网络中提出ResNet。最简单的Identity却出人意料的有效,直接使CNN能够深化到152层、1202层等,error rate也降到了3.6%。后来,ResNeXt,Residual-Attention,DenseNet,SENet等也各有贡献,各自引入了Groupcon volution,Attention,Dense connection,channelwise-attention等,最终ImageNet上errorrate降到了2.2%,大大超过人类的错误率。现在,即使手机上的神经网络,也能达到超过人类的水平。而另一个挑战——图像检测中,也是任少卿、何恺明、孙剑等优化了原先的R-CNN,fastR-CNN等通过其他方法提出region proposal,然后用CNN去判断是否是object的方法,提出了fasterR-CNN。FasterR-CNN的主要贡献是使用和图像识别相同的CNN feature,发现feature不仅可以识别图片内容,还可以用来识别图片的位置。也就是说,CNN的feature非常有用,包含了大量的信息,可以同时用来做不同的任务。这个创新一下子把图像检测的MAP也翻倍了。在短短的4年中,ImageNet图像检测的MAP(越大越好)从最初的0.22达到了最终的0.73。何恺明后来还提出了MaskR-CNN,即给fasterR-CNN又加了一个Mask Head,发现即使只在训练中使用Mask Head,其信息可以传递回原先的CNN feature中,获得了更精细的信息。由此,MaskR-CNN得到了更好的结果。何恺明在2009年时候就以一个简单有效的去雾算法得到了CVPR BestPaper,在计算机视觉领域声名鹊起。后来更是提出了ResNet和FasterR-CNN两大创新,直接颠覆了整个计算机视觉/机器学习领域。

当然,CNN结构变得越来越复杂,很多结构都很难直觉的来解释和设计。于是谷歌提出了自动架构学习方法NasNet(Neural Architecture Search Network)来自动用Reinforcement Learning去搜索一个最优的神经网络结构。Nas是目前CV界一个主流的方向,可以自动寻找出最好的结构,以及给定参数数量/运算量下最好的结构(这样就可以应用于手机),是目前图像识别的一个重要发展方向。今年何恺明(2019年4月)又发表了一篇论文,表示即使Random生成的网络连接结构(只要按某些比较好的Random方法),都会取得非常好的效果,甚至比标准的好很多。Random和Nas哪个是真的正确的道路,这有待进一步的研究了。

卷积神经网络CNN的发展引发了其他领域的很多变革。比如:利用CNN,AlphaGo战胜了李世石,攻破了围棋(基础版本的AlphaGo其实和人类高手比起来是有胜有负的)。后来利用了ResNet和Faster-RCNN的思想,一年后的Master则完全战胜了所有人类围棋高手。后来又有很多复现的开源围棋AI,每一个都能用不大的计算量超过所有的人类高手。以至于现在人们讲棋的时候,都是按着AI的胜率来讲了。

AutoEncoder

AutoEncoder的基本思想是利用神经网络来做无监督学习,就是把样本的输入同时作为神经网络的输入和输出。本质上是希望学习到输入样本的表示(encoding)。早期AutoEncoder的研究主要是数据过于稀疏、数据高维导致计算复杂度高。比较早用神经网络做AutoEncoder的可以追溯到80年代的BPNN和MLP以及当时Hinton推崇的RBM。后来到了2000年以后还坚持在做的只剩下Hinton的RBM了。从2000年以后,随着神经网络的快速兴起,AutoEncoder

也得到快速发展,基本上有几条线:稀疏AutoEncoder、噪音容忍AutoEncoder、卷积AutoEncoder、变分AutoEncoder。最新的进展是结合对抗思想的对抗AutoEncoder。

Auto-Encoder的重要进展

稀疏AutoEncoder在学习输入样本表示的时候可以学习到相对比较稀疏的表示结果,这在Overcomplete AutoEncoder(就是学习得到高维表示)方法中尤为重要。代表性人物包括斯坦福大学的AndrewNg和蒙特利尔的Yoshua Bengio教授。具体方法就是在原来的损失函数中加一个控制稀疏化的正则化项,通过控制优化过程来实现。

Denoising AutoEncoder的核心思想就是提高Encoder的鲁棒性,本质上就是避免可能的overfitting。一个办法是在输入中加入随机噪音(比如随机置0一些输入,或者随机把部分输入变为marked),这些思想后来在BERT等模型中也有广泛使用;另一个办法就是结合正则化的思想,比如在目标函数中加上eEncoder的Jacobian范数。Jacobian范数可以让学习到的特征表示更具有差异性。

著名研究者Jurgen Schmidhuber提出了基于卷积网络的AutoEncoder以及后来的LSTM AutoEncoder。Max Welling基于变分思想提出变分AutoEncoder方法VAE,这也是一个里程碑式的研究成果。后面很多研究者在这个工作上进行了扩展,包括info-VAE、beta-VAE和factorVAE等。最近还有人借鉴IanGoodfellow等人提出的对抗建模思想提出AdversarialAutoEncoder,也取得了很好的效果。这和之前的噪音容忍的AE学习也有一定呼应。除了上面的思想,就是可以把上面的各种方法stacking起来。

循环神经网络RNN

循环神经网络RNN的重要进展

1982年,美国加州理工学院物理学家John Hopfield发明了一种单层反馈神经网络Hopfield Network,用来解决组合优化问题。这是最早的RNN的雏形。86年,另一位机器学习的泰斗MichaelI.Jordan定义了Recurrent的概念,提出Jordan Network。1990年,美国认知科学家Jeffrey L. Elman对Jordan Network进行了简化,并采用BP算法进行训练,便有了如今最简单的包含单个自连接节点的RNN模型。但此时RNN由于梯度消失(Gradient Vanishing)及梯度爆炸(Gradient Exploding)的问题,训练非常困难,应用非常受限。直到1997年,瑞士人工智能研究所的主任JurgenSchmidhuber提出长短期记忆(LSTM),LSTM使用门控单元及记忆机制大大缓解了早期RNN训练的问题。同样在1997年,Mike Schuster提出双向RNN模型(Bidirectional RNN)。这两种模型大大改进了早期RNN结构,拓宽了RNN的应用范围,为后续序列建模的发展奠定了基础。此时RNN虽然在一些序列建模任务上取得了不错的效果,但由于计算资源消耗大,

后续几年一直没有太大的进展。

2010年,Tomas Mikolov对Bengio等人提出的feedforward Neuralnet work language model (NNLM)进行了改进,提出了基于RNN的语言模型(RNNLM),并将其用在语音识别任务中,大幅提升了识别精度。在此基础上Tomas Mikolov于2013年提出了大名鼎鼎的word2vec,与NNLM及RNNLM不同,word2vec的目标不再专注于建模语言模型,而是如何利用语言模型学习每个单词的语义化向量(distributed representation),当然distributed representation概念最早要来源于Hinton1986年的工作。word2vec引发了深度学习在自然语言处理领域的浪潮,除此之外还启发了knowledge representation,network representation等新的领域。

另一方面,2014年Bengio团队与Google几乎同时提出了seq2seq架构,将RNN用于机器翻译。没过多久,Bengio团队又提出注意力Attention机制,对seq2seq架构进行改进。自此机器翻译全面进入到神经机器翻译(NMT)的时代,NMT不仅过程简单,而且效果要远超统计机器翻译的效果。目前主流的机器翻译系统几乎都采用了神经机器翻译的技术。除此之外,Attention机制也被广泛用于基于深度学习的各种任务中。

近两年,相关领域仍有一些突破性进展,2017年,Facebook人工智能实验室提出基于卷积神经网络的seq2seq架构,将RNN替换为带有门控单元的CNN,提升效果的同时大幅加快了模型训练速度。此后不久,Google提出Transformer架构,使用Self-Attention代替原有的RNN及CNN,更进一步降低了模型复杂度。在词表示学习方面,Allen人工智能研究所2018年提出上下文相关的表示学习方法ELMo,利用双向LSTM语言模型对不同语境下的单词,学习不同的向量表示,在6个NLP任务上取得了提升。OpenAI团队在此基础上提出预训练模型GPT,把LSTM替换为Transformer来训练语言模型,在应用到具体任务时,与之前学习词向量当作特征的方式不同,GPT直接在预训练得到的语言模型最后一层接上Softmax作为任务输出层,然后再对模型进行微调,在多项任务上GPT取得了更好的效果。

不久之后,Google提出BERT模型,将GPT中的单向语言模型拓展为双向语言模型(Masked Language Model),并在预训练中引入了sentence prediction任务。BERT模型在11个任务中取得了最好的效果,是深度学习在NLP领域又一个里程碑式的工作。BERT自从在arXiv上发表以来获得了研究界和工业界的极大关注,感觉像是打开了深度学习在NLP应用的潘多拉魔盒。随后涌现了一大批类似于“BERT”的预训练(pre-trained)模型,有引入BERT中双向上下文信息的广义自回归模型XLNet,也有改进BERT训练方式和目标的RoBERTa和SpanBERT,还有结合多任务以及知识蒸馏(Knowledge Distillation)强化BERT的MT-DNN等。这些种种,还被大家称为BERTology。

网络表示学习与图神经网络(GNN)

这个方面的研究可以追溯到Hinton当年1986的Distributed Representation,后来Stanford的AndrewNg实验室做了个Neural Tensor Network,本质就是把知识之间的关系和表示学习一起放到tensor里面来做,算是一个smart的扩展。后来Facebook的Antonie Bordes提出了TransE是一个milestone的工作,把知识网络的三元组融合到了表示学习中,这是NLP和知识图谱中的一个非常重要的研究,后面延续了一系列的工作,包括TransH、TransR、TransA、TransG。

从表示学习本身来看,Neural Language Model是对于单词和文本的表示,是对原来向量模型的一个自然扩展,其实本质上类似一个隐含语义分析,只是这里用的是神经网络来做学习。RNN based language model是利用RNN进行表示学习,更好的保持了语言模型的连续性。但这个阶段的研究当时大部分都没有火起来,一是当时深度学习还没火起来,二是这些算法都还比较慢。2013年Tomas Mikolov和Jeff Dean等人做word2vec,可以说占据了“天时、地利、人和”:深度学习开始发热、算法简单有效、大神作品。现在word2vec已经轻松超过1万多引用了。后面的扩展也很多,如pharagraph2vec、doc2vec,context2vec。以至于后面有一段时间,“2vec”成了流行取名字的方法。最近的进展是ELMo、OpenAI的GPT和谷歌的BERT。

网络表示学习与图神经网络的重要进展

表示学习的另一个脉络就是扩展到网络数据上,在NLP领域的Structured Embedding、TransE等模型更多的是语言中的局部结构信息,而网络中还有更加复杂的拓扑结果。Bryan(原StonyBrook大学的,现在去了谷歌)提出DeepWalk,这个算最早把word2vec稍微扩展了一下,应用于网络数据,这篇文章获得了当年KDD的最佳论文和后来KDD的最佳博士论文。很快这个工作吸引了大量关注,Jian Tang(原北大、微软,现在去了Bengio那边)等人做了两阶扩展,斯坦福的Jure Leskovec做了面向社交网络的“三阶”扩展node2vec,后来清华也给出了一个理论证明,证明这些不同方法本质上都在做一个矩阵分解,并基于此提出了一个NetMF的算法以及其适用于大规模网络的实现NetSMF。ProNE是另一个清华作品,其主要特点是高效和高精度。该方法非常简单,本质上是在原来的表示学习上引入了一个类似卷积但又不是卷积的操作,大大提高了精度。

最近的网络表示学习更多的是用卷积网络直接对图做,大方向是Graph Neural Network,最早是Siena大学的Marco等人在2005和2009年提出的,但当时没引起太大关注。后来Yann Lecun提出的Graph Convolutional Networks,还有Kipf&Welling等人提出的semi-supervised的GCN。这一系列的研究本质上就是Neural Message Passing,在最近引起大量关注。斯坦福的Jure也提出了GraphSage,利用NMP简化了卷积,提高了速度,并且支持inductive learning,再后来Yoshua他们团队又提出了Graph Attention Network,进一步提高了图卷积精度。最近网络表示学习非常热,前前后后都能看到三大巨头Hinton、Yoshua和Yann的影子。在未来若干年还会继续是个研究热点。

增强学习

DeepMind的是一家英国人工智能公司,这是一个对增强学习影响最大的公司。创立于2010年,2014年被Google收购。创始人哈萨比斯出身于伦敦,母亲为新加坡华裔,13岁便已经获得国际象棋大师的头衔,19岁开始学习围棋,当前是围棋业余初段。DeepMind于2014年开始开发AlphaGO。来看看AlphaGO的战绩吧。

2015年10月,AlphaGO5:1樊麾;

2016年3月,AlphaGo4:1李世石;

2017年5月,AlphaGO3:0柯洁;

2017年10月19日,AlphaGo Zero发表在Nature,其思路是从零开始,自我对弈,40天超过所有版本。2018年12月7日,AlphaZero再次发表于Science,AlphaZero使用与AlphaGo Zero类似但更一般性的算法,在不做太多改变的前提下,并将算法从围棋延伸到将棋与国际象棋上。2018年12月,DeepMind公司推出AlphaFold,可以根据基因序列预测蛋白质结构。2019年1月25日,DeepMind公司AlphaStar,在《星海争霸II》以10:1战胜人类职业玩家。另一条在美国的战线,可能最著名的是Open AI公司,这是Hinton的高徒Ilya Sutskever(AlexNet发明人)创立的公司。2019年4月,Open AI推出fivedota2,2-0战胜Dota2的TI8冠军战队OG。

在研究方法上Deep Q-Network(DQN)利用神经网络对Q值进行函数近似,并利用了experience replay和fixed target network的策略让DQN可以收敛,在Atari的不少游戏上都超过了人类水平。DoubleDQN是深度学习版本的double Q-learning,它通过微小的修改就成功减小了DQN中max操作带来的bias。再后来,Dueling DQN将Q-network分成了action-dependent和action-independent两个部分,从而提高了DQN。DQN是为Value的期望建模,greedy的时候也是最大化期望的形式,Categorical DQN的想法是直接为Value的分布进行建模。NoiseDQN在网络中添加了噪声,从而达到exploration的效果。DQN还有非常多的提升版本,rainbow整合了多种DQN版本。Ape-X从Rainbow的工作中发现Replay的优先级对于性能影响是最大的,故扩大Prioritised Replay Buffer,并使用360个actor做分布式的训练,比rainbow更快,也更好。

增强学习的重要进展

Deterministic policy gradients(DPG)将policy gradients方法中随机的policy推广为确定性policy。Deep DPG使用了神经网络表示高维state,是结合了DQN和DPG的actorcritic算法。A3C是经典的policy gradient方法,可以并行multiple agent的训练,并异步更新参数。A2C是A3C的同步、确定性policy版本,同步的梯度更新,可以让并行训练更快收敛。

生成对抗网络

生成对抗网络的重要进展

GAN最近几年发展非常快,这也是Yoshua Bengio获得图灵奖的贡献之一。传统的生成模型是要预测联合概率分布P(x,y)。首先玻尔兹曼机(RBM)这个模型其实是一个基于能量的模型,1986年的时候就有,Hinton在2006年的时候重新拿出来作为一个生成模型,并且将其堆叠成为Deep Belief Network,使用逐层贪婪或者wake-sleep的方法训练。

AutoEncoder也是上个世纪80年代Hinton就提出的模型,此时由于计算能力的进步也重新登上舞台。Bengio等人又搞了Denoise AutoEncoder。Maxwelling等人使用神经网络训练一个有一层隐变量的图模型,由于使用了变分推断,并且最后长得跟AutoEncoder有点像,被称为Variational AutoEncoder。此模型中可以通过隐变量的分布采样,经过后面的decoder网络直接生成样本。

在生成模型方面,最近一个最重要的进展就是对抗生成网络(GAN),可以说是现在最火的生成模型。2014年Ian Goodfellow在NIPS上发表了最初的GAN文章,到现在已经有近九千引用。为什么这个模型引起如此大的关注呢?一个原因是这个模型理论上非常优雅,大家理解起来简单方便;二就是效果确实好。看上面这一排,是基于GAN的一些应用文章,下面这些是改进GAN的训练的一些文章。这些文章都引起了广泛关注。可以看出,GAN的发明人Ian Goodfellow是少年得志的典范。他本科在斯坦福,硕士在Andrew Ng手下,博士就跑到蒙特利尔Yoshua Bengio手下了。他另外还有一个导师Aaron Courville。大家现在经常用的教科书《Deep Learning》,作者就是Ian Goodfellow和他两个博士导师。他是85年人,发表GAN在2014年,29,还差一年才30。GAN这个工作也给Goodfellow带来了很多荣誉,比如17年就被MITunder35选中了。Goodfellow博士毕业后去了GoogleBrain,后来又跳到OpenAI,又跳回Google,现在在苹果做特别项目机器学习项目负责人,实际上现在他也才34岁。另外,GAN是Ian Goodfellow在蒙特利尔的时候的工作。大家知道今年图灵奖给了深度学习三巨头,其中的Bengio,在图灵奖官网上给获奖理由,选的三个贡献之一就是GAN。另外两个贡献分别是90年代的序列概率模型和00年代的语言模型。GAN可以说是Bengio的代表作之一了,甚至可以说帮助他拿图灵奖。

另外还有几个有名的GAN的扩展,包括:cycleGAN和vid2vid。去年NIPS企业展示会场,英伟达把vid2vid配合方向盘,做了个实物demo,非常引人关注。

*********

*********也是机器学习的一个重要分支,和深度学习有着或多或少的联系。*********实际上是个赌博机器。走进拉斯维加斯赌场,你就能看到一排排闪亮的机器。*********模型这个数学模型,现在追本溯源基本认为是一个病理学家Thompson在1933年提出的。他当时觉得验证新药的医学的随机双盲实验有些残酷的地方,对于被分到药效较差的新药的那一组病人并不公平。他想知道能否在实验中途就验证药物药效,从而避免给病人带来痛苦,因此他提出了一个序列决策模型。但是,实际使用还是有很多问题,比如中途效果不好评价。所以直到现在,美国FDA对在医学随机双盲实验中使用这种自适应调整的多臂*********方法,仍然只是建议使用。就现在而言,*********模型实际是在搜索和推荐方面的应用很多。

*********的重要进展

Epsilon-greedy是种预留一点点机会去尝试的思想。这种想法很自然,学术界也不清楚最初的credit该给谁。现在就放在sutton名下。他是强化学习方面的大佬,写的那本教材Reinforcement Learning引用五位数,里边讲解了这个算法。Peter Auer这个工作不仅分析了UCB算法的理论性质,还顺道分析了Epsilon-greedy的理论性质。这篇文章用到的技术,是此后很多更复杂技术的基础,很值得一看。这篇纯理论文章的引用量也达到了两千多。Frederick Mosteller是哈佛统计系奠基人,20世纪统计学界的超级牛人。他们当时做*********模型,主要是想给真实的动物或者人的序列决策建模,想抽象一个框架出来。所以他们作了一个老鼠找蛋糕的实验。当然,也做了关于人玩赌博用的*********的实验。Li Lihong是清华02级校友。他在Yahoo!news上的Lin UCB的工作发表在WWW上,这篇应用文章获得了大量关注,引用上千。他后来又翻出来Thompson sampling这个很古旧的方法,作了一些系统性的实验,从实验结果的角度说明Thompson sampling效果很好。这篇文章发在NIPS2011上,也获得了大量关注。后来大批做理论的人就跟进,就把Thompson sampling在线性模型上的理论基础建立起来了。比如Russo这篇文章。那可以看到,从Thompson1933年用Thompson sampling,到2010年后这个方法的理论基础才建立起来,这个时间跨度是很大的。当然,因为线性情况下都还比较简单,所以2011年后收到广泛关注没几年,理论就建立。这个现象和神经网络的理论建立基本是一个样子,都是线性的容易又基础,就先做着。研究*********模型确实比较偏理论,但*********应用也很广。上图里边除了有做医学的、做统计的、做计算机科学的,还有在商学院任教的,就是这个Russo。

人才概况

全球人才分布

学者地图用于描述特定领域学者的分布情况,对于进行学者调查、分析各地区竞争力现况尤为重要,下图为机器学习领域全球学者分布情况:

机器学习全球学者分布

地图根据学者当前就职机构地理位置进行绘制,其中颜色越深表示学者越集中。从该地图可以看出,美国的人才数量遥遥领先且主要分布在其东西海岸;欧洲中西部也有较多的人才分布;亚洲的人才主要分布于我国东部及日韩地区;其他诸如非洲、南美洲等地区的学者非常稀少;机器学习领域的人才分布与各地区的科技、经济实力情况大体一致。此外,在性别比例方面,机器学习领域中男性学者占比89.8%,女性学者占比10.2%,男性学者占比远高于女性学者。

h-index分布

机器学习学者的h-index分布如下图所示,大部分学者的h-index都在20以上,其中h-index在20-30区间的人数最多,有584人,占比28.8%,小于20区间的人数最少,共7人。

机器学习学者h-index分布

中国人才分布

机器学习中国学者分布

我国专家学者在机器学习领域的分布如上图所示。通过下图我们可以发现,京津地区在本领域的人才数量最多,其次是长三角和珠三角地区,相比之下,内陆地区的人才较为匮乏,这种分布与区位因素和经济水平情况不无关系。同时,通过观察中国周边国家的学者数量情况,特别是与日韩、东南亚等亚洲国家相比,中国在机器学习领域学者数量较多。

中国与其他国家在机器学习的合作情况可以根据AMiner数据平台分析得到,通过统计论文中作者的单位信息,将作者映射到各个国家中,进而统计中国与各国之间合作论文的数量,并按照合作论文发表数量从高到低进行了排序,如下表所示。

机器学习中国与各国合作论文情况

从上表数据可以看出,中美合作的论文数、引用数、平均引用数、学者数遥遥领先,表明中美间在机器学习领域合作之密切;从地域角度看,中国与欧洲的合作非常广泛,前10名合作关系里中欧合作共占4席;中国与印度合作的论文数虽然不是最多,但是拥有平均引用数依然位列第二,说明在合作质量上中印合作也达到了较高的水平。

扩展阅读:

视频:

资料来源:公开网络

搜索更多有关“机器学习人工智能六大方向,人工智能发展概况机器学习篇”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
CopyRight © 2021-2024 宠物百科 All Rights Reserved. 手机版