【DL輪読会】Incorporating group update for speech enhancement based on convolutional gated recurrent network

>100 Views

August 27, 21

スライド概要

2021/08/27
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Incorporating group update for speech enhancement DEEP LEARNING JP based on convolutional gated recurrent network [DL Papers] Hiroshi Sekiguchi, Morikawa Lab http://deeplearning.jp/ 1

2.

書誌情報 • “Incorporating group update for speech enhancement based on convolutional gated recurrent network”, Wenhao Yuan School of Computer Science and Technology, Shandong University of Technology, Zibo, China Speech Communication 132 (2021) 32–39 https://www.sciencedirect.com/science/article/abs/pii/S0167639321000534 • 概要 – 音声強調の分野で、①従来のノイジー音声の時間方向の特徴相関に 加えて周波数方向の空間情報を使い、②ノイジー音声の変化速度が 局所的に異なる領域をグルーピングし、③causalなalgorithmを用いて、 実時間処理でSOTAを達成した • 興味:ノイズ削減の新たな仕組みの導出(①と②)が新鮮 2

3.

アジェンダ • • • • • 背景 提案手法 評価 まとめ 感想 3

4.

背景-1: 本論文の対象技術分野 • Speech enhancement(音声強調)の応用分野 – – – – 重畳音声分離(Voice separation) 声楽音声の分離(Singing voice separation) 背景雑音低減 部屋の反響除去 本論文の対象技術分野 • 音声強調技術の分類 – Computational auditory scena analysis(聴覚物体分析モデル) – Non-negative matrix factorization(NMF) – 深層学習 • 時間ドメインか周波数ー時間ドメインか – 時間ドメイン(入力:音声波形):多次元データ→計算時間大、位相情報含む→分離性能は良い – 時間-周波数ドメイン(入力:周波数分析データ) » 振幅のみ: 実数のみで計算が軽い、位相は使わないので分離性能はそこそこ » 振幅・位相両方(複素数):計算量が多い、位相は予測誤差が大、 • Causalかnon-causalか – Causal: 現在と過去のデータのみを使う → 分離性能はそこそこ、実時間処理に向く – Non-Causal:現在、過去のデータに加えて、将来のデータも使える →分離性のは良い、実時間処理は無理 4

5.

背景-2: 時間ー周波数ドメインの振幅のみを用いた背景雑音低減 • 教師あり学習 – 学習データ入力:ノイジー音声とクリーン音声: • 𝑋𝑙,𝑘 :ノイズ音声の時間フレーム𝑙、周波数ビン𝑘のスペクトラム(複素数) • 𝑋𝑙,𝑘 = S𝑙,𝑘 + N𝑙,𝑘 、S𝑙,𝑘 :クリーン音声、 N𝑙,𝑘 :背景ノイズ • 𝑌𝑙 : 時間フレーム𝑙の対数スペクトラム振幅ベクトル(実数ベクトル) 2 2 2 2 𝑌𝑙 = log 𝑋𝑙,1 , log 𝑋𝑙,2 , ⋯ , log 𝑋𝑙,𝑘 , ⋯ , log 𝑋𝑙,𝐾 – 教師データ:マスクのGround Truth:ノイジー音声とクリーン音声から計算 • 𝑇𝑙,𝑘 = log 𝑆𝑙,𝑘 𝑋𝑙,𝑘 +1 : Ground Truth: 振幅mask(実数) • 𝑇𝑙 = 𝑇𝑙,1 , 𝑇𝑙,2 , ⋯ , 𝑇𝑙,𝑘 , ⋯ 𝑇𝑙,𝐾 • 学習: (𝑌𝑙 , 𝑇𝑙 )のペアで 𝑓θ (・):マスク予測を学習 𝑇𝑙 : 𝐺𝑟𝑜𝑢𝑛𝑑 𝑇𝑟𝑢𝑡ℎ 1 𝐿 – Loss関数:𝐿 θ = σ𝐿𝑙=1 𝑓θ 𝑌𝑙 − 𝑇𝑙 • 推測:未知𝑋𝑙,𝑘 から、 𝑇෠𝑙 = 𝑓θ (𝑌𝑙 )で推測 – クリーン音声の推測: 𝑠Ƹ𝑙 = 𝐼𝑆𝑇𝐹 exp(𝑇෠𝑙 − 1 𝑋𝑙,𝑘 exp 𝑗α𝑙 α𝑙 : 時間フレーム𝑙のノイジー音声位相 Loss: 𝐿 θ S𝑙 :クリーン音声 ⊕ 𝑌𝑙 : ノイジー音声 N𝑙 : 背景ノイズ 𝑓θ (・) 𝑇෠𝑙 = 𝑓θ (𝑌𝑙 ) 5

6.

背景-3:時間ー周波数ドメインにおける音声強調の基本思想 • クリーン音声と背景ノイズの特性差を学習する。 • 𝑓θ ・ : 𝑌𝑙 → 𝑇෠𝑙 のマッピング関数の教師あり学習で、ノイジー音声ス ペクトラムの動きとマスクの動きの差からクリーン音声スペクトラル を推定する能力を学習する • 従来は:ノイジ音声のスペクトラルの時間方向の動きとマスクの時間 方向の動きの差からクリーン音声と背景ノイズの特性差を学習した→ 時間方向の相関を検出するRNN(LSTM,GRU)を使用 𝑦𝑙 <標準GRU> 𝑧𝑙 = σ 𝑊𝑧 ℎ𝑙−1 + 𝑈𝑧 𝑋𝑙 + 𝑏𝑧 : input gate 𝑟𝑙 = σ 𝑊𝑟 ℎ𝑙−1 + 𝑈𝑟 𝑋𝑙 + 𝑏𝑟 : reset gate ℎ෨ 𝑙 = tanh(𝑊ℎ 𝑟𝑙 ○ ℎ𝑙−1 + 𝑈ℎ 𝑋𝑙 + 𝑏ℎ ) ℎ𝑙 = 1 − 𝑧𝑙 ○ ℎ𝑙−1 + 𝑧𝑙 ○ ℎ෨ 𝑙 ○ :要素毎の乗算、𝑊ℎ,UX: 行列乗算 1 − 𝑧𝑙 ℎ𝑙−1 ℎ𝑙 𝑟𝑙 𝑧𝑙 𝑋𝑙 GRUブロック図 6

7.

達成したい要件と提案方策 • 音声強調後のターゲット音声(クリーン音声の推測信号)の音質向上 – 従来の時間方向の特徴量相関情報に加えて、周波数方向の特徴量の依存関係や空 間構造を用いることで分離性能を向上 →(提案方策①)Convolutional Gated Recurrent Network(CGRN)を用いる – ノイジ音声に含まれるノイズの特性は、時間および周波数の局所で、時間変化速 度が異なる領域が併存する場合があり、これに対応する構造を実現することで、 分離性能を向上 →(提案方策②)Ordered Neuron-LSTMを用いる • 実時間処理 RNN隠れ層 Neuron index – Causalなアルゴリズム →(提案方策) unidirectional GRUの採用 変化速度遅く、発声全体渡って同じ 特徴を維持するニューロン群 上下両者の中間のニューロン群 変化速度速く、短時間のみ同じ特徴 を維持するニューロン群 時間 ON-LSTMの隠れ層の特徴マップ 7

8.

提案手法-1: Convolutional Gated Recurrent Network(CGRN) • (提案方策①)Convolutional Gated Recurrent Network(CGRN)を用いる 𝑦𝑙 – 行列のFull-ConnectedをConvolutionに置き換える → 周波数方向の局所的な空間構造を抽出可能 1 − 𝑍𝑙 H𝑙−1 <Convolutional Gated Recurrent Network> 𝑍𝑙 = σ 𝑊𝑍 ∗ 𝐻𝑙−1 + 𝑈𝑍 ∗ 𝑋𝑙 +𝑏𝑍 : input(update) gate 𝑅𝑙 = σ 𝑊𝑅 ∗ 𝐻𝑙−1 +𝑈𝑅 ∗ 𝑋𝑙 +𝑏𝑅 : reset gate ෩𝑙 = ELU(𝑊𝐻 ∗ 𝑅𝑙 ○ 𝐻𝑙−1 + 𝑈𝐻 ∗ 𝑋𝑙 + 𝑏𝐻 ) 𝐻 ෩𝑙 𝐻𝑙 = 1 − 𝑍𝑙 ○ 𝐻𝑙−1 + 𝑍𝑙 ○ 𝐻 周 ○ :要素毎の乗算、∗: Convolution、 ELU: Exponential Linear Unit Convolution計算 H𝑙 𝑅𝑙 Z𝑙 𝑋𝑙 CGRNブロック図 Convolution計算とELU以外はGRUと同じ 波 数 方 向 8

9.

提案手法-2: Ordered Neuron(ON)-LSTM • (提案方策②)Ordered Neuron(ON)-LSTMを用いる – Ordered Neuron :深層学習によるNLP(自然言語解析)文章構造解析の解法で、 解析出力が木構造になるように誘導バイアスを組み込む手法 (参考文献) “ORDERED NEURONS: INTEGRATING TREE STRUCTURES INTO RECURRENT NEURAL NETWORKS” https://arxiv.org/abs/1810.09536 木構造 のnode 情報の 階層 文章解析推定結果 時間 Ground Truth 変化速度が遅く、文章全体に渡って持続する内部情報 上下両者の中間的な内部情報 変化速度が速く、文章の局所部でのみ有効な内部情報 9

10.

提案手法-3: Ordered Neuron(ON)-LSTM • ON-LSTMの機能 – 木構造の各ノードは、RNNの隠れ層のneuronの部分領域(segment)に相当し、それぞれの部分領域では、内部情報の時間変化速度に違いが ある。また、この部分領域は時間的に変化する。 ON-LSTMは、この時間変化速度の対応したneuron部分領域をデータから自動的に割り付 ける – まず、部分領域が2つの場合を考える – Ordered neuron: • • – 時間変化速度にランクがついたneuronのこと slow neuron=内部情報の持続時間が長いneuron=高位のneuron:特徴量の時間変化速度が遅い部分領域のneuron Fast neuron=内部情報の持続時間が短いneuron=低位のneuron:特徴量の時間変化速度が速い部分領域のneuron On-LSTMでは、この2つの部分領域を生成するため、同じ部分領域に属するneuronに対するgate出力を同値か近い値とするgate(活性化関 数)を提案する 𝑔ො = 𝑐𝑢𝑚𝑎𝑥 ⋯ : ⋯確率変数が離散の時 = 𝑐𝑢𝑚𝑠𝑢𝑚 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 ⋯ :確率変数が連続続の時 𝑠𝑜𝑓𝑡𝑚𝑎𝑥で緩和近似する ⋯ は、ベクトル=[𝑎1 , 𝑎2 , ⋯ , 𝑎𝑀 ]、𝑀:隠れ層の次元数、の時に (確率変数𝑑が離散の場合:𝑎𝑖 、𝑖 = 1, ⋯ , 𝑀、は確率分布𝑝に対して、𝑎𝑖 = 𝑝(𝑑 = 𝑖)、σ𝑀 𝑖=1 𝑎𝑀 = 1) (確率変数dが連続の場合:𝑎𝑖 、𝑖 = 1, ⋯ , 𝑀、は実数のセット{𝑑𝑖、 𝑖 = 1, ⋯ , 𝑀}に対して𝑎𝑖 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑑𝑖 、 σ𝑀 𝑖=1 𝑎𝑀 = 1) 𝑐𝑢𝑚𝑎𝑥 ⋯ ≡ 𝑎1 , 𝑎1 + 𝑎2 , ⋯ , 𝑎1 + 𝑎2 + ⋯ + 𝑎𝑀 𝑐𝑢𝑚𝑎𝑥 ⋯ ≡ 𝑎1 + 𝑎2 + ⋯ + 𝑎𝑀 , ⋯ , 𝑎𝑀−1 + 𝑎𝑀 , 𝑎𝑀 10

11.

提案手法-4: Ordered Neuron(ON)-LSTM • ON-LSTMの仕組み連続 連続 – Binary gate 𝑔=(0,…0,1…1)となるvectorで、0と1で、Neuron内部情報の更新頻度に高低の2通りの neuron群を生成したい。このgateが制御する0-segment(変化速度が速い)と1-segment(変化速度 が遅い)で、異なる更新ルールがあるとする。 – このvector 𝑔において、要素が0から1へ初めて変化するvector index 𝑑をsplit pointと呼び、index 𝑑 が確率変数と考えて、index 𝑑で要素が0から1へ初めて変化する確率を𝑝 𝑑 = [𝑝 𝑑 = 1 , 𝑝(𝑑 = 2), ⋯ , 𝑝 𝑑 = 𝑀 ]とする。 (Mは隠れ層の次元数) – この時、Vector𝑔のindex 𝑘が1である確率𝑝 𝑔𝑘 = 1 は、 σi≤𝑘 𝑝(𝑑 = 𝑖) となり、ベクトルでの表記は、 𝑝 𝑔 = [𝑝 𝑑 = 1 , 𝑝 𝑑 = 1 + 𝑝 𝑑 = 2 , ⋯ , 𝑝 𝑑 = 1 + 𝑝 𝑑 = 2 + ⋯ + 𝑝 𝑑 = 𝑀 ] ≡ 𝑐𝑢𝑚𝑎𝑥 (𝑝 𝑑 ) である。 – 𝑔𝑘 がbinaryの確率変数であれば、 𝑝 𝑔 = 𝑐𝑢𝑚𝑎𝑥 (𝑝 𝑑 )は、Vector 𝑔の期待値(各index 𝑘の期待値)に なっている。 𝑖 RNN隠れ層 neuron index 変化速度が 遅い信号 ⊚ Binary gate 𝑔=(0,…0,1…1) Index 大 𝑑 Binary gate 𝑔 Index 小 𝑀 𝑑 1 1 : 1 0 : 0 slow neuronの領域 (1-segment) 𝑝 𝑑=𝑖 Fast neuronの領域 (0-segment) 時間 11

12.

提案手法-5: Convolutional Gated Recurrent Network(CGRN)に ON-LSTMを組み込む (CGRN-GU) • ON-LSTMの音声強調への適用: Index 小 0 0 𝑐𝑢𝑚𝑎𝑥 1 1 1 Index 大 slow neuron 制御gate 前フレーム隠れ層の信号 (変化速度遅い) H𝑙−1 ⊚ – ノイズ音声の特徴量の変化速度が高中低の CGRN出力信号 3領域に分ける機能を作る (中間速度) 𝐻𝑙∗ ⊚ ⊕ – この領域毎に属する隠れ層neuronのindex Middle speed 範囲を更新する(Group-update(GU)と呼 現入力信号 neuron制御 (変化速度速い) gate ぶ) ෩ 𝐻𝑙 ⊚ – 2つのgate、 𝑐𝑢𝑚𝑎𝑥 ⋯ と𝑐𝑢𝑚𝑎𝑥 ⋯ を 𝑐𝑢𝑚𝑎𝑥 overlapさせて3つの領域を作成 fast neuron 𝐹෨𝑙 = 𝑐𝑢𝑚𝑎𝑥(softmax(𝑊𝐹෨ ∗ 𝐻𝑙−1 + 𝑈𝐹෨ ∗ 𝑋𝑙 + 𝑏𝐹෨ )) 制御gate 1 − 𝑍𝑙 𝐼ሚ𝑙 = 𝑐𝑢𝑚𝑎𝑥(softmax(𝑊𝐼ሚ ∗ 𝐻𝑙−1 + 𝑈𝐼ሚ ∗ 𝑋𝑙 + 𝑏𝐼ሚ )) H𝑙−1 slow neuronの領域 Ω𝑙 = 𝐹෨𝑙 ○ 𝐼ሚ𝑙 𝑀 ෩𝑙 ) 𝐻𝑙 = Ω𝑙 ○ ((1 − 𝑍𝑙 ) ○ 𝐻𝑙−1 + 𝑍𝑙 ○ 𝐻 ෩𝑙 𝑅𝑙 Z𝑙 𝐻 middle speed neuronの領域 ෩𝑙 +(𝐹෨𝑙 − Ω𝑙 ) ○ 𝐻𝑙−1 + (𝐼ሚ𝑙 − Ω𝑙 ) ○ 𝐻 1 fast neuronの領域 𝑋𝑙 12 CGRNブロック図 H𝑙 𝐻𝑙∗

13.

評価方法 • データーセット ① Voice Bank + DEMAND ◼ ◼ ◼ 音声データ:Voice Bank ノイズデータ:DEMAND Trainingデータセット ◼ ◼ ◼ ◼ Testデータセット ◼ ◼ ◼ ◼ 11572個のノイジー音声とクリーン音声のペア::話者28名(男女各14名) ノイズ:10種類 音声:ノイズのSNR=0, 5, 10, 15dB 824個のノイジー音声とクリーン音声のペア:話者2名(Trainingデータセットには含まれない話者) ノイズ:5種類(Trainingデータセットに含まれない種類のノイズ) 音声:ノイズのSNR=2.5, 7.5, 12.5, 17.5dB 元音声48KHzサンプリング→16KHzにdown samplingして使用 ② DNS challenge at Interspeech 2020 ◼ ◼ ◼ 音声データ:500時間、話者2150名 ノイズデータ:Audioset、Freesound、DEMANDから60000クリップ Trainingデータセット ◼ ◼ ◼ 100時間の音声とランダム選択したノイズクリップから合成 音声:ノイズのSNR=-15~+15dBの区間を1dB刻みでランダムに選択 Testデータセット ◼ 150個の合成したノイズ音声 ③ その他条件 ◼ Hannning窓:512point、フレームシフト:256point 13

14.

評価方法 • 学習方法 ① 学習モデル ◼ ◼ ◼ ◼ CGRN-GU, CGRN, GRUの3モデル RNN層数:5-層 CGRN-GUとCGRNのCNN:filter数:64、filter size: 9 GRUの隠れ層とunit stateの次元数: 1024 ② 学習条件 ◼ ◼ ◼ Backpropagationのtruncation length:Voice Bank+DEMAND: 128, DNS challenge: 64 最適化アルゴリズム:Adam, batch size: 512, 学習率:0.02 Epoch数: Voice Bank+DEMAND :50, DNS challenge: 20 ◼ 音質評価指標 ① ② ③ ④ CSIG, CBAK, COVL :主観的オピニオン評価 PESQ(音質知覚評価) SDR(Signal to Distortion Ratio) STOI(明瞭度評価) 14

15.

評価項目 • • • • • モデルのノイズ削減性能比較 Group-updateの効果 フレームシフトの効果 他のベースラインアルゴリズムとのノイズ削減性能比較 実時間処理の比較 15

16.

評価結果 • モデルのノイズ削減性能比較 – ノイズ削減性能 • 3modelともノイズ削減効果がある • CGRN-GU>CGRN>GRU – 考察 • GRUに比較して、CGRN、CGRN-GUの パラメータ数は大幅削減している→Full connectをCNNに代えた効果 • GU部分のパラメータ増加(0.65M)は最 小限になっている 16

17.

評価結果 • Group-updateの効果 – CGRNとCGRN-GUの各々で、過去情報𝐻𝑙−1 を反映 する能力の差を評価する→ 𝐻𝑙−1 に掛かる比例項の累 積分布を比較する – CGRNに掛かる比例項:1 − 𝑍𝑙 – CGRN-GUに掛かる比例項: 𝐹෨𝑙 − Ω𝑙 ○ 𝑍𝑙 / 𝐹෨𝑙 + 𝐼ሚ𝑙 − Ω𝑙 – 考察 • CGRN-CUの累積分布はCGRNよりも下方に位 置している→CGRNCの過去情報𝐻𝑙−1 を制御す るgateの0→1に変化するindex 𝑑の平均は、 CGRNよりも小さいので、過去情報𝐻𝑙−1 を利用 する隠れ層のneuron領域はより広範囲である • これが、ノイズ削減性能がCGRN-CU>CGRN である根拠の一つ 17

18.

評価結果 • フレームシフトの効果 – – – – 従来:一般的に、フレームシフト=ウィンドウ長÷2 最近:フレームシフトを短くすると、ノイズ削減性能が向上するとの報告有り 実際に、フレームシフト256→128と半減すると、ノイズ削減性能が良くなった 考察 • フレームシフトが短いと、同じノイズ情報を複数のフレームで用いて学習するので、ノイズの 性質をより学習できるため • フレームシフトが短いと、発声全体を処理する計算量は反比例して多くなる。 – ノイズ低減性能と計算時間はトレードオフの関係であり、実時間処理が必要な場 合は、フレームシフト量に下限がある。 18

19.

評価結果 • 他のベースラインアルゴリズムとのノイズ削減性能比較 – 他のベースライン:4つのCausal手法(現在と過去データのみ使用)と7つの Non-Causal手法(現在、過去、および将来データも使用) – 一般的には、学習に使うデータ量が多いのでNonーCausal手法の性能が良いはず – Causal内での比較:CGRN-GUはフレームシフト128で全音質評価指標でトップ – Causal/Non-Causalを通した全体での比較:CGRN-GUはフレームシフト128で Non-CausalのPHASEN以外で、より良い高い音質性能 19

20.

評価結果 • 実時間性能の比較 – 音声を16msec毎に逐次処理して、実時間で処理可能かを評価 – 環境: Onnix Runtime 1.1 – 結果 • 低性能CPUでは、CGRNは実時間処理可能 • 高性能のCPUであれば、CGRNおよびCGRN-GUともに実時間処理可能 Laptop (Intel i5-8250U CPU) Destop (AMD 2700X CPU) 処理時間 Real Time Factor 処理時間 Real Time Factor CGRN 7 msec 0.44 5 msec 0.31 CGRN-GU 22 msec 1.38 12 msec 0.75 20

21.

まとめ • 音声のノイズ低減を改善するために、Convolutional Gated Recurrent Network(CGRN)と、 それにGroup update(GU)を追加したCGRN-GUを、causalのパラダイム(学習データは現在 と過去のものに限定)で開発した • CGRN-GUは、ノイジー音声の特性を、従来よりも、より考慮した工夫を施した – 時間方向のデータ長時間依存性は:GRUで – 周波数方向の局所的な空間構造は:CNNで – ノイズの変化速度の追跡には:Ordered-Neuron LSTMで • ノイズ削減評価の結果、CGRN-GUは他のNon-Causalのアルゴリズムのほとんどよりもノイ ズ削減性能が良かった • CGRNとCGRN-GUは、ともに、Desk TopであればCPUのみで実時間処理ができることが分 かった。 • 将来研究 – 時間ー周波数ドメインのノイズ音声の位相を考慮したアルゴリズムに本手法を適用して、さらなる 性能改善を図る 21

22.

感想 • ノイズの局所的な時間的変化速度を追跡するのに、ON-LSTMを用いて いるが面白い。 • しかし、背景ノイズが人間の音声の場合は、適用ができないのだろう か – 背景の音声は、ターゲットの音声と特徴が類似しているため見分けがつかな いのでは。 • ON-LSTMは、初めてだったが、NLPでは常識なのか。 22

23.

END 23