代码:https://github.com/wayaai/SimGAN 下文介绍有不少改进。链接不少是链接到代码。阅读原因可点击相关链接。
内容:
来源:极客头条
作者:Michael Dietz,Waya.ai创始人 原文:SimGANs - a game changer in unsupervised learning, self driving cars, and more 译者:王安阳 上海交通大学研究生在读 责编:王艺,CSDN记者,专注人工智能。寻求报道及投稿请请联系wangyi@csdn.net。同时运营CSDN AI相关微信群,「面向AI从业者及研究员做深入讨论与交流,分享业内领先案例」,欢迎加微信Qunnie-Yi申请入群。(请备注姓名+公司+职位,以快速审核通过)
编者按
本文为苹果最新AI论文SimGANs写就,作为GANs的变种,SimGANs一经提出便引发众议。本文分析论文思想及代码,并就将SimGANs应用于基于无监督学习的自主驾驶为例进行探讨。文中多连接,推荐您一一打开,会有惊喜。
译文
苹果公司在2016年年尾发布了其首篇AI论文《通过对抗训练从模拟的和无监督的图像中学习》(Learning from Simulated and Unsupervised Images through Adversarial Training)。该文使用了如今最炙手可热的深度学习“对抗训练”方法,提出了一个所谓“模拟+无监督学习”(simulated + unsupervised learning)的方法,可以使用合成的和未标记的数据训练先进的神经网络。文章一经登出,便广受关注。
本文将分析为什么说SimGAN方法有着巨大的潜力,并把它应用于一个有趣的问题——自动驾驶。
我们将参考SimGAN的一个实现,以及除了waya.ai(译者注:作者为Waya.ai的创始人)之外我最喜欢的公司——Comma.ai,来进行讲解。(译者注:Comma.ai是一家致力于自动驾驶技术研发的科技公司)
若您需要了解GAN,请点击这里。
苹果这篇论文背后的核心思想是,标记的数据通常是稀缺和昂贵的。然而,标记数据可以通过强大的引擎(如Unity)或其他方法进行合成。问题是,合成的和真实的数据之间存在差距,这导致用合成数据进行训练的网络不能很好地推广到真实世界。
“模拟+无监督学习”一文认为,使用真实的,非必需有标记的数据集,可以跨越这一差距。生成网络(generator)可以通过“对抗训练”来学习精炼(refine)合成数据,使得它更接近于真实数据集的分布,同时保持合成数据的标注(即,它的标签保持有效)。
以下链接是要解释的概念的相关代码。使用精炼网络(refiner)改进合成数据,可以:
精炼网络(refiner)将合成数据样本作为输入,输出相同维度的改进数据样本。判别网络(discriminator)将数据样本作为输入,并将其分类为改进的或真实的。
在苹果所发“模拟+无监督学习”一文中,GAN架构和培训过程是标准的,但是建议两种简单和直观的方法来提高应用于GAN的生成数据的质量。
想象你是Comma.AI的一员,有大量的由Dash收集的真实的未标记的驾驶数据。虽然你当前的标记数据的方法很棒,但你只有少量的有标记数据。使用SimGAN,你可以训练一个改进神经网络来改进侠盗飞车的数据(开发者使用侠盗飞车游戏模拟真实车辆行驶),使数据看起来像是来自你的真实数据集,同时保留标注。现在,你可以在这个几乎无限精细标记的数据集上训练你的生产模型,并使用少量的真实标记数据集作为验证。
我没有参加任何自动驾驶的课程,但我知道他们使用侠盗飞车和模拟环境来训练他们的模型。有了这样的技术,他们的软件可以更接近现实世界。SimGAN在现实世界中似乎有许多可能的应用,自主驾驶只是我选择使用的一个有趣的例子。