深度学习中的自编码器、序列到序列模型及超参数调优
自编码器与前置任务
自编码器能够在无标签的情况下进行训练,以学习数据关键特征的提取。这些关键特征提取能力可应用于多种场景,如数据压缩和去噪。
在图像领域,让模型学习数据的关键特征而非数据本身十分重要。这能使模型不仅在相同分布的未见过数据上具有泛化能力,还能在部署后输入分布发生变化时进行更准确的预测。例如,一个识别飞机的模型,若训练数据中没有飞机在机库的图像,当模型部署后遇到机库中的飞机图像时,就会出现输入分布变化(数据漂移),导致准确率下降。即便通过增加机库背景的图像重新训练模型,在现实世界中仍可能遇到未预料到的背景,如水上飞机、飞机墓地中的飞机或工厂中部分组装的飞机等。
为了让自编码器更好地学习关键特征,我们可以采用前置任务进行预训练。具体步骤如下:
1. 对目标模型进行预热(有监督)训练,以实现数值稳定。
2. 构建一个自编码器,其编码器由目标模型的茎卷积组构成,解码器由倒置的茎卷积组构成。
3. 将目标模型中数值稳定的权重转移到自编码器的编码器中。
4. 在前置任务(如压缩、去噪)上对自编码器进行无监督训练。
5. 将自编码器编码器中经过前置任务训练的权重转移到目标模型中。
6. 对目标模型进行有监督训练。
以下是一个简单的代码示例,展示了如何构建一个自编码器:
from tensorflow.keras import Input, Model
from tensorflow.keras.layers import Conv2D, Conv2DTranspose
f
超级会员免费看
订阅专栏 解锁全文
4700

被折叠的 条评论
为什么被折叠?



