前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >穿越到《权游》中的赫敏,竟然是龙妈???

穿越到《权游》中的赫敏,竟然是龙妈???

作者头像
新智元
发布2022-08-26 15:42:44
7520
发布2022-08-26 15:42:44
举报
文章被收录于专栏:新智元


新智元报道  

编辑:Aeneas 好困

【新智元导读】最近,Stable Diffusion已经掀起一股热潮。让我们看看《哈利·波特》中的人物进入《权力的游戏》中,会变成什么样子?

最近,Stable Diffusion正在网上大火,谁用谁是艺术家。

作为一种从文本到图像的AI工具,它之所以能掀起这么大的波澜,是因为它能够从简单的文本提示生成著名人物的逼真图像。

与传统的竞争对手Dall-E2相比,Stable Diffusion把生成图像的速度提高了足足三倍。

论文地址:https://arxiv.org/abs/2112.10752

哈利·波特变权游

让我们看一看,用Stable Diffusion把《哈利·波特》中的角色变成《权力的游戏》中的角色,是什么效果吧。

艾玛·沃特森(赫敏·格兰杰)

代码语言:javascript
复制
Prompt: !dream “emma watson as hermione granger in game of thrones “ -n 4 -i -S 3220803958

赫敏格兰杰进入权游的世界后,挺像丹妮莉丝·坦格利安的。

评论:可塑性很强的演员,非常适合《权力的游戏》系列。

丹尼尔·雷德克里夫(哈利·波特)

代码语言:javascript
复制
Prompt: !dream “Daniel Radcliffe as Harry Potter in game of thrones “ -n 5 -i -S 1325472740

他看起来像琼恩·雪诺吗?好像并不太像😂。

非要说的话,可能更像山姆威尔·塔利一些。

鲁珀特·格林特(罗恩·韦斯莱)

代码语言:javascript
复制
Prompt: !dream “rupert grint as ron weasley in game of thrones “ -n 5 -i -S 2721137669

不知道为什么,罗恩在照片中会这么显小。

乍一看,他看起来像拉姆齐·博尔顿(剥皮警告)。但他的形象一点都不像一个能在权力的游戏中呼风唤雨、指挥部下的人。

拉尔夫·费恩(伏地魔)

代码语言:javascript
复制
Prompt: !dream “lord voldemort in game of thrones “ -n 5 -i -S 2427598534

伏地魔变身维斯特洛武士后,还挺像模像样的。奇妙的是,他与Night King也很适配。

迈克尔·刚本(阿不思·邓布利多)

代码语言:javascript
复制
Prompt: !dream “ian mckellen as gandalf in game of thrones “ -n 5 -i -S 2948575077

谁会想到,霍格沃茨的校长进入权游后,简直就像是从这里土生土长的角色。他看起来像是洋葱骑士(Davos Seaworth)和沃尔德·弗雷(Walder Frey)的结合。

那么, 这个神奇的模型,究竟是怎么做到的呢?

10步带你理解Stable Diffusion

顾名思义,Stable Diffusion基于的是扩散模型(Diffusion Model)。

其中,扩散是将小的、随机的噪声重复地添加到图像中的过程(从左到右)。而扩散模型是将这一过程逆转,将噪声逐位变成图像(从右到左)。

那么,扩散模型是如何将噪音变成图像的呢?很简单,训练一个神经网络即可。

现在有噪声图像的序列=x_1, x_2, ... x_T。神经网络通过学习一个函数f(x,t),对x进行「一点点」去噪,并产生x在时间步骤t-1时的样子。

要想把纯噪音变成高清图像,只需多次应用f即可!

所以说,扩散模型的输出实际上只是:f(f(f(....f(N, T), T-1), T-2) ..., 2, 1)。

其中,N是纯噪音,T是扩散步骤的数量,神经网络f则通常被实现为一个UNet。

实践上,在大型512 x 512图像上训练和计算扩散模型是非常缓慢和昂贵的。

所以,Stable Diffusion是在图像的_embedding_上进行计算的,而不是直接在图像本身上。

因此,Stable Diffusion的工作分为两步。

第一步:使用编码器将图像「x」压缩成一个较低维度的潜空表征「z(x)」;

第二步:在z(x)上运行扩散和去噪,而不是x。

潜在空间表示z(x)的维度比图像x小得多。这使得_latent_扩散模型比普通扩散模型更快、更有表现力。

文字提示在哪里呢?

其实,Stable Diffusion并没有像最开始所说的那样学习一个函数f(x,t)来对x进行「一点点」的去噪。而是学习了一个函数f(x,t,y),其中y是指导x去噪的context(上下文)。

比如,在下面这张图中,y就是图像的标签「北极狐」。

当使用Stable Diffusion生成图像时,输入的文本提示就是y。

那么,模型又是如何处理上下文y的呢?

y和时间步长t一起,可以通过以下两种方式注入潜在空间表示z(x)中:

1)简单串联

2)交叉注意

而Stable Diffusion则同时使用这两种方法。

当然,上下文机制实际是非常灵活的。

比如让y=一个图像掩码,或者y=一个场景分割,而不只是让y=一个图像标签。

经过在不同的数据上训练的Stable Diffusion,就可以做图像修复和语义图像合成了 。

(示意图)

在Stable Diffusion论文中,通过改变「上下文」的表征方法,作者展示了图像修复和图像合成的情况。

看到这里,是不是感觉手痒了?

模型完全公开了!

你说巧不巧,8月22日团队发文表示,1.4版本的Stable Diffusion模型正式向大众开放。

团队表示,v1.4的推荐权重是470k,比提供给研究人员的v1.3的440k,多了几个训练步骤。

目前,模型仅支持英伟达显卡,最终占用的显存为6.9Gb。

在接下来的时间里,团队还将持续发布模型的优化版本,以及更多性能和质量得到改善的变体和架构。

之后,Stable Diffusion模型也将能够在AMD、苹果M1/M2和其他芯片组上运行。

不想自己去调教的话,也可以尝试HuggingFace的demo。

地址:https://huggingface.co/spaces/stabilityai/stable-diffusion

参考资料:

https://medium.com/mlearning-ai/ai-transforms-five-harry-potter-cast-into-game-of-thrones-characters-39e4af6b426e

https://stability.ai/blog/stable-diffusion-public-release

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】最近,Stable Diffusion已经掀起一股热潮。让我们看看《哈利·波特》中的人物进入《权力的游戏》中,会变成什么样子?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档