项目背景
随着Pytorch的集成化越来越高,基于torch.nn可以跳过底层神经网络的搭建,这样虽然提高了效率,但也不利于对人工智能的底层原理的理解。该项目作为Numpy构建神经网络的起始项目,旨在通过Numpy将底层的数学原理转换为代码,在实践中理解神经网络的底层原理。
项目功能
本项目实现了以下功能:
·生成模拟输入和标签数据
·线性分类器的前向传播
·线性分类器的反向传播
·神经网络的常用算子
架构思路
通过随机生成的均匀数据,模拟通过线性分类器分类到其表示的数字,类似于MNIST
1、生成模拟数据
·采用均匀分布生成模拟输入数据
·生成one-hot数据作为分类的标签
2、前向和反向传播
·采用基础的Y=WX+B的模型输出权重,再由softmax计算概率分布
·采用交叉熵作为模型优化的损失函数
·使用梯度下降的方法优化网络