序列模型
序列数据指的是和时间或者顺序有关的数据,例如音频,DNA序列等等
对于文本序列模型的表示,可以预先构造出词向量,然后对于每个单词用One-hot的方式表示
RNN通过有序的操作来生成每个步骤的$\hat{y}^{< t>}$和$a^{< t>}$
简单表示:$a^{< t>} = g(W_{aa}a^{< t-1>}+W_{ax}x^{< t>}+b_a)$
$\hat{y}^{< t>} = g(W_{ya}a^{< t>}+b_y)$
基于RNN的语言模型
通过已知的先验知识,实时预测下一个单词是什么
GRU单元和LSTM单元
c=memory cell 即记忆单元
$c^{< t>} = a^{< t>}$
$\tilde{c}^{< t>} = tanh(W_{c}[c^{< t-1>},x^{< t>}]+b_c)$
$\Gamma_{u} = \theta(W_{u}[c^{< t-1>},x^{ t}]+b_u)$
$\Gamma_{r} = \theta(W_{r}[c^{< t-1>},x^{ t}]+b_r)$
$c^{< t>}=\Gamma_{u}*\tilde{c}^{< t>}+(1-\Gamma_{u})+c^{< t-1>}$
LSTM单元
$\tilde{c}^{< t>} = tanh(W_{c}[a^{< t-1>},x^{< t>}]+b_c)$
$\Gamma_{u} = \theta(W_{u}[a^{< t-1>},x^{ t}]+b_u)$
$\Gamma_{f} = \theta(W_{f}[a^{< t-1>},x^{ t}]+b_f)$
$\Gamma_{o} = \theta(W_{o}[a^{< t-1>},x^{ t}]+b_o)$
$c^{< t>}=\Gamma_{u}*\tilde{c}^{< t>}+(1-\Gamma_{f})+c^{< t-1>}$
$a^{< t>}=\Gamma_{o}*c^{< t>}$