您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能 正文
发私信给AI研习社-译站
发送

0

手把手教你训练 RNN | Part I

本文作者:AI研习社-译站 2018-06-04 16:09
导语:我们将揭示单个 RNN Cell 的内部结构和前向传播计算过程。

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

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

RNN 前向传播逐步演练

单个 RNN Cell 中的前向传播算法
在之前的文章中,我们介绍了 RNN 的基本结构并将其按时间序列展开成 Cells 循环链,称为 RNN cells。下面,我们将揭示单个 RNN Cell 的内部结构和前向传播计算过程。

手把手教你训练 RNN | Part I

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

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

手把手教你训练 RNN | Part I

第二步:接下来,计算矩阵乘积 W_xh x⟨t⟩W_ah a⟨t-1⟩。然后,通过将以上两项乘积相加,并加上偏置 b_h,计算得出 h⟨t⟩

手把手教你训练 RNN | Part I

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

手把手教你训练 RNN | Part I

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

手把手教你训练 RNN | Part I

第五步:然后,计算 o⟨t⟩; 这是所有输出可能取值的非标准化对数概率。方法是计算矩阵乘积W_ao a⟨t⟩,并与 b_o 相加。

手把手教你训练 RNN | Part I

第六步:最后,通过将 o⟨t⟩ 传输给激活函数(例如 sigmoid 或 softmax),得到了一个实际输出的标准化概率向量 ŷ⟨t⟩。输出的激活函数的选择通常取决于期望的输出类型(sigmoid 用于二元输出,softmax 用于多类别输出)。

手把手教你训练 RNN | Part I

前向传播算法

前向传播算法在整个 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 | Part I


上面是训练RNN的第一步,在这篇文章的第二部分将介绍后向传播算法(BPTT),以及如何推导梯度。
感谢您的宝贵时间,欢迎评论或反馈。

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

手把手教你训练 RNN | Part I


雷锋网雷锋网

雷峰网原创文章,未经授权禁止转载。详情见转载须知

手把手教你训练 RNN | Part I

分享:

知情人士

AI研习社(yanxishe.com)译站频道,传播前沿人工智能知识,让语言不再成为学习知识的门槛。(原雷锋字幕组)
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说