背景技術(shù):
自動生成圖像的自然語言描述由于用于圖像搜索、視覺受損人群的可訪問性、以及圖像采集的管理的實際應用而不斷地吸引著人們的興趣。傳統(tǒng)的用于圖像處理的技術(shù)由于傳統(tǒng)的圖像標記和搜索算法的限制而不支持高精度自然語言配字幕和圖像搜索。這是因為,傳統(tǒng)的技術(shù)僅使標簽與圖像相關聯(lián),但是沒有定義標簽之間或者標簽與圖像本身之間的關系。另外,傳統(tǒng)的技術(shù)可以包括使用自頂向下方法,在該方法中,首先得到圖像的整個“要點”然后通過語言建模和語句生成將其細化為適當?shù)拿枋鲂栽~語或字幕。然而,這一自頂向下方法在捕獲圖像的精細細節(jié)(諸如貢獻圖像的精確描述的局部對象、屬性和區(qū)域方面)工作并不良好。這樣,可能很難使用傳統(tǒng)的方法來生成精確且復雜的圖像字幕,諸如“給在高的椅子中拿著玩具的孩子喂食的人”。因此,使用傳統(tǒng)的技術(shù)生成的字幕可能忽略重要的圖像細節(jié),這使得用戶很難搜索具體圖像并且基于相關聯(lián)的字幕來全面地理解圖像的內(nèi)容。
技術(shù)實現(xiàn)要素:
本發(fā)明內(nèi)容部分介紹簡化形式的概念的選擇,這些概念在下面在具體實施例部分中進一步描述。這樣,本發(fā)明內(nèi)容部分并非意圖標識要求保護的主題的基本特征,也并非意圖用于幫助確定要求保護的主題的范圍。
本文中描述用于使用弱監(jiān)督為圖像配字幕的技術(shù)。在一個或多個實現(xiàn)中,獲取關于目標圖像的弱監(jiān)督數(shù)據(jù)并且使用其提供補充被獲得用于圖像配字幕的全局圖像概念的細節(jié)信息。弱監(jiān)督數(shù)據(jù)是指沒有被緊密地監(jiān)管并且可能包括誤差的噪聲數(shù)據(jù)。給定目標圖像,可以從弱注釋的圖像的不同的源(諸如在線社交網(wǎng)絡、圖像共享站點和圖像數(shù)據(jù)庫)來采集在視覺上相似的圖像的弱監(jiān)督數(shù)據(jù)。通常,在線發(fā)布的圖像包括由用戶添加的標簽、標題、標注和短描述形式的“弱”注釋。通過提取和聚合在弱注釋圖像的不同的源中發(fā)現(xiàn)的在視覺上相似的圖像的關鍵詞來生成目標圖像的弱監(jiān)督數(shù)據(jù)。然后,在圖像配字幕分析期間采用弱監(jiān)督數(shù)據(jù)中包括的關鍵詞來調(diào)制被應用于概率分類的權(quán)重。因此,取決于弱監(jiān)督數(shù)據(jù)來計算用于預測圖像配字幕的詞語的概率分布。
在各實現(xiàn)方式中,圖像配字幕框架基于神經(jīng)網(wǎng)絡和機器學習。給定目標圖像,應用特征提取技術(shù)以得到描述圖像的“要點”的全局圖像概念。例如,可以使用預先訓練的卷積神經(jīng)網(wǎng)絡(cnn)來使用全局描述性術(shù)語對圖像編碼。cnn產(chǎn)生反映全局圖像概念的視覺特征矢量。然后,將所得到的關于全局圖像概念的信息饋送到語言處理模型中,語言處理模型操作以在概率上生成圖像的描述性字幕。比如,可以將視覺特征矢量饋送到循環(huán)神經(jīng)網(wǎng)絡(rnn)中,rnn被設計成實現(xiàn)語言建模和語句生成技術(shù)。rnn被設計成基于根據(jù)多個迭代中的權(quán)重因子計算的概率分布來迭代地預測用于組合作為目標圖像的字幕的詞語的序列。在這一上下文中,弱監(jiān)督數(shù)據(jù)通過調(diào)制在模型中施加的權(quán)重因子來向rnn通知說明附加細節(jié)信息的操作。以這一方式,將弱監(jiān)督數(shù)據(jù)中包括的關鍵詞注入到圖像配字幕框架中以補充全局圖像概念,這使得能夠以更大復雜性和精度來生成圖像字幕。
附圖說明
參考附圖來描述詳細描述。在附圖中,附圖標記的最左側(cè)數(shù)字標識其中首次出現(xiàn)該附圖標記的附圖。在描述和附圖中不同實例中的相同的附圖標記的使用可以表示相似或相同的術(shù)語。附圖中表示的實體可以表示一個或多個實體,因此可以在討論中可互換地引用這些實體的單數(shù)或復數(shù)形式。
圖1是可操作以采用本文中描述的技術(shù)的示例實現(xiàn)方式中的環(huán)境的圖示;
圖2描繪示出根據(jù)一個或多個實現(xiàn)方式的字幕生成器的細節(jié)的圖;
圖3描繪根據(jù)一個或多個實現(xiàn)方式的圖像配字幕框架的示例實現(xiàn);
圖4是描繪根據(jù)一個或多個實現(xiàn)方式的圖像配字幕框架的細節(jié)的圖;
圖5描繪描繪根據(jù)一個或多個實現(xiàn)方式的用于使用弱監(jiān)督為圖像配字幕的框架的圖;
圖6是根據(jù)一個或多個實現(xiàn)方式的其中采用弱監(jiān)督數(shù)據(jù)用于圖像配字幕的示例過程的流程圖;
圖7描繪一般性地圖示用于圖像配字幕的詞語矢量表示的概念的示例圖;
圖8是根據(jù)一個或多個實現(xiàn)方式的其中采用詞語矢量表示用于圖像配字幕的示例過程的流程圖;
圖9是描繪根據(jù)一個或多個實現(xiàn)方式的用于圖像配字幕的語義注意框架的圖;
圖10是根據(jù)一個或多個實現(xiàn)方式的其中采用語義注意模型用于圖像配字幕的示例過程的流程圖;
圖11是描繪根據(jù)一個或多個實現(xiàn)方式的語義注意框架的細節(jié)的圖;以及
圖12圖示包括能夠用于本文中描述的圖像配字幕技術(shù)的一個或多個實現(xiàn)方式的示例設備的各種部件的示例系統(tǒng)。
具體實施方式
概述
傳統(tǒng)的用于圖像處理的技術(shù)由于傳統(tǒng)的圖像標記和搜索算法的限制而不支持高精度自然語言配字幕和圖像搜索。這是因為,傳統(tǒng)的技術(shù)僅使標簽與圖像相關聯(lián),而沒有定義標簽之間或者標簽與圖像本身之間的關系。另外,傳統(tǒng)的技術(shù)可以包括使用自頂向下方法,在自頂向下方法中,首先得到圖像的整個“要點”并且通過語言建模和語句生成將其細化成適當?shù)拿枋鲂栽~語和字幕。然而,這一自頂向下方法在捕獲圖像的精細細節(jié)(諸如貢獻圖像的精確描述的局部對象、屬性和區(qū)域方面)工作并不良好。
本文中描述用于使用弱監(jiān)督為圖像配字幕的技術(shù)。在一個或多個實現(xiàn)方式中,獲取關于目標圖像的弱監(jiān)督數(shù)據(jù)并且使用其提供補充被獲得用于圖像配字幕的全局圖像概念的細節(jié)信息。弱監(jiān)督數(shù)據(jù)是指沒有被緊密地監(jiān)管并且可能包括誤差的噪聲數(shù)據(jù)。給定目標圖像,可以從弱注釋的圖像的不同的源(諸如在線社交網(wǎng)絡、圖像共享站點和圖像數(shù)據(jù)庫)來采集在視覺上相似的圖像的弱監(jiān)督數(shù)據(jù)。通常,在線發(fā)布的圖像包括由用戶添加的標簽、標題、標注和短描述形式的“弱”注釋。通過提取和聚合在弱注釋圖像的不同的源中發(fā)現(xiàn)的在視覺上相似的圖像的關鍵詞來生成目標圖像的弱監(jiān)督數(shù)據(jù)。然后,在圖像配字幕分析期間采用弱監(jiān)督數(shù)據(jù)中包括的關鍵詞來調(diào)制被應用于概率分類的權(quán)重。因此,取決于弱監(jiān)督數(shù)據(jù)來計算用于預測圖像配字幕的詞語的概率分布。
在實現(xiàn)方式中,圖像配字幕框架基于神經(jīng)網(wǎng)絡和機器學習。給定目標圖像,應用特征提取技術(shù)以得到描述圖像的“要點”的全局圖像概念。例如,可以使用預先訓練的卷積神經(jīng)網(wǎng)絡(cnn)來使用全局描述性術(shù)語對圖像編碼。cnn產(chǎn)生反映全局圖像概念的視覺特征矢量。然后,將所得到的關于全局圖像概念的信息饋送到語言處理模型中,語言處理模型操作以在概率上生成圖像的描述性字幕。比如,可以將視覺特征矢量饋送到循環(huán)神經(jīng)網(wǎng)絡(rnn)中,rnn被設計成實現(xiàn)語言建模和語句生成技術(shù)。rnn被設計成基于根據(jù)多個迭代中的權(quán)重因子計算的概率分布來迭代地預測用于組合作為目標圖像的字幕的詞語的序列。在這一上下文中,弱監(jiān)督數(shù)據(jù)通過調(diào)制在模型中施加的權(quán)重因子來向rnn通知說明附加細節(jié)信息的操作。
本文檔中描述的使用弱監(jiān)督為圖像配字幕的技術(shù)使得能夠以更大復雜性和精度來生成圖像字幕。根據(jù)弱監(jiān)督注釋得到的關鍵詞可以擴展用于特定圖像的配字幕的詞語的庫并且相應地調(diào)制詞語概率。因此,擴展候選字母的集合以包括根據(jù)弱監(jiān)督數(shù)據(jù)得到的具體的對象、屬性和術(shù)語??傊?,其產(chǎn)生更加準確并且可以描述圖像的非常具體的方面的更好的字幕。
在以下討論中,首先描述可以在本文中描述的技術(shù)中使用的示例環(huán)境。然后描述可以在示例環(huán)境以及其他環(huán)境中執(zhí)行的示例過程和實現(xiàn)細節(jié)。因此,示例過程和細節(jié)的執(zhí)行不限于示例環(huán)境,并且示例環(huán)境不限于示例過程和細節(jié)的執(zhí)行。
示例環(huán)境
圖1是可操作以采用本文中描述的技術(shù)的示例實現(xiàn)方式中的環(huán)境100的圖示。圖示的環(huán)境100包括計算設備102,計算設備102包括處理系統(tǒng)104、一個或多個計算機可讀存儲介質(zhì)106和客戶端應用模塊108,其中處理系統(tǒng)104可以包括一個或多個處理設備,客戶端應用模塊108嵌入在計算機可讀存儲介質(zhì)106上并且經(jīng)由處理系統(tǒng)104可操作以實現(xiàn)本文中描述的對應功能。在至少一些實施例中,客戶端應用模塊108可以表示可操作以訪問各種基于web的資源(例如,內(nèi)容和服務)的計算設備的瀏覽器??蛻舳藨媚K108還可以表示具有可操作以訪問基于web的資源(例如,網(wǎng)絡啟用的應用)、瀏覽因特網(wǎng)、與在線提供商交互等的集成的功能的客戶側(cè)部件。
計算設備102還可以包括或者利用圖像搜索工具110,圖像搜索工具110表示可操作以實現(xiàn)以上和以下描述的圖像搜索的技術(shù)的功能。比如,圖像搜索工具110可操作以訪問和使用各種可用圖像源來尋找匹配查詢條目的候選圖像。圖像搜索工具110還表示執(zhí)行各種動作以促進基于本文中討論的圖像幀的上下文的搜索的功能,諸如圖像幀附近的內(nèi)容的分析、得到查詢條目以用作搜索參數(shù)的文本分析、命名的實體標識、和/或查詢的構(gòu)造等,這里僅給出幾個示例?;诮?jīng)由圖像搜索工具110構(gòu)造的圖像搜索發(fā)現(xiàn)的圖像可以經(jīng)由客戶端應用模塊108或另一應用輸出的用戶界面111被暴露,圖像搜索工具110被配置成針對另一應用提供用于外推性庫存圖像搜索的功能。
圖像搜索工具110可以實現(xiàn)為軟件模塊、硬件設備,或者使用軟件、硬件、固件、固定邏輯電路系統(tǒng)等來實現(xiàn)。如圖所示,圖像搜索工具110可以實現(xiàn)為計算設備102的獨立的部件。另外地或者備選地,圖像搜索工具110可以被配置作為客戶端應用模塊108、操作系統(tǒng)、或者其他設備應用的部件。例如,圖像搜索工具110可以被提供作為用于瀏覽器的插入式和/或可下載腳本。圖像搜索工具110還可以表示包含在網(wǎng)頁、web應用、或者通過服務提供商可獲得的其他資源中或者經(jīng)由網(wǎng)頁、web應用、或者通過服務提供商可獲得的其他資源可訪問的腳本。
計算設備102可以被配置作為任意合適的類型的計算設備。例如,計算設備可以被配置作為臺式計算機、膝上型計算機、移動設備(例如,假定手持式配置,諸如平板計算機或移動電話)、平板計算機等。因此,計算設備102可以在具有基本存儲器和處理器資源的全資源設備(例如,個人計算機、游戲操縱臺)到具有有限存儲器和/或處理資源的低資源設備(例如,移動設備)之間變化。另外,雖然示出了單個計算設備102,但是計算設備102可以代表關于圖12進一步描述的“在云上”執(zhí)行操作的多個不同的設備。
環(huán)境100還描繪被配置成通過網(wǎng)絡114(諸如因特網(wǎng))與計算設備102通信以提供“基于云的”計算環(huán)境的一個或多個服務提供商112。通常而言,服務提供商112被配置成使得各種資源116通過網(wǎng)絡114可用于客戶。在一些場景中,用戶可以標記用于訪問來自提供商的對應資源的賬戶。提供商可以在授予對賬戶和對應資源116的訪問之前認證用戶的證書(例如,用戶名和密碼)??梢允沟闷渌Y源116自由地可用(例如,沒有基于認證或賬戶的訪問)。資源116可以包括通常由一個或多個提供商通過網(wǎng)絡可獲得的服務和/或內(nèi)容的任意合適的組合。服務的一些示例包括但不限于照片編輯服務、web開發(fā)和管理服務、協(xié)作服務、社交網(wǎng)絡服務、消息傳輸服務、廣告服務等。內(nèi)容可以包括文本、視頻、廣告、音頻、多媒體流、動畫、圖像、web文檔、網(wǎng)頁、應用、設備應用等的各種組合。
web應用118表示可以經(jīng)由服務提供商112可訪問的一個具體種類的資源116??梢允褂脼g覽器或其他客戶端應用模塊108在網(wǎng)絡114上操作web應用118以獲得和運行web應用的客戶側(cè)代碼。在至少一些實現(xiàn)方式中,由瀏覽器(或者其他客戶端應用模塊108)來提供用于web應用118的執(zhí)行的運行時間環(huán)境。因此,從服務提供商可獲得的服務和內(nèi)容在一些場景中作為web應用可訪問。
服務提供商還被圖示為包括被配置成根據(jù)本文中描述的技術(shù)來提供圖像數(shù)據(jù)庫122的圖像服務120。圖像服務120可以操作以搜索不同的圖像源124并且分析和監(jiān)管從圖像源可獲得的圖像126以產(chǎn)生圖像數(shù)據(jù)庫122。圖像數(shù)據(jù)庫122表示可以被客戶端訪問以插入網(wǎng)頁、詞語文檔、呈現(xiàn)和其他內(nèi)容中的經(jīng)監(jiān)管的圖像的服務器側(cè)儲存庫。圖像服務120例如可以被配置成提供客戶端/應用訪問以經(jīng)由相應圖像搜索工具110來使用圖像數(shù)據(jù)庫122。作為示例,圖像服務120被描繪為實現(xiàn)搜索應用編程界面(搜索api)128,客戶端/應用通過搜索api128能夠提供經(jīng)由圖像服務120來定義和發(fā)起搜索的搜索請求。
圖像服務120可以另外包括字幕生成器130。字幕生成器130表示可操作以實現(xiàn)以上和以下描述的圖像配字幕技術(shù)的功能。通常而言,字幕生成器130被設計成分析圖像以生成圖像的自然語言描述,諸如“一男子乘著沖浪板在波浪的頂部”。在實現(xiàn)方式中,字幕生成器130依賴于神經(jīng)網(wǎng)絡和機器學習,其細節(jié)在下面關于圖3和圖4來討論。在實現(xiàn)方式中,可以使用卷積神經(jīng)網(wǎng)絡(cnn)來使用全局描述性術(shù)語對圖像編碼,然后將其饋送到循環(huán)神經(jīng)網(wǎng)絡(rnn)中,rnn被設計成實現(xiàn)語言建模和語句生成技術(shù)。根據(jù)本文檔中描述的發(fā)明原理,字幕生成器130被配置成以多種方式來增強用于圖像配字幕的cnn圖像特征和rnn建模的組合。作為說明,可以使用根據(jù)弱注釋圖像源得到的圖像細節(jié)關鍵詞來補充用于字幕生成的rnn的操作,如下面關于圖5和圖6討論的。另外地或者備選地,字幕生成器130可以輸出矢量詞語空間中的詞語的表示,而非直接輸出詞語,如關于圖7和圖8討論的。另外,字幕生成器130可以被配置成應用語義注意模型以基于上下文來選擇rnn中的不同節(jié)點的不同關鍵詞,如關于圖9至圖11討論的。
圖2在200處總體上描繪示出根據(jù)一個或多個實現(xiàn)方式的字幕生成器130的細節(jié)的圖。在本示例中,字幕生成器130被實現(xiàn)作為圖像服務120的部件。應當注意,字幕生成器130也可以用其他方式來配置,諸如作為獨立的服務、作為圖像搜索工具110的部件、或者作為被部署給客戶端、圖像源和/或其他實體的單獨的應用。字幕生成器130被描繪為包括圖像分析模型202。圖像分析模型202表示以各種方式處理圖像的功能,包括但不限于特征提取、元數(shù)據(jù)解析、節(jié)距分析、對象檢測等。圖像分析模型202規(guī)定用于獲取用于字幕分析的圖像的相關關鍵詞和描述的算法和操作。比如,圖像分析模型202可以反映依賴于圖像配字幕的卷積神經(jīng)網(wǎng)絡(cnn)和循環(huán)神經(jīng)網(wǎng)絡(rnn)的定義、處理和參數(shù)。為了增強圖像配字幕,字幕生成器130另外被配置成單獨地或者以任何組合一起使用弱監(jiān)督數(shù)據(jù)204、詞語矢量表示206和/或語義注意模型208,如下面更加詳細地討論的。
在考慮到示例環(huán)境的情況下,現(xiàn)在考慮根據(jù)一個或多個實現(xiàn)的用于圖像配字幕的技術(shù)的一些示例細節(jié)的討論。
圖像配字幕實現(xiàn)細節(jié)
這一部分描述根據(jù)一個或多個實現(xiàn)方式的使用增強的圖像配字幕的一些示例細節(jié)。關于圖3至圖11的一些示例過程、場景和用戶界面來討論這些細節(jié)。本文中討論的過程表示為規(guī)定由一個或多個設備來執(zhí)行操作的框的集合,并且不一定限于被示出用于由相應框來執(zhí)行這些操作的順序。這些過程的各個方面可以用硬件、固件、或軟件、或者其組合來實現(xiàn)。這些過程的一些方面可以經(jīng)由一個或多個服務器(諸如經(jīng)由服務提供商112)來實現(xiàn),服務提供商112維持和提供經(jīng)由圖像服務120等對圖像數(shù)據(jù)庫122的訪問。這些過程的各個方面也可以由合適地配置的設備(諸如,包括或利用圖像搜索工具110和/或客戶端應用模塊108的圖1的示例計算設備102)來執(zhí)行。
總體上,以上和以下關于示例描述的功能、特征和概念可以在本文檔中描述的示例過程的上下文中來采用。另外,關于本文檔中的不同的附圖和示例描述的功能、特征和概念可以在彼此之間交換并且不限于在具體附圖或過程的上下文中的實現(xiàn)。另外,本文中與不同的相應的過程和對應的附圖相關聯(lián)的框可以一起應用和/或按照不同的方式來組合。因此,本文中關于不同的示例環(huán)境、設備、部件、附圖和過程描述的單獨的功能、特征和概念可以用任意合適的組合來使用并且不限于本描述中的枚舉的示例表示的具體組合。
圖像配字幕框架
圖3在300處總體上描繪圖像配字幕框架301的示例實現(xiàn)方式。在本示例中,圖像配字幕框架301采用機器學習方法來生成配有字幕的圖像。因此,由圖像配字幕框架301來來獲得訓練數(shù)據(jù)302,訓練數(shù)據(jù)302要用于訓練模型,模型然后用于形成字幕。用于在類似的場景中訓練模型的技術(shù)(例如,圖像理解問題)可以依賴于用戶手動標記圖像從而形成訓練數(shù)據(jù)302。也可以使用機器學習來訓練模型,機器學習使用自動地并且沒有用戶交互地可執(zhí)行的技術(shù)。
在圖示示例中,訓練數(shù)據(jù)302包括圖像304和相關聯(lián)的文本306,諸如與圖像304相關聯(lián)的字幕或元數(shù)據(jù)。然后使用提取模塊308使用自然語言處理來提取結(jié)構(gòu)化語義知識310,例如“<主語,屬性>,圖像”和“<主語,謂語,賓語>,圖像”。提取也可以包括構(gòu)造的語義到圖像內(nèi)的對象或區(qū)域的定位。結(jié)構(gòu)化語義知識310可以用于使圖像與和在視覺上相似的圖像相關聯(lián)的數(shù)據(jù)匹配(例如,配字幕),并且還可以用于尋找匹配元數(shù)據(jù)的集合的具體字幕的圖像(例如,搜索)。
然后將圖像304和對應的結(jié)構(gòu)化語義知識310傳遞給模型訓練模塊312。模型訓練模塊312被圖示為包括機器學習模塊314,機器學習模塊314表示采用機器學習(例如神經(jīng)網(wǎng)絡、傳統(tǒng)的神經(jīng)網(wǎng)絡等)使用圖像304和結(jié)構(gòu)化語義知識310來訓練圖像分析模塊202的功能。訓練模型316以定義結(jié)構(gòu)化語義知識310中包括的文本特征與圖像中的圖像特征之間的關系(例如視覺特征矢量)。
然后由字幕生成器將圖像分析模型202用于處理輸入圖像316并且生成配有字幕的圖像318。配有字幕的圖像318例如可以包括文本標簽和描述以定義圖像108的概念,甚至在其中輸入圖像316不包括任何文本的實例中。相反,字幕生成器130使用圖像分析模型202基于輸入圖像316的分析來生成適當?shù)奈谋久枋觥H缓笥蓤D像服務320使用配有字幕的圖像318自動地并且沒有用戶干預地控制各種功能,諸如圖像搜索、字幕和元數(shù)據(jù)提取、圖像分類、可訪問特征等。
通常,圖像配字幕框架301包括特征提取之后是基于特征來構(gòu)造描述??梢葬槍τ蓤D像配字幕框架301反映的特征提取操作和描述構(gòu)造操作二者采用各種不同的模型和方法。如先前指出的,圖像配字幕框架301可以依賴于神經(jīng)網(wǎng)絡和機器學習。在實現(xiàn)中,使用卷積神經(jīng)網(wǎng)絡(cnn)來實現(xiàn)特征提取,然后調(diào)用循環(huán)神經(jīng)網(wǎng)絡(rnn)用于語言建模和語句構(gòu)造。
在這一上下文中,圖4是總體上在400處描繪根據(jù)一個或多個實現(xiàn)的圖像配字幕框架的細節(jié)的圖。在此,框架401表示用于基于神經(jīng)網(wǎng)絡的圖像配字幕的一般編碼器解碼器框架??蚣芑谏窠?jīng)網(wǎng)絡和機器學習。給定目標圖像316,應用特征提取技術(shù)以得到描述圖像的“要點”的全局圖像概念。例如,使用預先訓練的卷積神經(jīng)網(wǎng)絡(cnn)402使用整體指示圖像的要點的概念404對圖像編碼。cnn產(chǎn)生反映這些“全局”概念404的視覺特征矢量。然后將所得到的關于全局圖像概念404的信息饋送到語言處理模型中,語言處理模型操作以在概率上生成圖像的描述性字幕。比如,可以將視覺特征矢量饋送到循環(huán)神經(jīng)網(wǎng)絡(rnn)406中,rnn406被設計成實現(xiàn)語言建模和語句生成技術(shù)。rnn406被設計成基于根據(jù)多個爹地啊中的權(quán)重因子計算的概率分布來迭代地預測組合作為目標圖像的字幕的詞語的序列。如所表示的,rnn406輸出與圖像316相關聯(lián)的字幕、標簽、語句和其他文本形式的描述408。這產(chǎn)生配有字幕的圖像,如關于圖3討論的。
圖4還表示可以結(jié)合一般框架401使用的增強410。具體地,字幕生成器130可以使用弱監(jiān)督數(shù)據(jù)204、詞語矢量表示206和/或語義注意模型208作為由一般框架401提供的圖像配字幕的增強410。每個增強410可以單獨使用以補充一般框架401的配字幕。另外,可以采用多個增強的任意組合。下面進而討論關于對一般框架401的增強410的細節(jié)。
弱監(jiān)督
如先前指出的,可以獲得關于目標圖像的弱監(jiān)督數(shù)據(jù)204并且使用其來提供補充被得到用于圖像配字幕的全局圖像概念404的詳細信息。具體地,從弱注釋圖像的源、諸如社交網(wǎng)絡站點、圖像共享站點和圖像的其他在線儲存庫來采集弱監(jiān)督數(shù)據(jù)204。針對不同場景中的圖像配字幕,可以依賴于一個或多個源。被更新為這樣的源的圖像通常與由用戶添加的標簽、描述和其他文本數(shù)據(jù)相關聯(lián)。由用戶添加的這種文本數(shù)據(jù)被認為是“弱監(jiān)督的”,因為用戶可以包括可能與由圖像傳達的圖像內(nèi)容和全局概念無關或者少量相關聯(lián)的“嘈雜的”條目,并且數(shù)據(jù)沒有由服務提供商來細化或控制。弱注釋在與通過傳統(tǒng)圖像標識和特征提取方法可實現(xiàn)的相比更深的理解水平提供關于圖像的詳細信息。因此,依賴于弱注釋來生成表示低水平圖像細節(jié)的關鍵詞的集合(例如對象、屬性、區(qū)域、通俗語義),其可以用于擴展用于圖像分析的庫/詞典并且補充被得到用于圖像配字幕的全局圖像概念404。
在先前討論的一般圖像配字幕框架401中,使用預先訓練的卷積神經(jīng)網(wǎng)絡(cnn)來編碼圖像。結(jié)果是被饋送到循環(huán)神經(jīng)網(wǎng)絡(rnn)中用于語句生成的視覺特征矢量。使用訓練數(shù)據(jù)訓練嵌入函數(shù)、循環(huán)神經(jīng)網(wǎng)絡和可選的卷積神經(jīng)網(wǎng)絡。rnn具體地被設計用于連續(xù)數(shù)據(jù)。在rnn中,每個輸入節(jié)點具有隱藏狀態(tài)hi,并且對于每個隱藏狀態(tài),hi=f(xi,hi-1),其中f(·)是激活函數(shù),諸如邏輯函數(shù)或雙曲正切函數(shù)。換言之,每個節(jié)點的狀態(tài)hi取決于基于輸入xi和在先節(jié)點的狀態(tài)hi-1計算的激活函數(shù)。以這一方式,使用rnn迭代地計算每個輸入節(jié)點的隱藏狀態(tài)。另外,隱藏狀態(tài)按照上述順序?qū)⒌鷱男蛄械拈_始傳播到結(jié)束節(jié)點。圖像配字幕框架401可以與各種不同架構(gòu)的rnn集成。本文中省略了關于rnn架構(gòu)的細節(jié),因為本領域普通技術(shù)人員理解不同架構(gòu)的實現(xiàn),并且本文中描述的發(fā)明概念并不取決于所采用的具體rnn架構(gòu)。
在這一上下文中,圖5在500處總體上描繪描繪用于使用弱監(jiān)督為圖像配字幕的框架的圖。具體地,圖5表示其中圖4的一般框架401中的rnn406被適配成依賴于弱監(jiān)督數(shù)據(jù)204的場景。弱監(jiān)督數(shù)據(jù)204可以從各種圖像源124獲得,如以上和以下描述的。例如,可以應用特征提取502過程以標識類似于來自圖像源124中的至少一個圖像源的目標圖像的圖像。進一步處理被標識為類似于目標圖像的圖像以從與類似圖像相關聯(lián)的弱注釋中提取關鍵詞。因此,特征提取502表示用于提取表示低水平圖像細節(jié)的關鍵詞的集合形式的弱監(jiān)督數(shù)據(jù)204的功能,如以上討論的。然后將弱監(jiān)督數(shù)據(jù)204供應給rnn406以通知圖像配字幕分析,如圖5中表示的。在一個方法中,向rnn供應根據(jù)弱注釋圖像得到的關鍵詞的已過濾列表。列表可以通過以下方式來生成:根據(jù)關聯(lián)準則對關鍵詞集合評分和評級,并且選擇大量頂部評級關鍵詞以包括在已過濾列表中。已過濾列表基于頻率、概率得分、權(quán)重因子或者其他關聯(lián)準則被過濾。在實現(xiàn)中,可以供應關鍵詞的整個集合用于在rnn中使用(例如未過濾的列表)。
關鍵詞的列表被配置成使關鍵詞權(quán)重504與每個詞語或短語相關聯(lián)。關鍵詞權(quán)重504反映可以在rnn中使用以預測用于相應地配字幕的詞語序列的得分或概率分布。如圖5中表示的,可以向rnn的每個節(jié)點中饋送頂部關鍵詞的列表作為補充全局概念的附加數(shù)據(jù)。在這一點上,針對目標圖像產(chǎn)生的關鍵詞列表擴展用于得到目標圖像的字幕的詞典。另外,關鍵詞權(quán)重504調(diào)制由rnn施加用于語言建模和語句構(gòu)造的權(quán)重因子。因此,關鍵詞權(quán)重504有效地改變用于由rnn實現(xiàn)的概率分類的詞語概率從而有利于指示低水平圖像細節(jié)的關鍵詞。
可以用以上解釋的rnn的一般形式hi=f(xi,hi-1)來表達弱監(jiān)督數(shù)據(jù)204的關鍵詞權(quán)重504的影響。通常,給定每個圖像vi的關鍵詞的集合ki={k1,k2,…,kk},目的是如何采用ki來生成vi的字幕。具體地,構(gòu)建模型以使用關鍵詞用于訓練和測試階段二者。為此,針對每個圖像提取關鍵詞并且將其聚合作為關鍵詞的集合。然后,根據(jù)等式ke=max(wkk+b)向rnn中的每個輸入節(jié)點附上關鍵詞的附加嵌入信息。在此,ke是節(jié)點的關鍵詞列表,wk是控制關鍵詞權(quán)重504的關鍵詞的嵌入矩陣。對于每個輸入詞語wi,在輸入循環(huán)神經(jīng)網(wǎng)絡的每個位置處附加ke,如圖5中表示的。因此,被適配成采用弱監(jiān)督的rnn可以表示為hi=f(xi,hi-1,ke)。在這一表達式中,激活函數(shù)f(·)另外取決于嵌入的關鍵詞列表ke和對應的關鍵詞權(quán)重504。
在以上示例中,采用最大操作來從候選關鍵詞的組中獲取特征。也可以考慮其他操作,諸如求和,其可以增加輸入層中的參數(shù)的總數(shù)。然而,在最大操作的情況下,被選擇用于每個圖像的關鍵詞的數(shù)目可以不同,并且可以在分析中考慮大量潛在關鍵詞而沒有向輸入層添加顯著數(shù)目的參數(shù)。
如所指出的,可以使用各種圖像源124來獲取弱監(jiān)督數(shù)據(jù)。在實現(xiàn)中,圖像源124包括通過網(wǎng)絡可訪問的圖像的各種在線儲存庫,諸如社交網(wǎng)絡站點、圖像共享站點和監(jiān)管的圖像數(shù)據(jù)庫/服務。用戶當前頻繁地使用這樣的在線儲存庫共享圖像和多媒體內(nèi)容并且訪問圖像內(nèi)容。從在線源可獲得的圖像通常包括可以被平衡以獲取弱監(jiān)督知識用于在配字幕中使用的標簽和短描述。
用于訓練圖像配字幕框架(例如訓練字幕生成器)的訓練圖像的集合可以提供弱監(jiān)督數(shù)據(jù)204的附加或替選源。在這一方法中,訓練數(shù)據(jù)包括具有用于訓練配字幕模型的分類器的對應字幕的圖像的數(shù)據(jù)庫。可以依賴于訓練圖像數(shù)據(jù)庫作為源來發(fā)現(xiàn)類似于彼此的相關圖像。接著,聚合相關圖像的字幕作為用于圖像配字幕的弱監(jiān)督文本。當目標圖像匹配相關圖像的集合時,依賴于相關圖像的字幕作為弱監(jiān)督數(shù)據(jù)204用于目標圖像的配字幕。
在實現(xiàn)中,至少一些弱監(jiān)督數(shù)據(jù)204可以直接從圖像分析來得到。為此,訓練不同概念或?qū)傩詸z測器以標識各種由弱注釋圖像提供的低水平圖像細節(jié)。深度神經(jīng)網(wǎng)絡的相對近期的開發(fā)支持圖像內(nèi)的對象標識的顯著改進。因此,能夠訓練圖像分類器來標識一些種類的低水平圖像細節(jié),諸如具體對象、區(qū)域差異、圖像屬性等。代替直接使用這樣的圖像細節(jié)來生成候選字母,將所檢測到的屬性或概念饋送到圖像字母框架中作為弱監(jiān)督數(shù)據(jù)204以按照本文中描述的方式來通知圖像配字幕。
圖6是根據(jù)一個或多個實現(xiàn)的其中可以采用弱監(jiān)督數(shù)據(jù)用于圖像配字幕的示例過程600的流程圖。獲取用于字幕分析的目標圖像(框602)。例如,圖像120可以實現(xiàn)字幕生成器130,如本文中描述的。圖像服務120可以提供經(jīng)由搜索api128暴露的可搜索圖像數(shù)據(jù)庫122。字幕生成器130被配置成對圖像執(zhí)行字幕分析并且使用本文中描述的各種技術(shù)自動生成用于圖像的字幕。經(jīng)由字幕生成器130生成的配有字幕的圖像318可以用各種方式來使用。例如,字幕可以促進使用自然語言查詢經(jīng)由搜索api128進行的圖像搜索。另外,字幕可以通過將字幕變換成聽覺描述來促進對在視覺上受損的用戶的可訪問性從而向用戶傳達圖像內(nèi)容。
為了產(chǎn)生圖像字幕,向目標圖像應用特征提取以生成對應于目標圖像的全局概念(框604)??紤]各種類型的特征提取操作。通常,應用初始特征提取以得到描述圖像的整個要點的全局概念404??梢越?jīng)由cnn402來執(zhí)行初始特征提取,如先前注釋的,然而也考慮其他得到全局圖像概念404的技術(shù)??梢越M合所得到的概念404以形成用作字母的進一步細化和選擇的開始點的候選字母。因此,另外的細化可以另外地依賴于弱監(jiān)督數(shù)據(jù)204,如本文中描述的。
具體地,將目標圖像與來自弱注釋圖像的源的圖像相比較以標識在視覺上相似的圖像(框606)??紤]弱注釋圖像的各種源,先前已經(jīng)給出了其示例。本文中描述的分析依賴于至少一個源,然而可以在一些場景中使用多個源。比較包括使用特征提取技術(shù)尋找具有類似于目標圖像的特征的圖像。認為與相似圖像相關聯(lián)的注釋與目標圖像的配字幕有關。
因此,通過從在視覺上相似的圖像中提取關鍵詞來構(gòu)建目標圖像的關鍵詞的集合(框608),并且供應關鍵詞的集合連同全局概念用于字幕生成(框610)。然后,使用關鍵詞的集合調(diào)制針對語句構(gòu)造應用的詞語權(quán)重來針對目標圖像生成字幕(框612)。在此,確定根據(jù)弱注釋圖像得到的關鍵詞的列表并且將其作為弱監(jiān)督數(shù)據(jù)204供應以便按照先前注釋的方式來通知圖像配字幕分析。由弱監(jiān)督數(shù)據(jù)204表示的關鍵詞權(quán)重504有效地調(diào)制被施加用于語言建模和語句生成的權(quán)重因子。可以經(jīng)由rnn406來實現(xiàn)產(chǎn)生字幕的語言建模和語句構(gòu)造,如先前描述的,然而也可以考慮其他圖像配字幕算法和技術(shù)。在任何情況下,由弱監(jiān)督數(shù)據(jù)204反映的權(quán)重被應用于圖像配字幕以相應地改變概率分類中的詞語概率。因此,根據(jù)被建立用于關鍵詞的權(quán)重因子在配字幕分析中考慮根據(jù)弱注釋得到的指示低水平圖像細節(jié)的關鍵詞。
詞語矢量表示
詞語矢量表示206是可以用于增強一般圖像配字幕框架401的附加特征。詞語矢量表示206可以單獨地或者結(jié)合先前描述的弱監(jiān)督和/或以下章節(jié)中討論的語法注意來使用。簡言之,取代直接輸出字幕分析的結(jié)果作為詞語或者詞語的序列(例如字幕或語句),框架401被適配成輸出語義詞語矢量空間中的點。這些點構(gòu)成詞語矢量表示206,其反映語義詞語矢量空間的上下文中的距離值。在這一方法中,將詞語映射到矢量空間中并且將字幕分析的結(jié)果表示為捕獲詞語之間的語義的矢量空間中的點。在矢量空間中,類似的概念在概念的詞語矢量表示中具有小的距離值。
相比較而言,傳統(tǒng)方法被設計成返回預測的詞語或序列。比如,先前描述的rnn406在傳統(tǒng)上被配置成確定在固定詞典/詞匯表尚的每個節(jié)點處的概率分布。計算所計算的分布來對詞語評分和評級。然后基于到節(jié)點的輸入以及當前狀態(tài)來選擇最有可能的詞語作為每個節(jié)點的輸出。過程基于多個迭代來迭代地尋找頂部字幕。在此,由rnn使用的對象函數(shù)反映的策略是解決對應于種類的每個詞語的分類問題。相對于固定詞典/詞匯表針對概率分類使用概率分布。因此,必須將字幕中的詞語包含在詞典中,詞典大小通常很大以表示大量構(gòu)造,并且如果改變詞典,則必須整個重復分析。
另一方面,通過詞語矢量表示206,分析的輸出是矢量空間中的點。這些點沒有被綁定到具體的詞語或單個詞典。采用后處理步驟來將點映射到詞語并且將詞語矢量表示206變換成字幕。因此,將變換延遲到過程中的稍后階段。其結(jié)果是,可以在過程中在稍后改變詞典以選擇不同語言、使用不同詞語范圍或不同數(shù)目的詞語、產(chǎn)生新的術(shù)語等。另外,可以節(jié)省詞語矢量表示206并且如果對詞典做出變化則不需要重復先于后處理完成的步驟。
圖7在700描繪總體上圖示用于圖像配字幕的詞語矢量表示的概念的示例圖。具體地,圖7表示捕獲詞語之間的語義的語義詞語矢量空間702。在本示例中,語義詞語矢量空間702在多維空間中具有對應于不同的詞語或語句組合的軸。在這一上下文中,詞語矢量704表示語義詞語矢量空間702中的詞語之間的距離值。給定用于分析問題和所選擇的詞典的具體狀態(tài)數(shù)據(jù),可以將詞語矢量704映射到最近的詞語。這一方法提供在過程中稍后取決于上下文信息將詞語矢量704映射到不同詞語的靈活性。
圖8是根據(jù)一個或多個實現(xiàn)的其中采用詞語矢量表示用于圖像配字幕的示例過程800的流程圖。獲取用于字幕分析的目標圖像(框802),并且向目標圖像應用特征提取以生成對應于圖像的屬性(框804)。例如,圖像服務120可以實現(xiàn)先前描述的被配置成處理圖像的字幕生成器130。另外,可以考慮各種類型的特征提取操作以檢測特征、概念、對象、區(qū)域和與目標圖像相關聯(lián)的其他屬性。
向字幕生成器供應屬性以發(fā)起字幕生成(框806)。比如,可以使用這些屬性來得到關鍵詞,關鍵詞被供應給由字幕生成器130實現(xiàn)用于圖像配字幕的圖像分析模型202。使用關鍵詞來構(gòu)造和評估關鍵詞的不同組合作為潛在字幕候選。作為分析的結(jié)果,在語義詞語矢量空間中輸出表示被形成作為屬性的組合的語句中的語義關系詞語的詞語矢量(框808)。比如,圖像分析模型202可以被適配成輸出詞語矢量表示206作為字幕分析的中間結(jié)果。詞語矢量表示206可以對應于被影射到具體詞語或具體詞典的語義詞語矢量空間702中的點。例如,由rnn實現(xiàn)的對象函數(shù)可以被適配成考慮語義詞語矢量空間702中的距離而非詞語語句的概率分布。下面討論關于使用l-2距離和負采樣來修改用于字幕分析的對象函數(shù)的一些細節(jié)。
隨后,將詞語矢量變換成用于目標圖像的字幕(框810)。重要的是,將詞語矢量變換延遲到在rnn操作之后的后處理操作以得到詞語矢量表示206。換言之,向根據(jù)rnn生成的輸出應用后處理變換。詞語矢量變換在經(jīng)由rnn執(zhí)行的字幕分析外部選擇的詞典/詞匯表的上下文中發(fā)生。因此,生成詞語矢量表示206的字幕分析沒有取決于具體詞典。
如所指出的,可以使用距離和/或負采樣修改用于字幕分析的對象函數(shù)來實現(xiàn)使用語義詞語矢量空間的實現(xiàn)。關于l-2距離,構(gòu)造典型的對象函數(shù)作為概率分類問題。例如,給定節(jié)點輸入和當前狀態(tài),函數(shù)可以被設計成求解詞語序列的對數(shù)相似性對象。這樣的對數(shù)相似性對象可以表示為logp(w|v)=∑tlogp(wt|v,w0,w1,…,wt)。為了實現(xiàn)詞語矢量表示206,將對象函數(shù)適配成取決于語義詞語空間中的距離的成本函數(shù)。例如,可以將適配后的對象函數(shù)表示為
以上l-2距離方法考慮每個節(jié)點處的對象函數(shù)中的當前詞語。然而,對于每個節(jié)點,存在很多負樣本(所有其他詞語)。還可以將字幕分析適配成包括表示負樣本的負采樣分析。負采樣向?qū)ο蠛瘮?shù)中注入表示到負樣本的距離的成本。通過負采樣,將對象函數(shù)設計成最小化相關的詞語/矢量之間的距離以及到負樣本的最大距離。在實現(xiàn)中,對于每個節(jié)點,隨機選擇不同于目標詞語的n個詞語,并且定義對象函數(shù)的損失因子作為log(1+exp(-wivhi-1)+∑nlog(1+exp(wnvhi-1)。在這一表達式中,wi表示第i位置處的每個目標詞語的嵌入。wn表示第i目標詞語的第n隨機選擇的負樣本,hi-1是位置i-1處的隱藏響應。因此,當目標詞語接近隨機選擇的負樣本時,負采樣增加目標詞語的成本。
語義注意
語義注意模塊208是可以用于增強一般圖像配字幕框架401的另一附加特征。語義注意模塊208可以單獨地或者結(jié)合如先前描述的弱監(jiān)督和/或詞語矢量表示來使用。通常,語義注意模塊208被實現(xiàn)用于可用術(shù)語的文集的關鍵詞和概念的選擇。本文中先前討論的技術(shù)可以在循環(huán)神經(jīng)網(wǎng)絡中的每個節(jié)點處采用相同的關鍵詞或特征集合。例如,可以針對rnn406中的每個節(jié)點供應針對弱監(jiān)督數(shù)據(jù)202得到的相同的關鍵詞列表。然而,不同的詞語/概念的關聯(lián)可以在分析中的不同點處變化。語義注意模塊208提供選擇不同概念、關鍵詞或監(jiān)督信息以取決于上下文來生成下一詞語的機制。
廣義上而言,語義注意模塊208被配置成基于上下文來對候選關鍵詞評級并且計算被饋送給rnn中的對應注意權(quán)重。在rnn中的每個節(jié)點處計算的狀態(tài)信息被饋送回語義注意模塊208中并且根據(jù)下一迭代的當前上下文對候選關鍵詞重新評級。因此,當rnn經(jīng)過時,用于rnn中的每個節(jié)點的具體關鍵詞和權(quán)重變化。因此,圖像配字幕模型留意每個迭代處的最相關的關鍵詞。使用語義注意模塊208用于圖像配字幕實現(xiàn)了更加復雜的字幕,并且改善了生成的字幕的準確性。在圖9至圖11的以下討論中提供關于圖像配字幕的語義注意模型的另外的細節(jié)。
對于上下文,現(xiàn)有為圖像配字幕方法中有兩個一般范例:自頂向下和自底向上。自頂向下范例從圖像的“要點”開始并且將其變換成詞語,而自底向上范例首先提出描述圖像的各個方面的詞語并且然后將其組合。在兩個范例中采用語言模型以形成連貫語句?,F(xiàn)有技術(shù)是自頂向下范例,其中基于循環(huán)神經(jīng)網(wǎng)絡存在從圖像到語句的端到端公式化并且可以根據(jù)訓練數(shù)據(jù)來學習重復網(wǎng)絡的所有參數(shù)。自頂向下范例的限制之一是,很難注意精細的細節(jié),這些細節(jié)在描述圖像方面可能很重要。自底向上方法沒有這一問題,因為它們沒有對任何圖像分辨率的操作。然而,它們存在其他問題,諸如缺乏用于從各個方面到語句的過程的端到端公式化。
如本文中使用的,用于圖像配字幕的語義注意是指提供在配字幕分析中的不同點處相關的語義上重要的對象的詳細的連貫描述的能力。本文中描述的語義注意模塊208能夠:1)注意圖像中的語義上重要的概念或者感興趣區(qū)域,2)在多個概念上放置的注意的相對強度,以及3)根據(jù)任務狀態(tài)在概念之間動態(tài)切換注意。具體地,語義注意模塊208檢測語義細節(jié)或“屬性”作為使用自底向上方法的注意的候選,并且采用自頂向下部件引導應當在何處和何時激活注意。在循環(huán)神經(jīng)網(wǎng)絡(rnn)上構(gòu)建模型,如先前討論的。初始狀態(tài)從自頂向下部件捕獲全局概念。當rnn狀態(tài)經(jīng)過時,模型經(jīng)由在兩個網(wǎng)絡狀態(tài)和輸出節(jié)點上強加的注意機制從自底向上屬性得到反饋和交互。這一反饋使得算法能夠不僅能夠更加準確地預測詞語,而且還能夠產(chǎn)生現(xiàn)有的預測和圖像內(nèi)容之間的語義間隙的更加魯棒的影響。反饋操作以組合循環(huán)神經(jīng)網(wǎng)絡的框架內(nèi)的自頂向下和自底向上兩個方法的視覺信息。
圖9是在900處總體上描繪根據(jù)一個或多個實現(xiàn)的用于圖像配字幕的語義注意框架的圖。如所指出的,語義注意框架組合用于圖像字幕的自頂向下和自底向上方法。在所描繪的示例中,圖像316表示為用于字幕分析的目標。給定目標圖像316,調(diào)用傳統(tǒng)的神經(jīng)網(wǎng)絡402來提取用于圖像的自頂向下視覺概念。同時,應用特征提取902以提取低水平圖像細節(jié)(區(qū)域、對象、屬性等)。特征提取902可以實現(xiàn)為相同的卷積神經(jīng)網(wǎng)絡402的部分或者使用單獨的提取部件來實現(xiàn)。在實現(xiàn)中,向弱注釋圖像的源應用特征提取902以按照先前描述的方式來得到弱監(jiān)督數(shù)據(jù)204。特征提取902的結(jié)果是對應于低水平圖像細節(jié)的圖像屬性904(例如關鍵詞)的集合。如圖9中表示的,語義注意模型208操作以組合自頂向下視覺概念和rnn406中的低水平細節(jié),rnn406生成圖像字幕。具體地,語義注意模型計算和控制用于屬性904的注意權(quán)重906并且在每個迭代處將注意權(quán)重906饋送到rnn中。當rnn通過時,語義注意模型208獲取關于字幕分析的當前狀態(tài)和上下文的反饋908。采用這一反饋908關于循環(huán)神經(jīng)網(wǎng)絡迭代改變候選屬性904的注意權(quán)重。因此,語義注意模型206引起rnn406注意每個預測迭代的最相關的概念。
圖10是根據(jù)一個或多個實現(xiàn)的其中采用語義注意模型用于圖像配字幕的示例過程1000的流程圖。向目標圖像應用特征提取以生成對應于目標圖像的概念和屬性(框1002)。特征提取可以按照本文中描述的各種方式來發(fā)生。特征提取可以依賴于cnn402、提取模塊302或者被設計成檢測圖像316的概念和屬性的其他合適的部件。將概念和屬性饋送到被配置成迭代地組合根據(jù)概念和屬性得到的詞語以在多個迭代中構(gòu)造字幕的字幕生成模型中(框1004)。然后,根據(jù)被配置成基于與在先迭代中預測的詞語的關聯(lián)調(diào)制向多個迭代中的每個迭代的屬性分配的權(quán)重的語義注意模型來構(gòu)造字幕(框1004)。比如,根據(jù)一個或多個實現(xiàn),可以采用關于圖9討論的語義注意框架用于圖像配字幕。作為示例而非限制,語義注意模型208可以結(jié)合rnn406來操作。備選地,可以采用其他用于語言建模和語句生成的迭代技術(shù)。在任何情況下,語義注意框架供應本文中描述的注意權(quán)重906,其用于控制字幕生成模型中的概率分類。在每個迭代處,使用注意權(quán)重906來預測字幕的序列以使模型專注于與該迭代最相關的具體的概念和屬性。針對每個通過重新評估和調(diào)制注意權(quán)重906。
圖11是在1100處一般性地描繪根據(jù)一個或多個實現(xiàn)的語義注意框架的細節(jié)的圖。具體地,圖11表示使用用φ表示的輸入注意模型1102和用
因此,根據(jù)輸入圖像得到自頂向下和自下向上特征。在實現(xiàn)中,使用來自分類卷積神經(jīng)網(wǎng)絡(cnn)的中間過濾響應來構(gòu)建用v表示的全局視覺概念。另外,屬性檢測器的集合操作以得到最有可能在圖像中出現(xiàn)的視覺屬性的列表{ai}。每個屬性ai對應于術(shù)語表集合或詞典y中的條目。
所有的視覺概念和特征被饋送到循環(huán)神經(jīng)網(wǎng)絡(rnn)中用于字幕生成。由于rnn中的隱藏狀態(tài)ht∈rn隨著時間t發(fā)展,所以根據(jù)由狀態(tài)ht控制的概率矢量pt∈r|y|從詞典y汲取字幕中的第t詞語yt。所生成的詞語yt在下一時間步驟中作為網(wǎng)絡輸入xt+1∈rm的部分被饋送到rnn中,其得到從ht到ht+1的狀態(tài)過渡。來自v和{ai}的視覺信息在生成xt和pt,時用作rnn的額外引導,其由在圖11中表示的輸入和輸出模型φ和
與先前為圖像配字幕方法相反,框架使用反饋908回路來使用和組合不同視覺信息源。使用cnn圖像概念v作為初始輸入節(jié)點x0,其被期望向rnn給出圖像內(nèi)容的快速概述。一旦初始化rnn狀態(tài)以包括整個視覺上下文,則rnn能夠在隨后的時間步驟中從任務相關的處理的{ai}中選擇具體的條目。具體地,通過以下等式來掌控框架:
x0=φ0(v)=wx,vv
ht=f(xt,ht-l,)
xt=φ(yt-l,{ai})t>0,
這里,使用線性嵌入模型用于權(quán)重因子用wx,v表示的初始輸入節(jié)點x0。在t=0向v應用輸入注意模型φ以嵌入全局概念。ht表示rnn的隱藏節(jié)點的狀態(tài),隱藏節(jié)點如先前描述地由激活函數(shù)f來掌管。輸入φ和輸出
在針對t>0的輸入注意模型φ中,基于其與在先預測詞語tt-1的關聯(lián)來向每個檢測屬性ai分配得分
令詞語嵌入矩陣為e∈rd×|y|,其中d<<|y|。則,在先雙線性函數(shù)變?yōu)?imgfile="bda0001151217260000231.gif"wi="700"he="89"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>其中u是dxd矩陣。一旦計算,則使用注意得分來調(diào)制不同屬性上的注意的強度。根據(jù)以下表達式將所有屬性的加權(quán)和連同在先詞語從詞語嵌入空間映射到xt的輸入空間:
類似于輸入注意模型來建模輸出注意模型
另外,使用
每個圖像的訓練數(shù)據(jù)包括輸入圖像特征v、{ai}和輸出字幕詞語序列{yt}。對于模型學習,目的是通過最小化訓練集合上的損失函數(shù)來聯(lián)合所有的rnn參數(shù)θr學習所有的注意模型參數(shù)θa={u,v,w*,*,w*,*}。一個訓練示例的損失定義為與注意得分
這里,α和β是注意得分矩陣,其第(t;i)條目是權(quán)重
p>1的第一項處罰向在整個語句上累加的任何單個屬性ai支付的過多注意,并且0<q<1的第二項懲罰在任何具體時間的給多個屬性的釋放的注意。采用具有自適應學習速率的隨機梯度下降算法來優(yōu)化損失函數(shù)。
考慮到以上示例細節(jié)、過程、用戶界面和示例,現(xiàn)在考慮包括可以用于本文中描述的圖像配字幕技術(shù)的一個或多個實現(xiàn)的各種部件和設備的示例系統(tǒng)的討論。
示例系統(tǒng)和設備
圖12在1200處一般性地圖示示例系統(tǒng),其包括表示可以實現(xiàn)本文中描述的各種技術(shù)的一個或多個計算系統(tǒng)和/或設備的示例計算設備1202。這通過圖像服務120的包括來圖示,圖像服務120如以上描述地操作。計算設備1202可以是例如服務提供商的服務器、與客戶端相關聯(lián)的設備(例如客戶端設備)、片上系統(tǒng)、和/或任何其他合適的計算設備或計算系統(tǒng)。
示例計算設備1202被圖示為包括處理系統(tǒng)1204、一個或多個計算機可讀介質(zhì)1206、以及在通信上耦合至彼此的一個或多個i/o接口1208。雖然沒有示出,然而計算設備1202還可以包括系統(tǒng)總線或者將各種部件耦合至彼此的其他數(shù)據(jù)和命令傳送系統(tǒng)。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)中的任何一個或組合,諸如存儲器總線或存儲器控制器、外圍總線、通用串行總線、和/或使用各種總線架構(gòu)中的任何總線架構(gòu)的處理器或本地總線。也考慮各種其他示例,諸如控制線和數(shù)據(jù)線。
處理系統(tǒng)1204表示使用硬件來執(zhí)行一個或多個操作的功能。因此,處理系統(tǒng)1204被圖示為包括可以被配置為處理器、功能框等的硬件元件1210。其可以包括硬件實現(xiàn)作為使用一個或多個半導體形成的專用集成電路或者其他邏輯器件。硬件元件1210不受形成其的材料以及其中采用的處理機制的限制。例如,處理器可以包括半導體和/或晶體管(例如電子集成電路(ic))。在這樣的上下文中,處理器可執(zhí)行指令可以是電子可執(zhí)行指令。
計算機可讀存儲介質(zhì)1206被圖示為包括存儲器/存儲裝置1212。存儲器/存儲裝置1212表示與一個或多個計算機可讀介質(zhì)相關聯(lián)的存儲器/存儲能力。存儲器/存儲部件1212可以包括易失性介質(zhì)(諸如隨機存取存儲器(ram))和/或非易失性介質(zhì)(諸如只讀存儲器(rom)、閃存存儲器、光盤、磁盤等)。存儲器/存儲部件1212可以包括固定介質(zhì)(例如ram、rom、固定硬盤驅(qū)動等)以及可移除介質(zhì)(例如閃存存儲器、可移除硬盤驅(qū)動、光盤等)。計算機可讀介質(zhì)1206可以用下面進一步描述的各種其他方式來配置。
輸入/輸出接口1208表示使得用戶能夠向技術(shù)設備1202輸入命令和信息并且還使得能夠使用各種輸入/輸出設備來向用戶和/或其他部件或設備呈現(xiàn)信息的功能。輸入設備的示例包括鍵盤、光標控制設備(例如鼠標)、麥克風、掃描儀、觸摸功能(例如電容或被配置成檢測物理觸摸的其他傳感器)、相機(例如其可以采用視覺或非視覺波長、諸如紅外頻率來標識沒有涉及觸摸的運動、如姿勢)等。輸出設備的示例包括顯示器設備(例如顯示器或投影儀)、揚聲器、打印機、網(wǎng)絡卡、觸覺響應設備等。因此,計算設備1202可以用下面進一步描述的各種方式被配置成支持用戶交互。
本文中在軟件、硬件元件和程序模塊的一般上下文中描述各種技術(shù)。通常,這樣的模塊包括執(zhí)行具體任務或?qū)崿F(xiàn)具體抽象數(shù)據(jù)類型的例程、程序、對象、元件、部件、數(shù)據(jù)結(jié)構(gòu)等。本文中使用的術(shù)語“模塊”、“功能”和“部件”通常表示軟件、固件、硬件或者其組合。本文中描述的技術(shù)的特征獨立于平臺,這表示這些技術(shù)可以在具有各種處理器的各種商用計算平臺上實現(xiàn)。
所描述的模塊和技術(shù)的實現(xiàn)可以存儲在某種形式的計算機可讀介質(zhì)上或者在其上來傳輸。計算機可讀介質(zhì)可以包括可以由計算設備1202訪問的各種介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可以包括“計算機可讀存儲介質(zhì)”和“計算機可讀信號介質(zhì)”。
“計算機可讀存儲介質(zhì)”是指與僅信號傳輸、載波、或信號本身相對而言使得能夠永久性和/或非暫態(tài)地存儲信息的介質(zhì)和/或設備。因此,計算機可讀存儲介質(zhì)不包括信號本身或者信號承載介質(zhì)。計算機可讀存儲介質(zhì)包括在適合信息、諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、邏輯元件/電路或其他數(shù)據(jù)的存儲的方法或技術(shù)中實現(xiàn)的硬件、諸如易失性和非易失性、可移除和非可移除介質(zhì)和/或存儲設備。計算機可讀存儲介質(zhì)的示例可以包括但不限于ram、rom、eeprom、閃存存儲器或者其他存儲器技術(shù)、cd-rom、數(shù)字多功能盤(dvd)或其他光學存儲裝置、硬盤、磁盒、磁帶、磁盤存儲裝置或其他磁性存儲設備、或者其他存儲設備、有形介質(zhì)、或者適合存儲期望信息并且可以由計算機來訪問的制造品。
“計算機可讀信號介質(zhì)”是指被配置成諸如經(jīng)由網(wǎng)絡來向計算設備1202的硬件傳輸指令的信號承載介質(zhì)。信號介質(zhì)通??梢詫嵤┯嬎銠C可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或者已調(diào)制數(shù)據(jù)信號中的其他數(shù)據(jù),諸如載波、數(shù)據(jù)信號、或者其他傳輸機制。信號介質(zhì)還包括任何信息遞送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”表示其一個或多個特性按照使得能夠?qū)π盘栔械男畔⒕幋a的形式來被設置或改變的信號。作為示例而非限制,通信介質(zhì)包括有線和無線介質(zhì)、諸如有線網(wǎng)絡或直接有線連接、以及無線介質(zhì)、諸如聲學、rf、紅外和其他無線介質(zhì)。
如先前描述的,硬件元件1210和計算機可讀介質(zhì)1206表示可以在一些實施例中采用以實現(xiàn)本文中描述的技術(shù)的至少一些方面、諸如執(zhí)行一個或多個指令的硬件形式實現(xiàn)的模塊、可編程設備邏輯和/或固定設備邏輯。硬件可以包括集成電路或片上系統(tǒng)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、復雜可編程邏輯器件(cpld)以及硅或其他硬件的其他實現(xiàn)的部件。在本上下文中,硬件可以用作執(zhí)行由指令定義的程序任務和/或由硬件實施的邏輯的處理設備以及用于存儲用于執(zhí)行的指令的硬件,諸如先前描述的計算機可讀存儲介質(zhì)。
上述的組合也可以用于實現(xiàn)本文中描述的各種技術(shù)。因此,軟件、硬件或可執(zhí)行模塊可以實現(xiàn)為在某種形式的計算機可讀存儲介質(zhì)上和/或由一個或多個硬件元件1210來實施的一個或多個指令和/或邏輯。計算設備1202可以被配置成實現(xiàn)對應于軟件和/或硬件模塊的具體的指令和/或功能。因此,作為軟件的由計算設備1202可執(zhí)行的模塊的實現(xiàn)可以至少部分用硬件來實現(xiàn),例如通過使用處理系統(tǒng)1204的計算機可讀存儲介質(zhì)和/或硬件元件1210。指令和/或功能可以由一個或多個制造品(例如一個或多個計算設備1202和/或處理系統(tǒng)1204)可執(zhí)行/可操作以實現(xiàn)本文中描述的技術(shù)、模塊和示例。
本文中描述的技術(shù)可以由計算設備1202的各種配置來支持,而不限于本文中描述的技術(shù)的具體示例。這一功能也可以全部或者部分通過使用分布式系統(tǒng)來實現(xiàn),諸如經(jīng)由下面描述的平臺1216在“云”1214上實現(xiàn)。
云1214包括和/或表示用于資源1218的平臺1216。平臺1216抽象云1214的硬件(例如服務器)和軟件資源的功能。資源1218可以包括可以在遠離計算設備1202的服務器上執(zhí)行計算機處理的同時使用的應用和/或數(shù)據(jù)。資源1218還可以包括在因特網(wǎng)上和/或通過用戶網(wǎng)絡、諸如蜂窩或wi-fi網(wǎng)絡提供的服務。
平臺1216可以抽象將計算設備1202與其他計算設備連接的資源和功能。平臺1216還可以用于抽象資源的縮放以提供對應水平的縮放從而滿足對于經(jīng)由平臺1216實現(xiàn)的資源1218的需求。因此,在互連的設備實施例中,本文中描述的功能的實現(xiàn)可以分布遍及系統(tǒng)1200。例如,功能可以部分在計算設備1202上以及經(jīng)由抽象云1214的功能的平臺1216來實現(xiàn)。
總結(jié)
雖然使用特定于結(jié)構(gòu)特征和/或方法動作的語言描述了技術(shù),然而應當理解,在所附權(quán)利要求中定義的主題不一定限于所描述的具體特征或動作。相反,具體的特征和動作被公開作為實現(xiàn)要求保護的主題的示例形式。