GPT、Bert、XLnet 的发布使得 预训练的语言模型 火热起来,而差不多一年前的大杀器:ELMO,似乎在逐渐被遗忘
从效果上说,ELMO的确不如之后陆续发布的语言模型好。
但麻雀虽小却五脏俱全:预训练-微调、双向语言模型、基于大规模语料训练等思想,早已囊括在ELMO之中!!!
论文地址:https://arxiv.org/pdf/1802.05365.pdf
代码实现:https://github.com/allenai/allennlp
基于以下几个问题展开:
1、ELMO的结构是怎么样的?
2、ELMO到底在解决一个什么问题?
3、ELMO是怎么进行预训练的呢?如何使用它呢?
4、为什么ELMO用两个单向的LSTM代替一个双向的LSTM呢?
1、ELMO的结构是怎么样的?
ELMO 由一层input层 和 两层双向LSTM 组合而成的
注:input层可看为embedding层,不过ELMO是通过字符卷积来得到embedding的,不是矩阵相乘;用两个单向LSTM替代一个双向LSTM。
<