tensorflow使用tf.train.ExponentialMovingAverage实现滑动平均模型,在使用随机梯度下降方法训练神经网络时候,使用这个模型可以增强模型的鲁棒性(robust),可以在一定程度上提高模型在测试数据集上的表现. 滑动平均模型为每个变量维护一个影子变量,其初始值是变量的初始值,每次变量更新时,影子变量的值会更新为: shadow_variable = shadow_variable * decay + (1-decay) * variable 其中shadow_v…
觉得有用的话,欢迎一起讨论相互学习~Follow Me 移动平均法相关知识 移动平均法又称滑动平均法.滑动平均模型法(Moving average,MA) 什么是移动平均法 移动平均法是用一组最近的实际数据值来预测未来一期或几期内公司产品的需求量.公司产能等的一种常用方法.移动平均法适用于即期预测.当产品需求既不快速增长也不快速下降,且不存在季节性因素时,移动平均法能有效地消除预测中的随机波动,是非常有用的.移动平均法根据预测时使用的各元素的权重不同 移动平均法是一种简单平滑预测技术,它的基本思…
在采用随机梯度下降算法训练神经网络时,使用滑动平均模型可以提高最终模型在测试集数据上的表现.在Tensflow中提供了tf.train.ExponentialMovingAverage来实现滑动平均模型.在初始化ExponentialMovingAverage时,需要提供一个衰减率(decay).这个衰减率将用于控制模型更新的速度.ExponentialMovingAverage对每一个变量会维护一个影子变量(shadowvariable),这个影子变量的初始值就是相应变量的初始值,而每次运行变…
原文链接 在Tensorflow的教程里面,使用梯度下降算法训练神经网络时,都会提到一个使模型更加健壮的策略,即滑动平均模型. 基本思想 在使用梯度下降算法训练模型时,每次更新权重时,为每个权重维护一个影子变量,该影子变量随着训练的进行,会最终稳定在一个接近真实权重的值的附近.那么,在进行预测的时候,使用影子变量的值替代真实变量的值,可以得到更好的结果. 操作步骤 训练阶段:为每个可训练的权重维护影子变量,并随着迭代的进行更新: 预测阶段:使用影子变量替代真实变量值,进行预测. 滑动平均模型在梯…
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一阶张量来表示向量,如:v = [1.2, 2.3, 3.5] ,如二阶张量表示矩阵,如:m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]],可以看成是方括号嵌套的层数. 1.编辑器 编写tensorflow代码,实际上就是编写py文件,最好找一个好用的编辑器,如果你用vim或…
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ------------------------------------ TensorFlow入门笔记之基础架构 1 构建简单神经网络:一维线性预测 #导入相关库 import tensorflow as tf import numpy as np #用随机数生成x x_data = np.random.rand(100).astype(np.float32) #生…
tensorflow提供的tf.train.ExponentialMovingAverage 类利用指数衰减维持变量的滑动平均. 当训练模型的时候,保持训练参数的滑动平均是非常有益的.评估时使用取平均后的参数有时会产生比使用最终训练好的参数值好很多的效果.方法apply()会添加被训练变量的影子副本和在影子副本中维持被训练变量的滑动平均的若干操作.该方法在创建训练模型时使用.那些保持维持滑动平均的操作(ops)一般会在每个训练步骤之后被执行.average()和average_name()方法分…
''' Created on 2017年4月21日 @author: weizhen ''' #4.滑动平均模型 import tensorflow as tf #定义一个变量用于计算滑动平均,这个变量的初始值为0. #类型为tf.float32,因为所有需要计算滑动平均的变量必须是实数型 v1=tf.Variable(0,dtype=tf.float32) #这里step变量模拟神经网络中迭代的轮数,可以用于动态控制衰减率 step=tf.Variable(0,trainable=False)…
tf.GraphKeys类存放了图集用到的标准名称. 该标准库使用各种已知的名称收集和检索图中相关的值.例如,tf.Optimizer子类在没有明确指定待优化变量的情况下默认优化被收集到tf.GraphKeys.TRAINABLE_VARIABLES中的变量:但如果通过列表的形式明确地指定了需要优化的变量,那优化器就会优化指定的变量. Graph中定义了下列standard keys: GLOBAL_VARIABLES: 变量对象的默认集合,在分布式环境中被共享.通常,所有的TRAINABLE_…
import tensorflow as tf v1 = tf.Variable(0, dtype=tf.float32) step = tf.Variable(0, trainable=False) ema = tf.train.ExponentialMovingAverage(0.99, step) maintain_averages_op = ema.apply([v1]) with tf.Session() as sess: # 初始化 init_op = tf.global_varia…