背景技術(shù):
1、本說明書涉及使用機(jī)器學(xué)習(xí)模型處理輸入。
2、作為一個(gè)示例,神經(jīng)網(wǎng)絡(luò)是采用非線性單元的一個(gè)或多個(gè)層針對接收的輸入預(yù)測輸出的機(jī)器學(xué)習(xí)模型。除了輸出層之外,一些神經(jīng)網(wǎng)絡(luò)還包括一個(gè)或多個(gè)隱藏層。每個(gè)隱藏層的輸出被用作到網(wǎng)絡(luò)中的另一層(例如,下一隱藏層或輸出層)的輸入。網(wǎng)絡(luò)的每個(gè)層根據(jù)相應(yīng)權(quán)重集合的當(dāng)前值從接收的輸入生成輸出。
技術(shù)實(shí)現(xiàn)思路
1、本說明書描述了一種在一個(gè)或多個(gè)計(jì)算機(jī)上實(shí)現(xiàn)為計(jì)算機(jī)程序的系統(tǒng),該一個(gè)或多個(gè)計(jì)算機(jī)使用對比解說詞添加(captioning)神經(jīng)網(wǎng)絡(luò)處理多模態(tài)輸入,這些多模態(tài)輸入包括視覺輸入(即,圖像或來自視頻的多個(gè)視頻幀)和文本兩者。如下文將描述的,該神經(jīng)網(wǎng)絡(luò)被稱為“對比解說詞添加”神經(jīng)網(wǎng)絡(luò),因?yàn)樵撋窠?jīng)網(wǎng)絡(luò)可以聯(lián)合使用對比學(xué)習(xí)損失和解說詞添加損失兩者進(jìn)行預(yù)訓(xùn)練。
2、可以實(shí)現(xiàn)本說明書中所描述的主題的特定實(shí)施例,以便實(shí)現(xiàn)以下優(yōu)點(diǎn)中的一個(gè)或多個(gè)。
3、本說明書描述了一種對比解說詞添加(coca)神經(jīng)網(wǎng)絡(luò),該coca神經(jīng)網(wǎng)絡(luò)具有允許神經(jīng)網(wǎng)絡(luò)聯(lián)合利用對比目標(biāo)和解說詞添加損失進(jìn)行預(yù)訓(xùn)練的架構(gòu)。與標(biāo)準(zhǔn)編碼器-解碼器變換器(其中所有解碼器層都關(guān)注編碼器輸出)不同,coca省略了解碼器層的第一集合中的交叉注意力,使得解碼器層的第一集合對單模態(tài)文本表示進(jìn)行編碼。換句話說,coca具有解碼器(語言模型神經(jīng)網(wǎng)絡(luò)),該解碼器具有多個(gè)初始自注意力層,而不具有任何交叉注意力層。然后,coca級聯(lián)交叉關(guān)注到視覺編碼器的剩余解碼器層,以生成多模態(tài)圖像文本表示。因此,coca將語言模型神經(jīng)網(wǎng)絡(luò)有效地解耦成單模態(tài)文本解碼器,之后是多模態(tài)文本解碼器。
4、在單模態(tài)視覺和文本嵌入之間應(yīng)用對比損失,同時(shí)在預(yù)測文本詞元的多模態(tài)解碼器輸出上應(yīng)用解說詞添加損失。
5、通過共享相同的計(jì)算圖,即共享相同的神經(jīng)網(wǎng)絡(luò)架構(gòu),以最小的計(jì)算開銷有效率地計(jì)算兩個(gè)訓(xùn)練目標(biāo)。也就是說,計(jì)算兩個(gè)損失所需的數(shù)量是通過coca網(wǎng)絡(luò)通過單次前向傳遞獲得的。
6、這允許神經(jīng)網(wǎng)絡(luò)在單個(gè)階段在統(tǒng)一形式的圖像-文本對(例如,包括網(wǎng)絡(luò)規(guī)模替代文本數(shù)據(jù)或帶注釋的圖像中的一個(gè)或多個(gè))上從零開始進(jìn)行預(yù)訓(xùn)練,從而無縫統(tǒng)一自然語言監(jiān)督以進(jìn)行表征學(xué)習(xí)。
7、換句話說,針對每個(gè)訓(xùn)練對,系統(tǒng)既應(yīng)用視覺編碼器和單模態(tài)文本解碼器的輸出之間的對比目標(biāo),也應(yīng)用多模態(tài)解碼器的輸出處的解說詞添加目標(biāo)。
8、此外,coca可以通過將所有標(biāo)簽簡單地視為文本來在圖像注釋數(shù)據(jù)和嘈雜的圖像文本數(shù)據(jù)兩者上進(jìn)行訓(xùn)練。因此,圖像注釋文本上的生成損失提供了與單編碼器交叉熵?fù)p失方法相似的細(xì)粒度訓(xùn)練信號,從而有效地將所有三種預(yù)訓(xùn)練范式納入單一統(tǒng)一的方法中。
9、此外,由于coca的解耦解碼器(語言模型)設(shè)計(jì),可以有效率地考慮兩種訓(xùn)練損失。由于單向語言模型是在完整句子上利用因果掩蔽進(jìn)行訓(xùn)練的,因此解碼器可以利用單次前向傳播(與用于雙向方法的兩次傳遞相比)有效率地生成對比損失和生成損失兩者的輸出。
10、因此,大部分計(jì)算在兩個(gè)損失之間共享,并且與標(biāo)準(zhǔn)編碼器-解碼器模型相比,coca僅引起最小的開銷。另一方面,盡管許多現(xiàn)有方法在各種數(shù)據(jù)源和/或模態(tài)上利用多個(gè)階段訓(xùn)練模型組件,但coca通過將所有標(biāo)簽視為文本以實(shí)現(xiàn)對比目標(biāo)和生成目標(biāo)兩者來直接利用各種數(shù)據(jù)源(例如,使用帶注釋的圖像和嘈雜的替代文本圖像兩者)從零開始端對端地進(jìn)行預(yù)訓(xùn)練。
11、因此,所描述的技術(shù)實(shí)現(xiàn)了提高的預(yù)訓(xùn)練效率,即可以使用更少的flop和更少的訓(xùn)練迭代實(shí)現(xiàn)與傳統(tǒng)技術(shù)等同或與之相比更好的性能。
12、預(yù)訓(xùn)練可以用于現(xiàn)實(shí)世界任務(wù)的大型多模態(tài)模型通常導(dǎo)致大量二氧化碳(co2)排放和大量電力使用,例如,因?yàn)樵谄渖线M(jìn)行預(yù)訓(xùn)練的數(shù)據(jù)集極其大,并且模型具有大量參數(shù)。通過減少需要執(zhí)行的flop的數(shù)量并出于上述原因執(zhí)行更少的訓(xùn)練迭代,所描述的技術(shù)顯著減少了預(yù)訓(xùn)練過程的co2足跡,同時(shí)也顯著減少了由預(yù)訓(xùn)練過程消耗的電量。
13、另外,這種預(yù)訓(xùn)練方案允許神經(jīng)網(wǎng)絡(luò)通過零試(zero-shot)遷移或最低限度的任務(wù)特定適配在寬范圍的下游任務(wù)上實(shí)現(xiàn)最先進(jìn)的性能。下面將更詳細(xì)地描述下游任務(wù)的具體示例。
14、在以下附圖和說明書中闡述了本說明書的主題的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。本主題的其他特征、方面和優(yōu)點(diǎn)根據(jù)描述、附圖和權(quán)利要求將變得顯而易見。
1.一種系統(tǒng),包括:一個(gè)或多個(gè)計(jì)算機(jī)和存儲指令的一個(gè)或多個(gè)存儲裝置,所述指令在由所述一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行時(shí)使所述一個(gè)或多個(gè)計(jì)算機(jī)實(shí)現(xiàn)對比解說詞添加神經(jīng)網(wǎng)絡(luò),所述神經(jīng)網(wǎng)絡(luò)包括:
2.如權(quán)利要求1所述的系統(tǒng),其中:
3.如權(quán)利要求2所述的系統(tǒng),其中所述當(dāng)前文本序列中的所述文本詞元的所述相應(yīng)單模態(tài)表示是由初始注意力層的所述序列中的最后初始注意力層作為輸出生成的所述當(dāng)前文本序列中的所述文本詞元的所述相應(yīng)的更新的表示。
4.如權(quán)利要求2或權(quán)利要求3所述的系統(tǒng),其中處理所述相應(yīng)當(dāng)前表示以生成所述當(dāng)前文本序列中的所述文本詞元中的每個(gè)文本詞元的相應(yīng)的更新的表示作為輸出包括:應(yīng)用因果掩蔽的自注意力機(jī)制。
5.如任一項(xiàng)前述權(quán)利要求所述的系統(tǒng),其中定義要附加到所述當(dāng)前文本序列的所述新詞元的所述輸出包括向文本詞元的詞表中的每個(gè)文本詞元指派相應(yīng)分?jǐn)?shù)的分?jǐn)?shù)分布。
6.如任一項(xiàng)前述權(quán)利要求所述的系統(tǒng),其中:
7.如權(quán)利要求6所述的系統(tǒng),其中后續(xù)神經(jīng)網(wǎng)絡(luò)層的所述集合進(jìn)一步包括:
8.如權(quán)利要求6或權(quán)利要求7所述的系統(tǒng),其中針對所述后續(xù)神經(jīng)網(wǎng)絡(luò)層中的一個(gè)或多個(gè),處理所述相應(yīng)當(dāng)前表示以生成所述當(dāng)前文本序列中的所述文本詞元中的每個(gè)文本詞元的相應(yīng)的更新的表示作為輸出包括:應(yīng)用因果掩蔽的自注意力機(jī)制。
9.如權(quán)利要求6至8中任一項(xiàng)所述的系統(tǒng),其中所述一個(gè)或多個(gè)跨模態(tài)層各自是后續(xù)注意力層的所述序列中的所述后續(xù)注意力層中的相應(yīng)一者,并且其中針對每個(gè)跨模態(tài)層,處理所述相應(yīng)當(dāng)前表示以生成所述當(dāng)前文本序列中的所述文本詞元中的每個(gè)文本詞元的相應(yīng)的更新的表示作為輸出包括:應(yīng)用從所述視覺輸入的所述編碼的表示導(dǎo)出的輸入與由所述跨模態(tài)層作為輸入接收的所述當(dāng)前文本序列中的所述文本詞元的所述相應(yīng)當(dāng)前表示之間的交叉注意力機(jī)制。
10.如任一項(xiàng)前述權(quán)利要求所述的系統(tǒng),其中所述編碼的表示包括針對所述視覺輸入的多個(gè)補(bǔ)片中的每個(gè)補(bǔ)片的相應(yīng)更新的詞元。
11.如權(quán)利要求10所述的系統(tǒng),其中所述對比解說詞添加神經(jīng)網(wǎng)絡(luò)進(jìn)一步包括:
12.當(dāng)權(quán)利要求11從屬于權(quán)利要求9時(shí)如權(quán)利要求11所述的系統(tǒng),其中從所述編碼的表示導(dǎo)出的所述輸入是所述相應(yīng)更新的查詢詞元。
13.如權(quán)利要求10至12中任一項(xiàng)所述的系統(tǒng),其中所述視覺編碼器神經(jīng)網(wǎng)絡(luò)是視覺transformer神經(jīng)網(wǎng)絡(luò)。
14.如權(quán)利要求10至13中任一項(xiàng)所述的系統(tǒng),其中所述對比解說詞添加神經(jīng)網(wǎng)絡(luò)進(jìn)一步包括:
15.如權(quán)利要求14所述的系統(tǒng),其中學(xué)習(xí)的查詢詞元的所述第二集合僅包括單個(gè)學(xué)習(xí)的查詢詞元。
16.一種訓(xùn)練如任一項(xiàng)前述權(quán)利要求所述的對比解說詞添加神經(jīng)網(wǎng)絡(luò)的方法,所述方法包括:
17.如權(quán)利要求16所述的方法,其中針對每個(gè)訓(xùn)練對,使用初始神經(jīng)網(wǎng)絡(luò)層的所述集合處理所述訓(xùn)練對中的所述文本序列并且使用后續(xù)神經(jīng)網(wǎng)絡(luò)層的所述集合處理所述相應(yīng)單模態(tài)表示通過所述語言模型神經(jīng)網(wǎng)絡(luò)在單次前向傳遞中被執(zhí)行。
18.如權(quán)利要求16或權(quán)利要求17所述的方法,其中針對每個(gè)訓(xùn)練對以及針對來自所述相應(yīng)文本序列的所述多個(gè)詞元中的每個(gè)詞元,所述解說詞添加損失項(xiàng)測量相對于所述文本序列中的對應(yīng)詞元的所述詞元的所述相應(yīng)分?jǐn)?shù)分布的質(zhì)量。
19.如權(quán)利要求16至18中任一項(xiàng)所述的方法,其中每個(gè)訓(xùn)練對中的每個(gè)訓(xùn)練文本序列包括相同的指定詞元,并且其中所述對比學(xué)習(xí)損失項(xiàng)基于從所述訓(xùn)練對中的所述視覺輸入的所述編碼的表示導(dǎo)出的所述對比表示與所述訓(xùn)練對中的所述訓(xùn)練文本序列中的所述指定詞元的相應(yīng)單模態(tài)表示之間的相似性。
20.當(dāng)權(quán)利要求16至19中任一項(xiàng)從屬于權(quán)利要求15時(shí)如權(quán)利要求16至19中任一項(xiàng)所述的方法,其中每個(gè)視覺輸入的所述對比表示是所述第二集合中的單個(gè)查詢詞元的所述更新的查詢詞元。
21.當(dāng)權(quán)利要求16至19中任一項(xiàng)從屬于權(quán)利要求10時(shí)如權(quán)利要求16至19中任一項(xiàng)所述的方法,其中每個(gè)視覺輸入的所述對比表示通過池化針對所述視覺輸入的所述多個(gè)補(bǔ)片中的每個(gè)補(bǔ)片的所述相應(yīng)更新的詞元來生成。
22.如權(quán)利要求16至21中任一項(xiàng)所述的方法,進(jìn)一步包括:
23.如權(quán)利要求22所述的方法,進(jìn)一步包括:
24.如權(quán)利要求22所述的方法,進(jìn)一步包括:在所述訓(xùn)練之后并且在使用(i)所述視覺編碼器、(ii)神經(jīng)網(wǎng)絡(luò)層的所述初始集合或(iii)神經(jīng)網(wǎng)絡(luò)層的所述后續(xù)集合中的一個(gè)或多個(gè)執(zhí)行下游任務(wù)之前,在所述下游任務(wù)的標(biāo)記的訓(xùn)練數(shù)據(jù)上精調(diào)包括所述對比解說詞添加神經(jīng)網(wǎng)絡(luò)的所述一個(gè)或多個(gè)組件的下游神經(jīng)網(wǎng)絡(luò)。
25.如權(quán)利要求24所述的方法,其中精調(diào)所述下游神經(jīng)網(wǎng)絡(luò)包括在保持(i)所述視覺編碼器、(ii)神經(jīng)網(wǎng)絡(luò)層的所述初始集合或(iii)神經(jīng)網(wǎng)絡(luò)層的所述后續(xù)集合中的所述一個(gè)或多個(gè)固定的同時(shí)訓(xùn)練所述下游神經(jīng)網(wǎng)絡(luò)的一個(gè)或多個(gè)附加組件。
26.一種由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的方法,所述方法包括:
27.一種或多種存儲指令的計(jì)算機(jī)可讀存儲介質(zhì),所述指令在由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行時(shí)使所述一個(gè)或多個(gè)計(jì)算機(jī)實(shí)現(xiàn)如權(quán)利要求1至15中任一項(xiàng)所述的對比解說詞添加神經(jīng)網(wǎng)絡(luò)。
28.一種方法,包括:由如權(quán)利要求1至15中任一項(xiàng)所述的對比解說詞添加神經(jīng)網(wǎng)絡(luò)執(zhí)行的相應(yīng)操作。
29.一種系統(tǒng),包括:
30.一種或多種存儲指令的計(jì)算機(jī)可讀存儲介質(zhì),所述指令在由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行時(shí)使所述一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行如權(quán)利要求16至26中任一項(xiàng)所述的方法的相應(yīng)操作。