前段时间,浙江高考满分作文《生活在树上》因为晦涩难懂的内容,刷爆了各种社交媒体。外行人看热闹,内行人看门道,大神们透过现象看本质。
一般来说,高考作文可以通过批量化、模式化的训练达到一个令人满意的分数。实际上就是把学生当做一个写作机器进行训练,为学生输入大量范文,提供写作模式,然后进行长时间的学习。等等,这不是和人工智能的训练过程相同吗?
那么,如果给一个人工智能系统同样的数据,是否可以教会它写作文呢?
答案是,当然可以。
01 EssayKiller 的基本组成
一个 AI 不管外形和功能如何,其核心都是人工神经网络。EssayKiller 也是由四个不同的神经网络所组成。
第一部分是类似于人类的视觉处理系统的识别网络。它通过外接摄像头的实时 OCR 以及卷积神经网络及汉字的识别与提取并将结果输入到下一层的网络中。
第二部分是语言网络,旨在模范人类大脑的语言功能。在这里 UP 主将它分为两个子网络,相较于人类的颞叶区和额叶区等复杂构成,它更加简明扼要。一个子网络为读题网络,也就是对高考题目进行准确的阅读和主题摘要提取。
另一个子网络为写作网络,也就是根据主题摘要进行文章的写作。后者是整个 AI 的核心,基于这个神经网络,EssayKiller 才能获得理解并输出汉字的能力。
第三部分是判分网络。正常学生写完一篇八百字的高考作文通常需要 40 分钟,而 EssayKiller 只需要 0.1 分钟。显然,在同样的时间里,EssayKiller 可以利用其快速写作的能力,在它的大脑中同时生成多篇作文,然后选出最好的一篇来作答。
这个想法借鉴了 AlphaGo 的设计理念。他利用 API 调用单独的神经网络,对 100 篇作文进行通顺度打分,取分数最高的一篇作文输出。理论上,只要了解于出题人的偏好,并且让 AI 完美拟合阅卷人喜欢的作文,就可以轻而易举的拿到高分。
这和训练学生写高考作文的过程是如出一辙,这也是近年来很多满分作文的套路,比如《生活在树上》。
码字不易废话两句:有需要python学习资料的或者有技术问题交流 “点击”即可
02 EssayKiller的学习过程
说起来看似很简单,其实非大神一操作就跪拜的四大网络搭建过程后,EssayKiller 就算是出生了。此时的它还是一张白纸,需要投喂大量数据养成。俗话说,读万卷书 AI 才能写出好作文。
接下来就是 EssayKiller 不是很漫长的学习过程了。给它投喂了大量的优质散文、议论文,比如近现代散文集、历年高考作文等,然后让它自我训练并进行写作能力的提升。出于个人喜好,还为它增加了林语堂、木心、鲁迅等散文作家,也加入了一些现代作家,比如王小波、史铁生、王硕等。
最后通过整理来的 360 万张图像数据、2 亿条中文预训练语料以及上千篇微调文章,EssayKiller 带着 UP 主满满的爱开始了它的“漫漫”求学之路。
事实证明,没有人能够随随便便成功。此时,出现了一个 “愉快” 的小插曲。OOM,全称 “Out of Memory”,翻译成中文就是“内存用完了。”
EssayKiller 的神经网络参数量已经达到了惊人的 17 亿,一般的显卡已经不能承受这么大的网络规模和计算量。在 多次尝试,均属失败告终后,他终于发现,EssayKiller 已经超越了目前市面上可见的任何一个单 GPU 的运算内存限制。最终,斥巨资选择 RTX8000,成功的让 EssayKiller 开始训练。果然,培养孩子都是得花钱的。
经过 137 个小时的不间断学习后,EssayKiller 终于成为一个合格的高中生。接下来就是激动人心的测试时间。选择两个全国卷和两个地区高考卷。EssayKiller 用它骄傲和自豪的 17 亿神经网络参数的多模块异构深度神经网络,通过编写的高考格式排版脚本,搭配改装后的外接装置,对文本进行实时输出,在规定时间内将作文誊写到答题卡上。最终贡献了四篇很不错的高考作文。(写作过程如开头眼花缭乱的动图。)
小编选择了浙江卷的作文成果,为大家展示一下 EssayKiller 的写作实力。
(为了方便阅读,对截图进行了裁减。文章以右侧为准。)
以上就是小编今天为大家带来的内容,小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴 " 点击 " 即可领取