9-1 从零开始训练网络
- 目录
- 1 搭建网络基本架构
-
- 2 构建训练网络
-
- 3 启动训练网络并测试数据
目录
- 搭建网络基本架构
- 构建训练网络
- 启动训练网络并测试数据
1 搭建网络基本架构
要完成的功能
我们的代码要导出三个接口,分别完成以下功能:
- 初始化 initialization,设置输入层,中间层,和输出层的节点数。
- 训练 train 根据训练数据不断的更新权重值
- 查询 query,把新的数据输入给神经网络,网络计算后输出答案。(推理)
完成以上代码后,神经网络的大体框架就完成了,我们留下最重要的train函数,也就是通过训练样本训练链路权重的流程到下一步实现。
2 构建训练网络
1 实现网络训练功能
自我训练过程分两步:
- 第一步是计算输入训练数据,给出网络的计算结果,这点跟我们前面实现的query()功能很像。 ——计算结果
- 第二步是将计算结果与正确结果相比对,获取误差,采用误差反向传播法更新网络里的每条链路权重。 ——更新权重
2 获取训练数据及预处理
接下来我们就得拿实际数据来训练我们的神经网络了。
我们要做的是读取训练数据,以及数据的预处理(归一化)
3 启动训练网络并测试数据
- 网络的最终目标是,输入一张手写数字图片后,网络输出该图片对应的数字。
- 由于网络需要从0到9一共十个数字中挑选出一个,于是我们的网络最终输出层应该有十个节点,每个节点对应一个数字。
- 假设图片对应的是数字0,那么输出层网络中,第一个节点应该输出一个高百分比,其他节点输出低百分比,如果图片对应的数字是9,那么输出层最后一个节点应该输出高百分比,其他节点输出低百分比。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)