限制内核过滤器,只为-1,0或1项?

问题描述 投票:0回答:2

我的自动编码器模型学习图像中的最常见的模式与像素值-1,0或1。虽然我的模型运行良好,解码落入局部最小值与-1和1之间的浮点值。

有反正在Pytorch我可以限制内核过滤器有项-1,0或1,观察更好的学习能力?

pytorch torch autoencoder
2个回答
0
投票

如果你的目标值是离散的,它可能会更有意义,同时将您的重建流失到交叉熵使用逐像素SOFTMAX超过3班。


0
投票

你绝对可以做到这一点,但它可能是一个坏主意。为了约束的权重为特定的值,你可以每次训练迭代后只需设置权重到你想要的值,e.g使用torch.clamp将它们设置为区间[1,1]:

model.my_layer.weight.detach().clamp_(-1,1)

虽然上述方法可能在某些情况下工作,你的离散化的权重只有3可能值的问题将很难使用梯度进行优化,并可能导致几乎没有学习。

© www.soinside.com 2019 - 2024. All rights reserved.