AR-Net: 一種口音識別(分類)網路(keras版本)

Ephemeroptera發表於2020-09-25

一、簡介

本文記錄interspeech2020和資料堂舉辦的AESRC2020口音英語識別的參賽方案,實驗程式碼可參考:
碼雲:https://gitee.com/ephemeroptera/arnet.git
github:https://github.com/coolEphemeroptera/ARNet.git

口音識別與語音識別密切相關,如果只做簡單的口音分類,很容易陷入過擬合的情況,因此,我們引入語音識別任務來建立多工模型。

二、模型架構

ARNET
<輸入>:[N, MAX_TIME, FBANK, 1], 由kaldi提取80維的fbank特徵,再做全域性CMN歸一化得到輸入時頻圖
<隱層>:隱層為CNN+RNN架構,這裡採用resnet和gru來提取特徵
<輸出1:CTC> ctc損失函式作為ocr或者e2e-asr的常用loss,作為口音識別的輔助任務
<輸出2:Accent>: 口音分類任務(softmax+CE)

三、訓練資料

3.1 口音資料:160小時的口音英語資料集

資料堂 為參賽者提供總共160小時的來自8個國家的英語資料,每一種口音大約有20小時的資料,八個國家分別來自:
1.中國
2.印度
3.日本
4.韓國
5.英國
6.俄羅斯
7.葡萄牙
8.美國

3.2 輔助資料:1000小時librispeech語音資料集

Librispeech資料由960小時的訓練資料和40小時的測試資料組成,開源地址:http://www.openslr.org/12/

四、訓練方法

4.1 預訓練:隱層初始化(librispecch)

通過librispeech 的ctc訓練任務來初始化隱層,加強4.2模型效能
init

4.2 訓練 CTC和口音分類 的多工模型

mtl
紅線表示經過4.1初始後的隱藏層

5 實驗結果

相關文章