首页 理论教育 ELMO:2019年软件工程论文专集中的预训练网络结构

ELMO:2019年软件工程论文专集中的预训练网络结构

时间:2023-11-06 理论教育 版权反馈
【摘要】:图3ELMO 预训练的过程使用这个网络结构利用大量语料做语言模型任务就能预先训练好这个网络,如果训练好这个网络后,输入一个新句子,句子中每个单词都能得到对应的三个Embedding:最底层是单词的Word Embedding;往上走是第一层双向LSTM 中对应单词位置的Embedding,这层编码单词的句法信息更多一些;再往上走是第二层LSTM 中对应单词位置的Embedding,这层编码单词的语义信息更多一些。所以,ELMO 不仅仅学会单词的Word Embedding,还学会了一个双层双向的LSTM 网络结构[3]。

ELMO:2019年软件工程论文专集中的预训练网络结构

相同的词在不同上下文是可能有不同的含义。如“苹果”一词,在“我吃了一个苹果”,和“我买了一个苹果手机”两个句子中的含义完全不同。所以word embedding 对于每个词只有一个唯一的向量,是无法区分不同语义下相同词的不同含义。ELMO(Embedding from Language Models)通过上下文来调整 word embedding 的方式,可以比较好地解决这个问题。

图3 展示的是其预训练过程,其网络结构采用了双层双向LSTM,目前语言模型训练的任务目标是根据单词的上下文去正确预测单词,单词之前的单词序列称为上文,之后的单词序列称为下文。图中左端的前向双层LSTM 代表正方向编码器,输入的是从左到右顺序的除了预测单词外的上文。右端的逆向双层LSTM代表反方向编码器,输入的是从右到左的逆序的句子下文。每个编码器的深度都是两层LSTM 叠加。这个网络结构其实在NLP 中是很常用的。

(www.xing528.com)

图3 ELMO 预训练的过程

使用这个网络结构利用大量语料做语言模型任务就能预先训练好这个网络,如果训练好这个网络后,输入一个新句子,句子中每个单词都能得到对应的三个Embedding:最底层是单词的Word Embedding;往上走是第一层双向LSTM 中对应单词位置的Embedding,这层编码单词的句法信息更多一些;再往上走是第二层LSTM 中对应单词位置的Embedding,这层编码单词的语义信息更多一些。所以,ELMO 不仅仅学会单词的Word Embedding,还学会了一个双层双向的LSTM 网络结构[3]

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈