深度学习在人脸识别中的应用 —— 优图祖母模型的「进化」

  腾讯优图隶属于腾讯社交网络事业群(SNG),团队整体立足于腾讯社交网络大平台,专注于图像处理、模式识别、机器学习、数据挖掘、深度学习、音频语音分析等领域开展技术研发和业务落地。

  序言——「弱弱」的人工智能

  说到人工智能(Artificial Intelligence, AI)人们总是很容易和全知、全能这样的词联系起来。大量关于人工智能的科幻电影更给人工智能蒙上一层神秘的色彩。强如《黑客帝国》、《机械公敌》中的AI要翻身做主人统治全人类。稍弱点的《机械姬》里 EVA 懂得利用美貌欺骗中二程序员,杀死主人逃出生天。最不济也可以蠢萌蠢萌的像 WALL·E 能陪玩、送礼物还能谈个恋爱。

  其实人工智能这个词在 1956 年达特茅斯会议上正式诞生时,目标就是想要让机器的行为看起来像是人所表现出的智能行为一样的「强」人工智能。然而人工智能的研究是高度技术性和专业性的,各分支领域都是深入且各不相通的,因而涉及范围极广。正是这种复杂属性,导致人们对人工智能的研究进程总是磕磕碰碰,反复地经历过分乐观的浪潮与极度悲观的寒冬。时至今日,想要完成全知、全能的强人工智能仍然只是一个长远目标。

  虽然目前的技术水平还远不能实现强人工智能,但在一些非常特定的领域里,弱人工智能技术正在经历前所未有的迅猛发展,达到或已超越人类的最高水平。例如深蓝、Alpha Go 分别在国际象棋和围棋领域击败世界冠军。例如自然语言理解、语音识别和人脸识别接近、达到甚至超越普通人的识别水平。虽然这些弱人工智能技术并不能真正地推理、理解和解决问题,但是面对特定的任务它们所给出的「判断」看起来是具有智能的。而正是这些看似「弱弱」的人工智能技术,在悄悄的改变人类生活的方方面面。它们以点带面完成越来越多的「简单任务」,为人们提供更加简洁、方便和安全的服务。

  人脸识别正是众多「弱弱」的人工智能技术之一。通过看人的面孔识别其身份,对每一个正常的人来说都是再简单不过的。如果强行将人脸识别的难度和下围棋来比,应该没有人会觉得人脸识别更难。然而从计算机的角度来看,至少在输入数据的复杂度上人脸识别是远超围棋单步走子决策的。如图 1(a) 所示,一张 Angelababy 的图像在计算机看来,其实就是一个数字矩阵如图 1(b)。数字矩阵的每个元素取值范围是 0-255 的整数。通常人脸识别算法所需的输入图像至少在以上,大的可能达到。理论上不同的可能输入共有种(每个像素的取值范围为 0-255)。而围棋任意单步走子的可能局面上限为(每个棋盘格只能有黑子,白子,无子三种情况),远远小于人脸识别。无论是围棋还是人脸识别,通过遍历完整的输入空间来做出最优的决策,就计算复杂度而言都是完全无法接受的。

物联网

  图1:数字化的人脸识别 VS. 围棋单步决策

  其实对几乎所有人工智能问题,如何通过更高层次的抽象来理解输入从而更快速的做出决策都是解决问题的关键所在。近十年来引领新一波人工智能浪潮的核心技术「深度学习」就是这样一种方法,它通过少则近几层多则上百层人工神经网络不断地对高维的输入数据块进行抽象与理解并最终做出「智能」的决策。单凭深度学习技术可能仍然难以完成全知全能的「强」人工智能,但它却是完成任何特定「弱」智能任务的一把牛刀。正是看到深度学习技术如此巨大的潜力,国际互联网巨头 Google,Facebook,Microsoft 纷纷抢先布局,国内互联网领袖BAT也不惜资源进行技术储备,作为腾讯内部顶级的机器学习研发团队,优图也投入精英人力专注于深度学习技术的研发与产品落地。

  本文着重以人脸识别为例介绍深度学习技术在其中的应用,以及优图团队经过近五年的积累对人脸识别技术乃至整个人工智能领域的一些认识和分享。

  回顾——人脸识别的「浅」时代

  在介绍深度学习技术在人脸识别中的应用之前,我们先看看深度学习技术兴起前的「浅」时代人脸识别技术。前面提到高维输入是所有类人工智能问题的一个普遍难题,学界称之为「维数灾难」(The curse of dimensionality)。其实在机器自动人脸识别技术研究的早期研究者们尝试过用一些非常简单的几何特征来进行人脸识别, 如图 2 所示(请原谅图片的质量,摘自 93 年的一篇人脸识别领域奠基之作[1])。