개요

 

오늘은 "SUDO RM -RF: EFFICIENT NETWORKS FOR UNIVERSAL AUDIO SOURCE SEPARATION [1]" 논문에 대해서 내 마음대로 간단하게 메모를 하려고 한다. 1저자는 Efthymios Tzinis이고, 최근 source separation 모델에 대해서 열심히 연구 중인 분이다.

 

최근 source separation 분야에서는 time domain에서 end-to-end 로 처리를 하는 알고리즘들이 주류를 이루고 있다. ConvTasNet, DPRNN, two-step approach 등, source separation 의 성능을 계속해서 개선해나가고 있는데,

 

오늘 볼 논문에서 소개하는 "SUDO RM -RF" 알고리즘은 적은 자원을 이용해서 빠르게, 좋은 separation 성능을 낼 수 있는 알고리즘에 관한 것이다.

 

알고리즘의 구조

 

먼저 전체적인 알고리즘의 구조는 간단하다. 

 

 

1. 크게 Encoder, Separator, Decoder로 구성되어 있다. STFT 대신 encoder, decoder를 구조를 사용하여 음성신호를 Latent space 에서 가지고 논다.

 

2. time domain 신호를 encoder를 태우고, 나온 latent representation을 separation module (SM)을 태운다. SM의 목적은 source들의 mask들을 추정하기 위함이다.

 

3. 추정된 mask들과 encoder에서 나온 latent representation 를 element-wise 곱을 시킨 후 나온 각각의 reconstructed latent representation들을 decoder를 태워서, 분리된 time domain 신호들을 얻는다.

 

 

전체적인 그림은 다음과 같다.

 

 

separator module

 

이 알고리즘의 핵심인 separator module을 조금 더 자세히 살펴보자.

 

1. point-wise conv로 encoded mixture representation을 project 시키고, layer-normalization (LN)을 통해 각 채널마다 temporal dimension에 대해서 norm을 한다.

 

2. 그 후, non-linear transformations을 수행하는데, 저자들은 이 부분을 U-convolutional block 이라고 명명해놓았다. U-convolutional block의 아키텍처와 세부 알고리즘 설명은 다음과 같다.

 

 

 

  • multiple resolution으로 부터 정보를 추출하여 활용하는 U-Net 구조를 사용하였다.
  • depth-wise conv 는 downsampling 과정에 넣었고, 그 덕분에 연산량이 상당히 줄어든 듯 하다.

 

3. U-convolutional block 통해 나온 representationd을 소스의 개수만큼 1D conv를 태우는데, 이 단계는 저자들의 이전 연구에서 소개되었고, y^B후 바로 activation을 사용하는 것보다 학습 측면에서 안정적이기에 도입했다고 한다.

 

4. z^(1), z^(2)를 기반으로 softmax를 적용하여 masks를 추정한다.

 

 

REFERENCE

 

[1] https://arxiv.org/pdf/2007.06833.pdf

+ Recent posts