TF25——循环计算过程Ⅰ


TF25——循环计算过程Ⅰ

  • 循环计算过程

字母预测:输入a预测出b,输入b预测出c,输入c预测出d,输入d预测出e,输入e预测出a

神经网络的输入都是数字,所以我们先要把用到的a b c d e这五个字母用数字表示出来,最简单直接的方法就是用独热码对这五个字母编码,把a,b,c,d,e按照这个表格进行编码,每个字母用一个独热码表示

image-20220321134429481

随机生成了Wxh、Whh和Why三个参数矩阵,

image-20220321134721952

记忆体个数选取3

1

记忆体状态信息ht等于

\[h_{t}=\tanh \left(x_{t} w_{x h}+h_{t-1} w_{h h}+b h\right) \]

循环计算过程:

image-20220321135043099

当前输入xt[0,1,0,0,0]乘以黄色的参数矩阵wxh,得到[-2.3 0.8 1.1]上一时刻,也就是最开始时,记忆体状态信息等于0,再加上偏置矩阵bh[0.5 0.3 -0.2],求和之后是[-1.8 1.1 0.9],过tanh激活函数后,得到当前时刻的状态信息ht,记忆体存储的状态信息被刷新为[-0.9 0.8 0.7],这个过程可以理解为,脑中的记忆因为当前输入事物而更新了

\[\begin{aligned} h_{t} &=\tanh \left(x_{t} w_{x h}+h_{t-1} W_{h h}+b h\right) \\ &=\tanh \left(\left[\begin{array}{lll} -2.3 & 0.8 & 1.1 \end{array}\right]+0+\left[\begin{array}{lll} 0.5 & 0.3 & -0.2 \end{array}\right]\right) \\ &=\tanh \left[\begin{array}{llll} -1.8 & 1.1 & 0.9 \end{array}\right]=\left[\begin{array}{lll} -0.9 & 0.8 & 0.7 \end{array}\right] \end{aligned} \]

image-20220321140550181

输出yt是把提取到的时间信息,通过全连接进行识别预测的过程,是整个网络的输出层

输出yt等于ht乘以Why加上by过softmax函数激活:ht乘以Why是当前记忆体内的数值[-0.9 0.8 0.7]乘以这个绿色的参数矩阵Why再加上偏置矩阵by得到[-0.7 -0.5 3.3 0.0 -0.7]过softmax函数得到下面结果

\[\begin{aligned} &y_{t}=\operatorname{softmax}\left(h_{t} w_{h y}+b y\right)\\ &=\operatorname{softmax}\left(\left[\begin{array}{llllll} -0.7 & -0.6 & 2.9 & 0.7 & -0.8 \end{array}\right]+\left[\begin{array}{lllll} 0.0 .0 & 0.1 & 0.4 & -0.7 & 0.1 \end{array}\right]\right)\\ &=\operatorname{softmax}([-0.7 \quad0.5 \quad 3.3 \quad 0.0-0.7])\\ &=\left[\begin{array}{lllll} 0.02 & 0.02 & 0.91 & 0.03 & 0.02 \end{array}\right] \end{aligned} \]

可见模型认为有91%的可能性输出字母c