农企新闻网

手把手教你训练 RNN

发布者:金夕
导读雷锋网按:本文为雷锋字幕组编译的技术博客,原标题 Step-by-step walkthrough of RNN Training - Part I,作者为 Eniola Alese。翻译 | 赵朋飞  程思婕    整理 |  凡江RNN 前向传达逐渐演练单个 RNN Cell 中的前向传达算法在之前的文章中,我们引见了 RNN 的根本构造并将其按工夫序列展开成 Cells 循环链,称为 RNN

雷锋网按:本文为雷锋字幕组编译的技术博客,原标题 Step-by-step walkthrough of RNN Training - Part I,作者为 Eniola Alese。

翻译 | 赵朋飞  程思婕    整理 |  凡江

RNN 前向传达逐渐演练

单个 RNN Cell 中的前向传达算法
在之前的文章中,我们引见了 RNN 的根本构造并将其按工夫序列展开成 Cells 循环链,称为 RNN cells。上面,我们将提醒单个 RNN Cell 的外部构造和前向传达计算进程。

手把手教你训练 RNN

将其进程分解成多个步骤:

第一步: cell 承受两个输出: x⟨t⟩a⟨t-1⟩

手把手教你训练 RNN

第二步: 接上去,计算矩阵乘积  W_xhx⟨t⟩W_aha⟨t-1⟩ 。然后,经过将以上两项乘积相加,并加上偏置 b_h ,计算得出 h⟨t⟩

手把手教你训练 RNN

第三步: 紧接着下面的步骤,将 h(t) 传给激活函数(比方 tanhrelu )计算 a(t) 。本例中激活函数运用 tanh 函数。

手把手教你训练 RNN

第四步: cell 输入 a⟨t⟩ 并将其传给下一 cell 做进一步计算。

手把手教你训练 RNN

第五步: 然后,计算 o⟨t⟩ ; 这是一切输入能够取值的非规范化对数概率。办法是计算矩阵乘积 W_aoa⟨t⟩ ,并与 b_o 相加。

手把手教你训练 RNN

第六步: 最初,经过将 o⟨t⟩ 传输给激活函数(例如 sigmoid 或 softmax),失掉了一个实践输入的规范化概率向量 ŷ⟨t⟩ 。输入的激活函数的选择通常取决于希冀的输入类型(sigmoid 用于二元输入,softmax 用于多类别输入)。

手把手教你训练 RNN

聚焦消费升级、多维视频、家庭场景、数字营销、新零售等创新领域,为用户提供更多元、更前沿、更贴心的产品,满足用户日益多样化、个性化的需求。 前向传达算法

前向传达算法在整个 RNN 网络中运转以上步骤,而不只仅在单个 RNN cell 中运转。从隐藏层形态 a⟨0⟩ 的初始化开端,在一切工夫序列 t = 1 to T 中共享权值和偏置向量 W_xh,W_ah, W_ao, b_h, b_o, 在每个工夫序列中反复下面的每一步。

例如,假如我们拥有一个 8 个序列的输出 x⟨1⟩,x⟨2⟩,......x⟨8⟩ ,这个网络的前向传达计算进程是步骤 1-6 在循环中反复 8 次。

手把手教你训练 RNN


下面是训练RNN的第一步,在这篇文章的 第二局部 将引见后向传达算法(BPTT),以及如何推导梯度。
感激您的珍贵工夫,欢送评论或反应。

博客旧址  https://medium.com/learn-love-ai/step-by-step-walkthrough-of-rnn-training-part-i-7aee5672dea3

手把手教你训练 RNN


雷锋网雷锋网 (大众号:雷锋网)