
python
yingqiuXiong
这个作者很懒,什么都没留下…
展开
-
反向传播的全矩阵方法
之前在神经网络随机梯度下降计算梯度时,在反向传播时每个样本单独计算梯度,然后再求小批量数据的梯度平均值;而现在全矩阵方法是将整个小批量作为一个矩阵(一个样本作为一列)输入整体利用矩阵运算一次计算梯度平均值,用计算出的梯度平均值去更新权重和偏置。结果表明,全矩阵方法能够提升效率平均5倍左右,由开始的平均10秒到2秒。废话不多说,直接上代码:# ⼩批量数据上的反向传播的全矩阵⽅法,并且最后更新权重 def backprop_matrix(self, x, y, m, eta): ""原创 2021-01-12 10:27:24 · 1339 阅读 · 0 评论 -
python实现误差逆传播算法
最近学习神经网络,自己参照源代码把误差逆传播重新写了一遍,其实挺简单的,关键是要把逆传播的几个过程搞清楚以及每一步是为了得到什么,然后知道numpy的矩阵运算操作,废话不多说,直接上代码:# 反向传播算法def backpro(weights, bs, x, y, nums): """ 逆传播计算参数的梯度 :param weights: 权重矩阵列表,每一层一个权重矩阵,直到最后一层,整个网络构成一个矩阵集合 :param bs: 偏置向量列表,每一层一个偏置列向量原创 2021-01-06 09:14:06 · 490 阅读 · 0 评论