利用EDRAW绘制(点击查看大图)
TensorFlow 是用数据流图做计算的,因此我们先创建一个数据流图(也称为网络结构图),如图所示,看一下数据流图中的各个要素。
图中讲述了 TensorFlow 的运行原理。图中包含输入(input)、塑形(reshape)、Relu 层(Relu layer)、Logit 层(Logit layer)、Softmax、交叉熵(cross entropy)、梯度(gradient)、SGD 训练(SGD Trainer)等部分,是一个简单的回归模型。
它的计算过程是,首先从输入开始,经过塑形后,一层一层进行前向传播运算。Relu 层(隐藏层)里会有两个参数,即 Wh1 和 bh1,在输出前使用 ReLu(Rectified Linear Units)激活函数做非线性处理。
然后进入 Logit 层(输出层),学习两个参数 Wsm 和 bsm。用 Softmax 来计算输出结果中各个类别的概率分布。
用交叉熵来度量两个概率分布(源样本的概率分布和输出结果的概率分布)之间的相似性。然后开始计算梯度,这里是需要参数 Wh1、bh1、Wsm 和 bsm,以及交叉熵后的结果。
随后进入 SGD 训练,也就是反向传播的过程,从上往下计算每一层的参数,依次进行更新。也就是说,计算和更新的顺序为 bsm、Wsm、bh1 和 Wh1。
未经作者授权,禁止转载
THE END