Adobe工程师开发只用“一张图”就能训练GAN的机器学习技术

著名网站This person do not exist(这个人不存在)即是使用GAN技术制成,但要做出假以乱真的图片,训练GAN需要一定数量的数据集做训练;对于数据量偏少的开发者,真的就只能干瞪眼放弃吗?

Adobe工程师开发新形态GAN技术,一张图也能成功训练!

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处

对不同的生成器采用不同的学习率(learning rate)。

下图就展示了使用这两种方法实现的模型。默认情况下,最多同时训练3个生成器,并对较低的生成器,分别将学习率调至1/10和1/100。

在这个过程中,有一个有趣的现象。

如果对较低的生成器采用较高的学习率,那么生成的图像质量会高些,但是差异性较弱。

相反,如果对较低的生成器采用较小的学习率,那么生成图像的差异性会丰富一些。如下图所示。

程序代码已在GitHub上开源

ConSinGAN的程序代码已经在GitHub上开源。

老规矩,先介绍一下运行所需要的环境:Python 3.5;Pytorch 1.1.0。

安装也非常简单:

pip install -r requirements.txt

若要使用论文中的默认参数训练模型:

python main_train.py–gpu 0–train_mode generation–input_name Images/Generation/angkorwat.jpg

在英伟达GeForce GTX 1080Ti上训练一个模型大约需要20–25分钟。

不同的学习率和训练阶段数量,会影响实验的结果,研究人员推荐二者的默认值分别是0.1和6。

当然也可以修改学习率:

python main_train.py–gpu 0–train_mode generation–input_name Images/Generation/colusseum.jpg–lr_scale 0.5

修改训练阶段的数量:

python main_train.py–gpu 0–train_mode generation–input_name Images/Generation/colusseum.jpg–train_stages 7

当然,模型也可以用来处理“图像协调”和“图像编辑”等任务,详情可参阅GitHub。