TasNet — Surpassing Ideal Time-Frequency Masking for Speech Separation

Source: Deep Learning on Medium


Go to the profile of 陳明佐

這篇來自大神Nima & Yi Luo 的 Speech Separation 相關議題的論文

從Deep Clustering, Deep Attractor Network, Chimera Network

到現在的 TasNet, Time-domain audio separation network 都是針對語音、聲源、語者進行分離的技術。

TasNet主要架構有兩種,起初是使用BLSTM作為主體,但礙於LSTM的特性

Time step時間步數過長,導致模型參數規模及訓練時間長久

後來演進使用一維的卷積,1-D conv,並透過dilated增強 perception field,大幅降低計算時間

Conv-TasNet架構:

Conv-TasNet 架構
TasNet 架構 ( Separation part based on LSTM )

整個流程分成三大部分

  1. Encoder
  2. Separation parts
  3. Decoder

由Encoder將波形訊號編碼成中間層特徵代表,

透過深度學習去估計每一個時間點及每一個聲源的單元遮罩

遮罩與中間層輸入,利用乘法規則得到一個輸出編碼,

最後由解碼器還原成分離後的波形。

Encoder/Decoder

Encoder顧名思義就是編碼,反之decoder為解碼。

原始系統結構的輸入是採用 Mixture raw waveform signal, 而非傳統的TF representation ( i.e. Spectrogram )

透過 conv1D 的特性,類似於將原始raw waveform進行傅立葉轉換( i.e. STFT )

再利用deconvolution將其中間層特徵還原成waveform ( like ISTFT )

Mask遮罩的部分

數學表示式為 mi 其中 i =1,2…..,C , C是混合音訊中所存在的語者數目

mi 有著幾個限制:

  1. mi ∈ [0,1]
  2. summation of mi from i=1 to i=C = 1

各自聲源會形成屬於自己個遮罩,根據此遮罩與原始混合的中間層代表進行矩陣元素相乘

最後再透過解碼輸出。

中間的Separation structure TasNet分為兩種,以主體Convolution結構為討論點。

論文所提的卷積結構為多層一維卷積層堆疊而成,並結合了一點ResNet的Residual block的特性

我們先以大框架如上圖來看

convolution block旁邊註記著d=1,2,4,…. 以指數的方式提升

這是指著convolution block使用著它的超參數:dilation

指的是空洞卷積,此特性可以拓展增加整個卷積網路所處理的語音片段。

Dilation workflow

然而論文中每一個Convolution block 其實是兩三層Convolution、激活函數及Normalization layer

而其中應用了residual path & skip-connection path.

這邊有點問題點的是,skip connection & residual path不是同一件事嗎?

以下比較兩篇

左邊為 Conv-TasNet ; 右邊為TasNet

左邊特殊點的在於,每一個Block將會多拉出一個輸出,將所有的block單一輸出全部加總作為一個額外的數值

而另一條如圖所示的skip-connection則是block與block之間的關聯,即圖中的輸出為下一個conv1D block的輸入

右圖則是,每一個block會有一個shortcut,也就是眾所皆知的residual circuit, 一條捷徑從輸入到輸出,

圖中的output即為下一個block的輸入。

效果根據評比,則是左圖的效果略優於右圖。

而其中一層convolution layer是變形的卷積層

論文中稱之為 Depthwise separable convolution ( D-conv )

目的為大量縮減整個模型所需的參數 從GxPxH 變成 GxP+GxH

另外,Normalization layer也依據因果定理進行了判斷跟變化。

但此模型皆為non-causal ,並使用了global layer normalization , gLN

gLN針對時間軸及所有通道數(kernel number)進行normalize.

Reference

  1. https://github.com/kaituoxu/Conv-TasNet
  2. https://arxiv.org/abs/1809.07454
  3. https://arxiv.org/abs/1711.00541
  4. https://www.semanticscholar.org/paper/TasNet%3A-Surpassing-Ideal-Time-Frequency-Masking-for-Luo-Mesgarani/960446fd8f5df431f80e030c4d91484aa6a64d3e