tensorflow gradient NaN
在最小化loss以生成对抗扰动 δ δ 时,初始化 δ δ 全为0 可能导致loss关于 δ δ 的导数/梯度为NaN
delta = tf.get_variable(name = 'delta',dtype = tf.float32,initializer = np.zeros((1,) + im.shape))
但是改为一个非零的小正数后就可能避免这样的问题
delta = tf.get_variable(name = 'delta',dtype = tf.float32,initializer = np.full((1,) + im.shape,np.float32(1e-5)))
其原因可能是求导后涉及到 1δ 1 δ 的项