现代人工智能系统离不开数据。打个比方,人生下来是一张白纸,通过读书学习,慢慢掌握了各种知识。机器也是一样,刚开始只有非常基础的功能,当消化了大量数据以后,就变得越来越聪明了。从这个意义上说,数据就是人工智能成长所需要的粮食。
那么,要“养成”一个人工智能系统,需要什么样的数据作为它的“粮食”呢?
这个问题并不简单,因为不同的系统架构,不同的学习任务,不同的学习方法,对数据的需求都有所不同。例如,传统概率模型所需要的数据相对较少,而现代神经网络模型需要的数据则大的多。再比如,为了深入研究某一模型的基础特性,我们可能需要比较可控的、纯净的数据,甚至是合成的数据,以突出模型本身的特性;反之,如果我们的目的是在某一实际任务中取得更好的性能,则需要大量复杂的、和实地场景相符合的数据。
如果我们把讨论限定在当前流行的神经网络架构,并确定目标是在某一任务上的性能最优,则可以有一些方案帮助我们选择更有价值的数据。首先,我们可能需要一些“种子”数据构建一个基础系统。这些种子数据比较干净,比如办公室环境下录制的声音,对方配合条件下的人脸图片等。种子数据不必过多,过多的种子数据不会带来实地场景的性能提升。第二,挑选和实际应用场景尽量匹配的数据,用来提升基础模型的性能。通常来说,这部分数据要求的量比较大,带来的性能提升也最明显。第三,实际数据虽然有效,但也不是越多越好。当数据量积累到一定程度以后,性价比会显著下降。这时可能需要一些数据选择技巧,针对性地提高困难场景下的系统性能。第四,尽可能利用大量无标注数据。这些数据成本低廉,通过自学习、半监督学习等方式可有效提高系统的可扩展性。
总之,数据对人工智能至关重要,但人工智能并不只是堆数据,而是如何聪明地利用数据。总体的原则是,选择和目标任务最相关、边际收益最大的数据,同时配合模型结构和训练方法,提高系统的泛化能力和持续可学习能力,让每一次数据标注都成为人类对机器的宝贵指导。
By:清华大学 王东