机器学习/深度学习/NLP-6-bert
bert子任务
bert作预训练的时候,有两个子任务:Masked LM和Next Sentence Prediction。前者是随机遮住句子中的一部分词,根据剩余词汇预测这些词是什么;后者是给定两个句子,预测这两个句子是不是上下句。
相当于从两个角度来让模型输出的词、句向量表示能够全面准确地刻画文本。为下游任务提供一个良好的向量参数初始值。
Masked LM
Next Sentence Prediction
整体思想
bert具体实现是基于Transformer的,Transformer的重要机制是Attention机制。也就是拿上下文的词对当前词做语义增强。
当前词为query,上下文的词为key,值为value,计算Query向量与各个Key向量的相似度作为权重,加权融合目标词的Value向量和各个上下文词的Value向量,作为Attention的输出。对每个词都采用同样的方式,就是self-attention。为增强语义多样性,又用了不同语义空间下的增强语义向量进行组合,也就是Multi-head Self-Attention。
Transformer就是在Multi-head Self-Attention的基础上加了残差连接、线性转换、标准化等操作(做0均值1方差),保证输出与输入长度相同。BERT就是组装了多个Transformer的神经网络模型。在做微调的时候,就是拿以bert预训练模型初始化向量,再训练bert进行向量微调。
(细节有待补充)