【导语】近几年,AI绘画成为大家关注的热点话题,从最初的简笔画,到动漫风格的绘画,再到真实人脸的生成…… AI 画家的飞速成长,似乎标志着一个绘画界新星的冉冉升起。AI 到底是如何学会绘画的?在本文中,营长梳理了 AI 绘画的成长史,带大家一同走近这位新晋画家。

作者 | Rachel

责编 | 琥珀

出品 | AI科技大本营(id:rgznai100)

作为计算机视觉的热点探讨问题之一,AI绘画技术在近几年得到了飞速发展,相关模型和应用不断引起人们的热烈讨论。如此前营长为大家报道的:吸猫人群的福音:猫脸生成器,卖出 43.2 万美元的AI画作,变身神笔马良神器,使用重构网络拯救“老婆”画作,AI学会图像风格迁移大法、英伟达新型GAN,可使豹子秒变沙皮狗等等。

几年前,AI 还只会像小孩子一样画出一些简单的简笔画,而如今,AI 已经能够画出逼真的人脸,甚至让人类都难以分辨真假。那么,这位绘画界的新星到底是如何飞速成长起来的?AI 都学会了哪些绘画方法?今天,营长就带大家一同走近这个神秘的画家,探秘 AI 绘画的成长之路。

AI 绘画的出现

Google 上关于“AI painting”一词的检索热度变化(2004-2019)

AI 绘画实际上并不是近几年才出现的新词语。从 Google 趋势提供的搜索指数来看,2004 年至 2007 年期间,“AI painting”就已经成为检索热词;2008年之后,检索热度开始下降并进入平缓期;直到 2017 年 5 月, AI 绘画再一次成为大众的关注热点。

从广义上来讲,AI 绘画早在上个世纪就已经出现了。1973年,Harold Cohen 就已经开始尝试和电脑程序 “AARON” 携手进行绘画创作。与当下 AI 绘画不同之处在于,ARRON 使用机械手臂在画布上进行绘画,而非数字绘图。进入 20 世纪 80 年代,ARRON 学会了对三维空间物体的绘画表现方法;90 年代,它学会了使用多种颜色进行绘画。ARRON 已经绘制出了很多不同的作品,直到今天,它仍在进行创作。

图:ARRON 在 1992 年创作的一副绘画作品

参考链接

从 python 语言逐渐流行开始,一个名为 “turtle” 的绘图库逐渐进入人们的视线。turtle 绘图库的概念最初来自 Wally Feurzig 和 Seymour Papert 于 1966 年所创造的 Logo 编程语言,通过编写程序,这个库也能够帮助我们进行一些图像的绘画。

我们现在所说的 AI 绘画,实际更多指代的是基于机器学习模型进行自动数字绘图的计算机程序。这类绘画方式的发展要稍晚一些。2012 年,吴恩达和 Jeff Dean 使用 Google Brain 的 1.6 万个 CPU 训练了一个大型神经网络,用于生成猫脸图片。在当时的训练中,他们使用了 1000 万个来自 Yotube 视频中的猫脸图片,模型训练用了整整三天。最终得到的模型,也只能生成一个非常模糊的猫脸。

与现在的模型相比,这个模型的训练几乎毫无效率可言。但对于计算机视觉领域而言,这次尝试开启了一个新的研究方向,也就是我们目前所讨论的 AI 绘画。

AI 学习绘画的挑战

对于机器学习模型而言,让 AI 学会绘画的过程就是一个模型的构建和参数训练过程。在模型训练中,每一副图画都使用一个大小为 mxn 的像素点矩阵表示,对于彩色图画,每个像素点都由 RGB(red、green、blue)三个颜色通道组成。要让计算机学会绘画,就相当于训练一个可以逐个产生像素的机器学习模型。

这听起来或许很简单,但实际上,这一过程并没有我们想象得那么容易。在一篇论文《Learning to Paint with Model-based Deep Reinforcement Learning》中,提到了训练 AI 学习绘画的三个挑战,包括:

  • 模型需要训练的参数集合非常庞大。绘画中的每一笔都涉及位置、形状、颜色等多个方面的参数确定,对于机器学习模型来说,这将产生一个非常庞大的参数集合;

  • 笔画之间关系的确定,会导致更加复杂的计算。一副纹理丰富自然的画作往往由很多笔画完成。如何对笔画进行组合、确定笔画间的覆盖关系,将是一个很重要的问题;

  • 难以将 AI 接入一个现有的绘画软件。画作的渲染等操作将导致非常高昂的数据获取代价。

另外,如果希望 AI 除了模仿已有画作的内容和风格以外,还能够自创风格,模型训练的难度会进一步加大。一个原因在于,“创造”是一个非常抽象的概念,使用模型来表达比较困难;另外,训练数据的内容和风格终究是有限的。在上文提到的 ARRON 经过40余年的学习,仍没能够跳脱出其最初使用的色彩艳丽的抽象派风格,而这正是 Harold Cohen 本人的绘画风格。

《Learning to Paint with Model-based Deep Reinforcement Learning》 论文地址

AI 绘画的初步发展:学习图片生成方式,尝试简笔画

在吴恩达的猫脸生成模型之后,学界对 AI 绘画进行了很多探索。最初的图像生成模型为Ian J. Goodfellow 在 2014 年提出的对抗生成网络(Generative Adverserial Network, GAN),这一模型也成为了很多 AI 绘图模型的基础。 GAN 包括两个部分:生成器(generator)和判别器(discriminator),其中生成器用于图片的生成,判别器来判断图片为真或假。这种方法对图像生成领域做出了极大贡献。

《Generative Adverserial Nets》论文地址

但是使用 GAN 生成的图片存在两个比较明显的问题。一是缺少控制能力。如果向 GAN 中输入一个随机噪声,就会产生一副随机图像,而对于 AI 绘画而言,图像的产生过程应当是可控的。二是分辨率和质量较低。使用基础的 GAN 网络生成的很多图像的分辨率较低。

针对于低分辨率的问题,2016 年 9 月,Christian Ledig 等人提出了 SRGAN 模型,该模型首次使用 GAN 网络的架构生成了高分辨率的真实图片。通过将 GAN 的损失函数替换为感知损失和对抗损失,模型取得了较好的生成效果。

《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》 论文地址

2016 年 12 月,Ian Goodfellow 在 NIPS 上介绍了一个使用 GAN 能够产生动物图片的模型。这些图片的风格看起来比较逼真,但是由于图片结构生成的不连续问题,有时会产生一些不合常理的内容,如:长了三只眼睛的猫,或者有好几个头的狗。

NIPS 2016 Tutoral  论文地址

图:Ian Goodfellow 使用 GAN 模型生成的图片,看起来有点惊悚

上述研究在学界引起了广泛讨论,但大众真正开始了解 AI 绘画,要推迟到 2017 年 4 月 Google 提出 Sketch-RNN 模型的时候。Sketch-RNN 基于 Seq2Seq 模型构建,并使用了变分推理方法,模型的训练使用了一个包含几百个种类的上千张手绘简笔画图片。通过训练,模型能够绘制一些简笔画。Google 在论文《A Neural Representation of Sketch Drawings》中对这一模型进行了详细介绍,并在之后开源了相关代码。

Sketch-RNN 模型得到了人们的广泛关注,一些开发者还基于该模型开发了一些有趣的应用。其中一个在线应用叫做 “Draw Together with a Neural Network” ,人们可以用鼠标随意画一个图形,并选择一个希望生成的图形类别,该网站便能以多种方式自动帮你补充完整个图形。例如,选择绘画类别为 “flower”,效果如下面的动图所示:

图: “Draw Together with a Neural Network” 的一个使用示例

《A Neural Representation of Sketch Drawings》论文地址

“Draw Together with a Neural Network”  项目地址

此后,研究人员对简笔画的绘制也在不断探究。2018 年的 BMVC (The British Machine Vision Conference,英国计算机视觉会议)上,Tao Zhou 等人提交了一篇名为《Learning to Doodle with Deep Q-Networks and Demonstrated Strokes》的论文,该论文基于强化学习(Reinforcement Learning, RL)中的 Q-Learning 方法构建了一个机器学习模型,模型对于涂鸦类和水彩类绘画都能产生较好的输出。

《Learning to Doodle with Deep Q-Networks and Demonstrated Strokes》论文地址

AI 绘画的进一步发展:学习更加复杂的绘画方法

在 Sketch-RNN 模型之后,大量的 AI 绘画模型不断涌现。

2017 年 7 月, Facebook 在《CAN: Creative Adversarial Networks, Generating "Art" by Learning About Styles and Deviating from Style Norms》中提出了创造性对抗网络(Creative Adversarial Networks, CAN)模型,尝试使 AI 绘制风格和图片类型更加多样的图画。

与传统的 GAN 结构一样, CAN 也包含生成器和鉴别器两个部分。不同之处在于, CAN 在 GAN 的损失函数的基础上加入了绘画的时间信息,因此在进行学习后,可以让模型产生与某一时间阶段风格不同的画作。在人工评测中,人们认为 CAN 模型的绘画和人类艺术家绘画的创意性不相上下。尽管创意性是一个比较主观的评价指标,这仍是 AI 学习绘画的重要一步。

图:基于 CAN 模型生成的绘画

《CAN: Creative Adversarial Networks, Generating "Art" by Learning About Styles and Deviating from Style Norms》

论文地址

2018 年 4 月, DeepMind 提出了一个名为 “SPIRAL” 的智能体,该智能体使用的模型基于强化对抗学习(Reinforced Adversarial Learning, RAL)方法构建,并能够与计算机绘图程序协作进行绘画。该模型的基本架构类似于强化学习,但这一模型使用了一个判别器来决定基于模型输出的奖励,当判别器越难判断输出图片的绘制者是人还是计算机,基于模型的奖励越高。不同于以往的图片生成模型,论文中的模型可以使用未标注的图片集进行训练,极大降低了获取数据的成本,并提升了模型对图片细节的学习效果。

《Synthesizing Programs for Images using Reinforced Adversarial Learning》论文地址

2019 年 3 月,旷视科技训练了一个名为“LearningToPaint” 的绘画 AI ,其使用的基准算法为深度确定策略梯度算法(DDPG)。该算法基于策略梯度算法和值函数构建,并使用了演员-评论家(actor-critic)框架。为加快模型训练速度,他们将这一方法接入到了强化学习模型中,用以辅助模型训练。相较于之前的模型,该方法能够适用于更加广泛的数据集,只需修改模型绘画时的最大笔画数即可。

《Learning to Paint with Model-based Deep Reinforcement Learning》论文地址

尽管 AI 绘画已经得到了很多成长,在未来的研究中,如何使模型更具创造性、如何提高图片质量效果、如何发掘更多有趣有价值的应用,还是留待讨论的问题。

总结

在上文中,我们简要回顾了 AI 绘画的发展史,简单总结如下:

  • AI 绘画概念的提出:广义上的 AI 绘画并不是一个新的名词,早在上个世纪80年代就已经出现了相关讨论,在21世纪初还曾是一个热点关注问题。从狭义上来讲, AI 绘画指的是基于机器学习模型进行自动数字绘图的绘画方式。自2012年吴恩达和 Jeff Dean 的猫脸生成模型开始, AI 绘画得到了迅速发展。

  • AI 绘画存在的挑战:包括参数量庞大、计算复杂、和现有绘图工具协作困难、难以生成具有创造性的图片。

  • AI 绘画的发展历程:在发展最初,主要使用2014年提出的生成对抗网络模型(GAN)进行图片生成。在此之后,很多研究对 AI 绘画模型都进行了探索,比较具有代表性的模型和应用包括 Google 提出的 Sketch-RNN 模型, Facebook 提出的 CAN 模型, DeepMind 搭建的 SPIRAL 智能体等。

最近几年, AI 绘画的成长速度是惊人的。未来,这位新晋画家还会为我们带来怎样的惊喜?让我们拭目以待。

(*本文为 AI科技大本营原创文章,转载请联系微信1092722531)


CTA核心技术及应用峰会

5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。

更多重磅嘉宾请识别海报二维码查看,点击阅读原文即刻抢购。添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。

推荐阅读

  • “搞垮” 微博服务器?每天上亿条用户推送是如何做到的

  • 百度宣布:搜索业务总裁向海龙离职,另回购10亿美元股份

  • AI画家——毕业设计大杀器之Flask

  • 干货 | 超实用的PyTorch常用代码段合集

  • 60K!刚面完Python!这个被Oracle裁掉的程序员求职刷爆全网!

  • 厉害!女学生偷师男子学校,变身区块链开发工程师

  • 真壕!腾讯员工平均月薪 7 万!

  • 如何使用「番茄法」高效的写算法题?

  • 深扒! 币安被盗的7074.18枚比特币去哪了?

  • 这家公司的 IoT ,你可千万别低估!

点击阅读原文,了解CTA核心技术及应用峰会」

一文回顾AI绘画的成长之路:从简笔画到真实人脸生成相关推荐

  1. 技术小白的AI产品经理成长之路第一步(吴恩达《深度学习工程师》学习笔记2.1二分分类)希望可以给同为技术小白的同学一点深参考

    <背景> 作为一个在市场营销岗位多年的技术小白,突然某天想到自己曾经的产品梦正在伤感之余(话说曾经因为舍不得在营销岗多年的经验,因此在三年前想要转行却一直未能成功,直到现在移动端红利期已过 ...

  2. AI 绘画(1):生成一个图片的标准流程

    文章目录 文章回顾 感谢人员 生成一个图片的标准流程 前期准备,以文生图为例 去C站下载你需要的绘画模型 导入 参数导入 生成结果?可能是BUG 事后处理 图生图 如何高度贴合原图 火柴人转角色 涂鸦 ...

  3. 2022年全网最全AI绘画产品整理(一共23款,免费的绘画次数用到你手软)

    1.飞链云版图 [免费] 扫码或搜索微信小程序:飞链云版图 注册即赠送100次AI绘画次数,每天分享可以免费获取到110次AI绘画次数: 完全够普通人到日常绘画需求:如果你有大量的绘画需求(月绘画次数 ...

  4. ControlNet精准控制AI绘画教程

    ControlNet精准控制AI绘画教程 AI绘画相信大家都已经不陌生了,虽然AI绘画出图很方便,但是要让其生成一副自己满意的图,还是需要费一番心思,有时候多次调整关键词就是生成不了自己想要的画面,这 ...

  5. 刷屏的AI 绘画,你成功驯服了吗?其背后的AIGC模型你可能还不知道

    文章目录 前言 基于 CLIP Latents 的条件文本图像生成 BLIP Hugging Face 奇点智源 中文-CLIP 百度 昆仑万维之AI绘画 前言 随着人工智能技术的发展与完善,AIGC ...

  6. AI 绘画(2):Ai模型训练,Embedding模型,实现“人物模型“自由

    文章目录 文章回顾 感谢人员 题外话 Ai绘画公约 Ai模型训练 硬件要求 显存设置 查看显存大小 显存过小解决方法 视频教程 前期准备 SD配置设置 SD设置配置 SD训练配置pt生成 训练集收集 ...

  7. 有没有ai绘画教程?什么软件能实现ai绘画?

    曾经ai绘画还无人问津,现在却突然流行起来,并且热度还在不断上升,不论是各种社交平台或是短视频应用,都有它的相关身影. 而它之所以倍受大家的喜爱,主要是因为仅需简单几步,输入相对应的关键词,ai就能够 ...

  8. AI绘画与虚拟人生成实践(二):智能不智障!用chatgpt自动写爆款内容

    书接上回,本篇的目的是结合上篇生成的虚拟的女生形象,给它配上一段关于介绍AI绘画领域的脚本,下一篇会让生成的虚拟形象来念这段文案.先进入正题说明怎么使用chatgpt来生成想要的文案. 本文中使用的是 ...

  9. 【AI绘画】如何优雅的在本地配置 novelai ?

    大家好,最近 AI 绘画太火了,火到我无论是打开b乎还是b站,都会给我的首页推荐AI绘画相关的.当然我也是收藏和关注了一大波内容,后续会分享出来,各路大佬的新奇玩法. 网上有一大堆一键安装的教程,但是 ...

最新文章

  1. java 时间戳 与时间的转换
  2. 【高并发】在高并发环境下该如何构建应用级缓存?
  3. 人的一生,到底在追求甚么?...
  4. 马士兵java note 5
  5. 关于引用传递的测试题
  6. C#中static void Main(string[ ] args)中的作用及解释
  7. 子网掩码相关教学 子网掩码快速算法 沉睡不醒blog
  8. php如何检测键盘按键,js键盘事件,判断按下的是哪个键
  9. layui 如何动态加载局部页面_从输入URL到页面加载的过程?如何由一道题完善自己的前端知识体系!
  10. vs2013 提交 github
  11. Ubuntu五笔输入法的安装过程
  12. win10无法安装.net framework 3.5 解决方案/无法安装NetFx3解决方案
  13. GUI(Graphical User Interface)
  14. Microsoft .NET Framework 4(独立安装程序)
  15. 网页设计基础教程(1) PS篇
  16. 卷积码树状图怎么画_卷积码是什么 卷积码编码原理介绍【图文】
  17. 渗漏(Percolation)问题(java语言实现)
  18. Angular + xlsx + xlsx-js-style实现多个sheel页Excel下载
  19. HALCON联合C#检测表面缺陷——检测缺陷原理(一)
  20. 关于ARM Cortex a 系列的看门狗定时器

热门文章

  1. Activiti的学习
  2. 1881:【14NOIP提高组】生活大爆炸版石头剪子布
  3. qlaber 中放置图片_我准备了60个案例,教你彻底搞定PPT图片排版!
  4. C++的与/或/异或的详解
  5. Excel根据关键词批量查找提取
  6. **关于maven的,maven配置后报 java.lang.UnsupportedClassVersionError: org/codehaus/plexus/classworlds/launche
  7. 代码写的太乱?一分钟教你优化
  8. lanproxy使用
  9. 每日新闻 | 董明珠与雷军开启新赌约:10亿不要了,再赌5年
  10. Day4:应用层——FTP :文件传输协议、电子邮件(EMail)、DNS(Domain Name System)、P2P应用(一类应用)