【问题标题】:Can Tensorflow take gradient on matrix 2-norm?Tensorflow 可以在矩阵 2 范数上采用梯度吗?
【发布时间】:2018-11-15 23:35:33
【问题描述】:

通常我们在 Tensorflow 中采用的矩阵范数是 Frobenius 范数,它易于计算且易于理解,例如贝叶斯视图。但在许多情况下,最大奇异值很重要。可以在 Tensorflow 中优化它吗?这取决于张量流是否可以相对于矩阵 2-范数取梯度。

【问题讨论】:

    标签: tensorflow autodiff


    【解决方案1】:

    其实spectral normequal最大的奇异值。要达到这个值,您可以使用 TensorFlow 的 linalg.svd

    【讨论】:

    • 是的。我知道,但我的意思是如何对其进行梯度处理,以便我可以更改减少最大奇异值的矩阵条目。坦率地说,我无法想象一个明确的公式,不是递归的,只是简单的如何在矩阵上取梯度以减少其最大奇异值。
    • @邵武There is an explicit form。只要您不停止计算图,我看不出这不起作用的原因。 It's been done.
    • 感谢您的信息。显式形式需要计算 SVD,而 SVD 并不是数字意义上的显式。它需要解决一个特征值问题来获得第一个奇异向量,它对应于与反向传播嵌套的迭代方案。如果 tensorflow 默认可以做到这一点,我会感到惊讶。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多