小编joh*_*ler的帖子

减少自动编码器的损失

我目前正在尝试训练一个自动编码器,它允许将长度为 128 个整数变量的数组表示为压缩为 64 的数组。该数组包含 128 个整数值,范围从 0 到 255。

我在每个时期使用超过 200 万个数据点来训练模型。每个数组的形式如下:[ 1, 9, 0, 4, 255, 7, 6, ..., 200]

input_img = Input(shape=(128,))
encoded = Dense(128, activation=activation)(input_img)
encoded = Dense(128, activation=activation)(encoded)

encoded = Dense(64, activation=activation)(encoded)

decoded = Dense(128, activation=activation)(encoded)
decoded = Dense(128, activation='linear')(decoded)

autoencoder = Model(input_img, decoded)
autoencoder.compile(optimizer='adam', loss='mse')

history = autoencoder.fit(np.array(training), np.array(training),
                    epochs=50,
                    batch_size=256,
                    shuffle=True,
                    validation_data=(np.array(test), np.array(test)),
                    callbacks=[checkpoint, early_stopping])
Run Code Online (Sandbox Code Playgroud)

我还将上传一张显示训练和验证过程的图表:训练损失图

我怎样才能进一步降低损失呢?到目前为止我已经尝试过的(两种选择都没有成功):

  1. 更长的训练阶段
  2. 更多层

python compression autoencoder deep-learning

3
推荐指数
1
解决办法
3262
查看次数

标签 统计

autoencoder ×1

compression ×1

deep-learning ×1

python ×1