The document summarizes speech recognition front-end technologies including voice activity detection (VAD) and speech enhancement. It discusses conventional signal processing based approaches and more recent deep learning based methods. For VAD, it describes adaptive context attention models that can dynamically adjust the context used based on noise type and SNR. For speech enhancement, it proposes a two-step neural network approach consisting of a prior network that makes multiple predictions from noisy features and a post network that combines these using a boosting method to produce enhanced features, allowing end-to-end training without an explicit masking step. The approach aims to better exploit neural network modeling power while reducing computation cost compared to conventional methods or single-step deep learning frameworks.
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Deep Learning Based Voice Activity Detection and Speech Enhancement
1. Speech Recognition Front-End:
Voice Activity Detection & Speech
Enhancement
Juntae Kim, Ph. D Candidate
School of Electrical Engineering
KAIST
For NAVER
2. Voice Activity
Detection
She had your dark suit in greasy
wash water all year.
Local device (smart speaker, robot)
Overview
End Point
Detection
Speech
Enhancement
Speech
Recognition
Server
Today’s topic
3. Voice Activity Detection Using an Adaptive
Context Attention Model
Kim, Juntae, and Minsoo Hahn. "Voice Activity Detection Using an Adaptive Context Attention Model." IEEE Signal Processing Letters (2018).
The most famous VAD
repository in github
4. Voice activity detection (VAD)
Objective: From incoming signal, detecting the speech signal only.
Important Points for VAD:
① Robustness to the various real-world noise environments.
② Robustness to the distance variation.
③ Compact computational cost with low-latency.
Conventional methods:
① Statistical signal processing based approaches. Assume DFT coefficients of speech and noise signal to
Gaussian random variable and conduct the decision by calculating the likelihood ratio.
② Feature engineering based approaches. Harmonicity, energy, zero-crossing rate, entropy and etc.
③ Traditional machine learning based approaches. SVM, LDA, KNN and etc.
5. Deep learning based VAD
Research branches for deep-learning based VAD
Acoustic
Feature
Extraction
Neural network:
DNN, CNN,
LSTM
Decision
Which acoustic features are useful for VAD?
These approaches show outstanding performance,
however, generally needs to multiple features so that
computation cost can be increased.
Can we directly use this raw-waveform for neural network? Generally raw-waveform based approach needs high
computational cost even the performance improvement is slight.
Which neural network architecture make the VAD robust to various noise
environments? Generally many researchers try to apply state-of-the-art
architectures from other field such as LSTM, CNN and DNN but such architecture
show the trade-off according to the noise types.
Which neural network architecture can effectively use the context
information of speech signal for VAD?
6. Deep learning based VAD
Boosted deep neural network (bDNN)
Zhang, Xiao-Lei, and DeLiang Wang. "Boosting contextual information for deep neural network based voice activity detection." IEEE/ACM Transactions on Audio, Speech and Language
Processing (TASLP) 24.2 (2016): 252-264.
𝑥 𝑛 𝑥 𝑛+1
𝑥 𝑛−1
𝑥 𝑛+1+𝑢 𝑥 𝑛+𝑊
Inputs:
Frames subsampled with W=19, u=9 are used as
input.
Combine with average method
Extended outputs through time are used as
output.
Loss : Mean squared error
bDNN shows outstanding performance by
adopting the boosting strategy. However it
only can use fixed context information.
7. Deep learning based VAD
Boosted deep neural network (bDNN)
Zhang, Xiao-Lei, and DeLiang Wang. "Boosting contextual information for deep neural network based voice activity detection." IEEE/ACM Transactions on Audio, Speech and Language
Processing (TASLP) 24.2 (2016): 252-264.
bDNN shows outstanding performance by
adopting the boosting strategy. However it
only can use fixed context information.
In order to solve this problem, Zhang et el.
built multi-stacking model with several
bDNNs that have various context size of inputs.
This structure shows state-of-the-art
performance but the computation cost was 11
times higher than single bDNN. However, this
result implies that if we use the context
information adaptively, we can get some
performance improvement.
8. Deep learning based VAD
Can a single model adaptively use the context information (CI) according to noise types and SNRs?
In noisy acoustic features, there is no ground truth what is proper usage of CI.
Let’s use the reinforcement-like method.
From the input acoustic features, repeatedly find the proper CI usage.
If found CI usage make the classification correct, give some rewards to model.
Motivation
9. Deep learning based VAD
Adaptive context attention model (ACAM)
• Decoder: Determine which context is important. (attention)
• Core network: Given previous hidden state (𝐡 𝑚, 𝑡−1) and the input information with noise
environment (𝐠 𝑚,𝑡), propose the next action to the succeeding module.
• Encoder: Aggregate the information of the results of current action.
Start
No
Yes
Stop
𝑚, ,
𝑚, 𝑡 ( 𝑚, 𝑡−1
𝑚, 𝑡 ( 𝑚, 𝑚, 𝑡
𝑚, 𝑡 ( 𝑚, 𝑡, 𝑚, 𝑡
𝐡 𝑚, 𝑡 (𝐡 𝑚, 𝑡−1, 𝐠 𝑚, 𝑡 𝑚 (𝐡 𝑚, 𝑡
⋯
Core network
Attention Attention
𝐡 𝑚, 𝑡−1 𝐡 𝑚, 𝑡
𝐡 𝑚, 𝑇
𝛒 𝑚, 𝑡
𝑚, 𝑡 [0.05, 0. , 0. , 0.5, 0. , 0. , 0.05] 𝑚, 𝑡+1 [0.05, 0. , 0.05 0.6 0.05, 0. , 0.05]
𝛒 𝑚, 𝑡+1 𝑚
𝐠 𝑚,𝑡 𝐠 𝑚,𝑡
10. Experimental Setup
Training Phase (20 h)
• Speech dataset: 4,620 utterances from the training set in the TIMIT corpus.
• Noise dataset: 20,000 types from Sound effect library.
• Noise addition was conducted with a randomly selected SNR between −10 and 12 dB.
Test phase
D1 dataset (2.4 h)
• Speech dataset: 192 utterances from the training set in the TIMIT corpus.
• Noise dataset: 15 types of noise from NOISEX-92 corpus. (jet cockpit1, jet cockpit2, destroyer engine,
destroyer operations, F-16 cockpit, factory1, factory2, HF channel, military vehicle, M109 tank,
machine gun, pink, Volvo, speech babble, and white).
• Noise addition was conducted with SNRs −5, 0, 5, 10 dB.
D2 dataset (2 h)
• Real world dataset recorded by Galaxy 8.
D3 dataset (72 h)
• Youtube dataset recorded in real-world.
11. Experimental Setup
Zhang, Xiao-Lei, and DeLiang Wang. "Boosting contextual information for deep neural network based voice activity detection." IEEE/ACM Transactions on Audio, Speech and Language
Processing (TASLP) 24.2 (2016): 252-264.
Acoustic features: Multi-resolution cochleagram features (MRCG)
12. ACAM 1: Fix the attention.
ACAM 2: Train the model with 𝐽𝑠𝑣 only.
ACAM 3: Train the model with 𝐽.
D1: TIMIT+NoiseX92 (2.4h), D2: Recorded dataset(2h), D3: YouTube Dataset(72h)
Performance Measure: area under the ROC curve (AUC) in %.
Number of parameters for each model.
HFCL MSFI DNN bDNN LSTM ACAM
# param. ▪ ~2 k ~3015 k ~3018 k ~2097 k ~953 k
Computation time (ms) for each model. The number in bracket is the MRCG extraction time.
HFCL MSFI DNN bDNN LSTM ACAM
The average p
rocessing tim
e per second
of signal
9.04 67.73 0.88 + (206) 9.24 + (206) 31.61 + (206) 10.12 + (206)
Experimental Results – Investigation of the TSN framework
13. End-to-End Speech Enhancement Using
Boosting-Based Two-Step Neural Network
Kim, Juntae, and Minsoo Hahn. “End-to-End Speech Enhancement Using Boosting-Based Two-Step Neural Network" submitted to IEEE Signal Processing Letters (2018).
14. Speech enhancement (SE)
Objective: From incoming noisy speech signal, removing the noise signal, while conserving the speech signal.
𝑥 ( ) ො 𝑥
Important Points for SE:
① Perceptual quality (related with speech distortion).
② Noise reduction.
③ Computational cost.
Conventional methods:
)( )H w
ˆ( )y t( )y t
( ) 1
( )
( ) ( ) 1 ( ) / ( )
x
x n n x
S w
H w
S w S w S w S w
2 2
( ) [ ( )] , ( ) [ ( )]x nS w E F x t S w E F n t
* Assumption:
x(t), n(t) are independent.
Estimated from silence region (by
conducting VAD)
How we can find the H(w)? Minimum mean squared error estimation (MMSE).
2
minimize [( ( ) ( ) ( )) ]E Y w H w X w
Trade off
15. Deep learning based SE
ˆ |t tf x Y
ˆ |t tf x Y
Method 1: Directly maps the noisy log power spectral features (LPS) to clean LPS.
where ොxt ∈ ℝN is an enhanced LPS vector, yt ∈ ℝN is a noisy LPS vector, t is the frame index, N is
the feature dimension, f ( ∙ | θ) denotes the neural network-based function.
Xu, Yong, et al. "A regression approach to speech enhancement based on deep neural networks." IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP) 23.1 (2015): 7-19.
1. Fully Convolutional Neural Network
2. Deep Neural Network
3. Etc.
16. Deep learning based SE
Method 2: SE is carried out by adopting the masking method.
where ොxt(k), xt k , and yt k are the kth element of ොxt, xt, and yt, respectively, and xt∈ℝN is a clean
LPS vector, k is frequency bin, and mt k is a mask value for kth element. The IRM in second line is
the most widely used one for the mask.
1/2
ˆ , 2 log ty kmask
t t t tx k f x k y k m k e
1/2 t tx k y kIRM
tm k e
Clean/Noisy
samples
Noisy
samples
Feature
extraction
DNN
Training
Mask
extractionx t , y(t)
y(t)
m(t)
Feature
extraction
Reconstructi
on
ොx(t)
Training stage
Enhancement stage
Y
Y
𝐘
ෝm(t)
17. Deep learning based SE – Summary
Conventional
Approaches
Method 2
LSTM
Method 1
Fully convolutional network
(FCN)
GAN
Multitask learning
Convolutional LSTM
DNN with skip connection
Multitask learning
Ideal ratio mask (IRM)
Complex ideal ratio mask (cIRM)
MMSE
Wiener filtering
Optimally modified log-
spectral amplitude
Minimum variance distortionless Response
(MVDR)
Two-step network (TSN)
Conventional Approaches
Pros:
① Good! but only in specific noise environment (stationary noise).
Cons:
① Vulnerable in non-stationary noise environment
② Computation cost is relatively high (matrix inversion operation)
③ Model size is small (only have to save the impulse response H(w)).
Method 1
Pros:
① Good! compared to conventional approaches. But some muffled sound (smoothing effect in the spectrogram)
is investigated.
② Strong performance in unseen noise environments.
③ Computation cost is cheap if we use simple acoustic features such as log-power spectra and simple
architecture such as DNN.
Cons:
① In order to reduce the speech distortion, GAN based SE methods were proposed. But training is quite hard
because of over-regularization.
② According to used architecture, there is some trade-off between noise types.
③ Model size is relatively big (many parameters.).
④ Some neural network types (bi-directional RNN) prevent the online enhancement.
⑤ Phase reconstruction seems to be hard in this framework.
Method 2 compared to Method 1
Pros:
① Phase reconstruction become easier than method 1.
② There is some performance improvement if we use method 1
framework. (Some paper deny this fact.)
Cons:
① Additional masking operation is needed.
② Even though the neural network can model any arbitrary function,
there aren’t solid reason the masking method outperform the
method 1. According to used architecture, there is some trade-off
between noise types.
18. Two-Step Network
Clean/Noisy
samples
Noisy
samples
Feature
extraction
Prior Net
Training
x t , y(t)
Feature
extraction
Reconstructi
on
ොx(t)
Training stage
Enhancement stage
Y
Y
𝐗, 𝐘
Post Net
Training
Prior Net
Enhancing
Post Net
Enhancing
𝐗∗, 𝐘
*
ˆ , , ,mask post
t t t t tf f x x y X Y
Proposed Method: SE is carried out in end-to-end manner but implicitly considering the masking method (Our model
directly maps noisy features to clean features).
y(t)
Why end-to-end?
① We can share acoustic features with following modules (speech recognition system).
② We can save computation cost (no additional masking operation).
③ We can fully exploit the potential modeling power of neural network.
19. Two-Step Network
( )pri
g pri-NN
y 𝑡−1 y 𝑡y 𝑡−2
y 𝑡 y 𝑡+1y 𝑡−1
y 𝑡+1 y 𝑡+2y 𝑡
𝐱 𝑡−1 𝐱 𝑡
1
𝐱 𝑡−2
−1
𝐱 𝑡 𝐱 𝑡+1
1
𝐱 𝑡−1
−1
𝐱 𝑡+1 𝐱 𝑡+2
1
𝐱 𝑡
−1
𝐗 𝑡
∗
𝐘𝑡
ො𝐱 𝑡
post-NN
𝐕𝑡
,CI
tX
pred
tX
*
,pri
t t k k
g
X Y
* ( )
,m pred CI
t t m k t tm k
X x X X
Why multiple outputs for pri-NN?
We can get multiple predictions Xt
pred
for xt.
From multiple predictions, we can adopt the
boosting method.
Simplest boosting method:
( )1
ˆ m
t t
mM
x x
20. Two-Step Network
( )pri
g pri-NN
y 𝑡−1 y 𝑡y 𝑡−2
y 𝑡 y 𝑡+1y 𝑡−1
y 𝑡+1 y 𝑡+2y 𝑡
𝐱 𝑡−1 𝐱 𝑡
1
𝐱 𝑡−2
−1
𝐱 𝑡 𝐱 𝑡+1
1
𝐱 𝑡−1
−1
𝐱 𝑡+1 𝐱 𝑡+2
1
𝐱 𝑡
−1
𝐗 𝑡
∗
𝐘𝑡
ො𝐱 𝑡
post-NN
𝐕𝑡
,CI
tX
pred
tX
Simplest boosting method:
( )1
ˆ m
t t
mM
x x
𝐱 𝑡
y 𝑡 y 𝑡+1y 𝑡−1
𝐱 𝑡
1
𝐱 𝑡
−1
y 𝑡+1 y 𝑡+2y 𝑡y 𝑡−1 y 𝑡y 𝑡−2
Drawback 1: are from different context.
The data distribution across the frequency dimension can be
different each other.
(1) (2) (3)
, ,t t tx x x
Input contexts are different.
21. Two-Step Network
( )pri
g pri-NN
y 𝑡−1 y 𝑡y 𝑡−2
y 𝑡 y 𝑡+1y 𝑡−1
y 𝑡+1 y 𝑡+2y 𝑡
𝐱 𝑡−1 𝐱 𝑡
1
𝐱 𝑡−2
−1
𝐱 𝑡 𝐱 𝑡+1
1
𝐱 𝑡−1
−1
𝐱 𝑡+1 𝐱 𝑡+2
1
𝐱 𝑡
−1
𝐗 𝑡
∗
𝐘𝑡
ො𝐱 𝑡
post-NN
𝐕𝑡
,CI
tX
pred
tX
Drawback 2: We cannot use Xt
CI which is highly related with 𝐱 𝑡,
because it corresponds to neighboring frames.
Simplest boosting method:
( )1
ˆ m
t t
mM
x x
Drawback 3: We cannot use 𝐘t We cannot implicitly model
the masking method.
*
ˆ , , ,mask post
t t t t tf f x x y X Y
Also, according to noise types, 𝐘t can have intact clean speech
features in some frequency band.
22. Two-Step Network
( )pri
g pri-NN
y 𝑡−1 y 𝑡y 𝑡−2
y 𝑡 y 𝑡+1y 𝑡−1
y 𝑡+1 y 𝑡+2y 𝑡
𝐱 𝑡−1 𝐱 𝑡
1
𝐱 𝑡−2
−1
𝐱 𝑡 𝐱 𝑡+1
1
𝐱 𝑡−1
−1
𝐱 𝑡+1 𝐱 𝑡+2
1
𝐱 𝑡
−1
𝐗 𝑡
∗
𝐘𝑡
ො𝐱 𝑡
post-NN
𝐕𝑡
,CI
tX
pred
tX
Idea: Try to use all the useful information Xt
pred
, Xt
CI, Yt that
related with xt.
Simplest boosting method:
( )1
ˆ m
t t
mM
x x
2 1 2 2*
, ( ) .
N
t t tconcat set
V X Y
However, we cannot use the simple averaging method because
of Xt
CI, Yt .
Convolution based boosting for filter out some noisy
information while aggregating target-related information from
each feature vectors.
23. Two-Step Network
( )pri
g pri-NN
y 𝑡−1 y 𝑡y 𝑡−2
y 𝑡 y 𝑡+1y 𝑡−1
y 𝑡+1 y 𝑡+2y 𝑡
𝐱 𝑡−1 𝐱 𝑡
1
𝐱 𝑡−2
−1
𝐱 𝑡 𝐱 𝑡+1
1
𝐱 𝑡−1
−1
𝐱 𝑡+1 𝐱 𝑡+2
1
𝐱 𝑡
−1
𝐗 𝑡
∗
𝐘𝑡
ො𝐱 𝑡
post-NN
𝐕𝑡
,CI
tX
pred
tX
1
,l l l
t t
H K H
1
1 1
, , , 1, ,
l l
I S
l l l
t t
i u
f j u i j f u i
H K H
where Ht
l∈ℝN×O l
and Kl∈ℝS l×I l×O l
are the output
feature maps and the convolutional kernel respectively, S l and
I l and O l denote the size of the convolutional kernel and the
number of input and output feature maps, respectively, from the
l-th convolutional layer.
Simplest boosting method:
( )1
ˆ m
t t
mM
x x
Idea: Convolution based boosting for filter out some noisy
information while aggregating target-related information from
each feature vectors.
24. Two-Step Network
( )pri
g pri-NN
y 𝑡−1 y 𝑡y 𝑡−2
y 𝑡 y 𝑡+1y 𝑡−1
y 𝑡+1 y 𝑡+2y 𝑡
𝐱 𝑡−1 𝐱 𝑡
1
𝐱 𝑡−2
−1
𝐱 𝑡 𝐱 𝑡+1
1
𝐱 𝑡−1
−1
𝐱 𝑡+1 𝐱 𝑡+2
1
𝐱 𝑡
−1
𝐗 𝑡
∗
𝐘𝑡
ො𝐱 𝑡
post-NN
𝐕𝑡
,CI
tX
pred
tX
Loss function
22
ˆ ,prior
loss post pri t t t t F
t
J J J x x X X
, , , , ,t t t t X x x x
prior
tX
If λ is set to 0, we cannot consider that Xt
*
contains Xt
pred
because there is no evidence that Xt
pred
includes the
prediction of xt, which means that the pri-NN loses the
characteristic as weak-predictors. Thus, the boosting effect
of TSN from multiple predictions would be negated.
25. Experimental Setup
Training Phase
• Speech dataset: 4,620 utterances from the training set in the TIMIT corpus.
• Noise dataset: 100 types of noise from HU dataset, 50 types from Sound effect library.
• Noise addition was conducted with a randomly selected SNR between −5 and 20 dB.
• We repeat this procedure until the length of the entire training dataset is approximately 50 h.
• 90% of the training dataset is used in training the model and the remaining 10% in validation.
Test phase
D1 dataset
• Speech dataset: 192 utterances from the training set in the TIMIT corpus.
• Noise dataset: 15 types of noise from NOISEX-92 corpus. (jet cockpit1, jet cockpit2, destroyer engine,
destroyer operations, F-16 cockpit, factory1, factory2, HF channel, military vehicle, M109 tank,
machine gun, pink, Volvo, speech babble, and white).
• Noise addition was conducted with SNRs −5, 0, 5, 10 dB.
D2 dataset
• Real world dataset recorded by Galaxy 8.
26. Experimental Setup
Additional Information
• Sampling rate: 8kHz.
• Window shift and length: 10 and 25ms
• Log-power spectra (LPS) were used for acoustic features.
• Z-score-normalization was conducted across the frequency dimension for LPS.
• When reconstructing the waveform, the noisy phase information was used.
Baseline Methods
• Deep neural network (DNN)
• DNN with skip connection (sDNN)
• Ideal ratio mask with DNN (IRM)
• Fully convolutional neural network (FCN)
• Long short term memory recurrent neural network (LSTM)
28. Experimental Results – Investigation of the TSN framework
• TSN-1 was trained with Vt in which Xt
∗ is substituted to Xt
pred
to observe the influence of Xt
CI.
• TSN-2 was trained with Vt, from which Yt is removed to investigate the effect of implicitly modeling
the masking method.
• TSN-3, our proposed method, was trained with Vt.
Using 𝐕𝑡 is effective!
Well training the Pri-NN is more
important than post-NN.
22
ˆ ,prior
loss post pri t t t t F
t
J J J x x X X
Boosting is important for
performance improvement.
30. Experimental Results – Preference Test–D2
The number of participants: 20
Test: For each pair (noisy, DNN, TSN), choose the best one. (In the aspect of noise reduction and speech distortion.)
20 pairs were used.
Result: TSN 85%, DNN 15%,
18
10p
Noisy TSN DNN