【机器学习】Pytorch实现CNN、FNN手写数字识别
·
Pytorch神经网络入门,使用MNIST数据集的手写数字识别,小白入门,尽量把每一步搞明白,记录遇到的问题。基于Pytorch简单实现了一个卷积神经网络CNN和前馈神经网络FNN。
MNIST数据集真的是是机器学习神经网络入门的经典数据集,这些工作最早都是深度学习三巨头之一Yann LeCun做的,在89年发表论文使用反向传播和神经网络识别手写数字,98年提出LeNet5卷积神经网络。数据集链接:http://yann.lecun.com/exdb/mnist/
一、神经网络
1.一般的神经网络
一般的卷积神经网络包括输入层、隐藏层和输出层,隐藏层可能会有多层,层与层之间是全连接的:
输入和输出之间的关系为:

最终下一层的输出还要经过一个激活函数,直观的讲可以说是引入非线性:


本例中基于mnist数据集设计的前馈神经网络结构可以表示成这样:

2.卷积神经网络
相比于一般的神经网络,卷积神经网络是在隐藏层之前增加了卷积层和池化层。本例中结构:

3.反向传播bp算法
二、Pytorch实现cnn、fnn
更多推荐
所有评论(0)