【发布时间】:2021-09-08 08:43:31
【问题描述】:
我已经构建了一个网络(在 Pytorch 中),该网络在图像恢复方面表现良好。我正在使用带有 Resnet50 编码器主干的自动编码器,但是,我只使用 1 的批量大小。我正在尝试一些频域的东西,它一次只能处理一个图像。
我发现我的网络表现相当不错,但是,只有当我从网络中删除所有批量标准化时,它才会表现良好。现在当然批量规范对于批量大小为 1 是无用的,所以我切换到为此目的而设计的组规范。然而,即使使用群范数,我的梯度也会爆炸。训练可以很好地进行 20 - 100 个 epoch,然后游戏结束。有时它会恢复并再次爆炸。
我还应该说,在训练中,输入的每张新图像都会被赋予完全不同的噪声量,以训练随机噪声量。以前已经这样做过,但可能与 1 的批量大小相结合可能会出现问题。
我在这个问题上摸不着头脑,我想知道是否有人有建议。我已经调整了我的学习率并削减了最大梯度,但这并不能真正解决实际问题。我可以发布一些代码,但我不确定从哪里开始,希望有人能给我一个理论。有任何想法吗?谢谢!
【问题讨论】:
标签: python tensorflow image-processing pytorch autoencoder