公式相声算什么,我还训练了一个人工智障相声

905 阅读4分钟
原文链接: zhuanlan.zhihu.com
“什么人工智能相声,简直就是个人工智障。—郭德纲没说过这句话”

01

一周前,在一档综艺节目里,交大李博士怒怼郭德纲不懂相声,提出自己的公式相声理论。在哪里放笑点,什么时候观众应该笑多长时间,都通过相声的有限元公式计算出来。

看完节目后,我觉得要是把这个理论推而广之,以后还可以用线性代数写歌词,微积分来谱曲,空气动力学来写情诗啥的。而这个公式相声的终极版本应该是人工智能相声,毕竟现在各种阿尔法狗满天飞,siri小娜陪我整晚安睡,请一位AI当相声捧哏岂不so easy?

我自己一合计:虽然说三分逗七分捧,但是毕竟捧哏的工作量不大,技术难度看似不高。熟练使用“嗯。”、“啊。”、“我呀?”,“就这个呀!”,“去你的吧!”五大短语可以轻松应对80%的对话环境。于是我立志训练出一个人工智能界的于谦大爷。

02

这个AI于谦大爷的代码从头开始写是不可能的,因为自己并不会。我对于GAN(生成式对抗网络),RNN(循环神经网络)的了解只限于概念。因此去GitHub找到一个利用GAN进行对话训练的开源项目[1]。

简单而言,这个对话系统的原理是分别构建一个生成器和鉴别器。生成器可以用来生成模仿于谦大爷的对话。判别器用来判断哪句话真的是于谦大爷说的、哪段话是模型生成的。训练过程就是生成器不断以假乱真生成对话,判别器不断火眼金睛挑出真话假话的过程。

有了现成的网络模型,我的主要任务就是收集训练数据,也就是郭德纲于谦相声的文本。

于是写了个小爬虫,去网上爬下了将近一百个相关文本,进行筛选处理后,得到五十段郭德纲于谦对口相声。这基本上是机器学习界唯一一个看上去就有声音的数据集了。

有了数据集和代码,就可以开始着手训练了。这里要感谢姚晓哲借给我的云服务器,让我能够利用高性能显卡让AI于谦大爷在电子世界里高速飞驰。

在电子世界里飞驰了一两天,我拿到了一个粗略的于大爷模型。测试这个模型前,我以为我训练出来了AI界的于谦,结果发现这个人工智障连于小屁的水平都不如。

03

好赖是自己亲手训练出来的模型,还是来看看AI于谦大爷的表现如何。

迫不及待地让于谦大爷给蔡健雅的《红色高跟鞋》当了回捧哏。

这个“嗯”,“啊”,“奥”三个字我还是能听到于大爷的声音的。

顺便给101少女的《卡路里》捧两句。

有时候这个AI也可以真·谦儿大爷附体,显得比较正常。

而有的时候变成了真·人工智障,而且是死不承认的那种。

而大多数时间是吃错了药的状态。

04

毕竟李博士是个博士,就是有对公式相声的蜜汁自信和怒怼郭德纲的勇气。而我这个连硕士都还不是的人做出来的人工智能真是个妥妥的人工智障。

反思一下为啥模型的表现为何如此让人捉急,主要可以分为三方面原因:

1、训练数据集质量不够高,数量不够多。

2、自己对代码的理解不足(明明直接拿别人的就过来用了),导致在训练过程中无法对当前状态进行准确判断,俗话说叫瞎XX训练。

3、我不是一个好逗哏,无法激励起AI于谦大爷的全部力量。

比起我的不靠谱的AI于谦大爷,姚晓哲的计算机视觉项目CVTron[2]可以说是相当靠谱了。是的,这里是感谢赞助商以及帮忙打广告部分。

陪着AI于谦大爷唱了一晚上《红色高跟鞋》、《空白格》、《卡路里》和《矜持》,聊了一百遍于家显赫家世,讲了五十遍于小屁跟于谦的关系。AI于谦大爷还是一副吃错了药的样子。

本着服务社会的宗旨,开源一波相声数据集[3],其他人说不定就搞出来了一个超级厉害的AI于谦。

[1]github.com/MWransky/di…

[2]github.com/unarxiv/cvt…

[3]github.com/unarxiv/cro…