谷歌搜索的灵魂!BERT模型的崛起与荣耀


谷歌搜索的灵魂!BERT模型的崛起与荣耀文章插图
智东西(公众号:zhidxcom)
作者 | 子佩
编辑 | Panken
如果你在谷歌上搜索“如何在没有马路的山上停车” , 谷歌会告诉你什么?
如果是两年前 , 网页可能会教你怎么停车或怎么在山上停车 , 因为它检测到了“停车”、“山上”这些关键字 , 而忽略了那个看似无关紧要的小词“没有” 。
但现在 , 它能在页面最显眼的位置 , 直接向你提供你最关心的问题:如何在没有车道的山坡上停车 。 因为它不仅学会找到这些关键词 , 也学会理解了这些词之间的联系 。
谷歌搜索的灵魂!BERT模型的崛起与荣耀文章插图
在搜索引擎“猜”透人心背后 , 是谷歌的BERT模型逐渐开始理解人类语言 。
今年10月 , 谷歌在“Search On”活动中介绍了数千项AI领域的新应用 , 其中就包括BERT模型的新进展:已应用于谷歌上近乎所有的英文查询 , 适用范围也拓展至70多种语言 , 而去年这个时候 , BERT在英文查询中的使用比例不超过10% 。
使用比例翻十倍、涵盖语言增至70余种……自2018年诞生至今 , 是哪些硬技术赋予BERT“超人类”的语言理解能力 , 它在NLP届(自然语言处理 , 下称NLP)又有怎样的“江湖地位”?
今天 , 就让智东西和你一起 , 走过BERT这两年的进阶之路 , 看看NLP届如今的半壁江山 。
一、诞生即崛起 , BERT的发家史BERT最出圈的“荣耀时刻”是2018年:称霸机器理解测试SQuAD , 横扫其他10项NLP测试 , 达成“全面超过人类”成就 。
SQuAD是行业公认的机器阅读理解顶级测试 , 主要考察两个指标:EM和F1 。
谷歌搜索的灵魂!BERT模型的崛起与荣耀文章插图
EM指的是模型答案与标准答案的匹配度;F1指的是模型的召回率和精确度 。 在这两项上 , BERT得分分别87.433和93.160 , 超过人类的82.3和91.2 , 被不少研究人员认为 , 是自然语言领域的重大成就 , 将会改变NLP的研究方式 。
BERT为什么这么牛?
那我们得先看看模型是怎样“学语言”的 。
模型和人一样 , 在会说话能阅读之前 , 它也需要背单词、学语法 , 只是它不是通过语境去理解词义 , 而是将单词转化为可以计算的向量或者矩阵 , 再通过神经网络计算特征权重学会“语法” , 从而“理解”人类语言 。
BERT诞生于2018年 , 全名是Bidirectional Encoder Representations from Transformers , 从名字上来看 , BERT是基于Transformer模型建立的一个双向编码器 。
Transformer模型起源于机器翻译领域 , 抛弃了循环神经网络(RNNs)中循环式网络结构方法 , 利用注意力机制构建每个词的特征 , 通过分析词之间的相互影响 , 得到每个词的特征权重 。
这种基于注意力的Transformer模型关注的不单是个别词语 , 而是词与词之间的关系 , 比起单纯地提取词向量更“善解人意” 。
谷歌搜索的灵魂!BERT模型的崛起与荣耀文章插图
在解决了如何“背单词”的问题后 , 下面一步就是怎么学语法 。
嵌在BERT名字里的双向编码就是它的答案 。
如下图 , OpenAI的GPT模型使用的是从左到右的Transformer , 即通过分析上文得到下一词的特征权重 , 而不能通过下文验证前文的词义 , 而AllenNLP的ELMo通过将独立训练的两个方向结果串联 , 生成下游任务特征 。
谷歌搜索的灵魂!BERT模型的崛起与荣耀文章插图
BERT与GPT、ELMo的比较
但BERT不仅能同时进行双向预测 , 还能通过上下文全向预测 。