引言
细粒度方法和粗粒度方法各自的优缺点:
- 细粒度:
- 作为词汇单元是不完整的
- 但更容易去学习(更少的token types和更多的tokens)
- 不存在分词的错误
- 粗粒度:
- 作为词汇单元是完整的
- 但不容易去学习(更多的token types和更少的tokens)
- 存在分词的错误
本文通过可视化attention maps表明:
- 细粒度的方法得到的attention存在“含糊”
- 粗粒度的方法得到的attention更加合理,但分词错误不可避免
本文工作:
- 联合细粒度和粗粒度
相关工作
- -------BERT的变种--------
- XLNET:permutation LM
- RoBERTa:new way of training + large data
- ALBERT:light-weight
- StructBERT:incorporate word and sentence structures
- ERNIE2.0:coarse-grained tokens masked
- ELECTRA:GAN-style
- -------分词的粒度(single)--------
- ERNIE:entity level mask
- SpanBERT:span mask
- -------参数共享--------
- Universal Transformer
- ALBERT
模型
两个encoder共享参数。
预训练
预训练损失函数:
- fine-grained prediction
- coarse-grained prediction
数据集:
- Chinese
- fine-grained:就是character
- coarse:word segmentation tool developed at ByteDance
- 分词都是用WordPiece embeddings(?)
- English
- fine-grained:就是word
- coarse:
- C vs E:Chinese中,coarse word占了47.0%;English中,coarse phrase占了13.7%。
微调
微调损失函数(分类任务):
- 细粒度输出所对应的预测损失
- 粗粒度输出所对应的预测损失
- 两者输出合并所对应的预测损失
- 细和粗的差别惩罚项
两个变体
- AMBERT-Combo:两个encoder不共享参数
- AMBERT-Hybrid:和original AMBERT不同之处在于,一个encoder,且只用一次,该encoder的输出端就是fine-grained和coarse-grained inps的concatenation
实验
多种任务:
- 分类任务
- 阅读理解任务(MRC):评估指标为F1,EM(Exact Match)和accuracy
目前不太明白AMBERT怎么做token级别的分类任务
样例分析:
- 细粒度的模型无法运用完整的词法单元
- 粗粒度的模型无法解决不正确的分词
- AMBERT既可以运用完整的词法单元,其对于不正确的分词也是鲁棒的
变体分析:
- AMBERT VS COMBO
通过计算粗粒度和细粒度的[cls]的相似度发现,AMBERT的相似度远远高于COMBO的 - AMBERT VS HYBRID
通过第一层的attention权重发现,AMBERT-Hybrid的细粒度token过分关注于粗粒度token,而AMBERT联合了完整的细粒度和粗粒度的信息
拓展阅读
混合精度训练
ADAM