AI定义

人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学;

这是行业里比较公认的定义;

通俗的来说,就是用计算机模拟人能做的事情,如下图:

AI导论02:AI与机器学习_训练


当机器运行AI程序的时候,可以分析给定的数据并得出相应的结果,这就是我们想要的AI;

上述的这个流程很简单但却很难实现,因为AI程序很难实现!

五六十年代,AI发展初期,我们通过很多的规则,包括定理、公理等去定义这个AI程序;七十年代,我们有了专家系统,建立了知识库,相当于有了更多的规则可以写到AI程序中去;(详细见 AI简史)

但是即便如此,AI程序离真正的智能还有很长距离;

写出这么一个AI程序几乎是不可能的事情,所以我们换一个思路:人写不了,那我们可以让机器去写啊,所以就诞生了机器学习

机器学习

先来看一张图,如下:

AI导论02:AI与机器学习_AI_02


在第一节的图中,计算机根据数据,运行AI程序,得出结果;

而在这张图中,计算机根据数据和带标注的结果,得到AI程序;

这两张图不仅仅是输入输出的交换,而是一种思维方式的转变,第二张图就是机器学习的流程图。

当然,这张图的流程只是整个机器学习的前半部分工作;
在这部分工作中,我们先去训练(training),得到一个可以用于推理(inference)的AI程序,我们称之为模型(model);然后在计算机上运行这个AI程序,进行推理、感知、识别等等。

机器学习三要素

看完上面这张图,很多小伙伴会感觉很奇怪,为什么给一堆数据和结果,计算机就能产出一个AI程序了呢?因为只给数据计算机是没办法工作的。

其实,计算机还需要运行一个训练程序,正是由于训练程序的存在,最后才产出了AI程序。而训练程序正是机器学习的核心,也是机器学习着重需要设计的。

AI导论02:AI与机器学习_AI_03

一个完整的机器学习过程可以大体分为上述六个步骤。前两步(信号感知、数据预处理)可以统称为预处理,在这一阶段,我们要去采集大量的数据,然后去掉一些噪声,或者对部分数据做一些标注等。中间的两个步骤(特征提取、特征选择)是机器学习算法的核心,在这一阶段,我们需要对数据提取一些特征,确定需要关注什么特征。最后我们将一些比较相关的特征放到模型中,不断地训练模型,最终就得到了这个模型,也就是上面说的最终成功AI程序。

在机器学习中有三个要素:表示(representation)评价(evaluation)优化(optimization),这三个要素贯穿机器学习的全过程。在我们开始机器学习的时候,我们会先假设最终产出的模型有什么样的特点,也就是说它有什么样的表示,比如我们希望得到一个决策树、神经网络或者向量机等。每一种表示都会有不同的参数,这些参数我们一开始是不知道的,那么这些参数怎么得到呢?这就需要通过另一套机制——评价体系。评价体系可以根据精度、召回、相似度或者根据熵等等,总之要定义一个评价函数评价训练出来的这个模型到底是好还是不好。最后可以再加上优化的算法,比如贪心搜索、梯度下降、线性优化等,不断地在“表示”里调它的各种参数,最终得到一个最优或者局部最优的结果。

这就是机器学习的整个过程。

机器学习的分类

机器学习可以分成如下几类:

监督学习
训练模型的时候,有输入数据,也有输出;
举个例子,如果教小孩认识猫和狗,你给他一张图说这个是狗,再给他一张图说这个是猫,等他见了几百张上千张的时候,他逐渐就知道哪个是猫哪个是狗了。

无监督学习
只有输入数据,没有输出结果,常用在把一堆数据进行分类上,我们一般叫聚类(clustering);
比如说一个小孩他之前从没有学习过什么是猫什么是狗,我们给他100张照片说你把这些照片分分类。那么根据照片的特征他可能会进行不同的分类,有可能根据颜色分,或者根据大小分,也有可能根据这一堆长得像狗这一堆长得像猫来分。我们很多时候需要做数据的聚类,常用的就是无监督的学习。

半监督学习
有输入数据,但这些数据里只有一部分是标注过的,其他的数据是没有标注过的。这时候我们希望根据标注过的那一小部分数据能够自动地知道那些没标注的数据是什么样子,最后用所有的数据训练出一个模型。

半监督学习对数据有一些更严格的要求,比如说要求这些少数标注的数据的标注结果非常准;同时那些标注的数据是能cover所有分类的,即所有那些没有标注的数据肯定属于已经标注过的这些数据中的某一类,才能用这种办法。这是半监督学习。

强化学习
没有输入数据;

还举训练小孩的例子:给他一张图问他这是猫是狗,答错了就“啪”给他一巴掌,然后再拿一张图问他这是猫是狗,答对了就给他一块糖。这么训练很多很多张后,这个孩子自然就知道给他的东西到底是猫还是狗。虽然之前没有给他任何标注过的数据,他最后也可以学习到。这是所谓的强化学习。强化学习现在已经用得很广泛,因为我们有的时候并不容易去做标注,或者说我们根本就不能去做标注。