牛叉的無監督語音識別模型

dagis 2021-09-18 05:48:12 阅读数:290

模型

今年五月份facebook推出了語音識別wav2vec的無監督版本,感覺很厲害的樣子。想起多年前,實驗室裏,研究語音識別的師兄師姐到處收集語音樣本,甚至自己錄音,然後花很多時間處理樣本。那無監督的語音識別是不是就不用那麼麻煩了。雖然沒有研究過語音識別,不過這個無監督還是蠻誘人的,於是就閱讀了一下是怎麼回事。
 
讀完後第一感覺就是,很有創意。論文的細節就不去討論,我們就去intuition方面來聊一聊,無監督的語音識別是否具有可行性,wav2vec-u是不是真的可以。
 
wav2vec-u 要解决的問題是用一個語音庫和一個文本庫訓練出一個語音識別的模型。問題的核心是語音庫和文本庫沒有映射關系,也就是沒有傳統語音識別所需要的語音集以及相應的字幕文本集。聽上去很厲害是不是的。特別是如果這個模型可行,那數據隨手可以拿,文本可以是wiki的文本,新聞文本; 錄音可以是任何錄音,會議錄音和有聲書等大量資源可取。對於小語種,如果這個模型可能,大大减少了數據成本。
 
那理論上這個到底可行否? 我有個習慣,如果要問機器可以做到否,我經常會先問,人可以不可以做到。hmm,讓人學會看字,然後脫離文字學會聽說,最後看看能不能自己找到映射關系,可以嗎。問題是,我們學語言不是這麼學的,所以真的不知道是不是可以。
 
接著我又想到了我自己的經曆。我有英文閱讀的習慣,所以我看懂的單詞比會說的單詞(發音准確)多很多,雖然很多單詞不太確定發音如何,但不妨礙我聽英文書,因為在某個上下文語境下,聽到的不太確定的單詞發音會映射到那個語境下的書寫單詞,於是就聽懂了。基於這樣一個事實,語音識別可以做到是 如果數據集中某些單詞沒有對應的文本,模型還是可以工作的。
 
但還是沒有回答最初的問題,如果所有發音都不知道,可以做到不。
 
最近看小學生的數學題時候,正好找到了幾個例子,可以幫助我們回答這個問題。
這個數學,大家相信都可以解答出來。花朵就好比語音,而數字好比文本。數字以及加减乘除關系清楚,就好比文本我們都認識了,而給出的式子正好是某些映射以及對應的上下文,好比我聽英文書的例子,是可以很容易實現。
而當映射關系完全沒有了時候,就變成以下的數學題了。

 

 

既然已經說是數學題了,也就是說可解的。

  

但我們也不能很放心的宣布,無監督的語音識別模型是可以完美解决的的。無監督語音識別的數據集和這個數學題是有區別的。主要區別就是文字多,組合多變,語義多變,多音字等,和數學公式比起來複雜度數量級不是差幾個。因為組合的多變,並不是所有的發音都可以找到對應的文本,所以模型也就有局限性。

 

那wav2vec-u到底是如何工作的呢。其實也是蠻好理解的,base是一個GAN模型,以語音數據為源做generator來生成文本,然後用文本庫做discriminator來仲裁這個識別是不是對的。generator和discriminator都是複雜的神經網絡,通過對抗的學習,來完美這個模型。問題就是如果一句話的發音凑巧映射到完全不搭邊的說得通的文本,那discriminator也是發現不出來的,那可能就有點麻煩了。如果兩邊的數據都不够充分,這個是很容易發生的。
(來自Facebook網頁)
當然Facebook自己也說了,這個模型只是驗證了一個方向,它的質量和幾年前的有監督學習模型差不多。但好處就是模型的成本降低很多,不僅在數據方面,即使在模型訓練方面與其他SOTA語音模型或語言模型比起來小很多。
當然模型本身也有可以提高的空間。畢竟這還是第一稿。
論文的細節很多,也用到了wav2vec前幾個版本的技術。建議做語音識別的DS們都讀一下這個系列。
另外,Facebook自己的AI網頁上的視頻很好的解釋了模型是如何工作的。 https://ai.facebook.com/blog/wav2vec-unsupervised-speech-recognition-without-supervision/

 

閱讀更多作者原創,關注微信公眾號:
 

 

 

 
版权声明:本文为[dagis]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210918054812028x.html