目前,从bert的应用来看,已经在对话系统、机器阅读理解、搜索、文本分类等几乎大多数 NLP 应用领域快速应用,并在部分应用领域取得了突破性的效果提升。
1. BERT
BERT基于一种相对较新的神经网络结构——Transformers,使用一种叫做“Self-attention”的机制来捕捉单词之间的关系。Transformers中没有卷积(如CNNs)或递归操作(如RNNs)(“Attention is all you need”)。
1.1 自注意力机制
- Self-attention是一个sequence-to-sequence的操作,它通过将每个单词的上下文嵌入到其表示中,来更新输入Token的嵌入。这使得它可以同时对所有输入单词之间的关系建模——这与RNNs形成了对比,在RNNs中,输入Token被读入并按顺序处理。Self-attention使用点积计算词向量之间的相似度,由此得到的注意权重通常被可视化为一个注意权重矩阵。
- 注意力权重捕捉单词之间的关系强度,我们允许模型通过使用多个注意力头来学习不同类型的关系。每个注意力头通常捕捉单词之间的一种特定类型的关系(带有一些冗余)。其中一些关系是可以直观地解释的(如主-客体关系,或跟踪邻近的词),而另一些关系则相当难以理解。你可以把注意力头部想象成卷积网络中的过滤器,在卷积网络中,每个过滤器从数据中提取特定类型的特征——无论哪种特征都能帮助神经网络的其余部分做出更好的预测。
- Self-attention机制是Transformer的核心操作,但让我们把它放在上下文中:Transformer最初是为机器翻译而开发的,它们有一个编码器和解码器结构。Transformer编码器和解码器的组成部分是一个Transformer块,它本身通常由一个自注意层、一定量的正则化和一个标准前馈层组成。每