張 浩
(河南廣播電視臺(tái),河南 鄭州 450003)
近年來,機(jī)器學(xué)習(xí)發(fā)展迅猛,深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的重要分支之一,引起了多行業(yè)的廣泛關(guān)注。深度學(xué)習(xí)在文本、圖像、視頻等方面有著重要應(yīng)用。在廣播電視行業(yè),為了提高對(duì)媒資內(nèi)容的管理和分析能力,利用深度學(xué)習(xí)建立跨模態(tài)的媒資搜索引擎具有重要意義[1]。
目前文本內(nèi)容的搜索方案已較為成熟,盡管圖像數(shù)據(jù)相較于文本而言更加難以被組織和管理,但仍有很多以圖搜圖的成熟案例,如搜索引擎的以圖搜圖功能,電商網(wǎng)站的相似商品搜索,在檔案管理中也存在一定的應(yīng)用[2]。視頻可以看作一組圖像的集合,由于視頻種類繁多且時(shí)間長短不一,傳統(tǒng)的視頻特征所占空間極大,所以很難高效地檢索視頻數(shù)據(jù)。借助深度學(xué)習(xí)強(qiáng)大的嵌入表示能力,可以將視頻中的關(guān)鍵幀表示為特征向量,一方面大大減少了數(shù)據(jù)量,另一方面也為相似度的計(jì)算提供了便利,使視頻搜索成為可能[3-4]。
通過深度學(xué)習(xí)可以提取文本、圖像和視頻的特征,將其表示為特征向量。而向量數(shù)據(jù)庫就是用來存儲(chǔ)、分析和檢索向量的數(shù)據(jù)庫[5]。深度學(xué)習(xí)和向量數(shù)據(jù)庫是完成媒資內(nèi)容搜索必不可少的組件。
向量數(shù)據(jù)庫是用來存儲(chǔ)、分析和檢索向量的數(shù)據(jù)庫。與傳統(tǒng)關(guān)系數(shù)據(jù)庫截然不同,向量數(shù)據(jù)庫存儲(chǔ)的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)高于關(guān)系型數(shù)據(jù)庫,并且主要的數(shù)據(jù)格式是向量,存儲(chǔ)標(biāo)量的情況很少。傳統(tǒng)關(guān)系型數(shù)據(jù)庫較多情況下是作為數(shù)據(jù)的歸檔,查詢數(shù)據(jù)時(shí),通常是精確查找,很少出現(xiàn)模糊匹配的情況。而向量數(shù)據(jù)庫中的查詢通常是向量之間距離的計(jì)算,查詢出與輸入條件最相似的數(shù)據(jù)行,是計(jì)算密集型的數(shù)據(jù)庫。同時(shí),向量數(shù)據(jù)庫還有著高并發(fā)、低延時(shí)的設(shè)計(jì)要求。向量數(shù)據(jù)庫具有存儲(chǔ)量大、高并發(fā)與低延遲等特點(diǎn),因此使用分布式向量數(shù)據(jù)庫是必不可少的,并且分布式向量數(shù)據(jù)庫應(yīng)具有高擴(kuò)展性、高可靠性。
目前,向量數(shù)據(jù)庫技術(shù)仍處于發(fā)展階段,常見的向量數(shù)據(jù)庫有Milvus、Vearch、Proxima、ScaNN等。Milvus 主要用于存儲(chǔ)、檢索由神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)模型產(chǎn)出的海量向量數(shù)據(jù),并提供多種相似度計(jì)算方式,還支持分布式部署、讀寫分離、橫向擴(kuò)展和動(dòng)態(tài)擴(kuò)容等功能,具有高可靠性、易于擴(kuò)展和檢索速度快等特點(diǎn)。
在構(gòu)建媒資搜索平臺(tái)過程中,使用神經(jīng)網(wǎng)絡(luò)模型將文本、圖像和視頻等非結(jié)構(gòu)化數(shù)據(jù)表示為向量,存入向量數(shù)據(jù)庫中。用戶檢索相關(guān)內(nèi)容時(shí),將用戶的輸入表示為特征向量,從數(shù)據(jù)庫中查詢,獲取結(jié)果。平臺(tái)架構(gòu)如圖1 所示。
圖1 智能媒資搜索平臺(tái)架構(gòu)
傳統(tǒng)的文本搜索分為建立索引和查詢兩個(gè)過程。倒排索引是搜索引擎速度快的一個(gè)核心原理,倒排索引[6]是一種鍵值對(duì)的結(jié)構(gòu),鍵是詞匯,值是包含該詞匯的文檔集合。有了倒排索引,查詢時(shí)就無需遍歷所有的文檔,通過查詢索引定位包含該詞的文檔集合,可以過濾掉大量的文檔。目前常見的全文搜索引擎有Solr、Elastic Search 等,通過使用這些全文搜索引擎,可以容易地構(gòu)建基于詞頻的文本搜索服務(wù)。
BERT 是由Google AI 研究院提出的一種預(yù)訓(xùn)練模型[7]?;贐ERT 可以獲取文本的向量表示,其向量表示包含了深層的語義信息。基于向量表示,可以完成語義相似度計(jì)算、語義搜索、聚類、翻譯等任務(wù)。語義級(jí)別的搜索可以通過理解查詢內(nèi)容提高搜索的準(zhǔn)確性,同時(shí)語義搜索還可以查找同義詞等深層信息,這與傳統(tǒng)的搜索引擎存在本質(zhì)的區(qū)別。
基于語義的內(nèi)容搜索引擎與傳統(tǒng)的搜索引擎在構(gòu)建檢索庫時(shí)的基本流程是相同的,其區(qū)別重點(diǎn)在于索引庫的構(gòu)建方式。傳統(tǒng)搜索引擎根據(jù)文本詞匯構(gòu)建倒排索引,而基于語義的內(nèi)容搜索引擎構(gòu)建的是整個(gè)文本的嵌入表示,與根據(jù)詞匯構(gòu)建的索引相比,保留了更多的語義信息。圖2 展示了基于語義的搜索引擎構(gòu)建過程。
圖2 基于語義的搜索引擎構(gòu)建過程
隨著計(jì)算機(jī)算力的不斷提升,圖像等非結(jié)構(gòu)化數(shù)據(jù)的搜索成為可能。Google、百度等公司已經(jīng)提供了面向用戶的圖像搜索服務(wù),許多電商平臺(tái)也通過使用圖像搜索功能,為消費(fèi)者提供更便捷的購物體驗(yàn)。廣播電視行業(yè)存在海量的圖像媒資數(shù)據(jù),構(gòu)建內(nèi)部的圖像檢索服務(wù),可以根據(jù)圖像快速查找相關(guān)內(nèi)容,從而方便用戶管理和查詢圖像媒資數(shù)據(jù)。
最早關(guān)于圖像搜索的研究是通過構(gòu)建特征工程來實(shí)現(xiàn)的。2012 年,Alex 等人提出的AlexNet網(wǎng)絡(luò)模型[8],以遠(yuǎn)超第二名的方式刷新了ImageNet大賽的成績,并且通過使用模型的最后一個(gè)隱藏層輸出的向量,在測試集中與其他圖像的向量計(jì)算歐氏距離,發(fā)現(xiàn)模型可以很好地表示圖像的語義信息。使用機(jī)器學(xué)習(xí)模型將圖像嵌入到高維向量中,通過計(jì)算向量的距離衡量圖像間的相關(guān)性,與特征工程相比節(jié)省了大量資源,并且取得的效果更好。
為了獲取表現(xiàn)較好的圖像嵌入表示,需要使用大量的圖像數(shù)據(jù)訓(xùn)練模型。然而,訓(xùn)練的代價(jià)是非常昂貴的。為了解決這一問題,有學(xué)者提出了遷移學(xué)習(xí)。遷移學(xué)習(xí)的思想是,如果模型是基于充足且大量的通用數(shù)據(jù)集訓(xùn)練的,那么該模型可以作為一個(gè)通用的模型,可以使用其直接獲取圖像的向量表示,而不需要從零開始訓(xùn)練新的模型。
視頻搜索與圖像和文本相比更加復(fù)雜。視頻可以視作一系列圖像的集合,并且增加了聲音信息。與圖像數(shù)據(jù)相比,視頻一般每秒播放24 幀圖像或者更多,其數(shù)據(jù)的量級(jí)遠(yuǎn)遠(yuǎn)高于圖像。而視頻中包含大量的冗余信息,通過提取視頻中關(guān)鍵幀的方法可以大量減少冗余數(shù)據(jù),但仍會(huì)產(chǎn)生大量的數(shù)據(jù)。
視頻不僅僅包含圖像數(shù)據(jù),聲音也是視頻的重要組成部分之一。因此在對(duì)視頻數(shù)據(jù)建立索引時(shí),要同時(shí)考慮圖像和聲音。視頻中的圖像數(shù)據(jù)向量化表示可以采用圖像搜索中的技術(shù),聲音數(shù)據(jù)可以使用在音頻數(shù)據(jù)集上的預(yù)訓(xùn)練模型,將視頻中的關(guān)鍵幀前后的聲音信息作為輸入,獲取聲音信息的向量化表示[9]。
進(jìn)行視頻搜索時(shí),首先從待搜索視頻中抽取出關(guān)鍵幀與聲音信息并表示成向量信息,然后分別從向量數(shù)據(jù)庫中搜索,對(duì)搜索結(jié)果按命中率排序,將命中次數(shù)排序并返回結(jié)果。圖3 展示了音視頻數(shù)據(jù)索引建立的過程。
圖3 音視頻數(shù)據(jù)索引建立過程
每種信息存在的形式都可以稱為一種模態(tài),例如本文中的文本、圖像和視頻信息,都是一種模態(tài)。通過文本搜索文本、圖像搜索圖像和視頻搜索視頻,都是在單獨(dú)的模態(tài)中的行為。單模態(tài)的表示學(xué)習(xí)存在較多的限制,而跨模態(tài)表示學(xué)習(xí)可以利用各個(gè)模態(tài)互補(bǔ),提出模態(tài)間冗余的部分,從而學(xué)習(xí)到更好的特征表示。目前的主要研究方向?yàn)閰f(xié)同表示和聯(lián)合表示,協(xié)同表示是將跨模態(tài)數(shù)據(jù)映射到各自的向量空間中,但相互之間存在相關(guān)性約束;聯(lián)合表示是將跨模態(tài)信息映射到同一向量空間。
隨著跨模態(tài)數(shù)據(jù)不斷增多,跨模態(tài)的表示學(xué)習(xí)受到了學(xué)者的廣泛關(guān)注。研究者在機(jī)器視覺和自然語言處理等領(lǐng)域取得了一系列的成果,提出了一系列的以深度學(xué)習(xí)為基礎(chǔ)的跨模態(tài)表示學(xué)習(xí)方法,極大地促進(jìn)了跨模態(tài)學(xué)習(xí)的發(fā)展[10]。利用跨模態(tài)表示學(xué)習(xí)的特征可以進(jìn)行跨模態(tài)的搜索,如通過文本搜索圖像、通過音頻搜索視頻等。而跨模態(tài)的表示學(xué)習(xí)需要大量的數(shù)據(jù)做支撐,例如在構(gòu)建文本、圖像和音頻的跨模態(tài)表示時(shí),需要大量的<文本、圖像、音頻>格式的數(shù)據(jù)集。如何構(gòu)建有效的數(shù)據(jù)集是跨模態(tài)表示學(xué)習(xí)的重要挑戰(zhàn)之一。
隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,單一模態(tài)的表示學(xué)習(xí)已經(jīng)相對(duì)逐漸成熟,跨模態(tài)的深度學(xué)習(xí)逐漸成為研究熱點(diǎn)。跨模態(tài)學(xué)習(xí)通過利用不同模態(tài)之間信息,彌補(bǔ)了單模態(tài)學(xué)習(xí)的不足之處??缒B(tài)融合學(xué)習(xí)的用途非常廣泛,例如跨模態(tài)檢索為媒資內(nèi)容的管理提供了有效的方案,滿足了用戶普遍的檢索需求。多模態(tài)學(xué)習(xí)相比于單模態(tài)具有極大優(yōu)勢,在將來多模態(tài)學(xué)習(xí)的應(yīng)用將會(huì)更加廣泛。