谷歌开源深度学习系统 TensorFlow 的图片文字说明模型,可深层次理解图片
今天,谷歌宣布开源图片文字说明模型 Show and Tell,该模型具有自动生成图片文字说明的功能,准确率达 93.9%。
谷歌于 2014 年发表论文首次介绍了 Show and Tell 这一系统模型,在 2015 年又对其进行了内容更新,对相关技术做了更加准确的改进。之后,谷歌一直在完善这一技术,最终作为谷歌 TensorFlow 深度学习框架的一部分,Show and Tell 获得了开源 Apache 许可证,从今天开始在 GitHub 进行托管。
Show and Tell 的优点之一在于相比以前的旧系统来说(特别是相比谷歌之前用来自动生成图片文字说明的 DistBelief 系统来说),人们可以更加快速地对其进行训练。Chris Shallue 是谷歌 Brain 团队的一名软件工程师,对此他表示:“Show and Tell 能够在保持 DistBelief 准确性的前提下大大缩短训练时间:Show and Tell 训练时间只需 0.7 秒,而之前 DistBelief 在 Nvidia G20 GPU 上面进行训练,训练时间为 3 秒钟,也就是说 Show and Tell 总共所需训练时间只是之前时间的四分之一。”
谷歌团队训练 Show and Tell 的方式是利用真人制作的图片文字说明对系统在视觉和语言两种框架进行训练,这有助于避免系统机械地命名图像中的物体。因为,系统不仅仅要辨认出图片中的人物、动物或物体等,还要生成完整的描述性语句。若想创建一个准确的模型,关键是要考虑好物体之间的相互关系,例如一名男子正在放风筝,与一名男子头顶有风筝,这两种表述都覆盖了图片中的人物与事物,但只有一种表述是对图片的最准确描述。
此外,谷歌Brain团队指出,Show and Tell 并不仅仅是扮演一只鹦鹉角色,机械的重复训练图片库里的词条内容,从下图可以看出,该模型是如何通过训练库图像内容合成来创造出新鲜内容的图像描述。这也表明该模型对于图片中的物体和场景关系实现了更深层的理解,并且能用自然的英语词组及语句表达出来。
谷歌并不是唯一一个借助 AI 来实现图片文字说明功能的公司,在这一领域还有许多的竞争者,并且有相关的其它开源工具,例如斯坦福大学 Andrej Karpathy 推出的 NeuralTalk2 就是一款可以对图像内容生成自然语言描述的模型。