目录
Predicting Domain Generation Algorithms with Long Short-Term Memory Networks 解读
RNN模型
1.为什么会有RNN模型
RNN称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。CNN对于简单的猫,狗,手写数字等单个物体的识别具有较好的效果. 但是, 对于一些与时间先后有关的, 比如视频的下一时刻的预测,文档前后文内容的预测等, 这些算法的表现就不尽如人意了.因此, RNN就应运而生了.
2.RNN模型
隐藏层的具体细节
a ⟨ 0 ⟩ a^{\langle0\rangle} a⟨0⟩是激活值,通常是零向量,在 t 时刻,
a ⟨ t ⟩ = g 1 ( W a a a ⟨ t − 1 ⟩ + W a x x ⟨ t ⟩ + b a ) y ^ ⟨ t ⟩ = g 2 ( W y a a ⟨ t ⟩ + b y ) a^{\langle t \rangle} = g_1(W_{aa}a^{\langle t-1 \rangle} + W_{ax}x^{\langle t \rangle}+ b_a) \\ \hat{y}^{\langle t \rangle} = g_2(W_{ya}a^{\langle t \rangle} + by) a⟨t⟩=g1(Waaa⟨t−1⟩+Waxx⟨t⟩+ba)y^⟨t⟩=g2(Wyaa⟨t⟩+by)
上面的等式定义了神经网络的向前传播,从 a ⟨ 0 ⟩ a^{\langle 0 \rangle} a⟨0⟩开始,用 a ⟨ 0 ⟩ a^{\langle 0 \rangle} a⟨0⟩和 x ⟨ 1 ⟩ x^{\langle 1 \rangle} x⟨1⟩ 计算 a ⟨ 1 ⟩ a^{\langle 1 \rangle} a⟨1⟩ 和 y ^ ⟨ 0 ⟩ \hat{y}^{\langle 0 \rangle}