短視頻那麼多,快手如何利用GRU實現各種炫酷的語音應用

短視頻那麼多,快手如何利用GRU實現各種炫酷的語音應用

來自專欄機器之心15 人贊了文章

機器之心原創,作者:思源。

隨著短視頻的興起,如何使用演算法理解視頻內容,並對其進行描述與檢索就顯得非常重要。最近快手多媒體內容理解部的語音組提出了一種能使用下文信息的門控循環單元,該模型能為快手大量的短視頻提供語音識別、語音特效和語音評論等優秀的應用。快手提出的該論文已經被 Interspeech 2018 接收為 oral 論文,目前它同樣也部署在了快手的各種語音業務中。

本文介紹了快手這一研究成果以及它在實際業務中的應用,同時也介紹了 Interspeech 2018 中比較有意思的主題。本文首先會討論語音在快手業務中的應用,以及為什麼需要高性能門控循環單元以及較低的解碼延遲。隨後文章會重點討論快手如何選擇 GRU、mGRU 以及更加精簡的循環單元 mGRUIP,同時會介紹如何將下文信息嵌入循環單元以處理語音的協同發音問題,這些帶下文信息的高效模塊在處理快手短視頻語音信息中處於核心地位。最後,本文還會介紹快手整個多媒體理解部門所研究的方向與情況。

快手多媒體內容理解部語音組的李傑博士在 Interspeech2018 做 oral 報告

為什麼語音需要新單元

首先語音在快手業務中的應用主要分為兩大類。第一類是語音內容分析,主要目的是對每天快手用戶產生的海量語音數據進行內容分析,為接下來的信息安全、內容理解、廣告與推薦等提供基礎服務。涉及到的技術主要包括:語音識別、關鍵詞識別、說話人識別、聲學事件檢測等。這類業務快手用戶可能不太容易感受的到,但對快手而言是很重要的業務。具體的應用,比如,短視頻語音識別、短視頻音頻標籤、直播語音識別、直播髒詞過濾等。

第二類是語音交互。其目的是提升用戶與快手產品交互時的便利性,此外,可以通過語音設計一些新的玩法,提升趣味性。涉及的技術包括語音識別、關鍵詞喚醒等。比如,快手產品中的魔法表情語音特效觸發、語音自動生成字幕、語音評論、語音搜索等。

在語音識別領域,設計一個「又快又好」的聲學模型一直是從業者不斷追求的目標。「快」指的是模型延遲要小,計算要高效。「好」指的是識別準確率要高。本次快手提出的「具備下文語境的門控循環單元聲學模型」就具有這樣的特點。在語音內容分析和語音交互兩類業務中,語音識別相關部分都可以用此模型。

? 論文:Gated Recurrent Unit Based Acoustic Modeling with Future Context

? 論文地址:arxiv.org/abs/1805.0702

帶下文語境的門控循環單元

正因為快手需要快速與準確地處理語音信息,所以快手的李傑博士等研究者提出了一種能利用下文信息的門控循環單元。這裡需要注意的是,利用下文信息在語音識別和關鍵詞識別等任務中非常重要。正如快手所述,很多時候語音識別不能僅考慮當前話語的信息,我們還需要一定長度的後文信息才能降低口音和連讀等協同發音的影響。

為了利用下文信息,我們首先想到的可能就是 BiLSTM,它廣泛應用於機器翻譯和其它需要下文信息的序列任務中。但是在語音識別中,雙向 LSTM 的延遲非常大,它也做不到實時解碼。例如在使用 BiLSTM 實現語音建模的過程中,模型的延遲是整句話,也就是說在識別第 5 個詞時,我們需要等整句話結束並將信息由句末傳遞到第 5 個詞,這樣結合前向信息與反向信息才能完成第 5 個詞的識別。這種延遲是非常大的,通常也是不可忍受的,沒有人希望模型在整句話都說完才開始計算。

整個延遲的控制在語音識別中都處於核心地位,因此正式來說,模型延遲指在解碼當前幀時,模型需要等待多久才能對當前幀進行預測。而模型等的時間就應該是識別當前幀所需要的未來信息,這個延遲是一定存在的,只要在可接受的範圍內就完全沒問題。快手多媒體內容理解部語音組李傑博士表示一般最簡單的方法就是在輸入特徵的時候,除了輸入當前特徵以外,還要把未來的比如說一百毫秒以內的特徵都輸入進去。因此在真正使用,並解碼的當前時刻 T 的時候,我們必須要等待一百毫秒。

其實有很多方法都能在聲學建模中利用下文信息,例如時延神經網路(TDNN)和控制延遲的 LC-BiLSTM 網路等。其中 TDNN 是一種前饋神經網路架構,它可以在上下文執行時間卷積而高效地建模長期依賴性關係。而 LC-BiLSTM 嘗試控制解碼延遲,希望不再需要等整個句子完成再解碼,但這些模型的延遲仍然非常高,達不到實際的需求。

為了降低延遲並提高計算效率,快手的研究者在該論文中以 GRU 為基礎進行了修正並添加了上下文模塊。總的而言,他們採用了只包含更新門的最小門控循環單元(mGRU),並進一步添加線性輸入映射層以作為「瓶頸層」,從而提出大大提升運算效率的門控循環單元 mGRUIP。使用 mGRUIP 再加上能建模下文信息的模塊,就能得到高性能與低模型延遲的聲學建模方法。

李傑博士表示一般來說,「建模下文信息」總會帶來一定的延遲,「建模下文信息」與「低延遲」經常會相互矛盾。這篇論文提出的模型是在兩者之間找到了一個比較好的平衡點。模型中的 input projection 形成了一個 bottleneck,而快手在這個 bottleneck 上設計了下文語境建模模塊,從而實現了在低延遲的條件下,對下文語境進行有效建模。

從 GRU 到 mGRUIP

為了構建計算效率更高的單元,快手從 GRU、mGRU 到 mGRUIP 探索了新型門控單元。GRU 背後的原理與 LSTM 非常相似,即用門控機制控制輸入、記憶等信息而在當前時間步做出預測。GRU 只有兩個門,即一個重置門(reset gate)和一個更新門(update gate)。這兩個門控機制的特殊之處在於,它們能夠保存長期序列中的信息,且不會隨時間而清除或因為與預測不相關而移除。

從直觀上來說,重置門決定了如何將新的輸入信息與前面的記憶相結合,更新門定義了前面記憶保存到當前時間步的量。在 Kyunghyun Cho 等人第一次提出 GRU 的論文中,他們用下圖展示了門控循環單元的結構:

上圖的更新 z 將選擇隱藏狀態 h 是否更新為新的 h tilde,重置門 r 將決定前面的隱藏狀態是否需要遺忘。以下圖左的方程式展示了 GRU 的具體運算過程:

其中 z_t 表示第 t 個時間步的更新門,它會根據當前時間步的信息 X_t 與前一時間步的記憶 h_t-1 計算到底需要保留多少以前的記憶。而 r_t 表示重置門,它同樣會通過 Sigmoid 函數判斷當前信息與多少以前的記憶能形成新的記憶。而上圖右側所展示的 mGRU 進一步減少了門控的數量,它移除了重置門,並將雙曲正切函數換為 ReLU 激活函數。此外,mGRU 相當於令 GRU 中的重置門恆等於 1。

通過上圖的左右對比,很明顯我們會發現 mGRU 的計算要簡單地多,但是如果網路的每一層神經元都非常多,那麼 mGRU 的計算量還是非常大,且隨著神經元數量的增加計算成線性增長。這就限制了 mGRU 在大型網路和大規模場景中的應用。因此李傑等研究者進一步提出了帶輸入映射的 mGRUIP,它相當於給輸入增加了一個瓶頸層,先將高維特徵壓縮為低維,然後在低維特徵上發生實際的運算,再恢復到應有的高維特徵。

上圖展示了 mGRU 到 mGRUIP 的演變,其中 mGRUIP 會先將當前輸入 x_t 與前一時間步的記憶(或輸出,h_t-1)拼接在一起,然後再通過矩陣 W_v 將拼接的高維特徵壓縮為低維向量 v_t,這裡就相當於瓶頸層。然後通過批歸一化 BN 和激活函數 ReLU 計算出當前需要記憶的信息 h_t tilde,再結合以前需要保留的記憶就能給出當前最終的輸出。

mGRUIP 顯著地減少了 mGRU 的參數量,它們之間的參數量之比即 InputProj 層的單元數比上隱藏層的單元數。例如我們可以將 InputProj 層的單元數(或 v_t 向量的維度)設置為 256,而神經網路隱藏層的單元數設置為 2048,那麼同樣一層循環單元,mGRUIP 比 mGRU 的參數量少了 8 倍。

很多讀者可能會疑惑既然等大小的兩層網路參數量相差這麼多,那麼它們之間的表徵能力是不是也有差別,mGRUIP 是不是在性能上會有損失。李傑表示他們經過實驗發現,這種降維不僅不會降低 GRU 模型的表達能力,反而可以提升模型的性能。不僅本文的 GRU 如此,其他人所做的關於 LSTM 的工作也有類似的發現。在 LSTM 中增加線性輸出層,或者輸入層,大部分情況下,不僅沒有性能損失,反而有一定的收益。可能的原因在於,語音連續幀之間具有較多的冗餘信息,這種線性層可以進行一定程度的壓縮,降低冗餘。

mGRUIP 與上下文模塊

完成高效的門控循環單元後,接下來我們需要基於這種單元構建利用下文信息的方法。在快手的論文中,他們提出了兩種上下文模塊,即時間編碼與時間卷積。

在時間編碼中,未來幀的語境信息會編碼為定長的表徵並添加到輸入映射層中。如下向量 v 的表達式為添加了時間編碼的輸入映射層,其中藍色虛線框表示為時間編碼,且 l 表示層級、K 表示利用未來語境的數量、s 為未來每一個語境移動到下一個語境的步幅。在向量 v 的表達式中,左側 W_v[x_t; h_t-1] 為 mGRUIP 計算輸入映射層的表達式,而右側時間編碼則表示將前一層涉及下文信息的 InputProj 加和在一起,並與當前層的 InputProj 相加而作為最終的瓶頸層輸出。這樣就相當於在當前時間步上利用了未來幾個時間步的信息,有利於更準確地識別協同發音。

上圖展示了帶有時間編碼的 mGRUIP 計算過程,在 l 層時先利用當前輸入與上一層輸出計算出不帶下文信息的 InputProj,然後從 l-1 層取當前時間步往後的幾個時間框,並將它們的 InputProj 向量加和在一起。將該加和向量與當前層的 InputProj 向量相加就能得出帶有下文信息的瓶頸層向量,它可以進一步完成 mGRUIP 其它的運算。如上所示轉換函數 f(x) 一般可以是數乘、矩陣乘法或者是恆等函數,但快手在實驗中發現恆等函數在性能上要更好一些,所以它們選擇了 f(x)=x。

李傑等研究者還採用了第二種方法為 mGRUIP 引入下文信息,即時間卷積。前面時間編碼會使用低層級的輸入映射向量表徵下文信息,而時間卷積會從低層級的輸出狀態向量中抽取下文信息,並通過輸入映射壓縮下文信息的維度。如下 v 向量的計算式為整個模塊的計算過程,其中左側同樣為 mGRUIP 計算 InputProj 的標準方法,右側藍色虛線框表示時間卷積。

簡單而言,時間卷積即將所需要的前層輸出拼接在一起,並通過 W_p 構建表徵下文信息的輸入映射層。其中所需要的前層輸出表示模型需要等多少幀語音信息,例如需要等 10 幀,那麼前一層當前往後 10 個時間步的輸出會拼接在一起。此外,這兩種方式的延遲都是逐層疊加的,也就是說每一層需要等 10 毫秒,那麼 5 層就需要等 50 毫秒。

如上所示為帶時間卷積的 mGRUIP 具體過程,它會利用 l-1 層的 t_1 和 t_2 等時間步輸出的隱藏單元狀態,並在第 l 層拼接在一起。然後將下文信息壓縮為 Projection 向量並與 l 層當前時間步的 InputProj 相加而成為帶下文信息的瓶頸層向量。

至此,整個模型就完成了構建,快手在兩個語音識別任務上測試了該模型,即 309 小時的 Swichboard 電話語音任務和 1400 小時的國內普通話語音輸入任務。mGRUIP 在參數量上顯著地小於 LSTM 與 mGRU,且在詞錯率和性能上比它們更優秀。此外,帶有上下文模塊的 mGRUIP 在延遲控制和模型性能上都有非常優秀的表現,感興趣的讀者可查看原論文。

Interspeech 2018 與快手研究

這篇論文也被語音頂會 Interspeech 2018 接收為 Oral 論文,李傑同樣在大會上對這種能使用下文信息的門控循環單元給出了詳細的介紹。前面我們已經了解了該模型的主要思想與過程,但是在 Interspeech 2018 還有非常多優秀的研究與趨勢。李傑表示:「從今年的大會看,主流的聲學模型依然是基於 RNN 結構,只不過大家所做的工作、所解的問題會更加細緻。比如,對於 RNN 模型低延遲條件下,下文語境建模問題,除了我們在關注,Yoshua Bengio 他們也有一篇工作聚焦在該問題上。此外,如何提升 RNN 聲學模型的雜訊魯棒性、低資源多語言聲學模型建模、說話人和領域聲學模型自適應、新的 RNN 結構等問題,也受到了很多關注。」

除此之外,李傑表示端到端模型依然是大家研究的熱點。主要的技術方向有三個,第一,CTC;第二,基於 RNN 的帶注意力機制的編解碼模型;第三,也是今年 Interspeech 新出現的,基於 self-attention 的無 RNN 結構的編解碼模型。

其實除了 Interspeech 接收的這篇 Oral 論文,快手還有很多不同方向的研究,包括計算機視覺、自然語言處理和情感計算等等。因為快手平台每天都有大量的短視頻上傳,因此如何分層有序地提取視頻信息、理解視頻內容就顯得尤為重要。針對該問題,快手多媒體內容理解部門通過感知和推理兩個階段來解讀一個視頻,首先感知獲取視頻的客觀內容信息,進而推理獲取視頻的高層語義信息。

在感知階段,除了上文所述的語音處理,快手還會從另外三個維度來分析理解視頻內容,包括人臉、圖像和音樂。

  • 對於語音信息,快手不僅進行語音識別,還需要實現說話人識別、情緒年齡等語音屬性信息分析。
  • 對於人臉信息,快手會對視頻中的人臉進行檢測、跟蹤、識別,並分析其年齡、性別、3D 形狀和表情等信息。
  • 對於圖像信息,快手會通過分類、物體檢測等演算法分析場景、物體,通過圖像質量分析演算法對圖像的主觀質量進行評估,通過 OCR 分析圖像中包含的文字信息等。
  • 對於音樂信息,快手需要進行音樂識別、歌聲/伴奏分離、歌聲美化打分等分析,對音樂信息進行結構化。

從以上四個方面,快手能抽取足夠的視頻語義信息,並為推理階段提供信息基礎。推理階段可以將視頻看做一個整體,進行分類、描述、檢索。此外,高級視頻信息也可以整理並存儲到快手知識圖譜中,這樣融合感知內容和知識圖譜,就可以完成對視頻高層語義及情感的識別。因此,感知與推理,基本上也就是快手多媒體理解部門最為關注的兩大方面。


推薦閱讀:

學會這幾款快手甜點,陪你度過清涼一夏
你們大家覺得快手怎麼樣?
快手飯之電飯煲燜飯:電飯煲在手,天下我有!
視頻丨快手早餐「凱撒大帝」,你也可以那麼棒!
10分鐘搞定下飯肉菜!在ta面前所有的快手菜都爆弱了!

TAG:短視頻 | 快手 | 人工智慧 |