“教学参考-12”版本间的差异

来自cslt Wiki
跳转至: 导航搜索
(以“==教学目标== * 理解学习对人工智能的重要意义 * 理解机器学习的基本概念和基本框架 * 通过例子解释机器如何进行学习 ==教...”为内容创建页面)
 
 
(相同用户的8个中间修订版本未显示)
第1行: 第1行:
 
==教学目标==
 
==教学目标==
  
* 理解学习对人工智能的重要意义
+
* 理解机器学习系统构造的基本流程:模型设计-训练-测试-选择
* 理解机器学习的基本概念和基本框架
+
* 解流程中每一步的基本原则和基本方法
* 通过例子解释机器如何进行学习
+
* 了解数据对机器学习的重要性以及过度依赖数据的风险
  
 
==教学内容==
 
==教学内容==
  
===学习的重要性===
+
===模型设计===
  
* 学习是人类的重要认知活动,学习的能力往往与个体的认知能力直接相关。研究表明,人的学习过程从胎儿时期就开始了,直到去世,学习伴随着我们一生。
+
* 没有免费的午餐: 机器学习里有很多种模型,每种模型都有其适用范围,没有哪一种模型在所有场景下都优于其他模型。这一结论在机器学习里是一条可严格证明的定理,称为“没有免费的午餐”定理。
* 学习有很多种形式。走入一个嘈杂的工厂,刚开始难以忍受,过一段时间后就会慢慢适应,这是一种学习。听到铃声就知道开饭了,开始流口水,这也是一种学习。老师在课堂上传授知识,学生认真听讲,这是一种学习。没有了老师,孩子们自己玩耍,同样是一种学习。
+
* 机器学习实践中很重要的一点是深入理解任务场景,设计与场景匹配的模型。模型设计合理,可以极大提高学习效率,改善模型的性能。机器学习很大程度上是一种权衡的艺术
* 学习帮助我们适应周围的环境,掌握经验性知识,积累生存所需要的技能。这些知识与技能是智能的重要组成部分。
+
* 在模型设计中,需要考虑的因素包括:数据的格式和数据量,数据的分布形式,训练过程的内存和计算开销,可容忍的错误率,运行时的硬件能力、外部环境干扰等。在设计型时需要对这些因素综合考虑,得到最合适的建模方案。
* 研究表明,不仅是人类,很多动物都有学习能力,甚至植物都有。
+
  
===机器学习===
+
===模型训练===
  
* 早期的研究者倾向于将人的知识和思维方式“灌输”给机器,从而让机器拥有思维能力。这类比于老师把知识总结成知识点,把思考过程总结成解题招式,硬性地灌输给学生。这种方法在定理证明、专家系统等任务上取得了巨大成功。
+
* 设计好了模型之后即需要对它进行学习,这一过程称为模型训练。
* 然而,这种知识灌输方法存在很大局限性。首先人为总结各种知识非常繁琐,耗时耗力;其次机器只能在人类设计好的知识框架里活动,限制了能力的发挥。
+
* 模型训练的基础方法:首先将学习目标定义成合理的数学形式,这一数学形式称为目标函数。目标函数的参数即是模型的参数。选择一个数据集(称为训练集),利用合理的优化方法来调整模型参数,使得目标函数在该训练集上的取值最大,即完成了模型训练过程。
* 1959年,美国科学家亚瑟•塞缪尔正式提出“机器学习”的概念,并在西洋跳棋游戏中进行了验证。在实验中,塞缪尔只是告诉机器游戏的规则,走棋的大概思路,以及一些控制走棋方式的参数。塞缪尔发现,通过调整这些参数,机器用8-10个小时即可学习到超过程序设计者的棋艺。
+
[[文件:Apple-orange.png]]
* 此后,机器学习得到蓬勃发展,人们提出了贝叶斯网络、多层感知器、支持向量机等各种学习模型,机器的学习能力大幅提升。特别是新世纪以来,随着数据的积累和计算机性能的提高,机器能学到的东西越来越多,越来越强大,直接引发了新一轮人工智能的浪潮。
+
* 以区分苹果-桔子的学习任务来举例说明。我们设计一个简单的模型: Y = a  ✖ C + b ✖ S ,其中C代表颜色,S代表大小,(a,b)为待学习的模型参数。
 +
* 收集一个训练集,集中包含若干桔子和苹果的样例,每个样例表示成(C,S,T)的形式,其中T代表水果的真实类别,T=0时代表桔子,T=1时代表苹果。我们希望Y与T越接近越好,这样就可以用Y来预测T。
 +
* 设计一个目标函数 L=||Y-T||2。显然,L越小,说明Y和T越接近,模型越精确。因此,模型训练任务可以转化成目标函数L的最小化任务,即通过选择参数(a,b),使训练集中所有样本上计算得到L之和最小。
 +
* 对目标函数求最小值可以有多种方法。右图展示了一种逐渐优化的训练过程:首先对(a,b)随机取值,然后在这一取值附近随机选择一组新的取值,如果目标函数没有增长,则丢掉该参数值,否则予以保留。这一过程重复进行,如(A) -(D)所示。经过若干次尝试后,桔子-苹果的分类面就会变得越来越准确。
  
  
===机器学习基本框架===
+
===优化方法:梯度下降算法===
  
* 实现机器自主学习需要解决五个基本问题:
+
* 定义好目标函数以后,机器学习任务很大程度上转化成对目标函数L(W)的最小化任务,其中W代表模型的参数。前面我们已经提到了基于随机尝试的优化方法,但这种方法效率不高。为了更有效地完成这一优化任务,研究者提出了很多高质量的优化方法。在这些方法中,梯度下降法因其简单高效应用最为广泛。
:*学习的目标是什么?是分类更精确,还是预测更合理?如何将这一目标定义成数学形式?
+
* 如果把W想象成位置座标,L(W)的值想象成山的高度,对L(W)最小化等价于寻找到一个最深的山谷。如果函数L(W)形式比较简单,可以直接推导出使L(W)最小的W。例如,如果L=W2,则W=0即是最小值点。在实际应用中,L(W)通常很复杂,难以通过计算直接得到。这时,一般采用多步迭代算法,逐渐接近最小值。
:*学习的主体是什么?是神经网络的连接,还是产生式规则的排序?
+
* 想象一个人在山坡的某一个位置,他的目的是下到最低谷,怎么办呢?通常的方案是从当前位置开始向四周探索一下,然后选择一个坡度最陡、下降最快的方向迈出一步。这样一步一步走下去,就可以逐渐接近谷底。这种方法通常称为下山法(有时也叫爬山法,对应L(W)的最大化)。数学上,坡度最陡的方向称为“梯度方向”,因此这一方法也称为梯度下降法。原则上,只要我们能计算出L(W)的梯度,就可以按梯度下降法寻找到一个优化的解W。
:*如何学习?是通过模拟生物进化,还是通过数值优化方法?这是学习算法的问题。
+
:*学习的材料是什么?是观察到的图片,还是听到的声音?这是数据的问题。
+
:*学习应满足什么样的条件,或遵循什么样的规则?这些条件和规则通常以先验知识的形式包含在模型设计中。例如,对图像处理任务,卷积神经网络通常可以模拟人类视觉系统的处理方式,因此往往性能更好。
+
  
  
===机器学习与人工智能===
+
===梯度下降算法的改进===
  
* 人工智能是一门科学,其目的是让机器拥有人的智能。人工智能中包含很多种方法,机器学习是其中之一,是通过学习积累知识、实现智能的方法。目前,机器学习是人工智能最重要的方法。
+
* 梯度下降法简单高效,但也存在一些问题。例如,当L(W)比较复杂时,往往呈现多个低谷,应用梯度下降法只能到达其中的某一个低谷,W的初始值不同,到达的低谷也不同。因此,算法并不能保证到达的低谷是最低的。为了解决这一问题,研究者提出一种称为模拟退火的算法,允许在下坡的时候偶尔往上坡方向也走一走,这样就可能跳出当前的低谷,到达更深的低谷。
* 通过自主学习,机器有可能打破人类知识的上限,获得人类尚未发现的新知识,发现达到目标的新途径,从而获得“超人”的智能。
+
* 梯度下降法的另一种改进是考虑山坡的起伏程度来改变前进的步长。直观上,如果山坡是弯弯曲曲的,视野不好,这时步子就要迈的小一点,否则容易错过进入山谷的机会;反之,如果山坡很平坦,哪怕坡度很大,也可以放心大胆地迈远一点,这样下山的速度会更快一些。山坡的起伏程度在数学上称为曲率,考率曲率的优化方法一般称为牛顿法。
* 今天人工智能所展现出的强大能力,包括人们谈论的人工智能威胁,很大程度上来源于机器学习,因为只有自主学习的机器,才可能超越它的创造者,拥有难以预期的强大能力。
+
* 除了上面这些改进,研究者们还提出了在每一步优化时随机选择训练样本子集的小批量随机梯度下降算法,研究了在参数更新时考虑前一时刻梯度的动量算法等。这些方法已经成为机器学习里的标准方法,广泛应用在各种模型的训练任务中。
* 值得说明的是,让机器学习的思想在图灵时期就提出来了,图灵还认为这是实现智能机器的基础方案。后来的SNARC神经网络也具有学习能力。然而,机器学习在人工智能发展的最初三四十年里并没有占据主流,人工智能的发展最初并没有按照图灵的思路进行下去。
+
* 早期人工智能研究者认为,学习能力是人的基础智能之一,是人工智能的研究目标之一,即如何让机器模拟人类的学习能力。这种思想并没有意识到学习的基础性地位,而是把它列为和推理、运动、计划等并列的智能之一进行处理。这一思想极大影响了机器学习在人工智能中的地位。如果翻开当时的教科书,你会发现“机器学习”只是其中很短的一章,大部分在讲人为设计的搜索算法,知识表达等等。
+
* 随着时代的变化,研究者渐渐发现,机器学习不应该视为人工智能的目标之一,而应该是一种基础方法,是比其它智能更基础、更重要的能力。不会运动不怕,只要会学习就可以;不会推理也不怕,只要会学习就可以...依此类推,所有思维能力都可以通过学习获得。
+
* 这种“学习是第一推动力”是一种全新的思想,在90年代以后开始成形,极大推动了人工智能的发展,成为今天人工智能革命的起点。有趣的是,这一思路正是图灵六十年前的思路。
+
  
  
 +
===模型测试===
  
===机器学习的例子:苹果和桔子分类===
+
* 模型训练完成以后,需要对其性能进行测试。对模型的测试应该基于一个独立的测试集。为什么要在一个新的数据集上进行性能测试呢?这是因为模型在训练集和测试集上的性能可能存在很大差异:在训练集上性能非常好的模型,在测试集上可能会差很多。这是因为如果模型的参数和训练集中的数据过度适应,可能导致在其他数据集上性能下降。这种现象称为“过拟合”。这就如同一个只会死记硬背的学生,在课堂学习时把老师讲的所有题目都死记硬背下来,但是在考试时肯定会遇到没见过的题目,这时就做不出来了。
 +
* 在系统测试时,我们当然更加关注它在未知数据上的表现。这是因为在实际应用中遇到的数据绝大多数是在训练集中没有出现过的未知数据。为了获知在机器学习系统的真实性能,我们需要一个独立测试集来进行性能测试。
 +
* 过拟合现象的根本原因在于模型记住了数据中的细枝末节,并把这些细枝末节错误地当成了规律。然而,这些规律其实并不存在,从而导致在未知数据上的性能下降。一般来说,越复杂的模型发生过拟合的可能性越大。
 +
* 如下图所示,一条曲线比直线在训练集上的性能更好,但发生过拟合的可能性也更大。
  
* 我们的目标是对苹果和桔子进行分类。基于生活经验,我们知道又大又红的更可能是苹果,小一些颜色偏橙黄色的是桔子。基于这一知识,我们以“颜色”和“大小”作为特征,设计一个分类模型:  Y = a  ✖ 颜色 + b ✖ 大小
+
 
* 在上述模型中,我们并不指定参数a和b的值,而是给机器一些苹果和桔子的样例(数据),让机器自我学习a和b的取值。
+
[[文件:Apple-orange-overfit.png]]
* 为了使上述学习任务具有明确的数学形式,我们设桔子的标记T=0,苹果的标记T=1,学习算法通过调整(a,b)的取值,使分类模型的输出Y近可能接近T。
+
 
* 当学习完成后,就得到一个预测模型。基于这一模型,得到一个分类面,这个分类面一侧的Y>0.5,一侧Y<0.5,分类而上Y=0.5。分类面是线性的,因此称为线性模型。
+
 
* 对一个新样本利用分类模型公式计算它的Y值,如果<0.5则认为是桔子,如果>0.5则认为是苹果。这是机器学习的基本流程。
+
===模型选择===
 +
* 过拟合现象的存在使得模型选择变得非常重要。复杂的模型有更强大的学习能力,同时也会带来更严重的过拟合问题,导致在实际运行时性能下降。特别是当训练数据较少时,这种过拟合更为严重。
 +
* 如何选择合适的模型呢?机器学习里有一条著名的原则:如果两个模型具有类似的性能,那么应该选择更简单的那个。这条原则称为“奥卡姆剃刀准则(Occam’s Razor)”。
 +
* 奥卡姆是个人名,英国中世纪哲学家。奥卡姆剃刀是比喻用法,意思是“删掉不必要的复杂性”。基于奥卡姆剃刀准则,在测试集上性能相近的前提下,应尽量选择那些简单的模型。例如,如果用线性模型可以解决问题,就不要选择更复杂的非线性模型;如果用10个参数的模型可以解决问题,就不要用100个参数的模型。
 +
* 所谓线性模型,是指模型的输入和输出具有线性相加关系的模型,如 y = ax1 + bx2 + cx3, 其中(x1,x2,x3)为输入变量,y为输出,y是由x1,x2,x3线性相加而得到。之所叫线性模型,是因为如果将任意一个输入(比如x1)和 y 分别作为 x轴和y轴,画出y(x)的函数,可以看到是一条直线。非线性模型是不具有这种线性关系的模型。
 +
 
 +
 
 +
===训练数据===
 +
 
 +
* 机器学习建模的各个步骤都离不开数据。首先,在模型设计时就需要考虑数据本身的特点,包括数据形式、分布规律、训练数据数量和质量等;在模型训练时,训练算法的目的是优化目标函数在训练数据上的取值;在模型测试时,要基于测试数据来验证系统性能;在模型选择时,依然需要考虑训练数据与实际场景匹配度,选择具有合理复杂度的模型。
 +
* 训练数据要保证一定的数量。越复杂的模型,需要的数据量越大,否则容易发生过拟合。以当前流行的深度学习模型为例,学习一个实用的语音识别系统,往往需要上万小时的语音数据。著名的GPT-3预训练语言模型则使用了数千亿单词,这些数据占据的磁盘空间达45TB。
 +
* 训练数据要保证合理的质量。目前大部分系统依赖的还是人工筛选和标注的数据,以保证数据的质量。如在语音识别任务中需要标记发音内容,图像分割任务中需要标注物体边界,人脸识别任务中需要标注人的身份。这些数据质量较高,但筛选和标注都要耗费大量人力成本。
 +
* 训练数据需要有代表性。一般来说,如果我们的目的是研究模型在特定条件下的系统行为,如光照对人脸识别的影响,可以采用实验室条件下收集的数据,以突出目标因素的影响;如果目的是构造一个实用系统,则最好使用实地采集的数据,以满足实际应用场景的需要。
 +
 
 +
===数据依赖的风险===
 +
* “吃进去的是数据,得到的是智能”。通过从数据中总结规律,机器学习可以获得强大的智能。从这个角度上说,数据是人工智能的粮食。然而,过度的数据依赖可能带来很多负面影响。
 +
* 首先数据标注需要大量人力成本和时间成本,给构建机器学习系统带来现实压力;第二,数据本身存在不均衡性,大量数据是常见的、容易获得的数据,那些不常见的、难以获得的数据较少。数据不均衡带来模型上的偏差,不仅难以处理重要的但频率不高的事件,还可能带来不公平性(如对某一肤色人种识别性能的下降);第三,从数据中总结出来的知识是隐性的,可能带来不可预期的系统行为。例如,文本数据中可能包含带有偏见的句子,基于这样的数据可能训练出具有同样偏见的对话机器人。
 +
* 目前,研究者正在探索减小数据依赖的方法,典型的如数据增强、模型预训练、迁移学习等。

2022年8月2日 (二) 12:15的最后版本

教学目标

  • 理解机器学习系统构造的基本流程:模型设计-训练-测试-选择
  • 解流程中每一步的基本原则和基本方法
  • 了解数据对机器学习的重要性以及过度依赖数据的风险

教学内容

模型设计

  • 没有免费的午餐: 机器学习里有很多种模型,每种模型都有其适用范围,没有哪一种模型在所有场景下都优于其他模型。这一结论在机器学习里是一条可严格证明的定理,称为“没有免费的午餐”定理。
  • 机器学习实践中很重要的一点是深入理解任务场景,设计与场景匹配的模型。模型设计合理,可以极大提高学习效率,改善模型的性能。机器学习很大程度上是一种权衡的艺术
  • 在模型设计中,需要考虑的因素包括:数据的格式和数据量,数据的分布形式,训练过程的内存和计算开销,可容忍的错误率,运行时的硬件能力、外部环境干扰等。在设计型时需要对这些因素综合考虑,得到最合适的建模方案。

模型训练

  • 设计好了模型之后即需要对它进行学习,这一过程称为模型训练。
  • 模型训练的基础方法:首先将学习目标定义成合理的数学形式,这一数学形式称为目标函数。目标函数的参数即是模型的参数。选择一个数据集(称为训练集),利用合理的优化方法来调整模型参数,使得目标函数在该训练集上的取值最大,即完成了模型训练过程。

Apple-orange.png

  • 以区分苹果-桔子的学习任务来举例说明。我们设计一个简单的模型: Y = a ✖ C + b ✖ S ,其中C代表颜色,S代表大小,(a,b)为待学习的模型参数。
  • 收集一个训练集,集中包含若干桔子和苹果的样例,每个样例表示成(C,S,T)的形式,其中T代表水果的真实类别,T=0时代表桔子,T=1时代表苹果。我们希望Y与T越接近越好,这样就可以用Y来预测T。
  • 设计一个目标函数 L=||Y-T||2。显然,L越小,说明Y和T越接近,模型越精确。因此,模型训练任务可以转化成目标函数L的最小化任务,即通过选择参数(a,b),使训练集中所有样本上计算得到L之和最小。
  • 对目标函数求最小值可以有多种方法。右图展示了一种逐渐优化的训练过程:首先对(a,b)随机取值,然后在这一取值附近随机选择一组新的取值,如果目标函数没有增长,则丢掉该参数值,否则予以保留。这一过程重复进行,如(A) -(D)所示。经过若干次尝试后,桔子-苹果的分类面就会变得越来越准确。


优化方法:梯度下降算法

  • 定义好目标函数以后,机器学习任务很大程度上转化成对目标函数L(W)的最小化任务,其中W代表模型的参数。前面我们已经提到了基于随机尝试的优化方法,但这种方法效率不高。为了更有效地完成这一优化任务,研究者提出了很多高质量的优化方法。在这些方法中,梯度下降法因其简单高效应用最为广泛。
  • 如果把W想象成位置座标,L(W)的值想象成山的高度,对L(W)最小化等价于寻找到一个最深的山谷。如果函数L(W)形式比较简单,可以直接推导出使L(W)最小的W。例如,如果L=W2,则W=0即是最小值点。在实际应用中,L(W)通常很复杂,难以通过计算直接得到。这时,一般采用多步迭代算法,逐渐接近最小值。
  • 想象一个人在山坡的某一个位置,他的目的是下到最低谷,怎么办呢?通常的方案是从当前位置开始向四周探索一下,然后选择一个坡度最陡、下降最快的方向迈出一步。这样一步一步走下去,就可以逐渐接近谷底。这种方法通常称为下山法(有时也叫爬山法,对应L(W)的最大化)。数学上,坡度最陡的方向称为“梯度方向”,因此这一方法也称为梯度下降法。原则上,只要我们能计算出L(W)的梯度,就可以按梯度下降法寻找到一个优化的解W。


梯度下降算法的改进

  • 梯度下降法简单高效,但也存在一些问题。例如,当L(W)比较复杂时,往往呈现多个低谷,应用梯度下降法只能到达其中的某一个低谷,W的初始值不同,到达的低谷也不同。因此,算法并不能保证到达的低谷是最低的。为了解决这一问题,研究者提出一种称为模拟退火的算法,允许在下坡的时候偶尔往上坡方向也走一走,这样就可能跳出当前的低谷,到达更深的低谷。
  • 梯度下降法的另一种改进是考虑山坡的起伏程度来改变前进的步长。直观上,如果山坡是弯弯曲曲的,视野不好,这时步子就要迈的小一点,否则容易错过进入山谷的机会;反之,如果山坡很平坦,哪怕坡度很大,也可以放心大胆地迈远一点,这样下山的速度会更快一些。山坡的起伏程度在数学上称为曲率,考率曲率的优化方法一般称为牛顿法。
  • 除了上面这些改进,研究者们还提出了在每一步优化时随机选择训练样本子集的小批量随机梯度下降算法,研究了在参数更新时考虑前一时刻梯度的动量算法等。这些方法已经成为机器学习里的标准方法,广泛应用在各种模型的训练任务中。


模型测试

  • 模型训练完成以后,需要对其性能进行测试。对模型的测试应该基于一个独立的测试集。为什么要在一个新的数据集上进行性能测试呢?这是因为模型在训练集和测试集上的性能可能存在很大差异:在训练集上性能非常好的模型,在测试集上可能会差很多。这是因为如果模型的参数和训练集中的数据过度适应,可能导致在其他数据集上性能下降。这种现象称为“过拟合”。这就如同一个只会死记硬背的学生,在课堂学习时把老师讲的所有题目都死记硬背下来,但是在考试时肯定会遇到没见过的题目,这时就做不出来了。
  • 在系统测试时,我们当然更加关注它在未知数据上的表现。这是因为在实际应用中遇到的数据绝大多数是在训练集中没有出现过的未知数据。为了获知在机器学习系统的真实性能,我们需要一个独立测试集来进行性能测试。
  • 过拟合现象的根本原因在于模型记住了数据中的细枝末节,并把这些细枝末节错误地当成了规律。然而,这些规律其实并不存在,从而导致在未知数据上的性能下降。一般来说,越复杂的模型发生过拟合的可能性越大。
  • 如下图所示,一条曲线比直线在训练集上的性能更好,但发生过拟合的可能性也更大。


Apple-orange-overfit.png


模型选择

  • 过拟合现象的存在使得模型选择变得非常重要。复杂的模型有更强大的学习能力,同时也会带来更严重的过拟合问题,导致在实际运行时性能下降。特别是当训练数据较少时,这种过拟合更为严重。
  • 如何选择合适的模型呢?机器学习里有一条著名的原则:如果两个模型具有类似的性能,那么应该选择更简单的那个。这条原则称为“奥卡姆剃刀准则(Occam’s Razor)”。
  • 奥卡姆是个人名,英国中世纪哲学家。奥卡姆剃刀是比喻用法,意思是“删掉不必要的复杂性”。基于奥卡姆剃刀准则,在测试集上性能相近的前提下,应尽量选择那些简单的模型。例如,如果用线性模型可以解决问题,就不要选择更复杂的非线性模型;如果用10个参数的模型可以解决问题,就不要用100个参数的模型。
  • 所谓线性模型,是指模型的输入和输出具有线性相加关系的模型,如 y = ax1 + bx2 + cx3, 其中(x1,x2,x3)为输入变量,y为输出,y是由x1,x2,x3线性相加而得到。之所叫线性模型,是因为如果将任意一个输入(比如x1)和 y 分别作为 x轴和y轴,画出y(x)的函数,可以看到是一条直线。非线性模型是不具有这种线性关系的模型。


训练数据

  • 机器学习建模的各个步骤都离不开数据。首先,在模型设计时就需要考虑数据本身的特点,包括数据形式、分布规律、训练数据数量和质量等;在模型训练时,训练算法的目的是优化目标函数在训练数据上的取值;在模型测试时,要基于测试数据来验证系统性能;在模型选择时,依然需要考虑训练数据与实际场景匹配度,选择具有合理复杂度的模型。
  • 训练数据要保证一定的数量。越复杂的模型,需要的数据量越大,否则容易发生过拟合。以当前流行的深度学习模型为例,学习一个实用的语音识别系统,往往需要上万小时的语音数据。著名的GPT-3预训练语言模型则使用了数千亿单词,这些数据占据的磁盘空间达45TB。
  • 训练数据要保证合理的质量。目前大部分系统依赖的还是人工筛选和标注的数据,以保证数据的质量。如在语音识别任务中需要标记发音内容,图像分割任务中需要标注物体边界,人脸识别任务中需要标注人的身份。这些数据质量较高,但筛选和标注都要耗费大量人力成本。
  • 训练数据需要有代表性。一般来说,如果我们的目的是研究模型在特定条件下的系统行为,如光照对人脸识别的影响,可以采用实验室条件下收集的数据,以突出目标因素的影响;如果目的是构造一个实用系统,则最好使用实地采集的数据,以满足实际应用场景的需要。

数据依赖的风险

  • “吃进去的是数据,得到的是智能”。通过从数据中总结规律,机器学习可以获得强大的智能。从这个角度上说,数据是人工智能的粮食。然而,过度的数据依赖可能带来很多负面影响。
  • 首先数据标注需要大量人力成本和时间成本,给构建机器学习系统带来现实压力;第二,数据本身存在不均衡性,大量数据是常见的、容易获得的数据,那些不常见的、难以获得的数据较少。数据不均衡带来模型上的偏差,不仅难以处理重要的但频率不高的事件,还可能带来不公平性(如对某一肤色人种识别性能的下降);第三,从数据中总结出来的知识是隐性的,可能带来不可预期的系统行为。例如,文本数据中可能包含带有偏见的句子,基于这样的数据可能训练出具有同样偏见的对话机器人。
  • 目前,研究者正在探索减小数据依赖的方法,典型的如数据增强、模型预训练、迁移学习等。