作者 | 追一科技AI Lab 研究员 苏剑林
前言
GPT2强大而流畅的写作能力想必大家已经有所耳闻了,最近发布的GPT3也是风头正盛,在小样本学习领域大出风头。不过大家是否知道,除了处理自然语言之外,GPT其实还有很多跨界的应用,比如作曲、下棋,等等。这不,今天我们就用GPT训练一个下中国象棋的模型,像国粹致敬。

背棋谱
熟话说“熟读唐诗三百首,不会作诗也会偷”,其实这句话相当贴切地说出了GPT的工作原理,它正是背诵了大量的文章,背着背着它就会自己创造文章了。当然,GPT所背的文章数远不止“三百篇”,而是几十G甚至成百上千G的级别。
相应地,要教GPT下棋,也是基于同样的原理——背棋谱,我们收集了十几万个人类的棋谱,把这些棋谱表示成文本的格式,然后让GPT去背,背着背着它就学会下棋了,而且它并非简单地重复人类走法,有时还有一定的创新能力,真可谓“触类旁通”了。
为了完成这个任务,我们就需要了解中国象棋是如何记谱的。资深象棋爱好者可能随口就来一句“炮二平五”,这正是一种典型的记谱方法,不过这种记谱方法只是适合人类阅读,但对计算机来说不是很方便。关于记谱的标准,比较通用的是ICCS记谱法和FEN局面表示法,其细节可以参考文章