相关疑难解决方法(0)

Tensorflow和Theano中的动量梯度更新有什么不同?

我正在尝试将TensorFlow用于我的深度学习项目.
在这里,我需要在此公式中实现渐变更新:

在此输入图像描述

我也在Theano中实现了这个部分,它得出了预期的答案.但是当我尝试使用TensorFlow时MomentumOptimizer,结果非常糟糕.我不知道他们之间有什么不同.

Theano:

def gradient_updates_momentum_L2(cost, params, learning_rate, momentum, weight_cost_strength):
    # Make sure momentum is a sane value
    assert momentum < 1 and momentum >= 0
    # List of update steps for each parameter
    updates = []
    # Just gradient descent on cost
    for param in params:
        param_update = theano.shared(param.get_value()*0., broadcastable=param.broadcastable)
        updates.append((param, param - learning_rate*(param_update + weight_cost_strength * param_update)))
        updates.append((param_update, momentum*param_update + (1. - momentum)*T.grad(cost, param)))
    return updates
Run Code Online (Sandbox Code Playgroud)

TensorFlow:

l2_loss = tf.add_n([tf.nn.l2_loss(v) for v in tf.trainable_variables()])
cost = …
Run Code Online (Sandbox Code Playgroud)

momentum gradient-descent tensorflow

6
推荐指数
1
解决办法
1812
查看次数

如何像Caffe一样在张量流中实现重量衰减

在Caffe中,我们有一个衰减率,通常设置为0.0005。然后,在将梯度应用于所有可训练参数(例如,FC6中的W矩阵)后,将衰减:W = W *(1- 0.0005)。

我经历了许多教程tensorflow代码,但看不到人们如何实现这种权重衰减以防止出现数值问题(绝对值很大)

根据我的经验,我经常在训练过程中遇到10万次迭代的数值问题。

我还在stackoverflow上遇到了相关问题,例如, 如何在TensorFlow中设置重量成本强度? 但是,该解决方案似乎与在Caffe中实现的有点不同。

有人有类似的担忧吗?谢谢。

neural-network deep-learning tensorflow

5
推荐指数
1
解决办法
2万
查看次数