NN-by-Numpy 使用Numpy实现的一个小型神经网络框架,包括DNN、CNN中的各种Layer,诸如线形成、卷积层、池化层,ReLu、Sigmoid、Softmax等激活函数以及均方误差、交叉熵等损失函数 代码中有些使用了einsum函数,该函数的使用方法见:爱因斯坦求和约定 然后是各个模块的具体原理,参见我的知乎文章 Numpy实现神经网络框架(1) Numpy实现神经网络框架(2)——梯度下降、反向传播 Numpy实现神经网络框架(3)——线性层反向传播推导及实现 扩展:Softmax与交叉熵损失的实现及求导 Numpy实现神经网络框架(4)——MNIST手写数字识别 Numpy实现神经网络框架(5)——梯度下降优化算法 扩展:从SGD到NadaMax,十种优化算法原理及实现 Numpy实现神经网络框架(6)——归一化浅析 Numpy实现神经网络框架(7)——Batch Normalization 扩展:各种归一化实现及梯度推导——Batch、Layer、Instance、Switchable Norm Numpy实现神经网络框架(8)——卷积神经网络基础 扩展:im2col方法实现卷积算法 扩展:卷积核梯度计算的推导及实现 扩展:卷积算法另一种高效实现,as_strided详解 Numpy实现神经网络框架(9)——卷积层反向传播推导及实现 Numpy实现神经网络框架(10)——CNN中的Padding、Pooling ReflectionPad2d、InstanceNorm2d详解及实现