电脑可以轻松在国际象棋中取胜,并能够很快在其他零和游戏中成为人们的对手.因为教它们竞争很容易,但教它们合作和妥协就不一定了.
BYU 计算机科学教授 Jacob Crandall 和 Michael Goodrich 以及麻省理工学院和其他大学的同事创造了一种新算法,让机器的妥协和合作不仅变成可能,而且有时甚至比人类更有效.
研究人员使用 S# 算法对机器进行编程,并通过各种双人游戏运行它们,以了解它们在某些关系中的合作程度.该团队测试了机器之间,人机之间和人与人之间的相互作用.在大多数情况下,使用 S#编程的机器在寻找让双方都受益的妥协方面胜过了人类.
Crandall 说:"最终的目标是我们了解与人合作背后的数学,人工智能需要用什么来培养社交技能." 他的研究是关注人工智能需要能够对我们做出回应并阐明它在做什么,它必须能够与其他人进行互动.
这项研究最近发表在 Nature Communications 上,以下是对研究的要点介绍.
研究概述:开发能够与人合作的机器学习算法
自从图灵提出人工智能开始,技术进步往往是通过在零和博弈(例如,象棋,扑克或围棋)中,机器击败人类的能力来衡量.较少有人关注人机合作这一有利且重要的情景,例如人类与机器的利益偏好既不完全一致,但也不完全冲突的情景.要进行合作,需要的不是纯粹的计算力,而是由直觉,文化习俗,情绪,信号等等.
在这里,我们开发了一种将最先进的强化学习算法与信号传输机制相结合的算法.我们证明,这个算法可以和人,其他算法一起,在各种双人重复的随机博弈中,达到人类合作的水平.这些结果表明,通过使用一种重要但十分简单的算法机制,一般的人机合作是可以实现的.
算法与人合作的三大难点:通用性,灵活性和短时间内学习
开发出能够与人和其他机器长期合作的算法十分重要,但是难度也很高.一个成功的算法需要具备以下几个属性.
首先,不能仅针对特定领域,这种算法必须在各种情况下具有优越的性能(通用性).
其次,这种算法必须学会在事先不了解人的行为的情况下,学会与人和机器建立有效的关系(灵活性).而要做到这一点,它必须能够阻止其合作伙伴出现的潜在剥削行为,并在有利的时候决定如何从可能不愿合作的(可能不信任的)合作伙伴那里寻求合作.
第三,当与人交互时,算法必须在非常短的时间内学习有效的行为,你可以考虑自动驾驶的场景.这也带来了许多技术上的挑战,包括需要处理合作伙伴也在学习的情况,以及快速在重复游戏固有的大型战略空间中,对可能无限个均衡解决方案进行推理.
这些挑战加起来,往往导致人工智能算法不能与人或其他机器合作,尽管我们都知道合作会对算法的长期收益有利.
由于人在合作时通常靠的是 "谈话",研究人员便考虑也从这个角度入手,让机器能够在玩游戏的时候与人沟通.
他们事先确定好了一套语句(speech act),让机器在游戏的不同阶段,从这个数据库中选题合适的语句发送给人类对手,与对手建立关系,从而影响对手的行为.
他们的机器学习算法 S++,内部有一个算法动态策略的高级表示,而其动态策略能用底层专家的动态来描述.由于每个专家都能编码一个高层概念,S++ 就能产生描述其意向性的信号(也即游戏中的闲聊).S++ 还将把合作伙伴的言语行为与其内部的专家的概念相比较,从而改善对专家的选择机制. 通过这种方式,研究人员就增强了 S++ 的通信框架,让系统能够在游戏过程中生成闲聊,并且回应对手的闲聊.
新生成的算法 S# 架构示意图见下:
为了确定 S#与人建立合作关系的能力,研究人员进行了一系列用户研究,调查了 220 个参与者,共计进行了 472 次重复游戏.
结果发现,S# 确实能够与人合作.
该总结给出了每个算法相对于我们考虑的每个游戏长度的六个性能度量中的每一个的相对等级. 较低的等级表示较高的性能. 对于每个度量标准,算法分别排在 100 轮,1000 轮和 50000 轮比赛中. 例如,三元组 3,2,1 表示算法分别在 100,1000 和 50,000 轮游戏中分别排名第三,第二和第一.
研究意义
这项工作主要有三方面的贡献.首先,对现有的重复游戏算法进行了深入的比较.其次,开发并分析了一种学习算法,该算法将最先进的机器学习算法与特定的机制相结合,这些机制能够让算法在特定阶段产生响应,而这些响应能够被人类解读,有助于促使人类产生合作意愿.
最后,通过大量的模拟和用户调查,研究人员发现,这种学习算法学习能够与人类和其他机器在各种 RSG 中建立和维持有效的关系,这些关系与人类合作的水平相当,这是现有算法所不能达到的.
来源: https://yq.aliyun.com/articles/389216