转载

pet,baby and bot

本文的想法来源于某一天对家里狗子Hare一些行为以及身边两个不到3岁的小朋友一些聪明行为的观察和思考,然后将这些行为和思考与当前流行的bot联系一下,形成了本文的内容。

首先,从pet聊起。我家养了一只聪明的小泰迪狗,心眼特别多,会撒娇会打滚会安慰人,非常聪明,他叫Hare。Hare从两个月大到了家里,从开始什么都不会,通过一天天地训练,学会了走、跑、跳、吃饭、喝水、上厕所、坐下、握手和哭。因为他的外婆(我的丈母娘)每天都和他说很多话,教他认识很多东西,所以他可以轻松地分辨出哪个玩具叫什么名字,可以轻松地理解我们说的很多话,不只是一些口令。当我说出门不带他玩的话,他会非常悲伤、可怜地开始哭泣(真的和小孩子哭一模一样);当我说带他出去的时候,他就会非常兴奋地上蹿下跳;当我说我要出门办事不可以带他的时候,他就乖乖坐在门口目送你走,不哭不闹。所以,我在想Hare应该不是简单地通过观察我们的脸色和语气来识别我们的情绪,他可能真的听得明白很多的话,但一定不是全部,因为他的知识很有限,对这个世界的认识也很有限。Hare的学习绝大多数是监督学习,通过一些正例和负例进行训练,大多数的训练用正例效果非常明显,唯独训练他上厕所,用了不少负例,让他吃了不少苦头,这也带来不少的好处,监督学习很花费时间,样本的量级很重要,通过大量的训练+激励让Hare养成了良好的习惯,成为了一只听话的pet。

我一直在思考一个问题,pet在听主人说话的时候,是听懂了某些他可以理解的关键词还是他确实听懂了整句话,到底是字面意思还是semantic level呢?我想他应该有一定的自主学习能力,做到举一反三可能很难,但举一反二还是有可能的,而不仅仅是从大量的examples中进行学习,确实能够理解一些简单的话,同一个意思的不同说法他都可以理解。科学的解释需要做些实验来研究,这里我有一些简单的解释,第一,他有大脑,虽然没有人类发达,但智商可以和5、6岁的孩子相媲美;第二,他的监督学习不仅仅是从query-response pairs这样的examples中进行,而是更多的维度,包括每一次action之后的激励reward,做对一次动作之后赢得一个奖励,做错了受到惩罚,他不仅仅从主人的语言中来理解意思,还会结合别的因素,比如语调、语境、前一个时刻他的状态等等,而且他可以看到主人的表情和动作,这些因素都可以抽象成一种context。Hare如果前一秒刚刚犯了低级错误,这一秒如果我拿一个零食的叫他过来来吃的话,他就会明白,这其中一定有诈,他一定不会过来,虽然我并没有表现出生气的样子。

pet的事情我们先聊到这里,接下来聊一聊baby的事情。

身边正好可以接触到两个不到三岁的小宝宝,一个男孩一个女孩,他们有很多聪明的行为都让我感到吃惊。先从小男孩说起,小男孩每次来一起吃饭的时候,都会给大家表演他的绝技——认车牌。走在路上,你随意指一辆车,他几乎可以不出错地说出这辆车是本田还是丰田、还是起亚,这是一个典型的有监督多分类学习任务,他的父母有意无意地教他认识各种各样的车,经过一定时间和example的积累,他不断地将准确率提升,可能大脑的发育和将deep learning模型不断地复杂化道理类似吧。学习的过程是积累知识的过程,小男孩慢慢地认识了越来越多的车子,当然这需要不断地教和学,但无疑他本身就是一个知识库(knowledge base),而且认识很多我都不认识的车子,所以当我问他那是什么车的时候,他总是能够给我一个不错的答案。

说完小男孩的事情,再聊一聊小女孩的事情。小女孩语言能力很强,可以说很多的话,而且很多话都非常的funny。基本上和小女孩聊天,就是一个有趣的问答过程,这里的问答不只是我问她答,还有她问我答。小女孩经常和我妈妈在一起,妈妈会教她认识各种东西,因为妈妈信基督教,会教她做祷告,保佑自己一生平安,所以说她不仅仅可以回答一些基本的认知问题,而且有自己的特殊技能,表演“祷告”,而且做的有模有样。她是个求知欲非常强的问题宝宝,她总是指着一个东西,然后开始问我,“这是个什么东西?”,她主动学习的欲望很强,这意味着她的知识库积累地很快。以上都是比较常规的,最值得思考的是她的创造力。她认识很多的动物,也知道怎么称呼这些动物,她根据家里每一个人的名字,起了相应的动物外号,这个不是谁教她的,是她自己说出来的东西;之前提到的祷告词中,原话应该是希望上帝可以赐给她一些聪明智慧,那天在给我们“表演”的时候说出来的是“给她弄一些聪明智慧”,我想这个“弄一些”一定是其他的地方学来的,但她迁移到了这个语境中,这个迁移能力是值得思考的。我们都说理解一个东西不算厉害,如果能够掌握或者控制一个东西才算真正的厉害,她如果只是简单地重复已经学会的知识,也并不稀奇,但她偶尔会有意地装糊涂,故意地说一些错的东西看你能不能识别出来她的错误,她对一些信息的掌握程度很高。

小盆友的创造力让人惊奇,有很多值得思考的地方,相比于pet来说,baby的学习能力更强,带给人的惊喜度更大。chatbot,一个热门的topic,一个大家每天都在谈论的东西,确实还有很长的路要走,太多的地方不能令人满意。

1、最简单的一问一答现在都没有做的很好,example-based和rule-based虽然可以work,但限制太大,前者被example所限制,而后者被rule所限制,而paper中近一段时间流行的所谓generative式的bot看起来好像非常智能,读过paper之后会发现仍是基于example统计的,不管多么牛的模型,都是从example中学习features,example的规模和类型都会严重制约model,而且在生成response时面临着连贯性和语言学的问题,这也是被诟病最多的地方,也就是为什么example-based retrieve式的方法仍是主流的原因。

2、bot应该像人一样具有学习能力,尤其是主动学习能力。现在的bot有self-taught的能力,通常比较被动,并不具备主动学习的意识和能力。bot公司宣传的学习能力也通常是指对log的挖掘,从中找到一些有用的东西存在知识库里,丰富现有的example base。bot可以试着多提一些question,而不仅仅是做answer,主动地学习一些东西。

3、对context的利用和分析还有很长的路要走,context有很多种,如果是纯粹的语言bot,那么就是user之前说过的话,user的情绪,user的意图等等,如果不仅仅是语言的话,正如前面在说pet时提到的,context可以包括图像、语调等等。考虑的东西越多,bot的回答质量就会越高。

4、前几天看了几家科技媒体对新一代微软小冰的报道,说实话丢出挺多概念的,仔细看了下是用增强学习的思路来做,和训练pet比较类似,用一个reward作为牵引,带着bot学习programmer希望bot学习的action。Cambridge大学的Spoken Dialog Group做了很多相关的研究,他们应该是合作关系,所以微软在这部分做的很棒。

5、人会举一反三,聪明的动物会举一反二,迁移能力很重要,bot学习过类似的东西,就应该可以做类似的事情,而不是每次都需要重新从头开始学习,如何将已经学习到的知识迁移到新的领域也是一个非常有意义的topic。

从pet到baby,再到bot,从动物到人类,再到机器人,有着难以跨越的鸿沟,但pet、baby的行为可以带来启发和思考,给目前仍停留在初步阶段的bot带来一丝春风,一丝希望。

原文  http://rsarxiv.github.io/2016/08/16/pat-baby-and-bot/
正文到此结束
Loading...