理解 SoTA 语言模型 (BERT、RoBERTA、ALBERT、ELECTRA)

大家好,现在有大量的语言模型!其中许多都有自己独特的学习“自监督”语言表示的方式,可供其他下游任务使用。在本文中,我决定总结当前的趋势并分享一些关键见解,以将所有这些新方法粘合在一起。😃(幻灯片来源:Delvin 等人,斯坦福 CS224n)问题:上下文无关/原子词表示我们在上一篇文章中从上下文无关方法开始,例如 word2vec、GloVE 嵌入。这些方法的缺点是它们不考虑句法上下文。例如“开立银行账户”与“在河岸上”。单词 bank 的含义取决于单词所处的上下文。解决方案 #1:上下文单词表示借助 ELMo,社区开始构建前向(从左到右)和后向(从右到左)序列语言模型,并使用从这两个模型(连接)中提取的嵌入作为预训练嵌入,用于下游建模任务,如分类(情感等)。潜在缺点:ELMo 可以被视为“弱双向模型”,因为他们在这里训练了 2 个独立的模型。解决方案 #2:真正的双向上下文表示为了解决“弱双向”方法的缺点以及 LSTM/循环方法带来的信息瓶颈,开发了 Transformer 架构。与 LSTM/RNN 不同,Transformer 是一个完全前馈的网络。这是一个快速

来源:Ankit-AI | 分享人工智能

大家好,

如今,有大量的语言模型!其中许多都有自己独特的学习“自我监督”语言表示的方式,可供其他下游任务使用。

在本文中,我决定总结当前的趋势并分享一些关键见解,以将所有这些新方法粘合在一起。😃(幻灯片来源:Delvin 等人,斯坦福 CS224n)

问题:上下文无关/原子词表示

问题:上下文无关/原子词表示 问题:上下文无关/原子词表示

我们从上一篇文章中的上下文无关方法开始,例如 word2vec、GloVE 嵌入。这些方法的缺点是它们没有考虑句法上下文。例如“开立银行账户”与“在河岸上”。单词 bank 的含义取决于该词所处的上下文。

word2vec,我之前文章中的 GloVE 嵌入 word2vec,GloVE 嵌入 我之前文章中的 bank bank bank 解决方案 #1:上下文词表示 解决方案 #1:上下文词表示

借助 ELMo,社区开始构建前向(从左到右)和后向(从右到左)序列语言模型,并使用从这两个模型(连接)中提取的嵌入作为预训练嵌入,用于下游建模任务,如分类(情感等)

ELMo ELMo

潜在缺点:

潜在缺点:

ELMo 可以被视为“弱双向模型”,因为他们在这里训练了 2 个独立的模型。

解决方案 #2:真正的双向上下文表示

解决方案 #2:真正的双向上下文表示 解决方案 #2:真正的双向上下文表示

为了解决“弱双向”方法的缺点以及 LSTM/循环方法带来的信息瓶颈,开发了 Transformer 架构。与 LSTM/RNN 不同的是,Transformer 是一个完全前馈网络。以下是该架构的简要概述:

提示:

但是,是什么让 Transformer 更有效呢?

2 个关键想法:

on bank on