公司动态
返回

浅谈机器如何做选择

作者: AI工程师 周醒烁  2017-11-04
说到人工智能,其中一个不可避免的问题就是如何让机器自己做选择,在这里我们拟用一套规则去存储、推演及传导,称之为指向性情绪。指向性情绪不仅包含了类似我们三观中的价值观和人生观的信息(此两者的形成均依赖世界观),还具有我们对不同的人或动物的一种态度,如同情、厌恶、鄙夷等。这里对于指向性情绪介绍,我们将从一个正常人的三观形成去入手,通过类比的方式让机器人通过归纳来形成世界观,再结合人为设定的人生观,让机器人形成自己的价值观,并存储在指向性情绪中,然后进一步讨论除了人生观和价值观外,指向性情绪还需要储存一些数据以达到机器人实现自主选择的功能。最后还讨论了指向性情绪的其他维度的简单生成。



世界观
一个人的世界观是由他所感知(五官感受)到的世界所决定。
首先,他需要感知世界,然后把自己得到的东西进行记录并归纳,然后再通过演绎、推理生成的结论去对他将要感知到的事实进行预测或者对他已经感知到的事实进行解释。

 
从上面我们可以看出,每个人的世界观其实都是带有偏见的,并且由于我们所感受到的现实是具有欺骗性的,这也就导致我们并没有办法真正的感知到我们所处的世界,或者说我们所感知到的世界是经过我们大脑处理后的结果。这里我列举两个“欺骗”的例子,其中一个“欺骗”就是来自大脑的欺骗,设想一下如果现在你正在被外星生物绑架做某种实验,他们不断往你的大脑中输送不同的感觉,这也可以让你感受到不同的事实,所以你并没有办法辨别这些感觉到底是由你的感官所感受到的还是被直接传输到大脑的,这也可以解释为什么我们做梦的时候会觉得梦境是真实的。另一个“欺骗”是来自你的经验,它可能是你的信念,也可能是信念经过推理后的结论,举个例子,假设你面前现在有个抽屉,打开抽屉,里面有一个苹果,那么当你关上抽屉的时候,苹果还存在么?大部分人的答案应该是存在,但实际上这是你的经验在诱导你得出这样的结论,你认为苹果在抽屉里并且没有其他外界因素导致它消失,所以苹果应该是一直存在的,但之所以说它不是事实是因为你现在并没有看到在抽屉里的苹果,换句话说这个结论并不是你通过五官感受所得到的,而只是根据你积累的经验获得的结论。
类比于人类的世界观,由于目前对于机器人的五官感受是极难实现的,视觉、听觉的感受多数通过深度学习来实现,并且大部分看起来效果欠佳,所以我们采取的方式是通过把原来应该由五官感受到的东西直接写入了机器人的思维中,即我们通过定义机器人世界(思维)里的“事实”,来决定机器人世界观。那么我们又应该如何来定义机器人世界里的“事实”?
结论很简单,机器人世界里的“事实”就是我们想要看到的机器人展示出来的效果和我们想让机器人知道的事情,前一个是预测事实,后一个是既成事实。
定义完“事实”之后,现在我们需要对“事实”进行归纳,还是由于机器人本身不具有五官的感受的原因,所以我目前能想到的只能是对于“吃香蕉使人身体健康”、“吃苹果使人身体健康”等简单的因果型的事实进行归纳,得出“吃水果使人身体健康”的结论,而对于“太阳从东边升起”、“球会从高处落下”等直观型的事实,我认为可能要等到后面加入感官的识别才有可能做到(虽然对于后一个加入感官识别好像也很难做到)。
归纳的具体实现流程
“吃香蕉使人身体健康”                                 ————语句①
当机器人读到上面这条数据时,假设我们数据库中有下面这条知识:
“吃苹果使人身体健康”                                 ————语句②
我们首先进行语句①中的元素拆分,然后通过“使人身体健康”找到数据库具有同样信息的语句②“吃苹果使人身体健康”。然后再将语句①中的“吃苹果”和语句②中的“吃香蕉”进行行为是否相同的判断,这里都是“吃某个东西”所以判断是相同的行为,最后判断两个行为对应的东西进行是否有共同母类的判断,如果有则生成其最小共同母类(在这里就是“吃水果”),然后生成
“吃水果使人身体健康”。                             ————语句③
这里之所以用最小共同母类是因为后面要用得到的结论进行演绎,为了保证得到结论的正确率较高(这只是我们猜想),所以用最小共同母类较好(母类是指类似“香蕉”、“苹果”都属于“水果”母类,“白菜”、“西兰花”都属于“蔬菜”母类。而最小共同母类则是指,对于A的母类C,也是B的母类C,并且不存在D,使得D是A的母类,D是B的母类,并且C是D的母类。这里的C就叫做A和B的最小共同母类)。
 
我们再来看一个更进一步的例子:
“peter扶老奶奶过马路所以peter有爱心”                   ————语句①
当机器人读到上面这条数据时,同样假设我们数据库存在下面的信息:
“mike扶老奶奶过马路所以mike有爱心”                    ————语句②
这里我们首先要将语句①中的结论“peter有爱心”进行一次抽象判断,比如其中的“peter”可以抽象到其母类“人”,然后再将语句①中的果“peter有爱心”除去可抽象的那个(或那几个)位格以外的所有位格(在这里就是“有爱心”)去搜索数据库,也就是说用“有爱心”找到语句②“mike扶老奶奶过马路所以mike有爱心”。然后再按照之前的判断“peter扶老奶奶过马路”和“mike扶老奶奶过马路”是否是相同的行为并且可抽象的对象(即“peter”和“mike”,下同)是否具有最小共同母类,还有“peter有爱心”和“mike有爱心”中可抽象的对象是否具有相同的最小共同母类。如果结果都是有,则生成新的数据
“人扶老奶奶过马路所以人有爱心”。                      ————语句③
 
这里我们可以考虑进一步推广所得的结论,如果两个事件中除了可抽象位格以外的所有位格都相同,并且所有的可抽象位格都具有最小共同母类,那么我们可以用它们的最小共同母类代替其本身以得到一个新的信息作为归纳的结论,这里由于篇幅限制不作展开讨论。
 
因为这里只要有2条类似信息就可能会归纳出一条结论。所以可能会有人对于归纳的结论是否是事实甚至是否具有意义而产生怀疑,所以我这里首先要解释归纳的结论并不需要成为事实。
首先,归纳其实是基于大量事实进行总结然后再用其他事实去证实你所得到的结论,但由于你有时永远无法将所有的事实都列举全,所以即使有多少可以证实归纳结论的事实存在,也并不能说明你这个结论就是正确(但是可以通过结论演绎的结果去预测事实,这两者并不矛盾)。比如说,众所周知的欧几里得第五公设,即过平面上一条直线外一点,有且仅有一条直线与已知直线平行。但是这个结论没有办法被证明,但同时在欧式几何中它也没有办法被证伪(因为过一点有无数条直线存在,所以我们不可能把所有的事实都列举全,另一方面,我们目前为止都无法举出反例,所以它被认为是大众所认可的结论而作为欧式几何五公设之一)。
其次,对于一个结论,如果你举出了反例,也只是证明了这个结论在某些辅助假设下的结论是不正确的,也就是所谓的奎因-迪昂问题。举个简单的例子,我们都知道水的沸点是100°C,但是如果你做实验发现水并不是在100°C沸腾,那么是我们的结论错了么?并不是,你通常会解释,可能是因为容器没洗干净所以导致水中有杂质,或者是我所在地方的气压要低于1标准大气压,也可能是我用的高压锅(假设你具有透视功能能透过高压锅看到水沸腾)等一系列的辅助假设。
所以说我们可以通过设置不同的辅助条件来达成不同的机器人世界里的事实,比如,我们通过前面的归纳得出“吃水果使人身体健康”的结论,但这并不与“吃太多水果使人消化不良”在现实(这里指的是我们的现实,而不是我们定义的机器人的)中相矛盾,因为“太多”在我们这里就是一个辅助假设,至于在机器人的世界中则是作为两条不同的知识归纳,自然也不会存在矛盾一说。
当然,如果能够引入谓词逻辑的话,我们可以考虑把这两条知识进行进一步的整合。
最后我想说的是,其实所有我们得出的“正确的结论”(信念)都包含的一个默认的假设,也就是“根据过去的经验,将来也会和过去一样”[2](我们所有的经验都是来自于过去的既成事实,它们其实并不能用来证明未来也会这样,但是却可以预测未来和解释未来,事实上我们也是如此做的)。
但这里确实有可能我们归纳出来的结论并不是我们想要的,所以我们在测试的时候可以考虑将所有归纳得到的结论通过人为的判断决定是否将其生成的结论放入到数据库中。
 
归纳完之后,我们可以将所得的结论进行演绎,如“吃水果使人身体健康”,将其中的“水果”进行演绎可以得到母类“水果”的一系列子类如“香蕉”“苹果”“橘子”等等,将其替换掉“水果”即可得到演绎的结论。
至于推论,主要是基于三段论,我们目前通过因果链条进行推论,如假设我们数据库中有“吃水果使人身体健康”,当我们输入“peter经常吃水果”时会推理出“peter身体健康”的结论,当然这样的结论在开始时是有漏洞的并且可笑的,不过我们可以通过后面引入命题逻辑使得推导出结论更加严谨。
 
至此,我所想介绍的机器人的世界观就建立完毕了。
 
在世界观的最后,我想再说一个对于机器人感官的大胆猜想,对于机器人的感官可能更多的是要依靠深度学习对图像语音等识别,将我们的每一个具体的概念(如苹果的味道,知了的叫声,天空的颜色)与一个视频片段相绑定(也许有些概念只需要图片和音频,但是对于举手这样的动作,可能还是需要绑定视频,然后通过2个视频一些关键帧数的图片识别,比如通过开始手是放下的,后来手是举起,进行举手这个动作的识别)。从而能够让机器人自己识别一些行为、物品等概念。
 
人生观
一个人的人生观就是指你想成为什么样的人。
一般来说,我把人生观分为先天对某事物的喜好(也可以称为天赋)形成和后天受他人影响形成(比如说你看到一个钢琴大师在演奏钢琴,你也想成为一名钢琴大师在台上演出)。无论他们的是以何种方式影响你的,但最终都是导致了一个结果,就是你想成为一个什么样的人。比如你是想成为一个画家,画出能够描述心灵的图画;或者是成为一个钢琴师,通过双手弹出醉人心弦的乐曲;也可能是成为一个商人,获得一辈子花不光的财富;还可能是政治家,享受所拥有的无上权力。
一般来说,一个人的人生观先天形成了之后,会根据自我思考不断的修正和完善,比如我小时候可能想当一名科学家,但是长大后我可能只想当一名程序员。而对于人生观先天形成的原因,我想先引用达尔文在其著作《物种起源》中提到过的一个例子“有的猫爱捉大耗子,有的猫爱捉小老鼠……据知,爱捉大耗子而不是小老鼠的倾向是遗传的。”[1]并结合其后面对于自然选择的讨论。使得我在这里作出一个大胆的假设,即我们究竟是喜好音乐或者是喜好绘画来自于我们历届父代的基因遗传,而历届父代的基因则记录了其所经历的事情,所以我们父代经历的某种事件越多则经验越丰富,因此遗传到子代就会表现出相应的喜好,我猜测这也就是为什么会有书香门第,虎父无犬子等说法的原因之一,当然这其中后天的耳目渲染也是必不可少的,但是不得不承认其中也不乏一些从小便天赋异禀的人。由于近代社会的稳定性,所以大部分喜好并不会影响人类的生存,所以我更倾向于将喜好这种特性(也许是性状)类比到生物的多态性(即如果某种生物表现的一个性状对于这种生物在自然界的生存是无益处亦无害处的,那么这个性状会在自然选择中遗留下来)。而且当我们做自己喜好的事情时,都是会影响情绪的(比如带来愉悦),所以我进一步猜测也许这些基因是记录在大脑中与情绪相关的某一位置。所以也许最开始我们对于每一件事的感受都是一样的,但是大量的经验被记录然后遗传后导致我们对于不同事物的态度发生了改变。然而我们目前对于这样的流程并不清晰,如果真如我所假设的那样,那先天对某事物的爱好需要通过大量的经验去获得,这显然也是我们目前所无法做到的,所以我们目前对于人生观采取的是通过先天定义。
比如我们可以去定义某个机器人要成为一个科学家。

 
假设在我们的知识库里有这样2条知识:
peter读科学杂志然后peter成为了科学家。
     ————语句①
mike读科学杂志然后mike成为了科学家。
     ————语句②                           
由我们前面世界观所提到的归纳则会生成
人读科学杂志然后人成为了科学家。
     ————语句③                                   
 
首先机器人接收到我们输入的“你要成为一个科学家”时,一方面会自动将数据库中所有与“成为科学家”相关的信息设定一个较高的判断值(以下称之为指向性情绪衍生效用),目的是将来机器人做出选择的时候可以优先选择判断值较高的事情。这时“人成为了科学家”就拥有了一个较高指向性情绪衍生效用,然后再通过上面生成的因果型的语句③进行指向性情绪衍生效用传导,使得“人读科学杂志”也同样拥有一个较高的指向性情绪衍生效用,这样就导致以后机器人在选择书去阅读的时候会优先选择“科学杂志”这个母类的子类。
另一方面,通过“你要成为一个科学家”,我们会通过“科学家”的定义去找寻,这里假设科学家的一个定义是“热爱科学的人”(这里我们定义通常用固定格式的“热爱XX的人”进行表示,这样方便对于其中的XX进行演绎),再通过对其中“科学”的演绎,就能得到一系列对象,比如这里“科学”的子类可能包含“数学”、“物理”、“化学”,那么我们通过输入“你要成为一个科学家”就可以使得机器人对于“数学”、“物理”、“化学”都会有一个较高的指向性情绪衍生效用,这样就导致了机器人在之后碰到有关以上学科的事情时会有一个倾向性的选择。类似的我们还可以去定义机器人要成为一个热爱运动的人,机器人要成为一个热爱做饭的人,机器人要成为一个热爱看电影的人。其中第一个会使对象“运动”与其子类获得一个较高的指向性情绪衍生效用,后两个则是使这个行为获得一个较高的指向性情绪衍生效用。类似的与之相反我们还可以通过定义机器人不要成为的人以获得一个较低的指向性情绪衍生效用以避免机器人做出一些选择,如:机器人不要成为一个热爱玩游戏的人,机器人不要成为一个热爱暴力的人。
 
价值观
一个人的价值观决定了他如何进行抉择。
我认为一个人的价值观有一部分是由他的人生观决定的,他选择做什么样的人,就会具有相应的相应的价值观。比如当你想成为一位音乐家的时候,那么可能在吃饭和作曲之间你会选择作曲;你想成为一名商人的时候,那么可能你在赚钱和锻炼之间更倾向于赚钱;当你想成为一名厨师的时候,那么你可能在美食和绘画之间你更倾向于选择美食。
但是仔细想想,好像人生观也就决定了指向性情绪衍生效用中的两种,一种对行为的指向性情绪衍生效用(吃饭,作曲,赚钱,绘画),另一种则是对对象的指向性情绪衍生效用(金钱,友情,数学,化学)。除此之外的指向性情绪还有,对事件、对属性、对人/动物的指向性情绪。
 
对属性的指向性情绪衍生效用应该是通过对对象的指向性情绪衍生效用进行传递,例如我因为喜欢周星驰的作品而导致我喜欢上喜剧片(这里首先需要你对某一类对象的属性和属性维度有所定义)。
对事件的指向性情绪衍生效用目前除了先天定义之外,还可以通过因果型的事件进行传导,比如“peter打了我所以我和peter不再是朋友了”,即根据行为“peter打了我”的指向性情绪衍生效用传导到“我和peter不再是朋友了”这个事件的指向性情绪衍生效用上。
对对象的指向性情绪衍生效用除了来自于人生观的设定的以外,具体对象的指向性情绪衍生效用可能还来自于某个特定的事件中的其他对象/人/动物的指向性情绪衍生效用扩散或传递,比如:这个玉佩是我爷爷遗留给我的,实际上是把对爷爷的指向性情绪传递到了这个玉佩上,这个我们将在后面和对人/动物的指向性情绪中一起考虑(这只是一种特例,而对于“苹果的种子能种出苹果”,然后由“苹果”的指向性情绪衍生效用扩散到“苹果的种子”的指向性情绪衍生效用上,我们目前还无法做到,这个可能要考虑句意的进一步理解。
对行为的指向性情绪衍生效用除了来自于人生观的设定的以外,还可以通过世界观和人生观相结合得到,不过目前这类指向性情绪衍生效用传导可能还是要通过固定形式的语言,比如通过定义“你要成为一个热爱健康的人”,使数据库中的信息“吃水果使人身体健康”获得一个较高的指向性情绪衍生效用,然后再传导到“人吃水果”这个行为,使这个行为具有一个较高的衍生效用。(其实行为的指向性情绪衍生效用还会因为动作本身和动作涉及的对象有关,比如“喝咖啡”这个行为指向性情绪衍生效用是来自“咖啡”的指向性情绪衍生效用的扩散,但有时又并不是这样,比如我们定义的机器人是一个热爱化妆的人,那么对于“化妆品”的指向性情绪衍生效用就会很高,但是显然“喝化妆品”的指向性情绪衍生效用并不能通过“化妆品”的指向性情绪衍生效用来进行扩散,后面我们可能考虑让机器人通过“喝化妆品”导致的事件来修改机器人对“喝化妆品”这个行为的指向性情绪衍生效用,或是通过定义“咖啡”是食物,所以可以传导到“喝咖啡”的指向性情绪衍生效用上,而“化妆品”不是食物,所以不能传导到“喝化妆品”的指向性情绪衍生效用上,但就目前来说,对行为的指向性情绪衍生效用的扩散还是只通过人生观扩散比较好。)
 
我这里将对人/动物的指向性情绪作为一个特例从对对象中分离出来单独介绍的原因主要有两方面,一方面是因为人/动物除了指向性情绪衍生效用外还具有喜欢厌恶同情等指向性情绪维度,另一方面人/动物本身是具有行为的,而对象是不具有,简单来说,我会因为你对我的行为和态度而改变我对你的指向性情绪,所以这一项是不能简单作为对对象的指向性情绪仅仅只从设定人生观中的获得的(当然你一定要设定机器人成为一个对所有人都善良的人也是可以的,但我这里的意思是除此之外应该还有别的来源。)由于目前我们的机器人尚不具备语气的识别或从语义中读出对方对自己态度的能力,所以我们暂时不考虑语言的影响,只讨论行为的影响。我们考虑通过A和B之间发生的行为,改变A对B与B对A的指向性情绪,比如peter给了我一只猫,那么我对peter的指向性情绪会受到我对猫(抽象)的指向性情绪影响,并且我对猫(具体)的指向性情绪会受到我对peter的指向性情绪影响等等,但这个和peter给了我一拳,peter踢了我一脚是不一样,所以我们可能需要通过设定动作本身的含义来影响指向性情绪的扩散,但是由于动作本身也是通过感受去理解的,同样机器人目前也并不具有这种能力(参照世界观)。考虑到一个简单的行为一般都是由主谓宾和宾补(如果存在)组成的,那么我们可以考虑通过先天定义一个动作的事件然后导致的主语、宾语、宾语补足语之间的指向性情绪改变来近似的理解这个事件(行为)。这里我们对于“给”这个行为,可以参照如下方式改变指向性情绪。(并且这里的指向性情绪是双向的,对于下一步生成多个机器人交互的指向性情绪表也有帮助)
 
当A给B礼物C的时候(当C是一个对象,非动物)
B对A的喜欢程度(新)=B对A的喜欢程度(旧)+B对C(抽象对象)的衍生效用;
A对B的喜欢程度(新)=A对B的喜欢程度(旧)+B对C(抽象对象)的衍生效用-A对C(具体对象)的衍生效用;
B对C(具体对象)的衍生效用(新)=B对C(抽象对象)的衍生效用+B对A的喜欢程度;
 
当A给B礼物C的时候(当C是一个动物)
B对A的喜欢程度(新)=B对A的喜欢程度(旧)+B对C(抽象对象)的衍生效用+B对C(抽象对象)的喜欢程度;
A对B的喜欢程度(新)=A对B的喜欢程度(旧)+B对C(抽象对象)的衍生效用+B对C(抽象对象)的喜欢程度-A对C(具体对象)的喜欢程度-A对C(具体对象)的衍生效用;
B对C(具体对象)的喜欢程度(新)=B对C(抽象对象)的衍生效用+B对C(抽象对象)的喜欢程度+B对A的喜欢程度;
其中A、B均为机器人或人,如果为人的话,则其不存在对机器人的指向性情绪。假设C是苹果,抽象对象是泛指苹果这类水果,而具体对象则是指这个苹果,当具体对象不存在指向性情绪的时候会从抽象对象那里继承来。
 
接下来我想谈一些对于对人/动物的指向性情绪其他维度的想法,但是在这之前我要先定义一些数据以便能够更好的阐述我的想法:
首先我需要定义几个母类,分别是“高尚的行为”、“弱者”、“自私的行为”和“可怕的行为”,它们下面有各自所包含的一系列子类,我这里仅举一些简单的例子,比如“高尚的行为”包括“扶弱者过马路”“为弱者让座”等,“弱者”包括“小孩子”“老奶奶”“残疾人”等,“自私的行为”包括“抢了弱者的座位”、“挤开弱者上公交车”等,“可怕的行为”包括“经常打人”等。
其次我需要定义一个事件对主语的效用,“A的钱包丢了”这个事件对于主语的效用是负的,与之相反的“A买彩票中奖了”则对于主语的效用是正的。这里的事件对主语效用可以理解为对于同一个事件对于大部分不同的主语有着相同的效果,它的意义和我们所定义对事件的指向性情绪衍生效用其实是一样的,但由于我们目前的数据量的限制,并不足以支撑对于每一个人/动物都维护一套各自指向性情绪,所以我们考虑将除了机器人以外的人/动物对于某个事件的衍生效用采用以上这种类似大众化的定义方式以简化流程。
而对于指向性情绪维度除了之前的衍生效用外,我认为还应有喜欢、同情、畏惧、尊敬、鄙夷、愤怒:
喜欢可以通过行为的高衍生效用来近似转化。如:A对B做了某个行为,这个行为对B的衍生效用越高,则B对A的喜欢增加的越多。喜欢的负值则代表厌恶。
当A作为一个事件的主语,并且事件对主语的效用为负的事,会增加机器人对A的指向性情绪中“同情”(比如“A的钱包被偷了”),此外,如果这时机器人对A不厌恶(喜欢值大于等于0)将会导致机器人关心的询问A是否需要帮助。
当“A经常打人”时,会判定为“可怕的行为”,从而会增加机器人对A的指向性情绪中的“畏惧”和“愤怒”。
当“A挤开小孩子上公交车”时,这时判断“小孩”属于“弱者”,因此该行为属于
母类“挤开弱者上公交车”,故判定为“自私的行为”,会增加机器人对A的指向性情绪中的“鄙夷”和“愤怒”。
当“A扶老奶奶过马路”时,这时判断“老奶奶”属于“弱者”,因此该行为属于
母类“扶弱者过马路”,故判定为“高尚的行为”,从而会增加机器人对A的指向性情绪中“尊敬”。
除此之外,指向性情绪之间应该还存在相互的影响:
比如尊敬会增加喜欢,鄙夷会减少喜欢,喜欢会增加同情等。
 
人工智能是一个广泛涉猎各个学科的概念,对其的思考也将会导致我们对自身产生思考。而机器选择仅仅只是人工智能中微乎其微的一个分支,但在对其思考的过程中还是不由的感叹人类做出简单选择背后的原因竟如此之复杂。
 
参考文献
[1]作者:达尔文. 书名:物种起源(第二版). 翻译者:苗德岁. 出版地:南京. 出版社:译林出版社. 出版年:2013年10月. 起止页码:73-74.
[2]作者:理查德·德威特. 书名:世界观(第二版). 翻译者:李跃乾、张新. 出版地:北京. 出版社:电子工业出版社. 出版年:2014年1月. 起止页码:61-62. 

  • 扫一扫关注微博
  • 扫一扫关注微信
联系方式
联系电话:0571-86656253
商务合作:137-9512-3159
E-mail:business@galaxyeye-tech.com
地址:杭州市滨江区长河街道滨安路650号 ix-work A幢2302

©2015. All Rights Reserved. 杭州北冥星眸科技有限公司 ICP 05050919