结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid激活函数层

这里写目录标题

    • 一、ReLU层的实现
    • 二、Sigmoid层的实现
    • 三、实现神经网络的Affine层
    • 四、Softmax-with-Loss层实现

一、ReLU层的实现

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层_第1张图片

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层_第2张图片

正向传播时的输入大于0,则反向传播会将上游的值原封不动地传给下游,这是因为y对x偏导是1,而传出来的数又是输入乘以偏导,那么输出就是上游的值。

如果正向传播时的x小于等于0,则反向传播中传给下游的信号将停在此处。因为偏导是0,所以输入乘偏导就等于0,输出就是0。

代码实现:这个里面forward和backward参数是Numpy数组。

m

你可能感兴趣的:(学习笔记,神经网络,python,反向传播)