SmartReply是Google發(fā)布的面向youtue自媒體網(wǎng)友的自動(dòng)智能回復(fù)神經(jīng)網(wǎng)絡(luò),隨著Gmail的推出和Android Messages的推出,SmartReply已經(jīng)擴(kuò)展到了更多的用戶,并通過(guò)Android Wear擴(kuò)展到了更多的設(shè)備?,F(xiàn)在,開(kāi)發(fā)者可以使用SmartReply在Play開(kāi)發(fā)者控制臺(tái)內(nèi)回復(fù)評(píng)論,并可以使用MLKit和TFLite內(nèi)提供的API設(shè)置自己的版本。每一次發(fā)布都有一個(gè)獨(dú)特的挑戰(zhàn),在建模和服務(wù)方面,需要根據(jù)任務(wù)要求定制SmartReply。
Google現(xiàn)在很高興與大家分享為YouTube打造的更新版SmartReply,并在YouTube Studio中實(shí)現(xiàn),幫助創(chuàng)作者更輕松地與觀眾互動(dòng)。這個(gè)模型通過(guò)一個(gè)計(jì)算效率高的擴(kuò)張型自注意力網(wǎng)絡(luò)來(lái)學(xué)習(xí)評(píng)論和回復(fù)表示,并代表了第一個(gè)基于跨語(yǔ)言和字符字節(jié)的SmartReply模型。SmartReply for YouTube目前適用于英語(yǔ)和西班牙語(yǔ)創(chuàng)作者,這種方法簡(jiǎn)化了未來(lái)將SmartReply功能擴(kuò)展到更多語(yǔ)言的過(guò)程。
YouTube創(chuàng)作者會(huì)收到大量的視頻回復(fù)。此外,YouTube上的創(chuàng)作者和觀眾社區(qū)是多樣化的,這一點(diǎn)從他們的評(píng)論、討論和視頻的創(chuàng)意中就能體現(xiàn)出來(lái)。與電子郵件相比,YouTube上的評(píng)論往往篇幅較長(zhǎng),且以正式語(yǔ)言為主,但與之相比,YouTube上的評(píng)論顯示出復(fù)雜的語(yǔ)言轉(zhuǎn)換模式、縮略詞、俚語(yǔ)、標(biāo)點(diǎn)符號(hào)的不一致使用以及大量使用表情符號(hào)。以下是說(shuō)明這一挑戰(zhàn)的評(píng)論樣本。
深度檢索
最初發(fā)布的SmartReply for Inbox用一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)輸入郵件逐字編碼,然后用另一個(gè)字級(jí)循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)潛在的回復(fù)進(jìn)行解碼。盡管這種方法的表現(xiàn)力很強(qiáng),但它的計(jì)算成本很高。相反,Google發(fā)現(xiàn),可以通過(guò)設(shè)計(jì)一個(gè)系統(tǒng),在預(yù)定義的建議列表中搜索最合適的回復(fù)來(lái)達(dá)到同樣的目的。
這個(gè)檢索系統(tǒng)將消息及其建議獨(dú)立編碼。首先,對(duì)文本進(jìn)行預(yù)處理以提取單詞和短語(yǔ)。這種預(yù)處理包括但不限于語(yǔ)言識(shí)別、標(biāo)記化和標(biāo)準(zhǔn)化。然后,兩個(gè)神經(jīng)網(wǎng)絡(luò)同時(shí)并獨(dú)立地對(duì)信息和建議進(jìn)行編碼。這種因子化允許人們預(yù)先計(jì)算建議編碼,然后使用高效的最大內(nèi)積搜索數(shù)據(jù)結(jié)構(gòu)對(duì)建議集進(jìn)行搜索。這種深度檢索方法使Google能夠?qū)martReply擴(kuò)展到Gmail,此后,它成為多個(gè)SmartReply系統(tǒng)的基礎(chǔ),包括目前的YouTube系統(tǒng)。
上文中介紹的以前的SmartReply系統(tǒng)依賴于字級(jí)預(yù)處理,它針對(duì)有限的語(yǔ)言和狹窄的寫(xiě)作類型進(jìn)行了很好的調(diào)整。這樣的系統(tǒng)在YouTube案例中面臨著巨大的挑戰(zhàn),因?yàn)橐粋€(gè)典型的評(píng)論可能包括以下內(nèi)容,如表情符號(hào)、ASCII藝術(shù)、語(yǔ)言切換等。有鑒于此,并從Google最近在字節(jié)和字符語(yǔ)言建模方面的工作中獲得靈感,Google決定在不進(jìn)行任何預(yù)處理的情況下對(duì)文本進(jìn)行編碼。這種方法得到了研究的支持,研究表明,深度Transformer網(wǎng)絡(luò)只需將文本作為字符或字節(jié)序列輸入給它,就能從頭開(kāi)始對(duì)單詞和短語(yǔ)進(jìn)行建模,其質(zhì)量與基于單詞的模型相當(dāng)。
雖然初步結(jié)果很有希望,特別是對(duì)于處理帶有表情符號(hào)或錯(cuò)別字的評(píng)論,但由于字符序列比單詞等價(jià)物長(zhǎng),而且自注意力層的計(jì)算復(fù)雜度隨著序列長(zhǎng)度的函數(shù)呈二次方增長(zhǎng),因此推理速度對(duì)于生產(chǎn)來(lái)說(shuō)太慢。Google發(fā)現(xiàn),通過(guò)在網(wǎng)絡(luò)的每一層應(yīng)用時(shí)間縮減層來(lái)縮小序列長(zhǎng)度,類似于WaveNet中應(yīng)用的擴(kuò)容技術(shù),可以在計(jì)算和質(zhì)量之間進(jìn)行良好的權(quán)衡。
下圖展示了一個(gè)雙編碼器網(wǎng)絡(luò),它同時(shí)對(duì)評(píng)論和回復(fù)進(jìn)行編碼,通過(guò)以對(duì)比性目標(biāo)訓(xùn)練網(wǎng)絡(luò)來(lái)最大化其潛伏表征之間的相互信息。編碼開(kāi)始時(shí),先給變換器輸入一個(gè)字節(jié)嵌入后的序列。每一個(gè)后續(xù)層的輸入將通過(guò)在相等的偏移量下丟棄一定比例的字符來(lái)減少。在應(yīng)用多個(gè)變換層后,序列長(zhǎng)度被大大截?cái)啵蟠蠼档土擞?jì)算復(fù)雜度。這種序列壓縮方案可以用其他運(yùn)算符來(lái)代替,比如平均池化,不過(guò)Google并沒(méi)有注意到更復(fù)雜的方法帶來(lái)的收益,因此,為了簡(jiǎn)單起見(jiàn),Google選擇了使用擴(kuò)張。
一個(gè)雙編碼器網(wǎng)絡(luò),通過(guò)一個(gè)對(duì)比性目標(biāo)來(lái)最大化評(píng)論和其回復(fù)之間的相互信息。每個(gè)編碼器都會(huì)被送入一個(gè)字節(jié)序列,并被實(shí)現(xiàn)為一個(gè)計(jì)算效率很高的擴(kuò)張變壓器網(wǎng)絡(luò)。
一個(gè)可以學(xué)習(xí)所有評(píng)論的模型
Google沒(méi)有為每種語(yǔ)言訓(xùn)練一個(gè)單獨(dú)的模型,而是選擇為所有支持的語(yǔ)言訓(xùn)練一個(gè)單一的跨語(yǔ)言模型。這允許在評(píng)論中支持混合語(yǔ)言的使用,并使模型能夠利用學(xué)習(xí)一種語(yǔ)言中的共同元素來(lái)理解另一種語(yǔ)言,如表情符號(hào)和數(shù)字。此外,擁有一個(gè)模型可以簡(jiǎn)化維護(hù)和更新的后勤工作。雖然該模型已經(jīng)推出了英語(yǔ)和西班牙語(yǔ),但這種方法固有的靈活性將使其在未來(lái)擴(kuò)展到其他語(yǔ)言。
檢查該模型產(chǎn)生的多語(yǔ)言建議集的編碼,可以發(fā)現(xiàn)該模型會(huì)將適當(dāng)?shù)幕貜?fù)進(jìn)行聚類,無(wú)論它們屬于哪種語(yǔ)言。這種跨語(yǔ)言的能力在訓(xùn)練過(guò)程中沒(méi)有將模型暴露在任何平行語(yǔ)料庫(kù)中就出現(xiàn)了。Google在下圖中為三種語(yǔ)言展示了當(dāng)模型被探查到輸入評(píng)論時(shí),回復(fù)是如何根據(jù)其含義進(jìn)行聚類的。例如,英文評(píng)論"This is a great video",周圍有適當(dāng)?shù)幕貜?fù),如"Thanks!"。此外,檢查其他語(yǔ)言中最近的回復(fù),發(fā)現(xiàn)它們也是適當(dāng)?shù)模⑶遗c英語(yǔ)回復(fù)的含義相似。二維投影還顯示了其他幾個(gè)由意義相似的回復(fù)組成的跨語(yǔ)言聚類。這種聚類展示了該模型如何在支持的語(yǔ)言中支持豐富的跨語(yǔ)言用戶體驗(yàn)。
當(dāng)呈現(xiàn)一個(gè)假設(shè)的評(píng)論和一個(gè)小的潛在回復(fù)列表時(shí),模型編碼的2D投影。請(qǐng)注意,該網(wǎng)絡(luò)學(xué)會(huì)了將英語(yǔ)回復(fù)與其翻譯對(duì)齊,而無(wú)需訪問(wèn)任何平行語(yǔ)料庫(kù)。
Google的目標(biāo)是幫助創(chuàng)作者,所以Google必須確保SmartReply只在非??赡苡杏玫臅r(shí)候提出建議。理想情況下,只有當(dāng)創(chuàng)作者很有可能回復(fù)評(píng)論,并且模型很有可能提供合理而具體的回復(fù)時(shí),才會(huì)顯示建議。為了達(dá)到這個(gè)目的,Google訓(xùn)練了輔助模型來(lái)識(shí)別哪些評(píng)論應(yīng)該觸發(fā)SmartReply功能。