UNetGAN: A Robust Speech Enhancement Approach in Time Domain forExtremely Low Signal-to-noise Ratio Condition 논문 정리

2021. 2. 16. 01:25논문

반응형

Abstract

- signal-to-noise ratio(SNR) 조건이 매우 낮은 speech enhancement은 매우 어려운 문제이고, 이전 연구에서 거의 조사되지 않았다.
- 본 논문은 이 문제를 처리하기 위한 U-Net 및 생성적 적대적 학습(generative adversarial learning)에 기반한 강력한 음성 향상(speech enhancement) 접근법(UNetGAN)을 제안한다.
- 이 접근법은 시간 영역에서 직접 작동하는 generative 네트워크와 discriminator 네트워크로 구성된다.
- Generator 네트워크는 U-Net과 유사한 구조를 채택하고 병목 현상에 확장 컨볼루션(convolution)을 채택한다.
- 우리는 공개 벤치마크에서 낮은 SNR 조건(최대 -20dB)에서 UNetGAN의 성능을 평가한다.

- 결과는 그것이 음성 품질을 크게 개선하고 대체로 Short-Time Objective Intelligibility (STOI)와 Perceptual evaluation of speech quality (PESQ)에 관해서 SEGAN, cGAN fo SE, Bidirectional LSTM using phase-sensitive spectrum approximation cost function (PSA-BLSTM)과 Wave-U-Net 대표적인 딥러닝모델보다 우수한성능을 보인다.

Introduction

Speech enhancement은 target speech과 background noise 간섭[1]을 분리하는 것이다.

hearing prosthesis(청각 보형물) [2], 이동통신 [3], automatic speech recognition [4] 등과 같은 관련 신호 처리 시스템을 최적화하기 위해 음성 품질을 개선하고자 한다.

이 문제는 오랫동안 광범위하게 연구되어 왔고 많은 수의 방법이 제안되었다[5] [6].

그러나 이러한 방법 중 낮은 signal-to-noise ratio(SNR) 조건에서의 음성 향상에 주의를 기울이는 방법은 거의 없으며 높은 SNR 조건보다 더 중요하다.

매우 낮은 SNR 조건에는 많은 통신 시나리오가 있다.

예를 들어, 금속 절단 공장에서 무전기와 통신하는 근로자, 헬리콥터를 시험할 때 무선 헤드셋과 기계 통신 등입니다.

일부 시끄러운 환경에서도 마이크에 의해 수집된 소리가 심각한 소음을 가지고 있어 상대방이 명확하게 들을 수 없기 때문에 사람들은 의사소통을 위해 제스처만 사용할 수 있다.

낮은 SNR에 대한 음성 향상은 연설을 명확하게 듣고 정확하게 이해할 수 있는지 여부를 결정하는 반면 높은 SNR은 오직 청취자들에게 더 편안함을 준다.

이러한 관점에서, 낮은 SNR에서의 speech enhancement은 높은 SNR보다 더 중요하다.

본 논문은 U-Net 및 dilated convolution operation [7]을 generative adversarial network[8] 기반 프레임워크에 통합하고, 극도로 낮은 SNR 조건을 위한 speech enhancemen 접근법(UNetGAN)을 제안한다.

우리의 동기는 다음과 같다.

- 처음에, speech enhancement은 잡음과 clean speech가 섞인 혼합물에서 clean speech를 분리하는 특별한 형태의 speech separation로 볼 수 있다.

speech separation의 딥 러닝 기반 모델 중, U-Net[9]은 시간 영역에서 작동하며 사전 처리가 필요 없지만 최첨단 성능을 달성한다.

- 둘째, GAN은 generator network와 discriminator network 사이의 min-max game을 통해 generator network의 성능을 향상시킬 수 있다. speech enhancement에서의 효과성은 이[10] 논문에서도 입증되었다.
- 셋째, , dilated convolution은 수용적 필드 크기를 확장하고 큰 시간적 컨텍스트를 고려할 수 있다[11].

제안된 UNetGAN은 generator network와 discriminator network로 구성되며, 이는 시간 영역에서 작동하고 적대적 방식으로 훈련된다.

generator network는 다운샘플링 블록과 업샘플링 블록 사이에서 dilated convolution이 사용되는 U-Net 유사 구조를 채택한다. discriminator network는 batch normalization[12] 및 leaky rectified linear unit (Leaky ReLU)[13]를 포함하는 일반적인 컨볼루션 신경망이다.

일단 훈련을 받으면, generator를 speech enhancement에 사용할 수 있다.

우리의 접근 방식은 공개 데이터 세트에서 극도로 낮은 SNR 조건(최대 -20dB)에서 평가된다.

또한 SEGAN[14], SE용 cGAN[15], bidirectional LSTM using phase-sensitive spectrum approximation cost function (PSABLSTM)[16] 및 Wave-U-Net[9]를 포함한 딥 러닝을 기반으로 한 제안된 접근 방식과 다른 대표적인 speech enhancement 접근 방식 간에 비교가 이루어진다.

실험 결과는 우리의 접근 방식이 Short-Time Objective Intelligibility (STOI)[17] 및 음성 품질에 대한 Perceptual evaluation(PESQ)[18] 측면에서 음성 품질을 크게 개선하고 다른 접근 방식을 크게 능가한다는 것을 보여준다.

Pascual 등[14]은 speech enhancement을 위해 시간 영역(SEGAN)에서 GAN을 처음 사용했지만, SEGAN과 우리의 접근 방식에는 두 가지 중요한 차이가 있다.

첫째, 우리의 접근 방식의 네트워크 구조는 SEGAN과 다르다.

둘째, 우리의 접근 방식은 시간 영역에서 직접 작동하는 반면, SEGAN은 입력 데이터에 a high-frequency preemphasis filter를 적용한다. Michelsanti 등이 제안한 GAN 기반 speech enhancement 접근법이 또 있다. [15].

네트워크 구조의 차이를 제외하고, 그것은 주파수 영역에서 작동하는 반면 우리의 접근 방식은 시간 영역에서 작동한다. 우리의 접근 방식은 또한 완전한 convolutional neuralnet [19] [20] [21] 및 U-Net [22] [23] [24]에 기반을 둔 다음과 같은 speech enhancemen 접근법과도 다르다.

우리는 U-Net을 GAN 기반 아키텍처에 소개하고 이를 훈련시키기 위해 적대적 학습을 취한다. 그것은 또한 우리의 접근법에서의 U-Net의 손실 함수가 위의 접근법에서의 그것과는 다르다는 것을 의미한다.

제안된 접근법의 두 가지 주요 이점이 있다.

무엇보다도, 우리의 접근 방식은 매우 낮은 SNR 조건에서 음성 품질을 크게 개선하고 최첨단 성능을 달성한다.

둘째, 우리의 접근 방식은 시간 영역의 U-Net을 개선하기 위해 적대적 학습을 채택하고 수용적 필드 크기를 확대하기 위해 확장된 컨볼루션(convolution)을 적용한다.

셋째, 우리의 접근 방식은 엔드 투 엔드로 작동합니다.

2. Approach

2.1 Architecture

본 논문은 speech enhancement을 수행하기 위한 conditional GAN(cGAN)[25] 기반 접근법을 제안한다.

speech enhancement은 generator network 와 discriminator network라는 두 가지 요소로 구성된다.

generator network는 U-Net과 유사한 구조와 dilated convolution 작동을 채택합니다.

discriminator는 batch normalization와 Leaky ReLU 활성화와 관련된 일번적인 CNN이다.

이 두 네트워크는 모두 시간도메인에서 직접 작동한다.

discriminator D는 음성들을 훈련 데이터(실제, 1에 가까움) 또는 generator G(가짜, 0에 가까움)에서 나온 것으로 분류하도록 훈련된다.

이 값은 혼합물 x 에 맞춰 조절되고 깨끗한 음성 또는 향상된 음성 $\hat{y}$를 실제 데이터 분포에 매핑합니다.
$$ D(x,y) or D(x, \hat{y}) -> (0, 1)$$
생성기 G는 혼합물 x에서 향상된 음성 $\hat{y}: G(x) → \hat{y}$로 매핑되며, discriminator D를 혼동하려고 합니다.
그들은 미니맥스 게임을 한다. 목표는 다음과 같이 표현할 수 있습니다.

목적함수는 다음과 같이 표현된다.

여기서 G는 적대적인 D에 대항하여 이 목표함수를 최소화하려고 한다.

 

UNetGan의 generator. k, s 와 c는 각각 1D convolution에서 kernel size, stride 그리고 channel 수이다. r은 1D dilated convolution의 dilated rate를 나타낸다.

 

generator의 상세 구조는 그림 1과 같다.

downsampling(DS)과 upsampling(US) 부분은 그 사이에 몇 개의 dilated convolution 블록을 추가하는 것을 제외하고 [9]에서 설명한 것과 유사하다.

처음에 혼합물 x는 일련의 DS 블록을 사용하여 더 좁은 시간 척도에서 점점 더 많은 상위 레벨 기능으로 변환됩니다.

다음으로, 이러한 기능은 세 개의 연속적인 dilated convolution 블록에 의해 처리되어 더 큰 컨텍스트를 통합한다.

이후 스킵 연결을 통해 US 블록을 사용하여 초기 로컬 고해상도 기능과 결합되어 예측을 위해 사용되는 다중 스케일 기능을 산출한다.

generator의 DS 블록에는 총 8개의 레벨이 있습니다.

각 연속 레벨은 이전 레벨과 같은 절반의 시간 분해능으로 작동하는 반면 채널 수는 24개의 간격으로 점진적으로 증가하였다.

여기서 각 DS 블록은 배치 정규화, Leaky ReLU 및 다운샘플링에 따라 1D convolution을 수행합니다.

1D convolution의 매개 변수는 그림 1의 각 DS 블록 위에서 찾을 수 있으며, k, s 및 c는 각각 1D convolution의 커널 크기, stride 및 채널 번호를 나타낸다.

입력과 동일한 time resolution의 출력을 생성하기 위해 동일한 패딩을 수행합니다.

배치 정규화는 네트워크 성능과 안정성을 보장하기 위해 사용됩니다.

우리는 Tanh를 사용하는 최종 레이어를 제외한 Leaky ReLU를 활성화 함수로 사용한다.

time resolution을 절반으로 낮추기 위해 다른 모든 시간 단계의 기능을 Decimate합니다.

dilated convolution 블록에서 우리는 서로 다른 확장 속도(r = 1, 2, 4)를 가진 세 개의 연속적인 dilated convolution 연산을 사용하여 바람직한 time resolution에서 형상을 점진적으로 추출한다.

결과 피쳐 맵은 US 블록의 입력으로 사용됩니다. dilated convolution의 세부 사항은 2.2절에 설명되어 있다.

US 블록에서 업샘플링은 시간 방향에서 2배 인자로 선형 보간을 수행합니다.

각 레벨의 채널 번호가 24번 간격으로 감소합니다.

discriminator는 그림 2에 예시되어 있다.

UnetGan의 discriminator. k, s 와 c는 1D convolution의 kernel size, stride와 channel수를 나타낸다.

 

깨끗한 음성 또는 향상된 음성은 혼합물과 연결되고 1D 컨볼루션, 배치 정규화 및 Leaky ReLU를 사용하여 점점 더 많은 수의 피처 맵으로 변환된다.

세 개의 컨볼루션 블록 후에 피처 맵은 결국 높은 수준의 표현으로 압축된다.

이 두 네트워크는 번갈아 훈련된다.

고정 generator G의 경우, discriminator D는 깨끗한 speeches과 강화된 speeches을 구별하도록 훈련된다.

discriminator가 최적일 때 이를 동결하고 generator G를 계속 훈련시켜 discriminator의 정확도를 낮출 수 있다.

2.2 Dilated Convolution

위에서 언급한 바와 같이, dilated convolution은 generator 네트워크에서 사용된다.

이 연산은 원래 wavelet transform[26]을 위해 개발되었으며 나중에 [7]에서 dilated convolution이라고 한다.

커널 요소 사이에 공백을 삽입하여 커널을 팽창시킨다.

수용적 필드 크기를 확대하여 더 큰 컨텍스트를 통합할 수 있습니다 [27].

1-D 입력 신호 x[i]의 경우, 길이 K의 필터 w[k]를 가진 확장 컨볼루션의 출력 y[i]는 다음과 같이 정의된다.

$r$은 dilated rate이다. r = 1일 때, dilated convolution과 기존 컨볼루션은 동일하다.

 

(a) 1D conventional convolution operation을 사용한 3개의 CNN. (b) 지수승으로 증가하는 dilated rate(r=1,2,3,4)를 가지는 1D dilated convolution operation을 사용한 3개의 CNN

 

그림 3은 1-D 신호의 기존 컨볼루션과 확장 컨볼루션(r = 1, 2, 4)을 보여 주며, 여기서 stread = 1, 커널 크기 = 3.

그림 3(a)은 수용 필드 크기가 레이어 수에 따라 선형인 세 개의 순차 컨볼루션 연산 후 7이라는 것을 보여준다.

그림 3(b)과 같이 기하급수적으로 증가하는 확장 속도(r = 1, 2, 4)를 사용하면 수용성 필드 크기가 15로 기하급수적으로 증가합니다.

모델의 dilated convolution 블록은 그림 3(b)과 같은 지수적으로 증가하는 확장 속도(r = 1, 2, 4)를 사용하여 수용 필드의 크기가 기하급수적으로 증가합니다.

2.3 Loss function

신경망 훈련 작업은 매개 변수 조정을 위한 그레이디언트 역 전파를 통해 손실 함수가 중심 역할을 하는 반복 프로세스에서 좋은 매개 변수를 찾는 작업 중 하나이다.

U-Net[9][28]에 대한 이전 연구는 평균 제곱 오차(MSE)를 손실 함수로 사용하고 좋은 성능을 얻음으로써 MSE의 효과를 입증한다.
GAN 기반 네트워크는 대개 적대적 손실을 손실 함수로 채택하여 생성된 결과를 예상과 일치시킨다.

발전기는 적대적 손실이 감소함에 따라 점차적으로 개선된다.

우리의 접근 방식은 MSE 및 적대적 손실을 Eq.2와 같이 발전기 네트워크의 손실 함수로 통합한다.

 

여기서 x는 혼합물이고, y는 훈련 데이터 세트의 깨끗한 음성이며, λ 는 검증 실험을 통해 결정되는 MSE의 가중치이다.

 

 

그 discriminator는 여전히 변하지 않았다.

즉, 혼합 x에서 깨끗한 음성을 참으로 매핑하고 향상된 음성 G(x)를 거짓 조건화하여 거짓으로 매핑하는 역할을 한다.

따라서, 손실 함수는 Eq. 3으로 작성할 수 있다.

 

3. Experiment

3.1 Dataset and metrics

제안된 접근 방식을 평가하기 위해 TIMIT 말뭉치[29]와 NOYX-92 말뭉치[30]가 실험에 사용된다.

TIMIT 말뭉치는 깨끗한 데이터베이스로 사용되고 NOISUX-92 말뭉치는 간섭(noise)으로 사용된다.

우리는 TIMIT에서 750개의 발음을 무작위로 선택하여 훈련 부분(600개의 발화), 검증 부분(50개의 발화), 시험 부분(100개의 발화)의 세 부분으로 나누었다.

 

 training set와 관련하여, 우리는 NOIS X92 말뭉치에서 babble, factory floor1, destroyer 엔진 및 destrainer ops를 선택했다.

각 소음의 처음 2분은 4개의 SNR 중 하나(0dB, -5dB, -10dB, -15dB)에서 training set의 깨끗한 음성과 혼합됩니다.

총 9600개의 훈련 샘플을 산출하며, 각 샘플은 혼합물과 그에 상응하는 깨끗한 음성으로 구성됩니다.

training setnoise 외에도 일반화 성능을 평가하기 위해 공장 바닥 2(NOUX-92 코퍼스)를 선택했다.

각 noise의 마지막 2분은 9개의 SNR 중 하나(0dB, -3dB, -5dB, -7dB, -10dB, -12dB, -15dB, -17dB, -20dB)에서 시험 발화와 혼합되어 4500개의 시험 표본이 생성된다.

유효성 검사 세트는 2250개의 샘플을 포함하는 테스트 세트와 동일한 방식으로 구축됩니다.

모든 샘플의 샘플링 속도는 16000Hz입니다. noisetraining set에서 test noise이 반복되지 않도록 두 부분으로 구분됩니다.

 

우리는 STOI와 PESQ 점수를 사용하여 각각 음성 인텔리전스와 품질을 측정한다.

 

3.2 Training

앞서 언급했듯이, 각 표본은 혼합물과 그에 상응하는 깨끗한 음성으로 구성됩니다.

모든 샘플은 길이가 다릅니다.

각 training epoch, 우리는 혼합물과 깨끗한 음성에서 각각 연속 16384개의 시간 프레임을 랜덤하게 샘플링하여 UNetGAN의 네트워크에 입력한다.

leaning rate = 0.0002, decay rates β1 = 0.9, β2 = 0.999인 Adam 최적기[31]를 사용한다.

우리는 Leaky ReLU의 배치 크기를 150으로, 음의 기울기를 0.1로 설정했습니다.

Eq.2의 λ 는 검증 실험에 따라 설정되며, 이는 최적 모형에서 20과 같다.

 

우리는 두 가지 모두를 최적화하기 위해 generator G와 discriminator D에 대해 gradient descent를 대체적으로 수행한다.

generator  손실은 초기에 일부 진동 동작을 나타내며 900 epoch 이후에 점진적으로 수렴됩니다.

결국 0.771에 가깝습니다.

 

3.3 Baseline Approaches

본 논문은 UNetGAN을 시간 도메인의 GAN 기반 접근법(SEGAN [14]), 주파수 도메인의 GAN 기반 접근법(cGAN for SE [15]), 시간 주파수 마스크를 사용한 BiLSTM 기반 접근법(PSA-BLSTM [16]) 및 타임넷의 U-Net 기반 접근법(TimeNet-Wave-)을 포함한 다음 접근법과 비교한다.

  • SEGAN은 파형 레벨에서 작동하는 GAN 기반 speech enhancement 접근법입니다. 그것은 모든 입력 연설에 고주파 preemphasis filter를 적용한다. 우리는 SEGAN과 동일한 구현[32]을 사용하고 기본 매개 변수를 변경하지 않고 유지한다.
  • cGAN of SE : cGAN for SE는 Isola 등이 제안한 pix2pix 프레임워크를 사용한다. [33] 잡음이 많은 음성 스펙트럼에서 향상된 음성으로의 매핑을 학습한다. 우리는 [15]에서 언급한 것과 동일한 전처리 방법과 구현을 채택한다.
  • PSA-BLSTM : PSA-BLSTM은 phase-sensitive spectrum approximation(PSA) 비용 함수를 사용하여 음성 향상을 위한 양방향 LSTM 네트워크이다. 우리는 모델을 다시 구현하고 [16]의 것과 동일한 하이퍼 매개 변수를 사용한다.
  • Wave-U-Net: Wave-U-Net은 U-Net 아키텍처를 단대단 오디오 소스 분리를 수행하기 위해 1차원 시간 도메인에 적응시킨 것이다. 우리는 [34]에 대한 구현과 그 기본 매개 변수를 사용한다.

3.4 Result and Discussion

 

서로 다른 SNR과 다른 noise에서 UNETGAN의 STOI와 PESQ. N1,N2,N3,N4,N5는 babble, factoryfloor1, destroyerengine, destroyerops and factoryfloor2. 

표 1은 STOI 및 PESQ 측면에서 0dB ~ -20dB의 향상된 음성과 혼합물을 제시한다.

표의 "Mixture" 라인은 혼합물을 나타내고, "Enhanced" 라인은 UNetGAN을 사용한 향상된 연설을 나타냅니다.

"Seen" 열은 training se에 SNR 조건이 존재함을 의미하며, "Un-seen" 열은 training se에 존재하지 않는 SNR 조건을 나타냅니다.

noise N1, N2, N3, N4, N5는 각각 babble, factory floor1, destroyer 엔진, destroyer ops, factory floor2이다.

그 중 모델 training 부분에서는 factoryfloor2이 사용되지 않습니다.

 

표 1에서, 모든 조건에서 speech enhancement 후 STOI와 PESQ의 상당한 개선이 있다.

-5dB보다 낮은 SNR은 일반적으로 매우 낮은 SNR 조건으로 간주된다.

STOI와 PESQ의 평균 개선율은 각각 39.16%와 62.55%이다.

이것은 우리의 접근법이 매우 효과적이라는 것을 나타낸다.

"Seen" SNR 조건에서 STOI와 PESQ의 평균 개선은 34.74%와 57.80%이다.

"Un-seen" 조건에서의 해당 개선은 43.16%와 67.01%로 UNetGAN의 안정성을 반영합니다.

보이지 않는 noise "factoryfloor2"의 평균 개선은 5.55% STOI와 18.33% PESQ를 달성하여 UNetGAN이 우수한 일반화 능력을 가지고 있음을 입증한다.

 

UNetGan의 average performances와 test set에서 base-line approaches

 

표 2에는 UNetGAN의 성능과 테스트 세트의 기준 접근 방식이 나열되어 있습니다.

기준 접근법 중 Wave-U-Net은 가장 높은 STOI(혼합보다 12.54% 높음)를 얻고 PSA-BLSTM은 가장 높은 PESQ(혼합보다 31.13% 높음)를 얻는다.

UNetGAN은 혼합물에 비해 STOI가 39.16%, PESQ가 62.55% 향상되었습니다.

UNetGAN이 다른 어떤 기준 접근법보다 훨씬 더 나은 성능을 발휘한다는 것은 명백하다.

WaveU-Net과 UNetGAN 모두 U-Net과 같은 구조를 사용하지만 dilated convolution 운영, 적대적 학습 및 잘 정의된 구조는 UNetGAN의 우수한 성능에 기여한다.

 

UNetGAN의 average performance과 서로 다른 SNR에서 baseline 접근법의 그림

 

 

그림 4는 UNetGAN의 STOI 및 PESQ와 서로 다른 SNR에서의 기준 접근 방식을 보여준다.

이는 UNetGAN이 무엇보다도 모든 SNR에서 다른 것보다 훨씬 더 우수한 성능을 발휘함을 시사한다.

그림 4에서, SNR이 감소함에 따라, 모든 기준선은 STOI와 PESQ의 혼합물에 점진적으로 접근한다.

즉, SNR이 매우 낮을 때 이러한 접근법의 효과는 매우 제한적입니다.

반대로, 우리의 방법은 매우 낮은 SNR에서 강한 견고성을 보여준다.

 

4. Conclusion

낮은 SNR 조건에서 Speech enhancement은 어려운 작업이다.

본 논문은 voice separation에서의 성능 및 네트워크 훈련에서의 GAN 효과와 관련하여, U-Net을 GAN 기반 프레임워크에 통합하고 SNR 조건이 극히 낮음을 위한 엔드 투 엔드 음성 향상 접근법을 제안하였다.

또한 feature extraction에서 수용성 필드 크기를 확대하기 위해 dilated convolution 연산을 사용했다.

우리의 접근 방식은 최첨단 성능을 달성하고 SEGAN, cGAN for SE, PSA-BLSTM 및 WaveU-Net을 크게 능가한다.

STOI와 PESQ의 평균 개선은 각각 39.16%와 62.55%를 달성한다.

실험은 또한 우리의 모델이 보이지 않는 낮은 SNR 조건과 noise에 강하다는 것을 증명한다.

우리가 아는 한, 이 논문은 극도로 낮은 SNR 조건(최대 -20dB)에서 speech enhancement을 탐구하는 첫 번째 논문이다.

 

 

 

 

 

 

 

 

 

 

 

반응형