发布时间:2023-04-25 09:30
最近,脑洞大开的外国人用DALL·E和Imagen对“中西结合”玩得不亦乐乎。
继“虎戴VR”之后,我国古代军事家孙武又成了新的整活目标。
测试者给DALL·E出了一道题:
让孙武玩《魔兽争霸II》游戏。
谁能想到,公元2022年,春秋时期的孙子竟在电脑上玩起了《魔兽争霸II》。
整幅画面居然挺和谐,还颇具东方味。
这应该是因为DALL·E跟据输入了限定词:Oriental Painting(东方绘画),确定了画风。
不过,这怎么看出来他玩得的就是《魔兽争霸II》?恐怕还需各位发挥一下想象力了。(手动狗头)
对于输入的同一段文字,DALL·E还给出了其他版本。
这幅图中,还体现出孙子军事家的特征。
坐在电脑前玩游戏或许还不够刺激,再把孙武设定为魔兽世界里的一个角色试试:
DALL·E不仅完成了,还还对图像进行了3D渲染。(虽然些图片并非都有魔兽游戏的界面)
网友惊叹:这个AI居然知道魔兽世界的角色长什么样!
下面说说这个“AI画师”是怎么进行创作的。
DALL·E本质上就是一个被120亿个参数重新训练过的GPT-3。
其核心模块是OpenAI的CLIP。
这是一个在各种图像、文本上训练的神经网络,负责给输入图像打分并重新排序。
其实,DALL·E在“创作”过程中生成了大量的图片。在这些图像中,和文本匹配度越高的,CLIP给的评分越高。
至于CLIP怎么分析图文匹配度?这离不开其将图片和文字“融合”理解的能力。
而这个能力归功于它的多模态神经元,具有和人脑类似的工作机制:能够对文字和图像中的相同意思同时作出响应。
最终,评分前几名的图片会作为输出呈现出来。(这解释了为什么输入同一段文字可以生成多张图像)
有人提出,不妨将CLIP和GAN结合起来,实现更强的功能:
让CLIP计算出图像与文字描述的相似度得分,然后反馈给GAN,让GAN以提升分数为目标不断迭代。
二代DALL·E结合了CLIP和扩散模型两种技术的特点。
其中,扩散模型在牺牲多样性的前提下,可以大大提升生成图像的逼真度。
CLIP文本嵌入首先会被传送给自然回归或者扩展先验,以产生一个图像嵌入。
然后,这个嵌入会被用来调节扩展编码器,以生成最终的图像。也就是说,图像生成是在“扩散”过程中完成的。
和初代相比,DALL·E 2生成图像的时间更短,图像分辨率更高。
此外,DALL·E 2在“绘图”过程中还会考虑阴影、反射、纹理等因素的变化。
例如:在左图的位置“1”放一个沙发,DALL·E 2会根据已有信息分析光线方向,并画出阴影。
DALL·E 2官方在Instagram上展出了许多程序员和工程师们创作的“奇葩”画像。
有古罗马版蜘蛛侠。(第二张真是绝了)
Spider-Man from Ancient Rome
耶稣骑恐龙画像。(耶稣看了都要直呼好家伙)
Jesus Christ wielding a samurai sword and riding on the back of a velociraptor, painting
小动物穿皮衣、戴墨镜的4K高清图。(这年头,看动物都觉得眉清目秀)
A photo of a cool wearing sunglasses and a leather jacket, 4k
一只运动喵在新闻发布会上向记者解释它的最新丑闻的照片。
超现实主义作品。
Remembrance of nostalgia, surrealist painting
以及赛博朋克风爱情小说封面。(那小说内容是不是可以直接让GPT-3写了?)
The cover of a cyberpunk romance novel
除此之外,还有利用文字差异,对iPhone复古化的动图。
除了用DALL·E 2画画外,还有一位研究员Janelle Shane使用这个工具试着为各大公司设计新商标。
来看看有没有你中意的吧——
DALL·E 2必胜客设计的LOGO长这样:
下面是DALL·E 2为汉堡王设计的LOGO:
还有为NASA设计的LOGO:
目前DALL·E还在大量数据测试训练中,且存在一定的道德挑战等因素,尚未正式向公众开放。
官方表示,有兴趣尝试者,可以报名并等待邀请。
不过大伙儿可以去DALL·E官网选择给定的关键词来玩玩。
例如,选择:“一个宇航员”、“在太空中的热带度假村躺着”,然后确定画风:“逼真”。
DALL·E就能根据命题画出几幅作品。
别说,还真有“太空度假村”那味儿了。
如果让你把天马行空的想法放进一张图里,你打算怎么创作?
DALL·E 2官网地址:
https://openai.com/dall-e-2/
参考链接:
https://arxiv.org/abs/2204.06125
https://www.aiweirdness.com/ai-versus-your-corporate-logo/