苏阳
“过度拟合”是人工智能学习中一个普遍存在的问题。拟合是数学上的一个术语。比如,我们做一个物理实验,研究力和加速度的关系(力=质量×加速度)。我们测量得到一组力和加速度的数据,将其描画在坐标纸上。从理论上讲,力和加速度应该是正比关系,在坐标纸上对应一条直线。但在实际测量中,把测量所得到的数据画在坐标纸上时,这些点不可能剛好都落在一条直线上。这就需要通过适当的办法,来归纳出这组数据的规律。这就是拟合。但拟合的方式有很多,你可以用最接近所有点的一条直线来拟合,也可以直接用一段段折线把相邻点简单连接起来。在后一种情况下,虽然所有点都落在你描画的折线上,但这对于我们探索规律毫无意义。这就属于过度拟合。过度拟合就是过度拘泥于一些不重要的东西,没抓住本质,只能死板地重复已有的数据,而不能预言新情况。
假如你训练人脸识别系统时,所有人脸图片上的人都是有头发的,而且头发都是黑色的,那么这样训练出来的人脸识别系统,很可能就把“有没有头发”甚至“头发是不是黑色”当作判断是人脸还是普通物体的重要依据。这就属于过度拟合。因为我们完全可以剃光头或者把头发染成黄色。
推而广之,生活中死磕书本、死抱教条、思维僵化,应付不了新事物、新挑战,从人工智能的角度说,也属于过度拟合。
为了让人工智能在学习过程中避免陷入过度拟合的陷阱,科学家往往在训练时,有意输入一些随机的、扭曲变形的东西。譬如在训练人脸识别系统时,故意让有些图片中的人脸模糊不清,让有些人脸经过适当变形,这样一个人即使离镜头较远或者哪怕经历胖瘦的变化,也能识别出来。这种策略对于提高人工智能的灵活性非常有效,现在被认为是不可或缺的步骤。
(摘自《大科技·科学之谜》春季号,Stacy图)