专栏名称: 脑极体
你的困惑,来自于无路贴近未知。我们在技术、思想、传播的异界,贩来极限脑量下的TMT。
目录
相关文章推荐
龙视新闻联播  ·  哈尔滨冰雪大世界发布闭园公告 ·  昨天  
南京日报  ·  钟山脚下又添打卡地!目测要火 ·  2 天前  
爱浪客  ·  速度 | ... ·  2 天前  
今日五莲  ·  闭园公告! ·  2 天前  
今日五莲  ·  闭园公告! ·  2 天前  
51好读  ›  专栏  ›  脑极体

点击就看新NLP模型如何稳准狠狙击杠精

脑极体  · 公众号  ·  · 2019-03-18 20:56

正文

看完《无敌破坏王2:大闹互联网》,资深迪粉的我不禁感慨,我迪自黑和黑起互联网来,也是无人出其右。


不仅深度“曝光”了互联网充斥着木马病毒、弹窗广告、暗网之类的“阴暗面”,一幕热门视频网站“BuzzzTube”所展现的“人间真实”也令人印象深刻:在网络平台上,算法可以让一个普通人成为点赞无数、收入激增的网红,却难以阻挡网友们赠送的“人参”万两。


当拉尔夫在后台惊愕地看到无数负面评价并为之难过时,网站的负责人“赞姐”(Yesss) 也只能建议他——“别看评论区……”


这不就是我们每天都会在网络中围观的大型杠精现场吗?



无论国别、无论次元,只要网上冲浪,就会遇到水军、键盘侠、喷子、杠精……总有一款奇葩网友在线教你做人,社交媒体上的“网怒症”也以指数级增长。


当然,平台们也并非无所作为,只不过,他们似乎总是用不对方法。


比如微博去年就打响了史上最狠评论区保卫战,推出了净化功能“拉黑禁言”,只要评论引发博主不适并被拉黑,乱发言的账号三天内无法再发出任何一条评论。推出后确实震慑到了不少杠精,不过弊端也很明显,那就是依赖网络红人大v博主们一人战杠精,工作量和维护成本也未免也太大了吧?


既然人肉审查效率太低,那采用自动化呢?Youtube和Facebook以实际行动告诉我们,想要让系统精准识别哪些是垃圾账号和恶意行为,实在是做不到啊!


前不久,Facebook一口气删除783个“水军”帐号,原因是存在虚假宣传和舆论攻击行为。其中356个Facebook帐户和162个Instagram帐户,早在2010年就开始在网络任性活动了。但由于他们很容易伪装自己,导致系统根本无法自动清理,最后还是靠手动审查才发现了蛛丝马迹。


看来,想要让机器像人一样精准识别网络行为背后的意图,以当前NLP的阅读理解能力,真的是想太多。


也因此,去年一篇利用人类眼动来提升NLP模型性能的论文,一经问世,就迅速受到关注,为与网络暴力斗智斗勇的程序员们打开了一扇新的技术之窗。


我们不妨就以这个最新研究成果为契机,来猜想一下,技术如何才能打赢这场争夺网络话语权的无声战争。


机器之殇:远不够完美的RNN


在了解这个新的RNN模型做了哪些创新之前,我想有必要先简单介绍一下,NLP的世界里一般是如何使用注意力机制来完成任务的。


以最为常用的序列对序列(sequence to sequence)模型为例,比如说我们要将中文翻译成英文,如果我们拥有大量的双语语料,就可以得到两个知识丰富而结构相似的编码和解码网络,从而训练出很有效的模型,来实现很好的机器翻译效果。


但序列模型对机器的记忆力提出了比较残酷的要求,需要先背诵全文再翻译,如果是长篇大论,机器就放飞自我了。


于是,注意力模型出现了。


试想一下,人类是如何翻译的(此处致敬高考英语老师):先完整地读完整个句子,结合上下文理解大概含义,然后对关键单词和短语重点思索,再着手进行翻译。


而注意力模型试图模仿的正是人类这种理解能力。它被设计成一个双向的RNN网络,每个单元由LSTM或GRU组成,能够向前和向后获取信息,通俗点说就是“联系上下文”。


每次翻译时,注意力模型会根据待翻译部分以及上下文,给予不一样的注意力(权重参数),接着循序渐进地翻译出整段话。


注意力机制解决了传统神经机器翻译中基于短语的生搬硬套,但并不意味着毫无缺陷。



它的不完美主要体现在三个方面:


1.需要大规模标注数据。


原始RNN在解码过程中,机器的焦点是分散在整个序列当中的,需要先对序列上的每个元素进行标记,再进行对齐操作。里面就包含了词性标注、CHUNK识别、句法分析、语义角色识别,甚至包括关键词抽取等很多子任务,显然不是一个小工程。


2.增加额外运算负担。


人类在阅读时,并不关注所有的字,往往会自动忽略掉不想关注或无意义的部分,只重点处理关注需要注意的那一部分。比如“Courage is like a muscle”中,“Courage”和“muscle”就会让人多看两眼。这样做不仅能够降低任务的复杂度,还能避免脑负荷过载。


而NLP的注意力机制虽然是在模仿人类行为,但机器必须对所有对象进行处理和计算,还要用一个矩阵去存储不同字节的权重,这些都增加了额外的运算压力和成本。


3.容易出现归纳偏置。


通俗点说,就是机器在遇到某种没有见过的东西时,会倾向于给出一个简单的预测或判断,以此来决定输出规则。


比如通过分析,它认为出现“but”“不”等单词,就说明对方会开始释放负面甚至攻击性的语言了。但要是遇上“我跳起来反手就是一个么么哒”之类玩梗的骚操作,可能就会误伤友军。


了解了注意力机制的基本工作方式,我们就赶紧来看看这项新的研究成果,究竟是凭什么惊艳了整个学界吧。


NLP希望之钥,还掌握在人类手中


一句话概括,就是论文作者Maria Barrett和她的同事们,将人类在阅读时的眼部动作引入了RNN网络的训练中,使其能够在标注型文本和人类注意力信息之间来回切换,以此获得性能更好的循环神经网络。


具体是怎么实现的呢?


首先,研究人员利用两个公开的眼动追踪语料库:Dundee Corpus和ZuCo Corpus来研究人类的注意力机制。


其中,Dundee Corpus包含了20篇报纸文章,共2368个句子,阅读屏幕可以感知眼部动作。ZuCo Corpus则包含了1000个单独的英语句子,有一部分来自斯坦福情感树库,通过红外染色仪来记录眼睛运动和面部情绪分析。


根据这些人类阅读语料时的眼睛动作追踪数据(比如注视持续时间MEAN FIX DUR),得到了一个“人类注意力”的数据集。



第二步,使用人类眼动数据集与标注好的序列数据集,来共同训练RNN模型。


从两个数据集中随机选择一个数据,让机器判断属于哪一个数据集。


如果属于序列数据集,则进一步判断该句子的类别,计算并预测标签blabla;如果属于人类眼动数据集,则计算每个单词的权重(即attention值),再进行归一化(最小平方差)处理。


那么,经受了人机双重挑战的新RNN网络效果如何呢?接下来,研究人员通过三个任务对其性能进行了测试:


任务一:句子情感分析。使用新RNN来检测机器是否能识别出数据集(SEMEVAL TWITTER POS | NEG)中的负面句子和非负面句子;


任务二:语法错误检测。让新的RNN阅读经专家注释的英语论文(数据集FCF),并找出其中的语法错误,与正确的句子区分开;


任务三:暴力语言检测。研究人员安排了20940条设计性别歧视和种族主义等辱骂型语言的推特(数据集Waseem和Hovy),来对新的RNN进行测试。


最终的实验结果显示,加入了人类注意力训练之后的RNN,找重点的能力,以及预测的精准程度,要远高于原本的序列模型。


这项研究成果很快就引起了反响,并获得了NLP顶会CoNLL 2018年度最佳研究论文特别奖。


那么,接下来请回答一道送分题:这项成果有何特别之处?


RNN的一小步,NLP的一大步


将人类注意力引入机器学习算法的训练,究竟有何意义?我来抢答一下:


首先,降低了对序列分类标注语料的依赖,让NLP模型的训练有了更多可能性。


让机器学习注意力函数需要非常大规模的数据,结果就是让开发者不得不陷入争夺计算资源的“金钱战争”。该项研究为 NLP 中的许多注意力函数提供一个不错的归纳偏置性能,同时还不要求目标任务数据带有眼睛跟踪信息,直接减少了数据需求量。


其次,是从语义到推理的性能跨越。


传统的序列到序列模型和RNN网络,只能解决语义理解问题,而该论文证明,使用人眼注意力来规范机器的注意力功能,可以让一系列NLP任务实现显著改善,甚至触及了常识、推理等认知能力。


机器能从“凝视”信息中获取对多重表达、情绪分析的精准判断,某种程度上已经学会了模拟人类的注意力。


以后机器也许就能够轻松挑战女朋友说“我没有不高兴”这样双重否定表否定的高难度阅读理解了。是不是很期待呢?








请到「今天看啥」查看全文