陈小平教授从精确性和灵巧性两个方面深入分析了机器人过去取得的成就,及将来面临的挑战。以下是陈教授的演讲实录(为使文章简介规范,略有改动):
机器人从精确性向灵巧性转变
对于机器人的发展,我们一方面结合国家战略需求和市场的需求研发机器人;另一方面,根据我们了解的全球机器人技术都取得了什么样的成果,能够支撑什么样的应用,来衡量技术的有效性。当把两个方面放在一起时,我们发现,机器人现在需要有一个根本性的进化,这就是逐渐从精确性进入到了灵巧性。
回顾一下机器人产业的历史。1961在通用汽车生产线上用了工业机器人,到现在56年了。人工智能领域到现在已经做了60多年,取得的成果国内比较关注的是阿尔法狗,但西方民众开始重视人工智能是在1997年,当时IBM的深蓝战胜了十年棋王卡斯特罗夫。所以,对西方人来说,他们感受到人工智能超过人的时间比我们早20年。但是为什么工业机器人能够成功,而所谓的智能机器人到现在还不成功?
工业机器人回顾
其实工业机器人是比较简单的,其硬件本体基于关节-连杆机构,用运动学来计算关节的角度,保证机械臂的末端能够达到指定的位置。这很容易给人带来一个误区,觉得机器人的成功完全是因为机械臂的精确性,其实不是这样的。
近几年我们到很多生产现场去实地学习,发现生产线上还需要大量辅助设备,其中一种叫夹具。夹具相对于机器人来说古老得多,这个领域有很多成熟的技术。一般来说,在国内,一条生产线只有1/3到1/5的开支是机械臂的,其它的都是这些辅助设备的,包括夹具的。在国外,他们的加工精度更高,所以他们辅助装备的开支占比更大,只有1/5到1/8是机械臂,其它都是辅助设备的。我们这样全面的一看才发现:工业机器人能够成功,并不是单纯的因为机械臂的精确性,还要加上环境的精确性。环境怎么能精确?必需经过精确化改造,也就是说造一条生产线,以保证生产线上的每一个操作对象(如工件)在任何时刻都被精确定位,使得机械臂和其他加工设备可以精确地进行操作。这才是工业机器人的一个完整图像。
传统主流控制策略
工业机器人背后的技术主要是控制技术。传统的主流控制技术有四种:优化控制、适应性控制、Robust控制,这三种都试图让机器人有一定的灵活性或者灵巧性,第四种叫分层控制。当问题太复杂了,就需要分层控制了。
各种传统控制策略背后的原理,其实就两种。
第一种是基于决策论的精确控制,也就是基于马尔可夫决策过程理论的控制原理。这种原理对问题做了一个抽象,把实际问题抽象为状态集、行动集、回报函数和概率转移函数四个基本构件。在这套基本构件的基础上,引入一些数学规划的方法。首先定义值函数,值函数是评价一个动作的价值的。值函数怎么计算?原始的办法是用贝尔曼公式,后来有很多种改进的计算办法。有了值函数,就可以计算最优策略,从而决定在什么状态下执行什么策略最好。决策论的一个基本要素是概率转移函数,概率转移函数在马尔可夫决策里扮演了关键性的角色,后面的值函数和最优策略求解,都依靠概率转移函数,没有它后面的事情都干不了。这套体系在理论上有很多成果,但在实际应用中,根据我们的观察和了解,得到一个大规模实际问题的可实用的概率转移函数是非常困难的,鲜见成功实例。也就是说,这套理论假定了一种数学机制,但那个机制在大规模实际问题中通常是得不到的。
那么,工业机器人实际上是怎么干的?就是用运动学和动力学来简化决策论模型,关键是把概率转移函数给取代了,这样就没问题了。这样做的效果是达到了精确性,但很大程度上丧失了灵巧性,因为在马氏决策论体系中,没有概率就无法表达不确定性。因此,在工业上实际我们用的是运动学、动力学这套办法。
还有一种是基于模糊数学的模糊控制。模糊数学也可以用一段话来概括,核心思想是用实数区间[0, 1],即用连续统上的分类/建模替代二值布尔分类/建模。比如讲台边缘能精确测量吗?不能。那么按照模糊数学,对桌面边缘上的每一点,给它一个隶属度。比如给它1,表示这一点肯定在桌面上;给它0,肯定不在桌面上;其他情况,用隶属度大小表示在桌面上的模糊度。隶属度和马氏决策论中的概率转移函数一样,对于大规模实际问题很难得到实用化的隶属度。
智能技术回顾
1997年,IBM的深蓝打败了卡斯帕罗夫,当时西方人和我们看到阿尔法狗打败李世石是一样的,感觉天都塌了。深蓝的核心技术是前瞻至少14步,对前瞻得到的棋局用专家的知识做判断,选择最有利的走步。这么简单的办法计算量非常大,所以用了人工智能的一种技术叫剪枝,把前瞻棋局减到了600亿个,但还是算不过来。
人工智能硬件什么时候开始做?深蓝就开始做了,不是现在才做。许峰雄做了专用的芯片,计算国际象棋棋局的评价,一秒钟算5亿个棋局,600亿个棋局5分钟就算完了,可以用于比赛实战。这套技术看上去很简单,但是意义非常重大,我把它的意义总结为“许峰雄不等式”:
人工智能+专家+高性能计算>顶级专家
其中“人工智能”就是搜索技术、剪枝技术,高性能计算就是那些芯片,专家是加入深蓝小组的一些国际象棋大师级棋手。所以,这件事意义非凡,这是人类历史上第一次人工智能在复杂博弈问题上战胜人类。在这一点上,深蓝的贡献超过了阿尔法狗。
下面就到围棋了,看一下阿尔法狗是怎么做的。两个所谓的“大脑”就是两个神经网络。这样一说其实又容易给我们造成一些误区,好像阿尔法狗技术跟以前的人工智能博弈没有关系,其实不是的。这两个网络在理论上都是我前面跟各位介绍的决策论模型中的东西,都是马尔可夫决策里面的东西。但是它是有创新的,通过引进机器学习技术,直接学习Policy network和Value network,绕过了概率转移函数,直接学出了回报函数,根本不去学概率转移矩阵。也就是说,现在阿尔法狗也还是学不了概率转移矩阵,所以它绕过去了。但新闻报道里没有人说这个事,说的都是深度学习。其实深度学习技术支撑了阿尔法狗的理论创新。
我们分析人工智能获得成功的领域,发现都有一些共同的特征,一个是确定性的,比如下棋就是确定的,一个子落在哪里不能含糊。还有一个是规则化,下棋一定是有明确规则的。第三,环境也是结构化的。在这三个条件成立的场景中,人工智能已经可以超过人。但三个条件之一不成立,人工智能就不行了。
当然我们也得留一个尾巴,做阿尔法狗的公司是不是有一些没有公布的东西,而那些东西能够超越这三个要求,超越固定性、规则性和结构化的局限仍然可以战胜人类?如果有这样的技术,那是非常强大的,同时也就变得非常危险。但目前我们看到的已经公开的技术是无法超越的,现有成果是在这三个条件下的科技创新。
机器人应用的新需求
既然是有条件的,在这些条件下,这些新的智能技术能不能用来满足机器人应用的新的需求?举几个例子。一个是家庭服务机器人,这张图是服务机器人的比赛,现在服务机器人还没有在家庭里应用。这张图里有一个人在家里摔倒了,你不知道摔在什么地方,没有夹具把他夹住的,机器人要去找,要观察他是不是真的倒了,倒的是一个人还是一条狗。找到以后先通过对话询问,你感觉好不好?是自己累了在地上躺着休息休息,还是需要我帮助?如果需要帮助,需要什么帮助?是需要拿药,还是抱起来?抱起来现在还不容易做到。这个比赛显然跟工业机器人完全不一样,环境没有精确化,环境中的对象都得靠机器人自己去感知,而且是变化的,比如人每次摔倒的位置可能都不一样。所以家庭应用真的是挺难的,但确实是人类所需要的。
还有一个更难一点的应用,即救援机器人,救援比在家庭里提供服务更复杂。你执行了一个动作,这个动作的结果是什么?你事先是不知道的,没有办法确定的。很多复杂的环境因素决定了行动的结果。这就是所谓的“不确定性”。当前国际人工智能最大的挑战就在于不确定性问题。救援就是不确定性问题的一个非常好的例子。
精确性-灵巧性谱系
这张图中,工业机器人具有最大的精确性,最少的灵巧性。再看手术机器人,它和工业机器人不是同类,却也很成功,为什么?因为手术机器人也是主要靠精确性的,灵巧性很少。手术前医生为患者打麻药,再捆皮带,确保患者在手术过程中不会乱动,而且很多手术机器人是人来操作的,这样就多了一些灵巧性。
最右边是家庭服务机器人,需要很大的灵巧性。在它的右边是救援机器人,救援机器人我都没画到图里。农业机器人比家庭机器人需要的灵巧性要少一些,精确性稍微多一些。这样一看,农业机器人的投资方向非常好。因为农作物在播种前可以对田地做一些安排,所以农业生y产其实是一个半结构化环境,因此农业机器人难度是比较低的。智能制造需要更多的精确性,相对少一点的灵巧性。智能制造精确性和灵巧性都需要的比较多,所以比农业机器人还要更难一点。
最有意思的是中间的自主无人驾驶汽车,出来两条线,左边一条线需要比较多的精确性,这代表自主驾驶的理想状态,包括两个方面的要求。一个是路况和所有的交通标识,要求自动驾驶所需要的交通标识都能够被无人车传感器得到。另一个是周围其他的车辆和行人都遵守交规。这两个条件都满足了,无人车是很简单的,现在的技术就能实现。但实际上这两个条件很难满足,特别是在中国,不遵守交规的太多了,有的地方交通标识也不是很清晰,有的被破坏了。这就是现实状态,需要很大的灵巧性(灵敏性、灵活性)。所以在中国做全自主无人车是非常了不起的。
机器人新应用挑战
传统机器人依靠精确性,新的人工智能依赖确定性。我们面临新的应用,需要用灵巧性处理不确定性。这是新的应用需求对我们提出的主要挑战。我们如果能在技术上对这种挑战想出一些好的办法,或者在工程上想出好的办法,那就可以满足新的应用需求。
需求是“家”,技术是“回家”的路。新的应用和老的应用是什么关系?老的应用相当于我们过去的“家”,新的应用相当于我们有了一个新“家”。但是人都有路径依赖性,我们不自觉的就会往老路上走。所以,现在大部分机器人的研发都是立足于精确性技术途径的。我理解这是一种路径依赖性。
中科大研究的灵巧机器人技术
针对我们面临的挑战,中科大发展了一套灵巧性技术。这里用一个例子加以说明。
假设想让机器人给我送一杯水,放桌边,离我越近越好。但是,由于存在感知误差和操作误差,在误差区域内是不能放东西的,那我们就不在那个区域放。所以在很多应用里,特别是在很多新的应用里,是不需要太精确的,有些危险的区域避开就行了。我们提出了一个框架:全局有一个粗略模型,机器人先按照粗略模型做一个全局决策,在执行全局决策的过程中根据任务需要进行局部观察,对全局的决策做局部调整,这样就不需要对桌面形状、边缘做精确的度量和建模,就能完成灵巧操作。
我们做过一个实验,用可佳机器人来操作微波炉,加热食品,整个过程都是机器人独立完成的,现在世界上还没有第二个团队完整实现过。这个实验和背后的技术体系也得过不少奖。最近我们提出了一个新的框架,将精确性和灵巧性相结合,再加上局部的深度强化学习。我们用新的框架重新开发了系统,开发效率大大提升了。
总结
当前我们所处的历史阶段,一个是工业机器人大规模的应用,已经成功了半个世纪。二是人工智能研究了半个世纪,现在也有一些新的发展,特别是以深度学习为代表的新技术达到了非常高的水平。新的应用需求要处理不确定性,处理不完全信息,具体表现为非结构化环境,这些需求和现有技术比较还是有一点差距的。不是说深度学习出来了以后,马上就能解决我们所有实际问题,其实不能完全解决。但是,如果我们转到灵巧性,转到以灵巧性为核心的技术体系,现有的很多技术可以组合起来,那就能达到很好的效果。