代码之家  ›  专栏  ›  技术社区  ›  Chan Kha Vu

张量流:张量的累积梯度

  •  0
  • Chan Kha Vu  · 技术社区  · 7 年前

    日间;夜间:

    假设我有一个 编解码器 W_1 W_2 Z 作为编码器的输出。对网络进行批量训练 n L_hat 是每个样品损失的总和 L ).

    enter image description here

    我要做的是,在后传中 操纵渐变 属于 Z 第1周 . 假设 <code>mod_grad</code>

    enter image description here

    以上所述,在同步通过的情况下(首先计算 Z ,然后传播到 第1周 Jacobian 乘法是用 grad_ys tf.gradients ):

    def modify_grad(grad_z):
        # do some modifications
    
    grad_z = tf.gradients(L_hat, Z)
    mod_grad_z = modify_grad(grad_z)
    mod_grad_w1 = tf.gradients(Z, W_1, mod_grad_z)
    

    问题是, 我需要累积梯度 grad_z 张量的 Z None 在其中一个维度中,如上图所示),我无法定义 tf.Variable n 梯度

    附言 ArXiv:1810.04650 异步网络训练 ArXiv:1609.02132 ArXiv:1711.00489 .

    0 回复  |  直到 7 年前
    推荐文章