Soul智慧語音科技實務之路
作者| 劉忠明亮
整理| 盧鑫旺
審查| 雲昭
近年來,智慧語音語言技術蓬勃發展,逐漸改變人們生產生活的方式,在社交領域更是對智慧語音技術提出了更高的要求。
日前,在51CTO主辦的AISummit全球人工智慧技術大會上,Soul語音演算法負責人劉忠亮,帶來了主題演講《Soul智慧語音技術實踐之路》,立足於Soul的一些商業場景,分享了Soul在智慧語音技術的一些實務經驗。
現在將演講內容整理如下,希望對大家有所啟發。
Soul的語音應用場景
Soul是一個基於興趣圖譜推薦的具有沉浸感的社交場景,在這個場景下,語音交流非常多,所以在過去一段時間累積了許多的數據。目前大概一天有上百萬小時的量級,如果去除掉語音通話當中的一些靜音、噪音等等,只統計這些有意義的音訊片段的話,大概有六、七億個音訊片段。 Soul的語音業務入口主要是以下幾個:
語音派對
群組可以建立房間,許多使用者在裡面進行語音聊天。
影片派對
拿到這些特徵之後,我們會送到一個聲學打分的模組,這個聲學模型我們在開始的時候是用的Transformer CDC,目前已經迭代到了Conformer CDC。經過這個聲學評分之後,我們會把一系列的序列的分數送給解碼器,解碼器負責解碼出文字來,它會基於識別結果再進行二次打分。在這個過程中,我們用到的模型基本上還是一些像是傳統的EngelM模型,還有一些目前比較主流的Transformer深度學習的模型進行重打分數。最後,我們還會做一個後處理,例如經過一些標點的檢測、文本正則化、語句順滑等這些處理,最終得到一個有意義的比較準確的識別文字結果,比如“2022年全球人工智能大會” 。
在端對端語音辨識系統裡面,其實我們講的端到端主要是在聲學打分這部分我們是使用了端到端技術,其他的主要還是一些傳統的和一些經典的深度學習方式。
在建構上面這個系統過程中,我們其實是遇到了很多問題,這裡主要是列舉三個:
- 有監督聲學資料太少 這也是大家平常都會遇到的事情。主要原因就是,一是音頻你必須要的聽完才能做標註。第二,它的標註成本也是非常高的。所以這部分數據少是一個大家都共通性的問題。
- 模型辨識效果不佳 這個有很多原因。第一個是例如在中英混讀或是多領域的時候,用通用模型去辨識它會存在比較差的現象。
- 模型速度慢
#針對這幾個問題,我們主要是透過以下三個方式去解決的。
資料預處理
Soul的場景多且比較複雜。例如群聊派對,它會出現多個人交疊的狀況或是AB一直在對話。例如在線上KTV,它會出現一些邊唱歌邊說話的狀況。但是我們在標註數據的時候,因為它比較昂貴,所以我們會選取這些場景下面比較乾淨的數據進行標註,例如可能會標註一萬小時乾淨數據。但是乾淨的資料跟真實場景的資料的複雜性是不一樣的,所以我們會根據這些乾淨資料做一些資料預處理。例如一些經典的加噪、加殘響、調速,比較把速度調快一些或是調慢一些,調能量,把能量調大調小一些,經過這些比較經典的一些數據預處理方式。
除了這些方式,我們會針對我們業務場景下出現的一些問題,我們會做一些針對性的資料預處理或資料增廣。例如剛才提到群聊派對很容易出現多說話人交疊的情形,所以我們會做一個多說話人拼接音頻,也就是說把ABC三個說話人的音頻片段我們會做一個cut,一起去做數據增廣。
因為在音視訊通話裡面有一些會在整個音訊前端做一些基本的3D演算法的預處理,例如自動迴聲消除、智慧降噪等等,所以說我們也會為了適配線上的使用場景也會做一些3D演算法的預處理。
經過這些方式的資料預處理之後,我們可以得到多樣性的這些數據,例如這些有雜訊的、有一些混響的、多人甚至多風格的這種數據都會增廣出來。例如我們會把一萬小時增廣成大概五萬小時甚至比如八九萬小時這麼一個量級,這樣的話,數據的覆蓋度、廣度就會非常高。
模型微創新
我們所使用的模型的主要架構還是Conformer結構。在這個Conformer結構左邊就是經典的Encoder CDC框架。右邊是一個Attention Decoder。但大家注意到,我們在右邊這個Loss裡邊,原來的Conformer結構是一個CE Loss,而我們這邊把它換成了Focal Loss。主要是我們是使用Focal Loss去解決稀疏單元、稀疏資料訓練不收斂的問題,或是訓練差的問題,它是可以解決的。
例如在中英混讀裡面,有些英文單字我們在訓練資料裡面是很少的,這種情況下這個單元是學不好的。透過Focal Loss我們可以把它的Loss權重調高一些,可以緩解一部分數量問題或訓練不好的問題,能夠解決一部分bad case。
第二個點,我們在訓練策略上會不一樣,例如我們在訓練策略也會採用一些混合訓練的方式,例如在前期訓練的時候,我們訓練Decode這部分輸入的時候,我們還是採用精標的Label序列資料作為輸入。但隨著訓練模型收斂,後期的時候我們會按照一定機率去採樣一部分預測出來的Label作為Decoder的輸入,來做一些Trick,這個trick主要解決什麼?就是訓練模型跟線上推理模型的輸入特徵不一致的現象,透過這種方式我們是可以解決一部分的。
但還有一個問題就是,其實在這個Conformer模型原來或像是Vnet或ESPnet他們提供的模型裡面,預設是一個絕對位置資訊。但是絕對位置資訊它不能解決序列過長的時候的識別問題,所以我們會把絕對位置資訊改成相對位置編碼來解決這個問題。透過這種方式,可以解決辨識過程中出現的比如說有些字重複或是偶發的丟字或是丟詞的現象,這個問題也是可以解決的。
推理加速度
第一個是聲學模型,我們會把自迴歸的模型改成這個基於Encoder CDC WFST解碼的方式,先解出一部分辨識結果,例如NBest、10best或20best。基於20best,我們會送到Decorde Rescore去做一個二遍重打分,這樣的話可以避免時序依賴的關係,便於GPT並行的進行計算或推理。
除了經典的這種加速的方式,我們還做了混合量化的方式,就是我們在深度學習前向推理的過程中,我們一部分使用8Bit進行計算,但是在核心的一部分,例如金融函數這部分我們依然使用16bit,主要是在速度和精確度方向上我們會做一個適當的平衡。
經過這些最佳化之後,整個推理速度是比較快的。但在我們的實際上線過程中,我們也發現了一些小問題,我覺得也算是一個Trick。
在語言模型層面上,在語言模型層面上,例如我們場景閒聊的文本比較多,但是也有唱歌的,我們要同一個模型既要解決說話,又要解決歌聲。在語言模型上面,例如閒聊文本,它通常比較碎、比較短,所以我們經過實驗之後,我們發現三元的是比較好的,五元反而沒有帶來提升。
但是例如歌聲的話,它的文字比較長,且它的句式、文法相對比較固定,所以在實驗過程中,五元是比三元好的。出現這種情況,我們使用的是混合文法來對閒聊文本和歌聲文本共同進行語言模型的建模。使用了「三元五元」混合的模式,但這個「三元五元」混合並不是我們傳統意義上說的差值,我們並沒有做差值,而是把閒聊的三元的文法跟四元的歌聲和五元的文法拿過來直接做一個合併。這麼得到的arpa目前是更小的,在解碼的過程中也比較快,更重要一點就是顯存佔用比較小。因為在GPU上解碼的話,顯存大小是固定的。所以說我們是需要控制一定的語言模型大小的情況下,來盡可能透過語言模型提升辨識的效果。
經過聲學模型和語言模型的一些最佳化和Trick之後,目前我們的推理速度也是非常快的。實時率基本上能到0.1、0.2的水準。
虛擬模擬
主要是透過將聲音、口形、表情、姿態等這些內容進行生成,來幫助使用者更無壓力或更自然、更自由地去表達,這背後需要的核心技術之一就是多模態語音合成。
多模態語音合成
下圖是目前正在使用的語音合成系統的基本框架。首先我們會取得使用者的輸入文字,例如“2022全球人工智慧大會”,然後我們會送到文本分析這個模組,這個模組主要是對文本進行一些各方面的分析,例如進行文本的正則化,還有一些分詞,最重要一點是自轉移,把文字轉成音素,還有一些韻律預測等等功能。經過這個文本分析之後,我們就可以拿到使用者的這句話的一些語言學特徵,這個特徵會送到聲學模型裡面。聲學模型目前我們主要使用的基於FastSpeech這個框架所做的一些模型的改進和訓練。
聲學模型得到聲學特徵,例如梅爾特徵,或是長度或能量等等訊息,它的特徵流向會分成兩部分。一部分我們會送到聲碼器裡面,主要是用來產生我們可以聽的音訊波形。另外一個流向是送到唇形預測裡面,我們透過唇形預測模組可以預測出口形對應的BS係數。得到BS特徵值之後,我們會送到影片產生模組,這部分是由視覺團隊負責,可以產生虛擬頭像,就是這種帶有口形、帶有表情的虛擬形象。最終我們會把虛擬頭像和音訊會做一個合併,最終生成音視頻動畫。這就是我們整個多模態語音合成的基本架構、基本流程。
多模態語音合成過程中的主要問題:
- 語音音庫數據品質比較差。
- 合成音質較差。
- 音畫延遲大,口型和聲音對不上
#Soul的處理方式與在改進端到端的語音識別系統中類似。
資料預處理
我們的音庫來源是比較多的,左邊這個圖就是第一我們會採集錄製。第二,當然我們非常感謝開源的數據公司,它會開源一些音庫,我們也會用它來做一些實驗。第三,我們平台上在公司級會有一些公開的營銷視頻,在做視頻的時候,請了一些優質主播來做,所以這裡面的音色也是非常優質的。第四,一些公開的網路數據,例如在對話的過程中,有些音色品質比較高,所以我們也會爬取一些,然後做一些預標註,主要是做一些內部的實驗和預訓練。
針對這些資料複雜性,我們做了一些資料預處理,例如短句的拼接,剛才提到在採集的過程中,句子是有長有短的,我們為了擴增音庫的時長,我們會把短句做一個cut,過程中我們會去掉一些靜音,靜音太長的話也會有一些影響。
第二,就是去噪,例如在拿到的這些網絡數據或者營銷視頻,在這裡面的噪聲我們會通過一些語音增強的方式把噪聲去掉。
第三,其實現在的標註大部分是標註的音轉字,但音素的邊界現在基本上就不作為標註了,所以我們通常是透過這種MFA強制對齊的方式去獲得音素的邊界資訊。
然後下面人聲分離的話是比較特殊的,因為是在行銷影片裡面我們是有背景音樂,所以說我們會做一個人聲分離,會把背景音樂給去掉,取得到乾聲數據。我們也做一些能量規則,還有一些VAD,VAD主要是在對話或網路資料裡面,我透過VAD去偵測到有效的人聲,再拿去做一些預標註或預訓練。
模型微創新
我們在做FastSpeech的過程中,我們主要做了三個面向的改變。左邊這個圖左邊這一類是FastSpeech的基礎模型,我們首先做了第一個變化就是我們會把音素和音調進行解耦建模,就是正常情況下大家的文本前端轉出來的是音素序列,像左邊這個圖一樣,「你好」這種單調的音素序列。但是我們會把它拆成右邊這部分,兩個部分,就是左邊一部分是音素序列,只有音素,沒有聲調。右邊是只有聲調,沒有音素。這樣的話我們會分別輸送到一個ProNet(音)裡面,會得到兩個Embedding。兩個Embedding會cut在一起,來替代之前的這種Embedding的方式。這樣的話,好處就是它可以解決稀疏發音的問題,或是有些發音不在我們的訓練語料裡面,這種問題基本上是都可以解決的。
第二個我們改動的方式是原來的方式是先預測一個時長,就是右邊這個圖,然後再基於這個時長我們把聲音集進行擴展,然後預測能量和Pitch。現在我們是換了一下順序,我們會基於音素級的去預測Pitch和Energy,然後預測完之後我們才會去對它進行一個幀級別的時長的擴展。這樣的好處就是,在整個完整的音素的發音過程中,它的發音就比較穩定,這是在我們場景下的一個變化。
第三個就是我們在Decoder這部分,就是最上面這部分,Decoder這部分我們做了一個替代變化。原來的Decoder裡面是用的這種Attention的方式,我們現在換成了這種Iconv或Convolution的方式。這個好處就是因為Self-Attention它雖然能捕捉到很強大的歷史資訊、上下文訊息,但是對逐步建模的能力是比較差的。所以說換成Convolution之後,我們在處理這種局部建模的能力會比較好。例如在發音的時候,剛才提到的這種發音比較啞音或模糊的現象,基本上它是可以解決的。這是我們目前的一些主要的變化。
共享聲學模型
#左邊是合成口形,右邊是合成聲音,他們共享聲學模型裡面的一些Encoder和時長資訊.
我們主要是做了三個動作。第一個是,我們是真實的採集了一些高精度的數據,比如我們會找一些真人佩戴一些高精度傳感器,去驅動我們已經預測好的Avatar形象,得到高分辨率的音視頻,做一些標註。這樣就會得到文字、音訊、視訊的三者同步的一些資料。
第二件事就是,可能也提到我們要怎麼解決音畫一致性呢?因為我們最開始是先透過合成,文字合成聲音,拿到聲音之後,我們會做一個聲音到口形的預測,這個過程中它會出現幀級不對稱的現象。目前我們是透過這種合成口形和合成聲音共享聲學模型的方式,並且在幀級序列進行擴展之後去做。目前是可以保證在幀級上是可以對齊的,並且能夠保證音畫一致性。
最後,我們目前並沒有基於序列的方式去預測口形或BS基,我們是基於LSTM的這種方式去預測BS基。預測的BS係數之後,但是它有可能預測得有些異常,我們還會做一些後處理,比如正則化,比如BS基太大或者太小,都會導致口形張得太大甚至變化太小,我們都會設置一個範圍,不能太大了,會控制在一個合理的範圍之內。目前基本上是可以保證音畫一致性的。
未來展望
一是多模態識別,在高雜訊情況下,音訊結合口形做多模態識別,提高辨識準確率。
二是多模態的語音合成即時語音轉換,可以保留使用者的情緒、風格這些特徵,只是把使用者的音色轉換到另外一個音色上面。
以上是Soul智慧語音科技實務之路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

本站6月27日訊息,剪映是由位元組跳動旗下臉萌科技開發的一款影片剪輯軟體,依託於抖音平台且基本面向該平台用戶製作短影片內容,並相容於iOS、安卓、Windows 、MacOS等作業系統。剪映官方宣布會員體系升級,推出全新SVIP,包含多種AI黑科技,例如智慧翻譯、智慧劃重點、智慧包裝、數位人合成等。價格方面,剪映SVIP月費79元,年費599元(本站註:折合每月49.9元),連續包月則為59元每月,連續包年為499元每年(折合每月41.6元) 。此外,剪映官方也表示,為提升用戶體驗,向已訂閱了原版VIP

透過將檢索增強生成和語意記憶納入AI編碼助手,提升開發人員的生產力、效率和準確性。譯自EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG,作者JanakiramMSV。雖然基本AI程式設計助理自然有幫助,但由於依賴對軟體語言和編寫軟體最常見模式的整體理解,因此常常無法提供最相關和正確的程式碼建議。這些編碼助手產生的代碼適合解決他們負責解決的問題,但通常不符合各個團隊的編碼標準、慣例和風格。這通常會導致需要修改或完善其建議,以便將程式碼接受到應

想了解更多AIGC的內容,請造訪:51CTOAI.x社群https://www.51cto.com/aigc/譯者|晶顏審校|重樓不同於網路上隨處可見的傳統問題庫,這些問題需要跳脫常規思維。大語言模型(LLM)在數據科學、生成式人工智慧(GenAI)和人工智慧領域越來越重要。這些複雜的演算法提升了人類的技能,並在許多產業中推動了效率和創新性的提升,成為企業保持競爭力的關鍵。 LLM的應用範圍非常廣泛,它可以用於自然語言處理、文字生成、語音辨識和推薦系統等領域。透過學習大量的數據,LLM能夠產生文本

大型語言模型(LLM)是在龐大的文字資料庫上訓練的,在那裡它們獲得了大量的實際知識。這些知識嵌入到它們的參數中,然後可以在需要時使用。這些模型的知識在訓練結束時被「具體化」。在預訓練結束時,模型實際上停止學習。對模型進行對齊或進行指令調優,讓模型學習如何充分利用這些知識,以及如何更自然地回應使用者的問題。但是有時模型知識是不夠的,儘管模型可以透過RAG存取外部內容,但透過微調使用模型適應新的領域被認為是有益的。這種微調是使用人工標註者或其他llm創建的輸入進行的,模型會遇到額外的實際知識並將其整合

機器學習是人工智慧的重要分支,它賦予電腦從數據中學習的能力,並能夠在無需明確編程的情況下改進自身能力。機器學習在各個領域都有廣泛的應用,從影像辨識和自然語言處理到推薦系統和詐欺偵測,它正在改變我們的生活方式。機器學習領域存在著多種不同的方法和理論,其中最具影響力的五種方法被稱為「機器學習五大派」。這五大派分別為符號派、聯結派、進化派、貝葉斯派和類推學派。 1.符號學派符號學(Symbolism),又稱符號主義,強調利用符號進行邏輯推理和表達知識。該學派認為學習是一種逆向演繹的過程,透過現有的

編輯|ScienceAI問答(QA)資料集在推動自然語言處理(NLP)研究中發揮著至關重要的作用。高品質QA資料集不僅可以用於微調模型,也可以有效評估大語言模型(LLM)的能力,尤其是針對科學知識的理解和推理能力。儘管目前已有許多科學QA數據集,涵蓋了醫學、化學、生物等領域,但這些數據集仍有一些不足之處。其一,資料形式較為單一,大多數為多項選擇題(multiple-choicequestions),它們易於進行評估,但限制了模型的答案選擇範圍,無法充分測試模型的科學問題解答能力。相比之下,開放式問答

編輯|KX在藥物研發領域,準確有效地預測蛋白質與配體的結合親和力對於藥物篩選和優化至關重要。然而,目前的研究並沒有考慮到分子表面訊息在蛋白質-配體相互作用中的重要作用。基於此,來自廈門大學的研究人員提出了一種新穎的多模態特徵提取(MFE)框架,該框架首次結合了蛋白質表面、3D結構和序列的信息,並使用交叉注意機制進行不同模態之間的特徵對齊。實驗結果表明,該方法在預測蛋白質-配體結合親和力方面取得了最先進的性能。此外,消融研究證明了該框架內蛋白質表面資訊和多模態特徵對齊的有效性和必要性。相關研究以「S

本站8月1日消息,SK海力士今天(8月1日)發布博文,宣布將出席8月6日至8日,在美國加州聖克拉拉舉行的全球半導體記憶體峰會FMS2024,展示諸多新一代產品。未來記憶體和儲存高峰會(FutureMemoryandStorage)簡介前身是主要面向NAND供應商的快閃記憶體高峰會(FlashMemorySummit),在人工智慧技術日益受到關注的背景下,今年重新命名為未來記憶體和儲存高峰會(FutureMemoryandStorage),以邀請DRAM和儲存供應商等更多參與者。新產品SK海力士去年在
