RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于深度學(xué)習(xí)技術(shù),從頭開(kāi)始搭建圖像語(yǔ)義搜索引擎

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-17 09:17 ? 次閱讀

編者按:和Insight Data Science AI負(fù)責(zé)人Emmanuel Ameisen一起,基于深度學(xué)習(xí)技術(shù),從頭開(kāi)始搭建圖像語(yǔ)義搜索引擎。

教會(huì)電腦看照片

為何使用相似性搜索?

一圖勝千言,更勝萬(wàn)行代碼。

許多產(chǎn)品的基礎(chǔ)在于展示圖片。當(dāng)我們?yōu)g覽服飾網(wǎng)站上的套裝時(shí),當(dāng)我們?cè)贏irbnb上尋找度假租屋時(shí),當(dāng)我們選擇領(lǐng)養(yǎng)的寵物時(shí),它看起來(lái)怎么樣常常是我們決策的一個(gè)重要因素。我們感知事物的方式是預(yù)測(cè)我們將喜歡什么樣的事物的強(qiáng)力預(yù)測(cè)者,因此它是值得測(cè)量的有價(jià)值的性質(zhì)。

然而,讓計(jì)算機(jī)以人類的方式理解圖像在很長(zhǎng)時(shí)間以來(lái)都是一項(xiàng)計(jì)算機(jī)科學(xué)挑戰(zhàn)。2012年以來(lái),在圖像分類或目標(biāo)檢測(cè)之類的感知任務(wù)中,深度學(xué)習(xí)慢慢開(kāi)始取代方向梯度直方圖這樣的經(jīng)典方法。這一轉(zhuǎn)變的重要原因之一是,在足夠大的數(shù)據(jù)集上訓(xùn)練之后,深度學(xué)習(xí)能夠自動(dòng)提取有意義的表示。

Pinterest的視覺(jué)搜索

這正是許多團(tuán)隊(duì)——比如Pinterest、StitchFix、Flickr——開(kāi)始使用深度學(xué)習(xí)來(lái)學(xué)習(xí)他們的圖像表示的原因,并基于用戶覺(jué)得賞心悅目的內(nèi)容提供推薦。類似地,Insight也使用深度學(xué)習(xí)創(chuàng)建用于幫助人們認(rèn)養(yǎng)貓咪、推薦太陽(yáng)鏡、搜索藝術(shù)風(fēng)格等應(yīng)用的模型。

許多推薦系統(tǒng)基于協(xié)同過(guò)濾:利用用戶的相關(guān)性做出推薦(“喜歡你喜歡的某物的用戶也喜歡……”)。然而,這些模型需要大量數(shù)據(jù)才能足夠精確,同時(shí)難以處理沒(méi)有用戶見(jiàn)過(guò)的新物品。而所謂基于內(nèi)容的推薦系統(tǒng),則可以使用物品表示,并不存在上面提到的問(wèn)題。

此外,這些表示可以讓消費(fèi)者高效地搜索照片庫(kù),查找和剛看過(guò)的自拍照相似的圖像(以圖查詢),或者查找包含特定物體(比如汽車)的照片(以文本查詢)。常見(jiàn)的例子包括Google反向圖像搜索(Google Reverse Image Search),以及Google圖像搜索。

基于我們?yōu)樵S多語(yǔ)義理解項(xiàng)目提供技術(shù)咨詢的經(jīng)驗(yàn),我們想要撰寫(xiě)一篇教程,關(guān)于如何為圖像和文本數(shù)據(jù)創(chuàng)建你自己的表示,以及高效進(jìn)行相似性搜索。讀完本文之后,不管你的數(shù)據(jù)集有多大,你都應(yīng)該能夠從頭搭建一個(gè)快速的語(yǔ)義搜索模型。

這篇教程有配套的使用streamlit制作的注釋代碼notebook,以及相應(yīng)的GitHub代碼倉(cāng)庫(kù)hundredblocks/semantic-search,供閱讀時(shí)參考。

我們的計(jì)劃是什么?

先談?wù)剝?yōu)化

和軟件工程一樣,機(jī)器學(xué)習(xí)中,有很多處理問(wèn)題的方法,各有各的折衷。如果你正在做一項(xiàng)研究或者一個(gè)本地原型,你可以使用非常低效的解決方案。但是如果我們創(chuàng)建的是可維護(hù)、可伸縮的相似圖像搜索引擎,那么我們需要考慮我們如何適應(yīng)數(shù)據(jù)演變,以及我們的模型可以運(yùn)行得多快。

讓我們想象一些方法:

我們創(chuàng)建了一個(gè)在我們所有圖像上訓(xùn)練的端到端模型,接受一張圖像作為輸入,然后輸出所有圖像的相似度評(píng)分。預(yù)測(cè)很快(一次前向傳播),但每次新增一張圖像,我們就需要訓(xùn)練一個(gè)新模型。我們也會(huì)很快達(dá)到這樣一個(gè)狀態(tài),分類是如此之多,以致于正確地優(yōu)化它極為困難。這個(gè)方法很快速,但無(wú)法擴(kuò)展至大數(shù)據(jù)集。此外,我們需要手工標(biāo)注數(shù)據(jù)集的圖像相似性,極耗時(shí)間。

另一個(gè)方法是創(chuàng)建一個(gè)接受兩種圖像作為輸入的模型,并輸出這對(duì)圖像0到1之間的相似度評(píng)分(比如,使用孿生網(wǎng)絡(luò))。這些模型在大數(shù)據(jù)集上能夠產(chǎn)生精確的結(jié)果,但導(dǎo)致了另一種伸縮性問(wèn)題。我們通常想要查看大量圖像找到相似圖像,所以我們需要為數(shù)據(jù)集中的每對(duì)圖像運(yùn)行相似性模型。如果我們的模型是CNN,并且我們的圖像數(shù)量超過(guò)兩位數(shù),那模型就太慢了,慢到我們不會(huì)考慮。此外,這個(gè)方法只能支持相似圖像搜索,無(wú)法支持基于文本搜索圖像。

有更簡(jiǎn)單的方法,一個(gè)類似詞嵌入的方法。如果我們找到圖像的一種富有表達(dá)力的向量表示,或者說(shuō)嵌入,我們可以通過(guò)檢查它們的向量的接近程度計(jì)算圖像的相似度。這類搜索方法是一個(gè)充分研究過(guò)的常見(jiàn)問(wèn)題,許多庫(kù)實(shí)現(xiàn)了高速的解決方案(我們這里將使用Annoy)。此外,如果我們事先計(jì)算數(shù)據(jù)集中所有圖像的向量,這個(gè)方法既快速(一次前向傳播,和一次高效的相似度搜索),又可伸縮。最后,如果我們成功找到圖像和文本的共同嵌入,我們可以使用它們基于文本搜索圖像!

由于方法3的簡(jiǎn)單性和高效性,本文將使用方法3.

我們?nèi)绾尾僮鳎?/strong>

那么,我們到底如何使用深度學(xué)習(xí)表示來(lái)創(chuàng)建一個(gè)搜索引擎?

我們的最終目標(biāo)是得到一個(gè)可以接受圖像作為輸入,輸出相似圖像或標(biāo)簽,或者接受文本作為輸入,輸出相似文本或圖像的搜索引擎。為此,我們需要經(jīng)過(guò)如下步驟:

根據(jù)輸入圖像搜索類似圖像(圖像 -> 圖像)

根據(jù)文本搜索類似文本(文本 -> 文本)

生成圖像標(biāo)簽基于文本搜索圖像(圖像 <-> 文本)

為了做到這些,我們將使用嵌入,圖像和文本的向量表示。一旦我們有了嵌入,搜索就變成尋找輸入向量的相近向量簡(jiǎn)單過(guò)程。

我們通過(guò)計(jì)算圖像嵌入的余弦相似度找到相近向量。相似圖像會(huì)有相似的嵌入,也就是說(shuō),嵌入之間會(huì)有高余弦相似度。

讓我們從數(shù)據(jù)集開(kāi)始。

數(shù)據(jù)集

圖像

我們的圖像數(shù)據(jù)集總共有1000張圖像,分為20類,每類50張。這個(gè)數(shù)據(jù)集是由Cyrus Rashtchian、Peter Young、Micah Hodosh、Julia Hockenmaier制作的。之前提到過(guò)的本文的代碼倉(cāng)庫(kù)中,有自動(dòng)下載所有圖像文件的腳本。

除了類別之外,數(shù)據(jù)集中還包括每張圖像的說(shuō)明。為了增加難度,也為了表明我們的方法的通用性,我們將只使用類別,丟棄所有說(shuō)明。如前所述,數(shù)據(jù)集總共包括20個(gè)分類:

aeroplanebicyclebirdboatbottlebuscarcatchaircowdining_tabledoghorsemotorbikepersonpotted_plantsheepsofatraintv_monitor

上面是數(shù)據(jù)集中的一些樣本。我們看到,標(biāo)簽的噪聲不小:許多照片包含多個(gè)類別,而標(biāo)簽并不總是主要的類別。例如,右下角的圖像的標(biāo)簽是chair(椅子)而不是person(人),盡管圖像中間有3個(gè)人,而椅子毫不引人注意。

文本

我們將加載在維基百科數(shù)據(jù)上預(yù)訓(xùn)練的詞嵌入(本文將使用Glove模型)。我們將使用這些向量在我們的語(yǔ)義搜索中納入文本。如果你不熟悉詞向量,可以參考我的NLP教程的第七步。

圖像 -> 圖像

從簡(jiǎn)單的開(kāi)始

我們將使用在大型數(shù)據(jù)集(Imagenet)上預(yù)訓(xùn)練的模型。這里我們使用的是VGG16,不過(guò)你也可以使用任何其他最近的CNN架構(gòu)。我們使用VGG16生成圖像的嵌入。

VGG16(圖片來(lái)源:Data Wow博客)

我們說(shuō)的生成嵌入是什么意思?我們將使用預(yù)訓(xùn)練模型,直到倒數(shù)第二層,然后儲(chǔ)存激活的值。下圖中,嵌入層加上了綠色高亮,這一層在最后的分類層之前。

一旦我們使用模型生成圖像特征后,我們就可以把它們儲(chǔ)存在磁盤上,然后可以重復(fù)利用,無(wú)需再次推理!這正是嵌入在實(shí)際應(yīng)用中如此流行的原因之一,因?yàn)樗鼈儙?lái)了巨大的效率提升。將其儲(chǔ)存在磁盤上之后,我們將使用Annoy為嵌入創(chuàng)建一個(gè)高速索引,這讓我們可以為任意給定嵌入快速尋找最近的嵌入。

在我們的嵌入中,每張圖像表示為一個(gè)4096維的稀疏向量。之所以向量是稀疏的,是因?yàn)槲覀內(nèi)〉氖羌せ詈瘮?shù)之后的值,而激活函數(shù)將負(fù)值轉(zhuǎn)為零。

圖像嵌入

基于嵌入通過(guò)圖像搜索

現(xiàn)在我們可以直接接受一張圖像作為輸入,得到它的嵌入,然后查詢我們的高速索引找到相似嵌入,也就是相似圖像。

這一點(diǎn)特別有用,因?yàn)閳D像標(biāo)簽常常包含噪聲,通過(guò)圖像搜索通常優(yōu)于通過(guò)標(biāo)簽搜索。

例如,在我們的數(shù)據(jù)集中,我們有cat類(貓),也有bottle類(瓶)。

你覺(jué)得下面這張圖像的標(biāo)簽是什么?

圖像縮放至224x224,這是神經(jīng)網(wǎng)絡(luò)看到的分辨率

很不幸,這張圖像被打上了標(biāo)簽。這是真實(shí)數(shù)據(jù)集中常常碰到的問(wèn)題。給圖像打上唯一的標(biāo)簽限制性很大,因此我們希望使用更細(xì)致的表示。好在這正是深度學(xué)習(xí)擅長(zhǎng)的!

讓我們看看基于嵌入的圖像搜索表現(xiàn)如何?

搜索dataset/bottle/2008_000112.jpg的相似圖像……

太棒了——基本上搜到的都是關(guān)于的圖像,這看起來(lái)很合理!我們的預(yù)訓(xùn)練網(wǎng)絡(luò)在多種多樣的圖像上訓(xùn)練過(guò),包括貓圖,所以能夠精確地找到相似圖像,即使它從未在這一特定數(shù)據(jù)集上訓(xùn)練過(guò)。

然而,下排中間的圖像顯示的是架子上的瓶子。總的來(lái)說(shuō),這一方法在尋找相似圖像上表現(xiàn)不錯(cuò),不過(guò)有時(shí)我們只對(duì)圖像的局部感興趣。

例如,在上面的搜索中,我們可能只想搜索相似的貓咪,而不是相似的瓶子。

半監(jiān)督搜索

解決這一問(wèn)題的一個(gè)常用方法是首先使用目標(biāo)檢測(cè)模型檢測(cè)出貓,然后對(duì)原圖進(jìn)行裁切,通過(guò)裁切出的貓圖進(jìn)行搜索。

不過(guò)這會(huì)大大增加計(jì)算負(fù)擔(dān),所以有可能的話,我們想避免使用這種方法。

有一個(gè)更簡(jiǎn)單的“取巧”方法,重新加權(quán)激活。我們加載原本拋棄掉的最后一層的權(quán)重,然后使用和我們搜尋的分類相連的權(quán)重,重新加權(quán)嵌入。這個(gè)很酷的技巧最初是由我在Insight的同事Daweon Ryu告訴我的。例如,我們將使用Siamese cat(暹邏貓)分類的權(quán)重重新加權(quán)數(shù)據(jù)集的激活(下圖中加上了綠色高亮)。你可以查看前面提到的配套notebook,了解實(shí)現(xiàn)細(xì)節(jié)。

顯示的分類層僅供參考,并不在嵌入中使用

讓我們看看使用Imagenet的分類284(即Siamese cat)加權(quán)激活后效果如何?

基于加權(quán)特征搜索dataset/bottle/2008_000112.jpg的相似圖像……

我們可以看到,搜索加上了偏置,尋找類似暹邏貓的東西。結(jié)果中不再有瓶子圖像了,這很好。不過(guò)你可能注意到我們的最后一張圖像是一只羊!有意思,給我們的模型加上偏置導(dǎo)致了不同種類的錯(cuò)誤。就我們目前的應(yīng)用范圍來(lái)說(shuō),這種錯(cuò)誤比之前的錯(cuò)誤更加合理。

我們已經(jīng)見(jiàn)到了相似圖像搜索更寬泛的方式,通過(guò)以模型的特定分類為條件進(jìn)行搜索。

這是一項(xiàng)很棒的進(jìn)展,但由于我們使用的是在Imagenet上預(yù)訓(xùn)練的模型,我們因此受到1000個(gè)Imagenet分類的限制。這些分類遠(yuǎn)遠(yuǎn)說(shuō)不上包羅萬(wàn)象(例如,它們?nèi)狈﹃P(guān)于人的類型),所以,我們想要找到更靈活的理想方案。此外,如果我們只是想在不提供輸入圖像的前提下搜索貓圖呢?

為了達(dá)成這一點(diǎn),我們將使用簡(jiǎn)單技巧之外的方法,利用可以理解單詞語(yǔ)義的模型。

文本 -> 文本

說(shuō)到底,沒(méi)什么不同

用于文本的嵌入

繞行至自然語(yǔ)言處理(NLP)的世界,我們可以類似的方法索引和搜索單詞。

我們將載入Glove預(yù)訓(xùn)練的向量,這些向量是通過(guò)爬取所有維基百科文章,然后學(xué)習(xí)數(shù)據(jù)集中單詞之間的語(yǔ)言聯(lián)系得到的。

和之前一樣,我們創(chuàng)建一份索引,這次索引包括的是所有的Glove向量。接著,我們可以搜索我們的嵌入以查找相近單詞。

例如,搜索said將返回如下的[單詞, 距離]列表:


['said', 0.0]

['told', 0.688713550567627]

['spokesman', 0.7859575152397156]

['asked', 0.872875452041626]

['noting', 0.9151610732078552]

['warned', 0.915908694267273]

['referring', 0.9276227951049805]

['reporters', 0.9325974583625793]

['stressed', 0.9445104002952576]

['tuesday', 0.9446316957473755]

這看起來(lái)非常合理,絕大多數(shù)單詞的含義都很相似,或者表示相宜的概念。最后一項(xiàng)結(jié)果(tuesday,周二)則表明,這模型遠(yuǎn)不完美。不過(guò)這個(gè)模型將給我們一個(gè)好的開(kāi)始?,F(xiàn)在,讓我們嘗試將單詞和圖像同時(shí)納入我們的模型。

維度問(wèn)題

使用嵌入的距離作為搜索方法相當(dāng)通用,但我們的單詞表示和圖像表示看起來(lái)不兼容。圖像嵌入的維度是4096,而單詞嵌入的維度是300——我們?cè)趺茨苡靡环N嵌入搜索另一種呢?此外,即使兩種嵌入維度相等,它們也是通過(guò)完全不同的方法訓(xùn)練的,因此圖像和相關(guān)單詞碰巧具有相同嵌入的概率極低。我們需要訓(xùn)練聯(lián)合模型。

圖像 <-> 文本

世界的碰撞

現(xiàn)在,讓我們創(chuàng)建一個(gè)混合模型,可以從單詞到圖像,也可以從圖像到單詞。

在這篇教程中,這是我們第一次實(shí)際訓(xùn)練自己的模型,該模型的靈感來(lái)自一篇杰出的論文DeViSE。我們不會(huì)精確地重新實(shí)現(xiàn)論文中的算法,不過(guò)我們的模型基本遵循論文的主要思路。(你也可以參考fast.ai第11課,其中包含了論文算法的一個(gè)略微不同的實(shí)現(xiàn))。

主要思路是通過(guò)重新訓(xùn)練圖像模型,改變標(biāo)簽的類別來(lái)組合兩種表示。

我們通常訓(xùn)練圖像分類器從許多類別(Imagenet有1000個(gè)類別)中選中一個(gè)。也就是說(shuō)——以Imagenet為例——最后一層是一個(gè)表示每個(gè)分類概率的1000維向量。這意味著我們的模型沒(méi)有分類相似性的語(yǔ)義理解,將“貓”圖分類為“狗”,在模型看來(lái),和將其分類為“飛機(jī)”錯(cuò)得一樣離譜。

在我們的混合模型中,我們將模型的最后一層替換為類別的詞向量。這讓我們的模型得以學(xué)習(xí)圖像語(yǔ)義和單詞語(yǔ)義間的映射,同時(shí),相似分類將彼此接近(因?yàn)?,相比“飛機(jī)”,“貓”的詞向量和“狗”的詞向量更接近)。我們不預(yù)測(cè)1000維的稀疏向量(除了一個(gè)分量為1外,所有分量均為0),我們將預(yù)測(cè)300維的語(yǔ)義豐富的詞向量。

我們通過(guò)添加兩個(gè)密集層達(dá)成這一點(diǎn):

大小為2000的中間層

大小為300的輸出層(大小等于Glove的詞向量)

下面是在Imagenet上訓(xùn)練的模型的架構(gòu):

這是改動(dòng)之后的架構(gòu):

訓(xùn)練模型

我們接著從數(shù)據(jù)集中分出訓(xùn)練集,再訓(xùn)練我們的模型,以學(xué)習(xí)預(yù)測(cè)與圖像相關(guān)的詞向量。例如,對(duì)類別為貓的圖像而言,我們嘗試預(yù)測(cè)300維的“貓”詞向量。

再訓(xùn)練需要一些時(shí)間,但仍然比在Imagenet上訓(xùn)練要快得多。作為參考,在我不帶GPU的筆記本上,再訓(xùn)練耗時(shí)6到7小時(shí)。

值得注意的是這一方法的雄心壯志。相比通常的數(shù)據(jù)集(Imagenet有一百萬(wàn)張圖像),我們這里使用的訓(xùn)練集(數(shù)據(jù)集的80%,也就是800張圖像)根本不算什么(3個(gè)數(shù)量級(jí)的差)。如果我們使用傳統(tǒng)的基于類別訓(xùn)練的技術(shù),我們不會(huì)指望我們的模型在測(cè)試集上表現(xiàn)良好,更別說(shuō)在全新的樣本上了。

一旦模型訓(xùn)練完成,我們將創(chuàng)建相應(yīng)的Glove詞向量索引和圖像的高速索引(運(yùn)行模型于數(shù)據(jù)集上的所有圖像),并儲(chǔ)存到磁盤上。

標(biāo)記

現(xiàn)在,提取任意圖像的標(biāo)簽非常簡(jiǎn)單。我們只需將圖像傳入訓(xùn)練好的網(wǎng)絡(luò),保存網(wǎng)絡(luò)輸出的300維向量,并在Glove英文單詞索引中找到最接近的單詞。讓我們用一張圖像來(lái)試一下——這張圖像在數(shù)據(jù)集中被打上了bottle(瓶)標(biāo)簽,不過(guò)它包含多種物品。

下面是生成的標(biāo)簽:(注釋為譯者所加)


[6676, 'bottle', 0.3879561722278595] # 瓶

[7494, 'bottles', 0.7513495683670044] # 瓶(復(fù)數(shù))

[12780, 'cans', 0.9817070364952087] # 罐頭

[16883, 'vodka', 0.9828150272369385] # 伏特加

[16720, 'jar', 1.0084964036941528] # 廣口瓶

[12714, 'soda', 1.0182772874832153] # 蘇打水

[23279, 'jars', 1.0454961061477661] # 廣口瓶(復(fù)數(shù))

[3754, 'plastic', 1.0530102252960205] # 塑料

[19045, 'whiskey', 1.061428427696228] # 威士忌

[4769, 'bag', 1.0815287828445435] # 袋

這個(gè)結(jié)果相當(dāng)驚人,大多數(shù)標(biāo)簽高度相關(guān)。這一方法仍然有提升的空間,但它對(duì)圖像中的大多數(shù)物品的理解相當(dāng)好。模型學(xué)習(xí)提取許多相關(guān)的標(biāo)簽,甚至包括沒(méi)有訓(xùn)練過(guò)的類別!

通過(guò)文本搜索圖像

最重要的是,我們可以基于聯(lián)合嵌入,通過(guò)任何單詞搜索我們的圖像數(shù)據(jù)庫(kù)。我們只需從Glove獲取預(yù)訓(xùn)練的詞嵌入,然后找到具有相似嵌入的圖像。

讓我們首先從訓(xùn)練數(shù)據(jù)集中的一個(gè)單詞dog(狗)開(kāi)始:

好,相當(dāng)好的結(jié)果——但是任何基于標(biāo)簽訓(xùn)練的分類器也能給出這樣的結(jié)果!讓我們?cè)黾与y度,搜索關(guān)鍵詞ocean(海洋),這是我們的數(shù)據(jù)集中沒(méi)有包含的類別。

太棒了——我們的模型理解ocean(海洋)和water(水)相似,并且返回了很多boat(船)分類的圖像。

試試street(街道)?

這里,返回的圖像來(lái)自多個(gè)分類(汽車、狗、自行車、巴士、人),不過(guò)大部分都包含街道或者靠近街道,盡管我們?cè)谟?xùn)練模型的時(shí)候從未使用過(guò)這一概念。由于我們通過(guò)預(yù)訓(xùn)練的詞向量,利用外部知識(shí)學(xué)習(xí)圖像到向量的一種映射,該映射比簡(jiǎn)單的類別具有更豐富的語(yǔ)義,所以我們的模型能夠很好地概括外部概念。

單詞之外

英語(yǔ)詞匯增加得很快,但還沒(méi)有快到為所有東西發(fā)明一個(gè)單詞。例如,在發(fā)布這篇文章的時(shí)候,還沒(méi)有一個(gè)英語(yǔ)單詞表示“躺在沙發(fā)上的貓”,這是一個(gè)再合理不過(guò)的可以在搜索引擎中輸入的查詢。如果我們希望同時(shí)搜索多個(gè)單詞,我們可以使用一個(gè)非常簡(jiǎn)單的方法,利用詞向量的算術(shù)性質(zhì)。實(shí)際上,把兩個(gè)詞向量加起來(lái)一般來(lái)說(shuō)效果非常好。所以如果我們直接使用“貓”、“沙發(fā)”的平均詞向量進(jìn)行搜索,我們可以希望得到和貓相似,同時(shí)和沙發(fā)相似的圖像,或者說(shuō),貓?jiān)谏嘲l(fā)上的圖像。

讓我們?cè)囍褂眠@一混合嵌入搜索!

結(jié)果非常棒,大多數(shù)圖像都包含某種毛茸茸的動(dòng)物和沙發(fā)(我特別喜歡第二排最左的圖像,看起來(lái)像放在沙發(fā)邊上的一袋皮毛)!我們基于單個(gè)單詞訓(xùn)練的模型,可以處理兩個(gè)單詞的組合。我們現(xiàn)在并沒(méi)有造出Google圖像搜索,但就這一相對(duì)簡(jiǎn)單的架構(gòu)而言,這毫無(wú)疑問(wèn)是令人印象深刻的結(jié)果。

實(shí)際上,這一方法可以很自然地?cái)U(kuò)展到多個(gè)領(lǐng)域(比如這個(gè)聯(lián)合嵌入代碼和英語(yǔ)文本的例子),所以我們希望能了解你最后將這一方法應(yīng)用到了哪里。

結(jié)語(yǔ)

我希望你覺(jué)得這篇文章有干貨,并且驅(qū)散了基于內(nèi)容的推薦和語(yǔ)義搜索的一些迷霧。如果你有任何問(wèn)題或評(píng)論,或者想要分享你用這篇教程的方法創(chuàng)造的東西,可以在Twitter上聯(lián)系我(EmmanuelAmeisen)!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1083

    瀏覽量

    40449
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1208

    瀏覽量

    24689
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5500

    瀏覽量

    121111

原文標(biāo)題:深度學(xué)習(xí)表示不可思議的威力:從頭搭建圖像語(yǔ)義搜索引擎

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [分享]最強(qiáng)山寨版搜索引擎震驚世界-熊熊搜索

    日前,一款名為“熊熊搜索”(Bearsou.com)的搜索引擎引起了不少網(wǎng)友的關(guān)注,這個(gè)搜索引擎一眼看去和普通搜索引擎區(qū)別不大,但仔細(xì)一看,這款搜索
    發(fā)表于 11-22 18:58

    參加搜索引擎營(yíng)銷SEM培訓(xùn)的好處?

    1. 可以快速學(xué)習(xí)搜索引擎營(yíng)銷(SEM)投放策略、方法和技術(shù),避免在自己摸索中浪費(fèi)時(shí)間;2. 可以快速學(xué)習(xí)搜索引擎營(yíng)銷(SEM)最新優(yōu)化
    發(fā)表于 04-11 14:21

    詳解搜索引擎中的投票機(jī)制

    蘇七SEO解讀搜索引擎的投票機(jī)制
    發(fā)表于 04-11 14:03

    基于網(wǎng)格技術(shù)的并行搜索引擎

    研究現(xiàn)有網(wǎng)格技術(shù)搜索技術(shù),分析并行搜索引擎的優(yōu)點(diǎn)和不足,提出基于網(wǎng)格技術(shù)的并行搜索引擎解決方案
    發(fā)表于 03-30 10:09 ?23次下載

    搜索引擎查詢?nèi)罩镜木垲?/a>

    隨著搜索引擎技術(shù)和網(wǎng)絡(luò)數(shù)據(jù)挖掘技術(shù)的發(fā)展,怎樣從搜索引擎查詢?nèi)罩局姓业接杏玫男畔⒊蔀檠芯繜狳c(diǎn)。該文在討論Beeferman提出的算法及Chan對(duì)其改進(jìn)的算法的優(yōu)缺點(diǎn)后,提出一個(gè)
    發(fā)表于 04-02 08:49 ?27次下載

    教育網(wǎng)BBS搜索引擎設(shè)計(jì)與實(shí)現(xiàn)

    BBS 是教育網(wǎng)的一大特色,也是傳統(tǒng)搜索引擎搜索的盲點(diǎn),本文系統(tǒng)介紹了根據(jù)教育網(wǎng)BBS 的特點(diǎn)建立BBS 搜索引擎的關(guān)鍵技術(shù)和實(shí)現(xiàn)方法。關(guān)鍵詞:搜索
    發(fā)表于 06-17 11:28 ?14次下載

    基于元數(shù)據(jù)的語(yǔ)義搜索技術(shù)研究

    描述了為現(xiàn)有的Web 資源加入元數(shù)據(jù)語(yǔ)義描述信息,從而可提高基于語(yǔ)義搜索引擎的查準(zhǔn)率;提出一種搜索引擎和外界智能設(shè)備或終端交互的接口形式;最后展望
    發(fā)表于 08-21 12:19 ?16次下載

    主題搜索引擎的研究

    介紹了將開(kāi)源的全文檢索工具包Lucene嵌入到自己的搜索引擎中來(lái)滿足開(kāi)發(fā)主題搜索引擎的需求。并基于Lucene中文分詞的不足設(shè)計(jì)了一個(gè)比較完善的中文分詞器,然后將其引入具體應(yīng)
    發(fā)表于 07-05 16:30 ?11次下載

    網(wǎng)絡(luò)搜索引擎,網(wǎng)絡(luò)搜索引擎的工作原理

    網(wǎng)絡(luò)搜索引擎,網(wǎng)絡(luò)搜索引擎的工作原理 21 世紀(jì)是信息時(shí)代,隨著信息科學(xué)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已成為人們生活中的重要組成部分,網(wǎng)上
    發(fā)表于 03-26 15:51 ?1448次閱讀

    基于JAVA技術(shù)搜索引擎的研究與實(shí)現(xiàn)

    本文還利用Java技術(shù)對(duì)搜索引擎的三個(gè)核心部分即網(wǎng)絡(luò)蜘蛛、網(wǎng)頁(yè)索引搜索進(jìn)行了實(shí)現(xiàn)。索引搜索
    發(fā)表于 05-07 14:14 ?35次下載
    基于JAVA<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>搜索引擎</b>的研究與實(shí)現(xiàn)

    垂直搜索引擎是什么_垂直搜索引擎有哪些

    垂直搜索引擎是針對(duì)某一個(gè)行業(yè)的專業(yè)搜索引擎,是搜索引擎的細(xì)分和延伸,是對(duì)網(wǎng)頁(yè)庫(kù)中的某類專門的信息進(jìn)行一次整合,定向分字段抽取出需要的數(shù)據(jù)進(jìn)行處理后再以某種形式返回給用戶。垂直搜索是相對(duì)
    發(fā)表于 01-04 17:19 ?7918次閱讀

    介紹五個(gè)具有高級(jí)功能的搜索引擎

    數(shù)據(jù)庫(kù)里存儲(chǔ)的大量的信息對(duì)標(biāo)準(zhǔn)的搜索引擎來(lái)說(shuō)是不可見(jiàn)的,標(biāo)準(zhǔn)的搜索引擎只是索引網(wǎng)站上的內(nèi)容,從一個(gè)鏈接到另一個(gè)鏈接。 隱匿搜索引擎專門用來(lái)搜索
    的頭像 發(fā)表于 04-04 09:13 ?7101次閱讀

    蘋果自研的搜索引擎干的過(guò)谷歌嗎?

    據(jù)TNW報(bào)道,蘋果正在加快研發(fā)自己的搜索引擎,以取代谷歌。推出自己的搜索引擎,將有利于蘋果的產(chǎn)品服務(wù)的推廣,同時(shí)削弱谷歌在搜索領(lǐng)域的壟斷地位。
    的頭像 發(fā)表于 12-22 14:54 ?1941次閱讀

    NAS下搭建linux命令搜索引擎教程

    前面寫(xiě)到了程序?qū)S玫膙scode,今天再來(lái)介紹一款程序佬專用的搜索引擎——Linux命令搜索引擎。該引擎專用于搜索Linux下的各種命令,畢竟人的記憶力是有限的,當(dāng)你記不住某一個(gè)命令的
    的頭像 發(fā)表于 02-24 11:33 ?1106次閱讀
    NAS下<b class='flag-5'>搭建</b>linux命令<b class='flag-5'>搜索引擎</b>教程

    使用Rust語(yǔ)言重寫(xiě)的代碼搜索引擎黑鳥(niǎo)系統(tǒng)Blackbird正式啟用

    其次,需要完全從頭開(kāi)始構(gòu)建了一個(gè)新的代碼搜索引擎。新的引擎需要非??欤ù蠹s是舊代碼搜索速度的兩倍),功能更強(qiáng)大(支持子字符串查詢、正則表達(dá)式和符號(hào)
    的頭像 發(fā)表于 05-11 09:52 ?841次閱讀
    使用Rust語(yǔ)言重寫(xiě)的代碼<b class='flag-5'>搜索引擎</b>黑鳥(niǎo)系統(tǒng)Blackbird正式啟用
    RM新时代网站-首页