【发布时间】:2020-06-21 21:30:21
【问题描述】:
我正在尝试在我的 GAN 中实现均衡学习率。我已经使用 stddev 初始化了正态分布的权重,并将我层的调用函数更改为:
def call(self, inputs):
he_constant = tf.sqrt(
x=2. / tf.size(input=self.kernel, out_type=tf.float32)
)
self.kernel = self.kernel * he_constant
return super(EqualizedConv2D, self).call(inputs)
但是计算出来的 he_constant 非常小,例如0.004,这导致网络不学习任何东西。我已经人为地增加了这个值
我错过了什么?
【问题讨论】:
-
设置 self.kernel 有问题吗?缩放的是否应该仅用于“呼叫”而不是按缩放存储?
-
试过了,重新实现了调用,所以缩放权重仅用于 backend.conv2d,结果不是随机的,但是我得到了看起来像模式崩溃的奇怪效果,因为输出几乎变成了一种颜色,但变化非常快
标签: tensorflow keras deep-learning generative-adversarial-network