主页

中国新左三十年,“国师”的三重嬗变

转载自端传媒《【重磅】中国新左三十年,“国师”的三重嬗变》,作者:韩大狗 近几个月来,一部分中国学者在网络上的论断不断吸引着人们的眼球。从表示“月收入2000人民币的中国居民,比月收入3000美元的美国居民过得好”的经济学者陈平,到发布“中国点火vs印度点火”微博嘲讽印度疫情的政治学者沈逸,都因为长期发布出格言论而成为网络红人。最近期的例子,则是中国人民大学的金灿荣,他将不久前河南省发生的暴雨和洪灾与美国的“气象武器”扯上了似是而非的联系。 在两个月前的一篇文章中,我曾经谈到过,现今知识经济的一个重要特征,是知识平台的娱乐经纪化,如观察者网、乃至微博等内容平台,纷纷转型为学者的经纪公司,以娱乐圈造星为模板,孵化学者网红,依靠不断出位吸引流量。这些学者的出位言论,看似异军突起、无根...

阅读更多

R-Drop: Regularized Dropout

转载自《又是Dropout两次!这次它做到了有监督任务的SOTA》,作者:苏剑林,部分内容有修改。 关注 NLP 新进展的读者,想必对四月份发布的 SimCSE 印象颇深,它通过简单的“Dropout两次”来构造正样本进行对比学习,达到了无监督语义相似度任务的全面 SOTA。无独有偶,最近的论文《R-Drop: Regularized Dropout for Neural Networks》提出了 R-Drop,它将“Dropout 两次”的思想用到了有监督任务中,每个实验结果几乎都取得了明显的提升。此外,笔者在自己的实验还发现,它在半监督任务上也能有不俗的表现。 小小的“Dropout 两次”,居然跑出了“五项全能”的感觉,不得不令人惊讶。本文来介绍一下 R-Drop,并分享一...

阅读更多

UniVAE:基于 Transformer 的单模型、多尺度的 VAE 模型

转载自《UniVAE:基于Transformer的单模型、多尺度的VAE模型》,作者:苏剑林,部分内容有修改。 大家都知道,Transformer 的 $\mathscr{O}(n^2)$ 复杂度是它的“硬伤”之一。不过凡事有弊亦有利,$\mathscr{O}(n^2)$ 的复杂度也为 Transformer 带来很大的折腾空间,我们可以灵活地定制不同的 attention mask,来设计出不同用途的 Transformer 模型来,比如 UniLM、K-BERT 等。 本文介绍笔者构思的一个能用于文本的 UniVAE 模型,它沿用类似 UniLM 的思路,将 VAE 做到了一个 Transformer 模型里边,并且还具备多尺度特性~ UniAE VAE (Variati...

阅读更多

运用 BERT 的 MLM 模型进行小样本学习

转载自《必须要GPT3吗?不,BERT的MLM模型也能小样本学习》和《P-tuning:自动构建模版,释放语言模型潜能》,作者:苏剑林,部分内容有修改。 大家都知道现在 GPT3 风头正盛,然而,到处都是 GPT3、GPT3 地推,读者是否记得 GPT3 论文的名字呢?事实上,GPT3 的论文叫做《Language Models are Few-Shot Learners》,标题里边已经没有 G、P、T 几个单词了,只不过它跟开始的 GPT 是一脉相承的,因此还是以 GPT 称呼它。顾名思义,GPT3 主打的是 Few-Shot Learning,也就是小样本学习。此外,GPT3 的另一个特点就是大,最大的版本多达 1750 亿参数,是 BERT Base的一千多倍。 正因如此,...

阅读更多

Transformer 位置编码

转载自《让研究人员绞尽脑汁的Transformer位置编码》和《Transformer升级之路:2、博采众长的旋转式位置编码》,作者:苏剑林,部分内容有修改。 不同于 RNN、CNN 等模型,对于 Transformer 模型来说,位置编码的加入是必不可少的,因为纯粹的 Attention 模块是无法捕捉输入顺序的,即无法区分不同位置的 Token。为此我们大体有两个选择:1、想办法将位置信息融入到输入中,这构成了绝对位置编码的一般做法;2、想办法微调一下 Attention 结构,使得它有能力分辨不同位置的 Token,这构成了相对位置编码的一般做法。 虽然说起来主要就是绝对位置编码和相对位置编码两大类,但每一类其实又能衍生出各种各样的变种,为此研究人员可算是煞费苦心、绞尽脑汁...

阅读更多

将 PyTorch 版 bin 模型转换成 Tensorflow 版 ckpt

最近由于工作上的需求,需要使用Tensorflow加载语言模型 SpanBERT(Facebook 发布的 BERT 模型的变体),但是作者只发布了 Pytorch 版的预训练权重,因此需要将其转换为 Tensorflow 可以加载的 checkpoint。 在 Pytorch 框架下,大多数开发者使用 Huggingface 发布的 Transformers 工具来加载语言模型,它同时支持加载 Pytorch 和 Tensorflow 版的模型。但是,目前基于 Tensorflow(或 Keras)的工具基本上都不支持加载 Pytorch 版的 bin 模型,转换代码在网上也很难找到,这带来了很多不便。 通过搜索,目前能够找到的有以下几个转换代码片段可供参考: bin...

阅读更多

改变世界的25天:新冠疫情是如何在中国失控的?

转载自纽约时报《25 DAYS THAT CHANGED THE WORLD: HOW COVID-19 SLIPPED CHINA’S GRASP》,作者:Chris Buckley, David D. Kirkpatrick, Amy Qin and Javier C. Hernández。 中国最著名的医生正在执行一项紧急任务。 现年84岁的钟南山博士接到命令赶往中部城市武汉,研究一种异常的新型冠状病毒。钟南山在17年前因帮助发现SARS流行病而被誉为英雄。他的助手拍了一张夜行列车上钟南山闭目思考的照片,这张照片后来在中国迅速传播,打造了钟南山作为奔赴疫区救援的中国医生的声誉。现在,中国官方历史将钟南山之行描述为最终取得胜利的抗疫战争的电影般的转折点,当时他发现病毒正在危险...

阅读更多

用 Python 计算文本 BLEU 分数和 ROUGE 值

文本生成是自然语言处理 (NLP) 中常见的一类任务,例如机器翻译、自动摘要、图片标题生成等等。如何评估生成文本的质量,或者说衡量生成文本与参考文本之间的差异,是一个必须考虑的问题。目前比较常见的评估方法就是计算 $\text{BLEU}$ 分数和 $\text{ROUGE}$ 值。 BLEU $\text{BLEU}$ (Bilingual Evaluation Understudy, 双语评估替换) 一开始是为翻译工作而开发的,是一个比较候选文本翻译与其他一个或多个参考翻译的评价分数。完美匹配的得分为 $1.0$,完全不匹配则得分为 $0.0$。尽管它还没做到尽善尽美,但它具有计算速度快、容易理解、与具体语言无关等优点。 翻译系统的 $\text{BLEU}$ 得分不可...

阅读更多