利用Python开启深度学习之旅
1. 循环神经网络(RNN)权重矩阵初始化及计算
在神经网络中,权重是必不可少的。对于RNN而言,有两个不同的权重矩阵:一个用于输入神经元,另一个用于循环神经元。RNN中的特定状态由以下两个方程生成。
1.1 权重矩阵初始化
我们以字母“w”作为RNN的首次输入,并随机初始化方程中的两个权重矩阵。假设初始化后的矩阵如下:
- 矩阵为3 x 4:
- x = 3,因为循环层中有三个循环神经元。
- h = 4,因为词汇表大小为4。
- 矩阵是1 x 1矩阵,取值为0.35028053。
- 引入偏置项b,也是1 x 1矩阵,值为0.6161462。
1.2 矩阵计算
- 首先确定,它是一个4 x 1矩阵,代表字母“w”。这里遵循标准的矩阵乘法规则。
- 计算项。由于“w”是首次输入到网络的字母,它没有先前状态,所以我们将设为一个3 x 1的零矩阵。
- 若不考虑偏置项,结果将是一个全零矩阵。按照方程(1)将这两个矩阵相加,结果是一个3 x 1矩阵,存储在(此时为)中。
1.3 激活函数与最终输出
对于RNN,是一个不错的激活函数选择。应用后,矩阵变为如下形式。
我们得到了的结果,它将作为下一个时间步的。接着,使用方程(2)计算的值,这需要另一个随机初始化的4 x 3权重矩阵。应用第二个方程后,的值变为一个4 x 1矩阵。
为了预测“w”之后可能出现的下一个字母,以从给定词汇表中组成合适的单词,我们对应用so
超级会员免费看
订阅专栏 解锁全文
1577

被折叠的 条评论
为什么被折叠?



