最近学习了2018年的模型ELMo:Deep contextualized word representations,这里作一下笔记和我个人的理解
原论文链接:https://paperswithcode.com/method/elmo
在介绍ELMo之前顺便回顾一下RNN和LSTM,刚好也做个总结笔记
RNN和LSTM
RNN
RNN就是循环神经网络,下面一张图就很清晰了。
当前时刻的输出状态ht依赖于上一时刻的输出状态ht-1和当前时刻的输入xt,具体的公式如下:
ht=tanh(W[ht-1,xt]+b)*
其中[ht-1,xt]表示ht-1和xt的拼接,比如xt为(1,5)的向量,ht-1为(1,10)的向量,那么拼接后的
[ht-1,xt]就为(1,15)的向量。
那么就可以知道W为(10,15 )的权重矩阵,b为(1,10)的向量
循环神经网络的缺点就是长程依赖问题,随着序列的增大,序列前面时刻的信息会不断减弱。另外就是训练时的梯度消失问题。
LSTM
LSTM是在RNN的基础上发展而来,通过引入一个额外的记忆单元C来记录序列信息,一定程度上解决了长程依赖问题和梯度消失问题。