看图说话,是人类具备的一项重要技能。随着图像识别技术的发展,AI系统也逐渐具备了这一能力。比如下面这一幅图,可以描述成“山顶上的老鹰”。
但如果反过来,依据“山顶上的老鹰”这一段文字,该如何得到一幅图片呢?
近期,机器学习公司 OpenAI 通过其AI系统 DALL-E,实现了这一能力。向系统输入“山顶上的老鹰”这段文字,可以生成一系列的图像。
DALL-E是OpenAI基于GPT-3开发的一种新型神经网络,可以看成是GPT-3的一个小版本。
GPT-3是一个自然语言处理模型,能够完成与语言相关的各种任务,如答题、写文章、语言翻译、数据分析、图表制作等。例如,该模型可用于UI页面设计,输入文字“一个彩虹色的按钮”,系统就能直接生成相应的UI页面;可以将自然语言直接转化为Python语言等。
GPT-3的优异表现源于其在算法、数据、算力方面的投入:算法,GPT-3采用Sparse Transfromer模型,该模型采用自注意力机制,改善了RNN训练慢的缺点;数据,GPT-3建立庞大的数据集,涵盖新闻报道、诗歌、小说、宗教、科学、生活等各种内容,数据集大小超过英语维基百科(涵盖约600万篇文章)的100倍。此外,该模型的参数量达到1750亿;算力,Microsoft和OpenAI合力开发了一款超级计算机,专门用于GPT-3模型训练,这款超级计算机拥有超过 285000 个 CPU 内核、10000 个 GPU 和 400Gbps 的网络连接,其计算能力位列全球超级计算机Top 5 。
与GPT-3的1750亿参数量相比,DALL-E只有120亿个参数。虽然参数量更少,但其训练数据集更有针对性,使用文本-图像对的数据集,经过专门训练,可以从文本描述生成图像。
针对一段文字,DALL-E会生成512个图像,其中大部分图像的质量不高。为此,OpenAI推出了另一个AI模型CLIP,该模型可从每个文本生成的512个采样中,选出最好的32个图像。
CLIP是通过图像和文本进行训练的多模态模型,CLIP神经网络可以从自然语言监督中有效学习视觉概念,只需提供要识别的视觉类别名称,即可使用CLIP将图像进行分类。
总体上看,DALL-E模型具备的能力包括:
控制单个目标的属性
依据文字描述,模型可生成单个物体,并对该物体的各项属性进行修改和控制。
多目标绘图
当一段文字描述中涉及到多个目标时,绘图难度增大。不仅要要生成多个物体,更重要的是让AI系统理解多个物体之间的关系。DALL-E可以独立地控制少量目标的属性,并在有限的范围内控制目标的数量以及它们之间的排列方式。
3D目标绘制
一般图像是二维的,3D图像具有更丰富的信息,构造也更加复杂。DALL-E模型不仅能绘制二维图像,还能渲染出3D图,为通过自然语言实现3D渲染引擎功能提供了一种途径。DALL-E可以控制渲染场景的位置和角度,并根据角度和照明条件生成精确且规范的已知目标。例如,输入“坐在田野上的体素化模型水豚”,可以得到如下图像:
进行图像创造
创造力似乎是人类的专利,但是基于一定规则的AI程序,有时候也能表现出一定的创造能力。DALL-E可以将语言中的概念进行组合,“创造出”现实世界没有或者人类很难想象的图像。比如输入文字“竖琴状的蜗牛”,可以得到一些新奇的结果。
这些图像,人类一般是比较难以画出来的。AI程序的合理利用,可以有效拓宽人类的认知边界。
图像-语言-图像
将DALL-E与图像识别模型相互结合,就能够实现“以图画图”,即依据一幅图片让AI系统生成更多的图片。其过程为,通过图像识别,AI系统理解图片中的基本元素,并将其转化为针对图像的文字描述,再通过DALL-E将这段文字转化为一系列图像。
例如,给一张猫的图片,系统可以生成各种千奇百怪的类似图片。
更进一步,文字、语音、图片、视频、3D模型,都是信息的表现方式,如果通过构建多模态神经网络,让文本和图像在深度神经网络中实现张量统一,打通不同信息之间的壁垒,对于通用人工智能意义重大。人类用同一个大脑,可以实现听说读写,理解文字、语音、图像、视频等各类信息。要实现通用人工智能,多模态AI系统是关键节点之一。
参考链接:
https://github.com/elyase/awesome-gpt3#awesome-gpt-3