<table id="ej5zp"></table>

  • 展會信息港展會大全

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用
    來源:互聯網   發布日期:2022-02-17 11:15:24   瀏覽:16547次  

    導讀:基于深度學習的神經網絡機器翻譯已經在通用翻譯、領域翻譯、翻譯評估和自動譯后編輯等多個場景,產生了巨大的商業價值,但是仍然存在著兩個典型問題。一方面,過譯漏譯等質量問題仍然存在;另一方面,端到端的神經網絡黑盒架構使專家介入優化比較困難,傳統...

    基于深度學習的神經網絡機器翻譯已經在通用翻譯、領域翻譯、翻譯評估和自動譯后編輯等多個場景,產生了巨大的商業價值,但是仍然存在著兩個典型問題。一方面,過譯漏譯等質量問題仍然存在;另一方面,端到端的神經網絡黑盒架構使專家介入優化比較困難,傳統離散知識不能很好融入模型算法。

    在 2021 年 11 月 25 日和 26 日,AICon 全球人工智能與機器學習大會(北京)上,我們邀請到了華為文本機器翻譯實驗室主任楊浩,他將從離散知識和神經網絡模型的融合角度為你帶來《知識驅動的機器翻譯研究和實踐》,希望可以為你帶來啟發。

    神經網絡機器翻譯(NMT)的進展與挑戰

    我們先來了解一下機器翻譯系統的建模,它可以分為三個部分。

    首先是翻譯模型(Translation Model),解決從一個語言到另外一個語言的語言對齊問題,原語言到底是什么詞,應該翻譯成什么?

    其次是語言模型(Language Model),目標語言盡可能地比較流暢。所謂的語言模型指的是,這個詞后面接著的下一個詞什么,或者幾個詞后面跟著的下一個詞是什么?

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    最后是 Compute argmax,這個模型是一個乘積的關系,尋找模型參數使它的乘積最大化,也就是我們通常說的訓練,以上就是機器翻譯的整個建模過程。

    NMT(神經網絡機器翻譯)與統計機器翻譯最大的區別,與機器學習和深度學習的區別是一樣的。

    機器學習與深度學習的區別,機器學習業務最典型基本上可以分為兩層,一層是 Feature Extraction(特征抽。,另一層是 Downstream Task(下游任務),例如常見的 Classification。

    而到了深度學習,沒有顯式的 Feature Extraction 和 Downstream Classification,而它是一種智能學習方式,我們將輸入送進去,直接得到輸出訓練的過程,所以真正的 NMT 的優勢可能就在于 End to End 的建模。

    在文本生成的領域里面,最有名的模型是 Encode-Decoder Model,我們也稱之為 Seq2Seq Model。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    Seq2Seq 包含 Encoder,Decoder 兩個 RNN Model。Encoder Model 是一個時序化建模的 RNN 網絡。對數學公式: $ H1 $ 和數學公式: $ X1 $ 建模得到數學公式: $ H2 $,然后數學公式: $ H2 $ 跟數學公式: $ X2 $ 得到數學公式: $ H3 $,這樣持續下去得到 Encoded vector,然后再基于編碼的向量,經過 RNN 的 Decoder 解碼出第一個詞語,再把隱狀態發送過來,然后經過第二個 RNN 解出數學公式: $ Y2 $,這就實現了整個翻譯的過程。

    我們拿上圖右側的例子來說明,例如“我對你感到滿意”經過編碼器,得到 Encoded vector ,它是一個多個維度的向量,再經過解碼器得到翻譯目標I am satisfied with you。

    舉一個 Encoded 的動態例子,比如“how to configure s5700 arp?”

    如果進行這個句子的機器翻譯,整個過程是這樣的,首先對每個詞語分別進行編碼,然后對問號做編碼,最后當碰到 EOS(end of sentence)代表這個句子已經說完,那么這種時候可以的帶 Encoded vector,將它送進一個 BOS(begin of sentence)。

    Begin of sentence 基于上文的向量對所有詞取最大的概率,那么就可以得到“如何”字段,然后將“如何”送過來解碼,繼而得到“配置”,接著得到“下一次”,這句話就解碼完了,最后得出“如何配置 s5700 arp”,那么就得到了 Target Sentence。

    我們剛才演示的過程稱為 Greedy Decoding,也就是貪婪解碼。所謂貪婪解碼是每次只取概率為 Top1 的結果,那么假如不取 Top1 的結果,我可以取 Top k,然后每次保留 k 個分支,那么其實上類似于一個路徑搜索。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    上圖 從的解碼就是這樣的一個過程,最終解碼得到,這個時候解碼結束,每一步就可以保持它的 Top K 的結果,這就是 Beam Search 技術。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    而對于 Seq2Seq 模型效果是這樣的,神經網絡模型優于統計機器翻譯的模型。SMT 是統計記憶翻譯的模型,NMT 是神經網絡機器翻譯,神經網絡第一次以 34.81vs33.3 的成績超過了統計機器翻譯的模型。

    而且神經網絡的模型可以對統計機器翻譯結果進行 Reranking(重排),取得 Beam Search Top50 的結果進行重排,它這個機制可以達到 36.6 的最高分。

    但 Seq2seq 模型有一個問題,那就是 Encoder 永遠編碼成維度確定的句向量,當我們句子長短維度確定之后,這個向量無法表示足夠多的句子信息。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    這個時候就需要引入業界很有名的 Attention 的機制。

    當 Decoder 已經解碼出了“如何”,得到了 Hidden state,Decoder 的“如何”會與 Source Token 進行 Attention 計算,我們可以將之理解為進行一個相似度的計算。當與所有 Source Tokens 做完 Attention 的計算后,再進行 Softmax,也就是將它的隱狀態(hidden state)進行信息加權,最后得到一個向量。

    這樣,編碼向量會和每個詞相關的狀態,這一個向量的狀態是變化的,它能夠很好地表現哪個詞語已經翻譯了,哪個詞還沒有翻譯,以及接下來翻譯哪個詞語,這也就是 Align 與 Translate 的結合。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    接下來,所有的 Encoder States 和 Decoder States 進行 Attention Scores ,然后進行加權平均(Softmax),最后加權平均的結果與每一個 Source 進行線性組合,就可以拿到最終結果。

    中間是個典型的例子The Animal didn't cross the street because it is too tired。假如說出現了 it is too tired 的話, it 的 attention weight 更多時候會 Attention 到 Animal 上面,那么相當于 it 代替的是狗或者動物;

    而假如說出現 it is too wide,在經過 Attention 計算,更多對應到的是 cross the street 或者 cross the river。

    從最右邊的 Performance 也可以看得出來。RNNSearch 比 RNNEncode 好很多,句子長度 30 和 50,RNNsearch 分別提升了 7.2 和 7.4,最好效果可以達到 36.15。

    這里 30 指的對含有 30 個詞的句子進行訓練,可以看到一般模型,句子越長效果越差,而 RNNSearch50 的情況下,可以看到效果基本上不變。(RNNencode 也就是之前的 Seq2Seq model,而 Attention model 在學術上稱為 RNNsearch。)

    并且驚喜的是,當句子超過 50 個詞之后,RNNsearch50 翻譯質量也不下降。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    Attention is all you need 是那篇最經典的論文。

    最初的 Seq2Seq without attention 有 CNN 和 RNN 進行 decoder,decoder 和 encoder 之間的關系是用靜態的向量來表示的。而第二個模型 Seq2Seq with attention,則是由 CNN 和 RNN 做 decoder,中間是 attention 關聯的。到了 Transformer 方面的話,所有都換成了 Attention 的模式。

    就效果來看,統計機器翻譯是 33.3,而在 Seq2Seq 的時候是 34.81,然后到 RNNSearch(RNNAttn)架構是 36.15,到 Transformer 架構到 41.8 了,提升非常明顯。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    Transformers 架構典型的三個特點有 No RNN、純 Attention 以及 Position Embedding。

    上圖右邊是典型的 Transformers 的架構,我們可以看到中間是 Self attention encoder,在此后面有 Feed Forward Network。接著是 Decoder self attention,然后 decode 和 encode 之間的 Attention,然后以及 Decoder Feed Forward。

    這套架構 Transformers 的效果很好,BLEU 可以達到 41.8,并且 Transformer 訓練時長縮短不少,這一點對工業用途很友好。

    神經網絡機器翻譯經過了三輪迭代已經足夠好了,但是它還存在命名實體、Topic、Document 以及 Consistency 等等問題,解決的方案是將我們的模型在大數據上進行訓練,形成一個 Big Data+Small knowledge 的 Big knowledge 概念。

    而后面的話,隨著神經網絡機器翻譯的發展,你可以認為有一批數據在大數據上訓練的模型,而我們接下來有一個理想,就是 Big Data,Big Data 加上 Smart 能夠真正形成 Big Knowledge 的概念。

    NMT 知識體系

    NMT 知識體系可以分為四部分,全局知識、領域知識、模型知識以及多模態知識。全局知識的最典型的模式是顯式知識,最常用的是知識圖譜。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    上圖是一個藥品的知識圖譜,有一個詞語是乙酰水楊酸,它的同義詞是阿司匹林,假如在沒有知識驅動的情況下,就會被翻譯成其他的。而當將實體 + 類型的三元組知識融合的情況下,就可以將乙酰水楊酸標準地翻譯成阿司匹林,這個知識是一個顯性的知識。

    全局知識融合的另一種方式是隱示知識,目前典型方式是用預訓練模型做初始化。阿里巴巴曾經有一個研究,使用 BERT 做 Encode 端的編碼和初始化,還是用 GPT 做 Decode 端編碼和初始化,訓練拿到的結果是最好的。

    不管是 BERT 還是 GPT 都融入了大量的知識,和我們前面的顯式知識不一樣,它是一種典型隱示的知識,因為它見過海量的句子,但是當前應用的是哪一個或者哪幾個句子知識我們是不知道的。

    了解全局知識之后,我們來聊一下領域知識,領域知識也分為顯式和隱式知識。

    領域知識顯示的情況下,可以是 Token 和 NER Pair,也可以去解決 Decoding Constraint 或者 Grid Beam Search。

    Great beam search 較為簡單,比如當拿到一句漏掉“快”詞語的句子,那么機器翻譯模型將會重新調整這句話,然后把“Quick”增加到合適的地方,并且效果提升還是比較明顯。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    除詞語級別之外,我們還可以做句子級別的知識融入。我們有個先驗知識,原句相近,目標句也相近。在原句的后面拼接相似句,可以加強目標句解碼正確的概率。

    比如上圖中,“胃息肉是個常見的癌癥”,把這句話的翻譯文字增加在下方,并且給予“胃息肉”一個顯示的標簽,然后與“胃息肉”相關的內容就翻譯得很準確。

    第三個是模型知識,模型知識也可以分為兩種,整體知識和分層知識。最典型的整體知識是知識蒸餾,在 Seq2Seq 的模型里,知識蒸餾相當于利用模型生成各種偽數據,這樣可以使得機器能夠學得更好。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    而分層知識則如上圖,在訓深練度學習模型的時候,Drop Out 是開啟的狀態,同一個句子會得到不完全一致的表示,模型越穩定的時候,不同的 Drop Out 拿到的兩個句子向量(經過同一個 Encoder 得到的向量)是一樣的,它才能保證解碼的穩定性。所以在兩個向量之間增加 KL 散度,就可以保證每次出來向量盡量一樣。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    最后是多模態的知識,“Rabbit is ready for cook”是要表達“兔子要吃飯了?”還是“我們要吃兔肉?”這個最典型的情況。

    如何解決這個問題呢?

    我們在 Encoder 這一層,將圖像分割和圖像的識別的特征與文本特征拼接起來,保持 Encoder 和 Decoder 模型不變,就可以解碼這樣的問題。

    NMT 知識建模過程

    知識分類的建模過程如下:

    第一,當我們已經有了內部的知識,不需要進行知識抽取的情況下, Input 經過生成模型可以得到 Output,然后直接調用內部的知識進行 Embedding。

    第二,當我們需要外部知識的情況下,不管是公用領域的知識,或者一些領域外的知識,大家首先需要進行知識抽取,然后再進行知識注入和融合,再生成模型,進而得到有知識指導的輸出。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    而在訓練的時候,知識驅動的模型會有 Knowledge Loss。當機器翻譯的時候,除了保證生成的句子與目標越來越像,還需要保證不能出現 Critical Error。雖然它在整個評估指標的情況下,這類詞在文本里面的比例很低,所以只能加上 Knowledge Loss 的效果才會比較好。

    整體流程如下:

    input>Knowledge Acquisition>Knowledge Fusion>output>Knowledge Sources。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    接下來講一下約束生成,包含 Sentence/Topic Mining、Token/Ner Mining、MTL/KG Mining,Sentence 對應的領域、Token 事件詞,以及 Multi-task 那些圖片來做事情。

    那么這樣的時候就可以把 Domain 給建立起來。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    當我們在解碼的時候,實際上分為兩種解碼,分別是 Hard constraint 和 Soft constraint。Hard constraint 要求提供的約束必須出現,但是它會出現時態或語態的問題。

    上圖 Source 的句子中有一個詞“Luptat”,它同時有爭斗和腳踝的意思,但是 Unconstraint 翻譯的,它會翻譯成 struggle。

    進行 Hard Constraint 的時候,不太好確定語態的問題,最后會翻譯成 ankle,拿到了接近最優解的結果。Hard constraint 無需訓練模型,直接在解碼當中就行。

    而當進行 Soft Constraint 時候,我們需要得到正常的 Token Pair Score、Sentence Paired score 的時候,同時驗證其對齊關系和時態等語義信息平衡的最優解,換句話說,滿足約束的加權得分最高,也就是 Knowledge loss 最校

    NMT 知識實踐

    接下來我們一起進行一個知識驅動翻譯實踐。我們做了一個 WMT (國際機器翻譯)Biomedical/Tavel 的翻譯任務,它包含 Strong Domain Knowledge,和很多種語言的翻譯任務。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    這個任務有以下幾點問題:

    首先是專業領域,比如“prefers white”一般可以翻譯成“喜歡白色”,但是對于體育領域或者下棋來說,應該翻譯成“擲白棋”。

    其次是一些 NER、漏譯、過譯以及風格問題。這里著重說一下風格問題,比如上圖最下面翻譯出來的 “20 世紀 20 年代和 30 年代”以及“1920 年代和 1930 年代”的區別還是很大的。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    機器翻譯的提升可以分成三個階段:

    第一階段是 Vanilla Transformer NMT,這一階段相當于用 In Domain 的數據來訓練 Transform model。上圖的訓練數據有英德和英中等等,我們將數據進行預處理之后,然后進行 Proprocess Pair,接著訓練 Model,然后配置訓練參數之后,就可以得到上圖右側的效果,英中和中英分別得到 39 和 27,而在英德和德英的話分別拿到 31 和 37,這就相當于拿到了 Baseline Performance。

    第二個階段,隨著大模型出來 Pre-training + Fine-tuning 是典型的業界范式。

    Pre-training 利用具有很多數據的 Out-Domain,經過較大外部數據的機器翻譯模型訓練出一個大的模型,然后用小的數據來進行微調訓練。

    為了優化效果,還可以抽取同樣接近大小的外部數據做領域的 discrimination,這一過程相當于區分領域外以及領域內的不同結果,換句話說,當提供一個句子組的時候,翻譯成領域外什么樣子,翻譯成領域內是什么樣子。

    我們可以看到領域外的數據,例如拿英德和英中的 9600 萬和 1500 萬的數據,還有英德中大約一個億的單語數據。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    以英中為例,通過 Out-Domain 數據訓練,我們得到 40 bleu,這已經比第一個模型(In Domain)要好。

    然后,進行 In Domain Fine-tuning 以及 In-Out- Domain discrimination 的話,我們最終可以拿到 46.9 以及 35.5 的 performance。這已經是最好的表現了,接近 WMT 的冠軍水平。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    最后我們發現,還是存在一些實體詞語翻譯得不正確的問題,我們做了 Fuzzy Entity Enhance NMT。它指的是,訓練識別 Entity 和 Entity 對齊,效果也有明顯的提升。

    華為楊浩:小知識驅動大數據,構建知識可認知的 AI 應用

    我們對比的基線是 ACL2020 的一篇論文,這篇論文它借鑒相似句提升。比如“how long does a cold last”和“how long does the flight last”,經過對齊之后,Combien 德語后面一長串前面的幾個字是一樣的,在詞級別打上標簽,告訴模型哪幾個詞語是對的,哪幾個詞是錯的,這個的效果取得了不少的提升。

    但是前面的模型有兩個問題,它所有的詞的權重都是一樣的,對齊的標簽有噪聲。

    而我們針對性做了兩個優化,首先是對實體詞對實體詞做加權;其次,我把目標句的標簽全部修改到了原句上面,原句沒有噪聲問題,這相當于噪聲降低了。這個模型相較前面的幾個模型有百分之一點幾的提升,并且在有實體詞的情況下提升很明顯,將近有 2% 左右,不過在沒有實體詞情況下,我們略有下降。

    神經網絡機器翻譯未來展望

    對于神經網絡和機器翻譯的暢想,首先是大模型或者自遷移的方向;其次是更準確多任務的 AI 服務;最后是知識性和可解釋 AI 服務。

    嘉賓介紹:

    楊浩,華為文本機器翻譯實驗室主任,北京郵電大學通信與信息系統博士,師承兩院院士陳俊亮老師,在搜索推薦和機器翻譯等人工智能相關領域有十年以上研發經驗。有 10+ICLR/ICASSP 等頂會論文和國內外專利,帶領團隊獲得 WMT/WAT NEWS/DOMAIN/QE/APE 冠軍。希望致力于機器翻譯等技術方向,共建高質量全棧的人工智能服務和平臺。

    活動推薦

    在 4 月 24-25 日,ArchSummit 全球架構師峰會即將落地上海,數字化轉型是大趨勢,不管是金融轉型,還是汽車產業數字化轉型,制造業數字化轉型,一定會涉及到企業的產品形態,這里面包括市場定位和可行性的諸多因素,還有 ROI 評估模型。

    贊助本站

    人工智能實驗室
    AiLab云推薦
    展開
    Copyright © 2010-2022 AiLab Team. 人工智能實驗室 版權所有    關于我們 | 聯系我們 | 廣告服務 | 公司動態 | 免責聲明 | 隱私條款 | 工作機會 | 展會港
    18禁无遮拦无码国产在线播放

    <table id="ej5zp"></table>