概念
BERT,Bidirectional Encoder Representations from Transformers,多Transformer的双向编码器表示法。
RNN,recurrent neural network,循环神经网络。
LSTM,long short-term memory,长短期记忆网络。
NLI,Natural language inference,自然语言推理。
知识蒸馏(knowledge distillation),一种模型压缩技术,指训练一个小模型来重现大型预训练模型的行为。使用知识蒸馏法将知识从预训练的大型BERT模型迁移到小型BERT模型。也称师生学习。
两类文本摘要(text summarization)任务:
- 提取式摘要任务:提取给定文本中重要的句子形成摘要
- 抽象式摘要任务:转述给定文本形成摘要
未登录词(out-of-vocabulary word, OOV word),
GeLU,即高斯误差线性单元(Gaussian Error Linear Unit),用于激活函数。
ASR,automatic speech recognition,自动语音识别。
MSE,mean squared error,均方误差。MSE最小化作为训练任务。
t-SNE,t-distributed stochastic neighbor embedding,t分布随机邻域嵌入法。用于
CEL,cosine embedding loss,余弦嵌入损失。两个特征向量之间的距离,距离越小,特征向量越准确。
TLM,translation language modeling,翻译语言模型构建任务。
原理
RNN和LSTM已广泛应用于时序任务:文本预测、机器翻译、文章生成等。然而面临一大问题就是如何记录长期依赖。
Transformer完全依赖于注意力机制,并摒弃循环,及自注意力(self-attention)。
可将预训练模型用于两种场景:
- 作为特征提取器,提取嵌入;
- 针对文本分类任务、问答任务等下游任务对预训练的BERT模型进行微调。
有两种:不区分大小写(BERT-uncased)和区分大小写(BERT-cased)。
对于NER任务,named entity recognition,命名实体识别,必须使用区分大小写的模型。
数据集包含文本,故而需要对文本进行向量化,常用算法:TF-IDF、word2vec。
Hugging Face,一个致力于通过自然语言将AI技术大众化的组织,其开源Python Transformers库常用于NLP和自然语言理解(natural language understanding,NLU)任务,包括100多种语言的数千个预训练模型,兼容PyTorch和TensorFlow。
安装:pip install transformers
Google Colab:在线。
BERT模型可使用如下几个约定的符号:
- 编码器的层数用 L L L表示
- 注意力头的数量用 A A A表示
- 隐藏神经元的数量用 H H H表示
几种标准配置:
- BERT-base:由12层编码器叠加而成。每层编码器都使用12个注意力头,其中前馈网络层由768个隐藏神经元组成,特征向量的大小是768。
- BERT-large:由24层编码器叠加而成。每层编码器都使用16个注意力头,其中前馈网络层包含1024个隐藏神经元,特征向量的大小是1024。
- BERT-tiny: L = 2 , H = 128 L=2, H=128 L=2,