Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.91 KB

File metadata and controls

64 lines (47 loc) · 2.91 KB

Pytorch-Chinese-MultilLabel-Classification

Codes for the project

目录

-Requirements

-技术路线 模型

-结果

-参考文献

Requirements

技术路线

/Basic   作为 baseline 的 bert 和 Albert 的实现
/DistillBert 对于 Basic 中模型的蒸馏
/Preprocessor 前处理
/Postprocessor 后处理

模型

  • Roberta_wwm
  • Albert_zn
  • TinyBert
  • FastBert
  • BiGRU

模型说明

基础架构

特征向量生成:由原始特征经过特征统计生成 输入层:其中 X 表示节点类别,P 表示回答的内容,将两者进行拼接作为最终输入。 Transformer编码层:按照 Bert 和 albert 会有不同 输出层:一层全连接网络得到打分输出分类结果。

文本特征挖掘

将每一类的类别信息词和文本信息进行拼接后再进行分类,如 [类别词][SEP][原始文本]

BiGRU模型架构

词的embedding层是直接从teacher model上复制过来的,加快网络收敛速度。网络主干部分采用双向GRU。输出层部分是一个两层全连接网络,输入可以是GRU的输出也可以是GRU最后一个时间步的隐藏单元,分别对应Model A 和B。采用Model B时,因为输入词长短不一,为了得到真正的最后一个字输出的隐藏单元,需要利用for循环进行单时间步的训练,所以速度会慢一些。Model A 和B准确率都能达到90%。损失函数时MSE和交叉熵的结合,分别拟合teacher model的logits 和真正的标签信息。

效果对比

参考文献

  1. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  2. RoBERTa: A Robustly Optimized BERT Pretraining Approach
  3. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
  4. TinyBERT: Distilling BERT for Natural Language Understanding
  5. FastBERT: a Self-distilling BERT with Adaptive Inference Time
  6. Transformer to CNN: Label-scarce distillation for efficient text classification
  7. Distilling task-specific knowledge from bert into simple neural networks
  8. Distilling Transformers into Simple Neural Networks with Unlabeled Transfer Data