本文字数::4024字
预计阅读时间:12分钟
BERT
是由Google提出的预训练语言模型,它基于transformer
架构,被广泛应用于自然语言处理领域,是当前自然语言处理领域最流行的预训练模型之一。而了解BERT
需要先了解注意力机制与Transformers
。
注意力机制
注意力机制(Attention Mechanism)是一种在机器学习和自然语言处理中广泛使用的技术,它可以帮助模型在处理输入数据时集中关注其中最重要的部分,从而提高模型的准确性。
原理
注意力机制最初是从认知神经科学中引入到机器学习领域的,19世纪90年代的威廉·詹姆斯发现人类注意力焦点受到非自主性提示和自主性提示有选择地引导[7]。简单来说,非自主性提示是一种无意注意,例如人会先看到最显眼的物品,而自主性提示是一种有意注意,例如人会根据自己的需要先关注到自己需要到物品。非自主性提示与自主性提示会导致人类神经网络选择性地加强或减弱一些特定的神经元的活动。
在机器学习中,注意力机制模拟了人类的这种认知行为,采用的方式主要是通过查询向量query
模拟自主提示,键值向量key
模拟非自主提示,二者交互形成注意力焦点,从而有选择的聚合了值向量value
(模拟感官输入)最终形成输出[8]。具体的计算过程可以用下图表示:
图1 注意力得分计算示意图
假设有一个查询向量q∈Rq和m个“键—值”对(k1,v1),...,(km,vm),其中ki∈Rk,vi∈Rv。在计算注意力得分时,首先通过注意力评分函数a将查询向量q和键向量ki映射成标量,不同的注意力评分函数可以产生不同的注意力汇聚效果,常见的有缩放点积注意力评分函数(公式1)
公式1
再经过softmax
运算,得到注意力权重α(公式2),