首页 > 解决方案 > Tensorflow Projected Gradient Descent with Box Constraints using native Optimizer's apply_gradients

问题描述

假设我们的模型参数w具有框约束(例如 0 < w_i < 1)。当我使用 tf.optimizer (egADAMOptimizer) 的子类进行优化时,如何在 Tensorflow 中实现投影梯度下降并尊重这些约束?

标签: tensorflowgradient-descent

解决方案


tf.get_variable中有一个约束参数,我想您可以使用它对权重变量进行框约束,使用 tf.clip_by_value作为投影函数。

约束:一个可选的投影函数,在被优化器更新后应用于变量(例如,用于实现层权重的范数约束或值约束)。该函数必须将表示变量值的未投影张量作为输入,并返回投影值的张量(必须具有相同的形状)。在进行异步分布式训练时使用约束是不安全的。


推荐阅读