【问题标题】:Variable sharing tensorflow变量共享张量流
【发布时间】:2017-01-31 09:56:16
【问题描述】:

背景

在浏览 tensorflow 的文档时,我在 Variable Sharing 上遇到了卷积神经网络示例。这些示例通过描述两个图像暴露于图像过滤器的问题来激发变量共享的需求,而图像过滤器想要重用变量。

问题

我无法理解这种方法。除了引入变量共享的概念之外,我们是否可以不将所有图像放在矩阵中(以像素值的形式,每行表示一个新图像)并执行必要的操作就像使用单个变量集对整个矩阵进行过滤一样。我建议的方法类似于我们在普通神经网络中使用的方法。我们不会对每个训练示例使用重用变量的概念,而是将它们以矩阵的形式堆叠起来并为所有训练示例提供一个共同的权重矩阵,以执行必要的操作。

有人能指出我在设置这两种方法之间的一致性时哪里错了吗?

【问题讨论】:

    标签: machine-learning tensorflow neural-network conv-neural-network


    【解决方案1】:

    在前向传递中,您无法区分共享变量和两个相同的变量。但是在训练中,反向传球是不同的。如果您有两个相同的变量,您将有两个调整,而这些通常不会相同,因此这两个变量会发散。如果您有一个共享变量,那么您只有一个调整项。

    【讨论】:

    • 感谢您的回复!但是当我们不在香草神经网络中这样做时,我真的找不到在图像的情况下重用变量的理由。在香草网络中,我们有由所有训练示例组成的输入矩阵(类似地,我们可以有所有图像的输入矩阵)和一个共同的权重矩阵(类似地,我们可以有共同的过滤器)。当这种方法适用于香草网络的训练时,为什么不适用于具有卷积网络的图像呢?
    猜你喜欢
    • 2021-07-03
    • 2015-09-30
    • 1970-01-01
    • 2014-12-14
    • 2012-07-21
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多