关于GPT3的一些思考
理性主义与经验主机结合是否会产生新的火花
——关于自然语言的处理在GPT3上应用的一些思考
马加文
*首先阐明的是,我的思考对于理性主义和经验主义并无偏向,毕竟我对于两个学派的认知还尚且不足,所以在思考过程中我并不认为哪个更好,也不会更支持哪一个学派,都是平等看待的。其次这个思考是在一个较低水平的未入学准研究生笔下写出来的,可能会有点可笑。
读了李维老师与郭进老师所出的新书《自然语言处理问答》前一小部分,首先第一反应就是,这本书写的清晰明了,深入浅出地讲述了理性主义如何看待自然语言处理这一分支。该书首先是一个以问答的形式来编写的,所以这个问与答的人是非常重要的。郭进老师在问的过程中,经常结合当下人工智能的发展情况来发问,问题问的很到位,让人一看就有一种我也有相同疑问的感受。李进老师则在答的过程中,深入浅出,举例通俗易懂,对于我这种才入门的人非常友好,很好去理解。
读了这本书的前一小部分以后,首先能明白的就是人工智能领域分为理性主义和经验主义两个大致的方向。我们目前常见的图像识别、深度学习等技术均属于经验主义方向。我认为经验主义它的核心实际上就是概率统计模型,这样可以对于全局有一个把控。而理性主义更多的是将人们日常生活中的各项活动用符号来形式化,它并不涉及到概率,更像是去将人类的行为流程或者说认知流程通过符号形式化的方式抽象出来。既然对经验主义和理性主义有了一定的认识,接下来我将会对近期OpenAI公司开发的由神经网络驱动的新一代语言模型GPT3做出一些思考。
根据网络上对于GPT3的介绍,我们可以知道它有着1750亿个参数量,是上一代模型的百倍之多。GPT3可以通过我们输入的自然语言判断我们想要的东西,并且可以生成相应的html语言代码,也就是说,你可以通过自然语言的描述去搭建网站,你说什么,它就给你什么;同时它还可以将法律条文转化成白话文,还可以写论文、写段子、写小说、和人类聊天。既然是由神经网络驱动的语言模型,那就必然少不了大量的标注数据去学习,这是统计方法的最大的局限性。在GPT3的使用过程中我们会发现,当GPT3与人聊天的时候,它除了会回答人类的的问题之外,它还会反问人类,通过反问去缩小它理解的范围,这或许是一个能够让它回答准确并且看起来更像人的一个有效方法。但是在GPT3聊天和写文章的过程中我发现一件事情,这个GPT3的模型它的价值观有时是扭曲的,或者说它根本没有价值观。对此我有一个猜测:因为GPT3是由神经网络驱动的,它就一定需要大量的数据去训练学习,所以它的价值观实际上就来源于训练数据所呈现出的价值观。那么它实际上根本就不算是拥有智慧的真正意义上的人工智能。一定程度上来说,它和上一代GPT2模型没有根本上的差别,不同的地方就是它的参数是上一代的一百倍之多,“看起来”更像是人而已。李维老师在《自然语言处理问答》中曾经明确的阐述过,认知智能的核心是自然语言理解,像GPT3这种模型对于自然语言的理解目前看来好像还并不成熟。另一个问题就是GPT3尚未做到我们一直在说的强人工智能所必须的一点——自主性。它尚且不能做到合理、适时的自主推荐或者说对话。对于GPT3来说,只有你告诉它你的需求,它才能给你反馈。但是在很多时候,由于GPT3对于自然语言的处理还上有欠缺,很可能你告诉了他你的需求,它却无法给出你理想中想要的东西。
对于李维老师在书中阐述的形式文法根据语言形式形成规则的过程,我曾想过一个问题,这种过程可不可以类比为婴儿出生以后的认知过程。婴儿生下来以后,面对这个世界可以说是完全未知的,他对于人类社会中的自然语言形式是一点都不懂的。在他成长过程中,父母会不断重复个别词语,诸如“爸爸”、“妈妈”等词语。再经过不断的重复以后,婴儿可能才知道“爸爸”、“妈妈”这些称呼代指的是谁,但是实际上婴儿是不明白爸爸妈妈这个词语的意思的。婴儿最开始的理解应该就是他的父母的“名字”可能叫爸爸妈妈。他们只懂得“爸爸”指向的是他的父亲那一个个体,而非“爸爸”这个词语的含义。在后面对世界不断有了认知以后,婴儿才明白“爸爸”、“妈妈”等词语也是可以用在别人身上的。在这个过程中,我认为除了有人类独有的认知机制以外,也涉及到很多的经验,这个经验是在社会中不断形成的。
那么换句话说,如果将经验主义和理性主义结合到一起是否会擦出新的火花?李维老师在书中说了一句非常经典的话,他说“如果说机器学习往往是见林不见木的话,计算文法则是见木不见林”。既然机器学习更具有全局性,计算文法更具有精确性的话,为什么不尝试一下将两者结合起来,既在宏观上有一个方向的把控,又可以在需要精确处理的地方尽善尽美。对于人类来说,我们在上学的过程中学习的更多的是理性的知识,逐渐建立了我们自己所拥有的知识体系与认知机制,可是我们在生活中也从不否认经验的作用。我们经常会看到很多熟能生巧的案例,有很多领域的老师傅也是通过经验去判断事物,这是在人类社会中所存在的事实,在人类社会中很多时候我们会潜移默化的去改变一个词语的原有含义或者说我们对一些词语的使用是非常多种多样的。中文在使用过程中在不同的情景下会有不同的意思,比如说我们常说的情侣之间有时女生会说她不需要帮忙,但实际上她内心是很渴望帮助的,那么对于理性主义来说,这个问题可能就不是那么好解决。迁移到人工智能领域,如果说对于机器,我们通过符号主义方法模拟人类的抽象思维赋予机器基本的认知机制,再用包含正常三观的标注数据去训练它,这样它是否会使机器产生不一样的效果。拿GPT3来说,如果将给它加入理性主义的自然语言解析器,再通过各种不同场景的数据训练,它是否可以在更好地对自然语言处理的情况下,解决语言在不同场景下不同含义的这个问题。我们都知道,理性主义的自然语言解析器是需要专家去编码的,相对于机器学习来说,它对于自然语言的处理更加精确,那么加上给机器不同场景下不同语境下的数据去学习,它是否能更好地处理问题。当然GPT3使用的语言是英语,中文相对英语来说有时会更容易产生歧义,所以正如李维老师所表达的,不同类型的语言对显性形式和隐形形式具有不一样的侧重,在自然语言处理上也就有不同的难度。所以总的来看,对于像中文这种更偏重隐形形式的语言,如果将理性主义与经验主义结合起来,是否能使机器更加贴切地模拟人类的认知机制,是否会对人工智能起到推动作用,这可能还需要学者们去验证,但是我相对来说还是认为这种方法可能会对智能产生一定的正面影响。