深度学习笔记之Affine层/Softmax层的实现
·
注:参考于《深度学习入门 | 基于Python的理论与实现》
一、Affine层
神经网络中矩阵的乘积运算中对应维度的元素个数要保持一致,X和W 的乘积必须使对应维度的元素个数一致。
神经网络的正向传播中进行的矩阵的乘积运算在几何学领域被称为“仿射变换”A。因此,这里将进行仿射变换的处理实现为“Affine层”。
按矩阵的各个元素进行计算时,步骤和以标量为对象的计算图相同。

以矩阵为对象的反向传播, 按矩阵的各个元素进行计算时,步骤和以标量为对象的计算图相同

考虑N 个数据一起进行正向传播的情况,也就是批版本的Affi ne层。

反向传播时,要注意矩阵的形状
二、Softmax-with-loss层
Softmax-with-loss层就是Softmax函数和交叉熵误差

Softmax层的反向传播得到了 (y1 − t1, y2 − t2, y3 − t3)这样“漂亮”的结果。由于(y1, y2, y3)是Softmax层的 输出,(t1, t2, t3)是监督数据,所以(y1 − t1, y2 − t2, y3 − t3)是Softmax层的输
出和教师标签的差分。神经网络的反向传播会把这个差分表示的误差传递给前面的层
更多推荐




所有评论(0)