一、经典神经网络LeNet-5介绍
在模型中,每个卷积层包含三个部分:卷积/池化/非线性激活函数.并采用MLP作为分类器.同时层与层的稀疏连接减少了计算的复杂度.
详见我的另一篇博客 LeNet-5的介绍
二、经典数据集Mnist介绍
三、构建网络步骤及优化操作
- 建立一个baseline,使网络能跑起来,输出训练精度与训练损失,测试精度与测试损失,验证精度与验证损失
- 添加dropout层,优化网络
- 添加记录损失函数值的功能,加入损失函数的集合,观察训练效果
- 改变keep_prob值,观察实验效果
- 添加学习率的优化及改进
- 在权重参数上实现L2正则化,加入损失函数的集合,观察训练效果
- 添加tensorboard,进行训练精度与训练损失,测试精度与测试损失,验证精度与验证损失的网络可视化,添加时间戳来记录训练与测试,验证文件夹
- 保存模型参数,保存精度最高的模型
- 预加载模型参数进行预测
- 滑动平均变量的使用来提高预测性能
四、源代码
五、遇到问题及解决方案
六、 一般处理思路
转载:TensorFlow学习笔记-实现经典LeNet5模型 将训练,验证,模型构建分开。
1、定义占位符tf.placeholder()生成的变量x,y_,方便后续数据的调用;
2、生成隐藏层和输出层的参数weights,biases;
3、计算前向传播的结果y;
4、定义交叉熵并计算平均交叉熵损失
5、计算L2正则化损失函数
6、总损失等于交叉熵损失和正则化损失的和
7、设置衰减的学习率
8、使用优化函数优化损失
9、定义反向传播优化更新参数的过程
10、检验模型正确率过程
11、初始化会话进行训练,并初始化所有变量
12、生成训练和测试数据集
13、迭代循环神经网络,注意的是:每次取batch数据。
14、评价模型的性能
15、网络可视化tensroboard使用
版权声明:本文为qq_39751437原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。