小昇的博客

Stay hungry, Stay foolish

分类任务中的类别不平衡问题(下):实践

使用 imbalanced-learn 库

在上一篇《分类任务中的类别不平衡问题(上):理论》中,我们介绍了几种常用的过采样法 (SMOTE、ADASYN 等)与欠采样法(EasyEnsemble、NearMiss 等)。正所谓“纸上得来终觉浅,绝知此事要躬行”,说了这么多,我们也该亲自上手编写代码来实践一下了。 下面我们使用之前介绍的 imbalanced-learn 库来进行实验。 准备阶段 为了方便地进行实验,我们首先通过...

分类任务中的类别不平衡问题(上):理论

常用的过采样与欠采样方法

什么是类别不平衡 大部分的分类模型都会假设不同类别的训练样例数目相当,但在实际运用中,经常会遇到不同类别的训练样例数目差别很大的情况(例如有 998 个负例,正例却只有 2 个),这时模型只需永远判定为数量最多的那个类别,就能达到很高的精度,这会对学习过程造成困扰。 分类任务中这种不同类别的训练样例数目差别很大的情况就被称为类别不平衡 (class imbalance)。不失一般性,下面...

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

民族主义如何终于跨越了意识形态的三个圈层,实现了政治菁英、知识阶层和大众之间的“通三统”?

转载自端传媒《【重磅】中国新左三十年,“国师”的三重嬗变》,作者:韩大狗 近几个月来,一部分中国学者在网络上的论断不断吸引着人们的眼球。从表示“月收入2000人民币的中国居民,比月收入3000美元的美国居民过得好”的经济学者陈平,到发布“中国点火vs印度点火”微博嘲讽印度疫情的政治学者沈逸,都因为长期发布出格言论而成为网络红人。最近期的例子,则是中国人民大学的金灿荣,他将不久前河南...

R-Drop: Regularized Dropout

将Dropout两次的思想用到了有监督任务

转载自《又是Dropout两次!这次它做到了有监督任务的SOTA》,作者:苏剑林,部分内容有修改。 关注 NLP 新进展的读者,想必对四月份发布的 SimCSE 印象颇深,它通过简单的“Dropout两次”来构造正样本进行对比学习,达到了无监督语义相似度任务的全面 SOTA。无独有偶,最近的论文《R-Drop: Regularized Dropout for Neural Netw...

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

将 VAE 做到 Transformer 里边

转载自《UniVAE:基于Transformer的单模型、多尺度的VAE模型》,作者:苏剑林,部分内容有修改。 大家都知道,Transformer 的 $\mathscr{O}(n^2)$ 复杂度是它的“硬伤”之一。不过凡事有弊亦有利,$\mathscr{O}(n^2)$ 的复杂度也为 Transformer 带来很大的折腾空间,我们可以灵活地定制不同的 attention mas...

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

从 PET 到 P-tuning

转载自《必须要GPT3吗?不,BERT的MLM模型也能小样本学习》和《P-tuning:自动构建模版,释放语言模型潜能》,作者:苏剑林,部分内容有修改。 大家都知道现在 GPT3 风头正盛,然而,到处都是 GPT3、GPT3 地推,读者是否记得 GPT3 论文的名字呢?事实上,GPT3 的论文叫做《Language Models are Few-Shot Learners》,标题里...

GlobalPointer:用统一的方式处理嵌套和非嵌套NER

更漂亮、更快速、更强大

本文将介绍一个称为 GlobalPointer 的设计,它利用全局归一化的思路来进行命名实体识别 (NER),可以无差别地识别嵌套实体和非嵌套实体,在非嵌套 (Flat NER) 的情形下它能取得媲美 CRF 的效果,而在嵌套 (Nested NER) 情形它也有不错的效果。还有,在理论上,GlobalPointer 的设计思想就比 CRF 更合理;而在实践上,它训练的时候不需要像 CRF ...

将“softmax+交叉熵”推广到多标签分类问题

媲美精调权重下的二分类方案

转载自《将“softmax+交叉熵”推广到多标签分类问题》,作者:苏剑林。 一般来说,在处理常规的多分类问题时,我们会在模型的最后用一个全连接层输出每个类的分数,然后用 softmax 激活并用交叉熵作为损失函数。在这篇文章里,我们尝试将“softmax+交叉熵”方案推广到多标签分类场景,希望能得到用于多标签分类任务的、不需要特别调整类权重和阈值的 loss。 类别不平衡 ...

Transformer 位置编码

Transformer 升级之路

转载自《让研究人员绞尽脑汁的Transformer位置编码》和《Transformer升级之路:2、博采众长的旋转式位置编码》,作者:苏剑林,部分内容有修改。 不同于 RNN、CNN 等模型,对于 Transformer 模型来说,位置编码的加入是必不可少的,因为纯粹的 Attention 模块是无法捕捉输入顺序的,即无法区分不同位置的 Token。为此我们大体有两个选择:1、想办...

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

Pytorch bin to Tensorflow checkpoint

最近由于工作上的需求,需要使用Tensorflow加载语言模型 SpanBERT(Facebook 发布的 BERT 模型的变体),但是作者只发布了 Pytorch 版的预训练权重,因此需要将其转换为 Tensorflow 可以加载的 checkpoint。 在 Pytorch 框架下,大多数开发者使用 Huggingface 发布的 Transformers 工具来加载语言模型,它同时支...