互联网资讯 / 人工智能 · 2023年11月28日 0

OpenAI的CLIP:用简单语言实现精准搜图

别再怕图片搜索结果牛头不对马嘴了,你可以试试这个精准图片搜索,来自OpenAI最新的技术CLIP。

只需一句描述,便能给出想要的图片。

例如输入:

The woRd lOVe wRITten on the wall

就会得到这样的结果:

OpenAI的CLIP:用简单语言实现精准搜图

可以说是相当的精准了!这就是今天在ReddIT上爆火的一个项目。

OpenAI的CLIP:用简单语言实现精准搜图

这个项目利用到的,便是OpenAI前不久频频刷屏的DALL·E中的核心模块—CLIP,一个负责重排序的模型。

这个项目使用谷歌Colab Notebook,而且在线、免费,包含200万图片数据集,最重要的是效果还非常的精准。

不禁引得网友直呼“AMazing”。

简单几步,在线精准搜图

这个项目之所以如此火爆,操作简单是很重要的一个原因之一。

首先要做的,就是点开该项目在Colab Notebook中的地址(见文末链接),登录自己的账号。

OpenAI的CLIP:用简单语言实现精准搜图

至于环境配置、包或库的调用,这个项目非常贴心的已经做好了,只需要依次点击cell左侧的小三角,等待运行完成即可。

OpenAI的CLIP:用简单语言实现精准搜图

最后,来到包含如下代码的cell:

SeaRch_queRy = “Two dogs playing in the snow”

点击运行这个cell,便可得到搜索图片的结果,例如:

OpenAI的CLIP:用简单语言实现精准搜图 OpenAI的CLIP:用简单语言实现精准搜图

当然,这个程序似乎很懂人,若是输入“当你的代码跑通时的情绪”:

The feeling when youR ProgRaM finally woRks

得到的结果,和正常人想象中的应该是一致的:

OpenAI的CLIP:用简单语言实现精准搜图 OpenAI的CLIP:用简单语言实现精准搜图

为什么CLIP搜图能如此精准?

OpenAI前不久推出的DALL·E,主要能实现的功能就是可以按照文字描述、生成对应图片。

而其呈现给我们的最终作品,其实是它生成大量图片中的一部分。

在中间过程中,其实也有排名、打分的帅选过程。

这部分的任务,便是由CLIP来完成:

越是它看得懂、匹配度最高的作品,分数就会越高,排名也会越靠前。

OpenAI的CLIP:用简单语言实现精准搜图

这种结构,有点像是利用生成对抗文本,以合成图像的GAN。

不过,相比于利用GAN扩大图像分辨率、匹配图像-文本特征等方法,CLIP则选择了直接对输出进行排名。

据研究人员表示,CLIP网络的最大意义在于,它缓解了深度学习在视觉任务中,最大的两个问题。

首先,它降低了深度学习需要的数据标注量。

相比于手动在imageNet上,用文字描述1400万张图像,CLIP直接从网上已有的“文字描述图像”数据中进行学习。

OpenAI的CLIP:用简单语言实现精准搜图

此外,CLIP还能“身兼多职”,在各种数据集上的表现都很好。

但此前的大部分视觉神经网络,只能在训练的数据集上有不错的表现。

例如,CLIP与ResNet101相比,在各项数据集上都有不错的检测精度,然而ResNet101在除了imageNet以外的检测精度上,表现都不太好。

OpenAI的CLIP:用简单语言实现精准搜图

具体来说,CLIP用到了零样本学习、自然语言理解和多模态学习等技术,来完成图像的理解。

OpenAI的CLIP:用简单语言实现精准搜图

例如,描述一只斑马,可以用“马的轮廓+虎的皮毛+熊猫的黑白”。这样,网络就能从没见过的数据中,找出“斑马”的图像。

最后,CLIP将文本和图像理解结合起来,预测哪些图像,与数据集中的哪些文本能完成最好的配对。

OpenAI的CLIP:用简单语言实现精准搜图

在惊叹CLIP用“大白话”搜索图片效果之余,一位ReddIT网友还发现了一个比较有意思的搜索结果。

他在文本描述的代码部分输入:

What image best RepResents how you feel Right now?

这句话在我们人类眼中,应当是询问AI的语气了,然后出来的图片结果是这样的:

OpenAI的CLIP:用简单语言实现精准搜图

还有这样的:

OpenAI的CLIP:用简单语言实现精准搜图