java 图像自定义生成,【重磅】Deepmind出品-自动学习并生成图像

通过眼睛的世界不仅仅是我们角膜所反映的映像。例如,当我们看建筑物并欣赏其设计的复杂性时,我们可以欣赏它所需的工艺。这种通过创造它们的工具来解释物体的能力使我们对世界有了更加丰富的理解,并且是我们获取信息的一个重要方面。

我们希望我们的系统能够创造出同样丰富的世界表现形式。例如,观察绘画的图像时,我们希望它会了解用于绘画时的动作,而不仅仅是在屏幕上表示它的像素。

在这项工作中(https://deepmind.com/documents/183/SPIRAL.pdf),我们为人造智能管家配备了与用来生成图像相同的工具,并证明它们可以推断数字、人物和肖像的构造方式。至关重要的是,他们是自己学习如何做到这一点,而不需要人为标签的数据集。这与之形成鲜明对比最近的研究(https://arxiv.org/pdf/1704.03477.pdf)依赖于从人为标记(human demonstrations)中学习,那样可能会是更加耗费时间。

java 图像自定义生成,【重磅】Deepmind出品-自动学习并生成图像_第1张图片

credit:Shutterstock

我们设计了一个与计算机绘画程序交互的深度强化学习系统(http://mypaint.org/),将笔触放在数字画布上并更改画笔大小、压力大小和颜色。未经训练的系统首先会绘制随意的笔画,但没有明显的构图。为了克服这一点,我们必须创建一种奖励机制,鼓励系统生成有意义的图画。

为此,我们训练了第二个神经网络,称为鉴别器,其唯一目的是预测特定图形是由机器制作的,还是从真实照片的数据集中采样得来。绘画系统的奖励是通过“欺骗”鉴别者认为它的绘画是真实的。换句话说,系统的奖励信号本身就是学习的。虽然这与生成敌对网络(GAN)中使用的方法类似,但它不同,因为GAN设置中的生成器通常是直接输出像素的神经网络。相反,我们的系统通过编写图形程序来与绘图环境交互来生成图像。

java 图像自定义生成,【重磅】Deepmind出品-自动学习并生成图像_第2张图片

在第一组实验中,系统接受了训练以生成类似于MNIST(http://yann.lecun.com/exdb/mnist/)数字的图像:它显示了数字的样子,但没有显示它们是如何绘制的。通过尝试生成用以欺骗鉴别器的图像,智能系统学会了控制画笔并操纵它以适应不同数字的风格--可视化程序合成技术(https://en.wikipedia.org/wiki/Program_synthesis)。

我们也训练它重现特定的图像。这里,鉴别器的目的是确定再现的图像是否是目标图像的副本,或者是否已经由系统产生。鉴别者的这种区别越困难,系统得到的奖励(rewarded)就越多。

至关重要的是,这个框架是可以解释的,因为它产生了一系列控制模拟画笔的动作。这意味着该模型可以将其在模拟绘画程序中学到的知识应用于其他类似环境中的人物重建,例如在模拟(或者真实)的机器人手臂上。这个视频可以在这里看到(https://youtu.be/XXM3PdIdLJQ)。

java 图像自定义生成,【重磅】Deepmind出品-自动学习并生成图像_第3张图片

还有可能将这个框架扩展到实际的数据集上(real dataset)。经过训练可以绘制名人脸部表情,系统能够捕捉到脸部的主要特征,例如形状、色调和发型,就像街头艺术家在使用有限数量的画笔描绘肖像时一样:

java 图像自定义生成,【重磅】Deepmind出品-自动学习并生成图像_第4张图片

从原始感受中恢复结构化表示是人类容易拥有并经常使用的能力。在这项工作中,我们表明可以通过让人工系统获得我们用来重现我们周围世界的相似工具来指导人造系统产生类似的表示。在这样做时,他们学会制作可视化程序,简洁地表达引起观察的因果关系。

尽管我们的工作仅代表了向灵活的程序综合化(synthesis)迈出的一小步,但我们预计可能需要类似的技术才能使具有类似人类认知、概括和沟通能力的人工智能成为可能。

你可能感兴趣的:(java,图像自定义生成)