博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DeepMind的AI学会了画画,利用强化学习完全不需人教
阅读量:5743 次
发布时间:2019-06-18

本文共 2231 字,大约阅读时间需要 7 分钟。

邓侃解读:DeepMind如何教AI自主学会画画?

给你一幅油画,问你是不是梵高风格,这个问题很容易回答。但是让你用文字描述,什么是梵高风格,却很难清晰地界定。

如何让电脑自动模仿梵高油画?DeepMind 想了一个办法。

1. 用强化学习算法,像走迷宫那样,在画布上涂抹颜色。刚开始时,不妨把强化学习算法设定为随机行走。一通乱走,直到把画布填满。

2. 强化学习算法需要设定报酬函数,评定算法的好坏,然后反复调整算法参数,使得报酬最大。刚开始时,随机涂鸦的作品,当然离梵高风格差距很大。差距越大,报酬越低。反复调整算法参数,使之获得的报酬越来越高。直到报酬不再增长,训练过程结束。

3. 设计一个报酬函数,如果电脑的作品,与梵高作品越相似,那么报酬越高。如何设计报酬函数呢?一个办法是做一个分类器(classifier),如果这个分类器,能够轻而易举地辨别电脑的作品,不是梵高油画,那么报酬越低。反之,如果分类器傻傻分不清哪一幅是电脑作品,哪一幅电脑作品,那么说明电脑已经模仿得很像,这时报酬很高。

eaec4692cf3869503fb3fb48be662403a585568b

DeepMind 用这个算法,教电脑模仿手写体数字,教电脑画头像。最后成像效果不错,但是笔划顺序不对。

原因是,模仿的参照物是静态的图像,而静态的图像不存在绘图的笔划顺序。

这个现象引发三点思考:

1. 本质上来说,让电脑绘图,无非是确定图像中每个像素的值。从这个意义上来说,不需要笔划顺序。因此,填满像素的最佳算法,应该不是强化学习这种强调顺序路径的算法。

2. 但是人类作画时,是很强调笔划顺序的。倒笔画会有什么伤害?常见的回答是,容易把字写歪。为什么倒笔画容易把字写歪?是人类肌肉适合从上到下,从左到右运动?如果是这样,电脑就无所谓倒笔画了。

3. 梵高的油画,中国的水墨,是很强调笔触顺序的。如何从静态的作品中,识别笔触顺序,然后把正确的顺序,融入强化学习的报酬函数?

以下为DeepMind博客译文:

完全自学、不需任何人类标注数据集

在人类的眼中,世界并非只是我们眼角膜上呈现的图像。比方说,当我们观赏建筑时,我们在赞叹其复杂设计的同时,也能领会到建造建筑所需要的工艺。人类可以通过工具来理解工具所创造出的物体,这让我们可以更好地理解世界,这种能力是人类智能非常重要的一面。

我们希望我们的系统在观察世界时也可以生成同样丰富的表征。例如,当系统观察一幅绘画的图像时,我们希望系统除了可以识别出屏幕上表示这幅画的像素外,还可以理解作画时画笔的笔触。

在本研究中,我们为人工智能体(artificial agents)配置了用来生成图像的工具。实验结果表明系统可以推理出生成数字、文字和绘画的方法,重要的是这些系统完全通过自学,没有借助任何人类标记的数据集

e3fb2d3a7f0b1f2e1ea983d96aebb46b5dd2e36f

图片来源: Shutterstock

我们设计了一个深度强化学习agent,这个agent可以与一个计算机绘画程序进行交互,在数字画布上作画,还可以改变画笔的大小、笔触压力和颜料颜色。在开始时,没有经过训练的agent只是乱画一通,看不出任何意图或构造。为了解决这个问题,我们创造出了一种奖励agent的机制,以使其生成有意义的绘画。

为此,我们另外训练一个名叫“判别器”的神经网络,用来预测某一幅绘画是由agent生成的,还是通过从真实照片数据集中采样得出的。绘画agent获得多大奖励取决于它成功“骗过”判别器的次数——也就是让判别器相信绘画是真实的。这种方法与生成式对抗网络(GANs)中使用的方法类似,不同之处在于GAN中的生成器通常是一个可以直接生成像素的神经网络。但是,我们的agent生成图像的方式是通过编写绘图程序来与绘画环境进行交互。

6f7ddba50b1f95af844fc59d5aa45b3b4a9f5d09

在第一组实验中,我们训练agent生成类似MNIST数字的图像:我们让它观察数字的模样,而不是教它如何画出这些数字。通过生成可以骗过判别器的图像,agent学习如何控制画笔,使画出的结果符合不同数字的样式,这种方法称为“视觉程序合成”(visual program synthesis)。

我们还训练agent生成特定图像。在本研究中,判别器的任务是判断生成的图像是通过复制目标图像得出的,还是由agent生成的。生成的图像让判别器越难判断,agent获得的奖励就越多。

可解释、可扩展到真实数据集

重要的是,这个框架是可解释的,因为它生成的是一系列控制虚拟画笔的动作。这意味着在类似的其他环境中,模型可以利用从模拟绘画程序中学到的模式再创造字符。例如,模拟或真实的机器手臂。请看视频:

566546f1f12bfec1d2241683d70731cae21396df

该框架还可以扩展到真实的数据集中。当我们训练agent作出名人的脸部画像时,它能够捕捉到人物脸部的主要特征,例如形状、色调和发型,它可以像街头艺术家一样用不多的笔触就可以完成一幅肖像画。

从原始感知中找出有结构的表征是人类与生俱来的一种能力,在现实生活中我们经常使用这种能力。在本研究中,我们证明了:通过赋予AI我们再创造世界所用的工具,我们可以让智能体学习生成类似的表征。通过这种方法,artificial agent可以学习生成视觉程序,用以表示让它们得出观察的因果关系。

虽然我们的工作只让我们离实现灵活的程序合成更近了一小步,但是我们认为,如果要让AI拥有和人类一样的认知、归纳和沟通能力,可能要用到类似的方法。

原文发布时间为:2018-03-29

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:

转载地址:http://ggizx.baihongyu.com/

你可能感兴趣的文章
递归加载文件
查看>>
1027课堂知识大纲整理
查看>>
PopupWindow与Edittext结合使用所遇到的坑
查看>>
HDU:七夕节
查看>>
简单的 Jquery 下拉菜单Demo
查看>>
ubuntu下源码包方式安装apache+mysql+php
查看>>
CSS英文单词强制换行
查看>>
tidb在DDL语句方面的测试
查看>>
linux中网络部分的总结
查看>>
zabbix日常监控项java(四又分之一,通用性强)
查看>>
php $_SESSION['HTTP_REFERER']返回上一页面
查看>>
10.25新随笔JavaScript01
查看>>
Android Studio 安装并使用genymotion
查看>>
多表联合查询
查看>>
JS-运算符
查看>>
transform:rotate()将元素进行不同角度的旋转
查看>>
数据备份和恢复
查看>>
requestAnimationFrame与setTimeout的定时器
查看>>
时频方向上重排
查看>>
决策树python实现小样例
查看>>