为变分自动编码器的某些输入特征赋予更多权重

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

我制作了一个变化自动编码器来增强数据。

它工作正常,但我希望增强数据中的某些列比其他列有更多的变化。

例如,我实际上生成了这个数据:

100  16 2.6
105  16.6 2.7
110  16.7 2.8

您会告诉我:这很正常,您在第二列的大范围内没有足够的真实输入数据,而第一列的值约为 105。确实如此,但我的第二列很重要,这就是我的输入数据看起来很重要:

100 16 2.5
110 20 3.5
120 30 3.7
130 40 4 
200 80 7 
.....

我想给第二列更多的权重,使其在从 1 到 100 的整个实际输入数据范围内变化,并得到如下结果:

100 20  3
105 50  3.5
110 80  6
....
pytorch artificial-intelligence data-augmentation
1个回答
0
投票

也许你可以对损失添加额外的惩罚,以激励特征 2 的更高方差。

实现此目的的一种方法是将

sigma_feature2
直接合并到损失项中,例如
loss_total = loss_original + 0.1 * 1 / sigma_feature2**2
。其中
sigma_feature2
是特征 2) 的潜在表示的方差参数。

或者,您可以添加一个激活损失项来查看特征 2 的输出激活,并将

1 / nn.L2Loss(feature2_activations)
添加到损失项中。

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