【TensorFlow】神经网络模型训练及完整程序实例(五)

首先,看一下神经网络反向传播优化流程图:
这里写图片描述
反向传播算法实现了一个迭代的过程。每次迭代的开始,都选取一部分训练数据batch。然后,这个batch的样例会通过前向传播算法得到神经网络模型的预测结果。因为训练数据都是有正确答案标注的,所以可以计算出当前神经网络模型的预测答案与正确答案之间的差距。最后,基于这个差距,通过反向传播算法会更新神经网络参数的取值,使得在这个batch上神经网络的预测结果与真实答案更加接近。

TensorFlow提供一个placeholder的机制用于提供数据输入,避免大量常量生成造成的计算量大带来的效率低下。英语拼写以下是placeholder实现前向传播算法的代码:

在得到一个batch的前向传播结果后,需要定义一个损失函数来刻画当前预测值与真实答案之间的差距。然后通过反向传播算法来调整神经网络参数的取值使得差距可以被缩小。

TensorFlow目前有7中优化器,比较常用的优化方法有三种:
tf.train.GradientDescentOptimizer,tf.train.AdamOptimizer,tf.train.MomentumOptimizer。在定义反向传播算法之后,通过运行sess.run(train_step)就可以对所在集合中的变量进行优化,使得当前batch的损失函数最小。

完整的神经网络训练模型:

转载于:https://www.cnblogs.com/zhaolide/p/10032158.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值