当损失是Tensorflow中某个函数的最小值时如何写损失

How to write the loss when it is the minimum of some function in Tensorflow

我知道有些目标是最小化损失函数,但是如果损失也是包含最小值的函数怎么办,我怎么能正确写损失呢?这似乎有点令人困惑,让我举个例子。

损失函数定义如下:

其中 f1, f2 是某个网络的特征图输出,b 是移位距离。特征图的移位就像 [1, 2, 3, 4, 5] 向左移动一步是 [2, 3, 4, 5, 1].

问题是我如何使用 tensorflow 编写这个损失函数,因为 b 不可训练并且可训练变量是网络中生成特征图的权重。这在 Torch 中似乎是可能的,因为我可能以某种方式制作 for 循环 。我如何在 Tensorflow 中实现这一目标?

张量流有一个 tf.minimum(x,y),其中 returns x 和 y 之间的最小值。

https://www.tensorflow.org/api_docs/python/tf/minimum

你可以相信,如果有针对它的tensorflow操作,它会自动计算梯度,因此可以进行优化。