【问题标题】:local inverse of a neural network神经网络的局部逆
【发布时间】:2013-02-14 10:02:24
【问题描述】:

我有一个具有 N 个输入节点和 N 个输出节点的神经网络,可能还有多个隐藏层和递归,但让我们先忘记这些。神经网络的目标是学习一个 N 维变量 Y*,给定 N 维值 X。假设神经网络的输出是 Y,学习后应该接近 Y*。我的问题是:是否有可能得到输出 Y* 的神经网络的逆?也就是说,当放入神经网络时,我如何获得将产生 Y* 的值 X*? (或接近它的东西)

问题的一个主要部分是 N 非常大,通常在 10000 或 100000 的数量级,但是如果有人知道如何解决没有重复或隐藏层的小型网络可能已经有用的问题。谢谢。

【问题讨论】:

    标签: neural-network local inverse


    【解决方案1】:

    如果你可以选择神经网络使得每一层的节点数相同,并且权重矩阵是非奇异的,并且传递函数是可逆的(例如leaky relu),那么该函数将是可逆的.

    这种神经网络简单来说就是矩阵乘法、偏置加法和传递函数的组合。要反转,您只需要以相反的顺序应用每个操作的反转。 IE。取输出,应用逆传递函数,乘以最后一个权重矩阵的逆,减去偏置,应用逆传递函数,乘以倒数第二个权重矩阵的逆,以此类推.

    【讨论】:

    • 请告诉我如何反转leakyrelu函数?
    • @Emmanuel 嘿,你知道如何反转泄漏的 relu 函数吗?
    【解决方案2】:

    这是一个可以通过autoencoders 解决的任务。您可能还对生成模型感兴趣,例如受限玻尔兹曼机 (RBMs),这些模型可以堆叠形成深度信念网络 (DBNs)。 RBM 为数据 v 建立一个内部模型 h,可用于重构 v。在 DBN 中,第一层的 h 将是第二层的 v,以此类推。

    【讨论】:

    • 自动编码器复制其输入,而这里的问题是找到网络的反函数。也许您的意思是添加原始网络的镜像,并将复合网络端到端训练为自动编码器?
    【解决方案3】:

    zenna 是对的。 如果您使用双射(可逆)激活函数,您可以逐层反转,减去偏差并取伪逆(如果每层有相同数量的神经元,这也是精确的逆,在一些温和的规则条件下)。 重复条件:dim(X)==dim(Y)==dim(layer_i), det(Wi) not = 0

    一个例子: Y = tanh(W2*tanh(W1*X + b1) + b2) X = W1p*( tanh^-1( W2p*(tanh^-1(Y) - b2) ) -b1 ),其中W2p和W1p分别表示W2和W1的伪逆矩阵。

    【讨论】:

    • 你有关于这种方法的数值稳定性的任何细节吗?在我看来,它可能会出错。
    • 可以,例如如果 |W2p*(tanh^-1(Y) - b2) |>1 函数参数将超出 tanh^-1(\cdot) 域。
    • 但这不会发生,因为 sigmoid 或 tanh 的输出绑定在 [0,1] 或 [-1,1] 内
    • 事实上,如果权重矩阵是非奇异的,则逆矩阵是唯一的。然而,在实践中,小的干扰(在“输出”中)会导致巨大的波动(在“输入”中)。这是混乱的特征。
    【解决方案4】:

    以下paper 是一个反演从神经网络中学习到的函数的案例研究。这是一个来自行业的案例研究,看起来是了解如何着手解决问题的良好开端。

    【讨论】:

    • 这是一篇本科生论文,我不知道本科生是如何对钢铁行业问题产生兴趣的,除非教授很可能已经“引导”了他...
    • (不是说错了……作为应用数学完全没问题)
    • 这里有一篇更深入分析的论文:citeseerx.ist.psu.edu/viewdoc/…
    【解决方案5】:

    获得期望的 x 并产生期望的 y 的另一种方法是从随机 x(或作为种子的输入)开始,然后通过梯度下降(类似于反向传播的算法,不同之处在于不是寻找导数权重和偏差,你会发现 x 的导数。此外,不需要小批量。)重复调整 x,直到它产生接近所需 y 的 y。这种方法的优点是它允许输入种子(如果不是随机选择,则从 x 开始)。另外,我假设最终的 x 将与初始 x(seed) 有一些相似性,这意味着该算法具有转置能力,具体取决于神经网络应用程序的上下文。

    【讨论】:

      猜你喜欢
      • 2017-02-15
      • 2023-02-25
      • 2023-03-14
      • 1970-01-01
      • 2017-02-19
      • 2018-11-01
      • 2016-09-02
      • 2014-01-15
      • 1970-01-01
      相关资源
      最近更新 更多