今天,谷歌宣布開源圖片文字說明模型 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 就是一款可以對圖像內容生成自然語言描述的模型。