2018년 8월 23일 목요일

180823 Beamforming notes

Acoustic Source Separation 11장 - Recent Advances in Multichannel Source Separation and Denoising Based on Source Sparseness

무슨 watson distribution 뭐 어쩌구저쩌구 있는데 결국 cGMM이 최고다

what?) sawada 방식의 permutation solving은 뭘까

(original, GEV) Lukas

제안된 방식과 달리 주파수 별로 모델 만드는 기존 EM 방식(DNN 아닌거)은 주파수 개별적으로 고려해서 뭐 음성의 전체 구조를 반영하지 못했다

GEV BF의 경우 matrix inversion을 피한다(대신 EVD가 오래걸리잖아? post filtering도 필요하고)

각 채널에서 나온 mask 가지고 noise 꺼 speech 꺼 만든다. mean 대신 median 씀

채널 별로 tf domain에서 mask가 튀어나오는데 이걸 mean보다는 median을 쓰는게 더 좋다(outliers때문)

Noise와 Target의 IBM 만들 때 정해놓은 threshold 이하/이상이어야 1로 줌. (대충 크다고 다 1로 주면 안됨)

IBM의 경우 CE criterion

why?) MVDR BF의 경우, 특정 주파수에서 mask가 매우 sparse할 경우 수치적으로 불안정 할 수 있다

(weight 기반)+AM 마소

가정: 발화 구간 중 음원이 움직이지 않는다고 치자

BF 방식: filter-and-sum, weight 기반

?) 그냥 멀티채널 신호를 DNN에 집어넣는 것은 DNN의 flexibility가 커서 좋지 않다

BF까지 computational node에 넣자

median pooling 좋은 줄은 아는데 (아마 편의상) mean pooling 썼다 다들 그냥 mean 쓰더라(사실 computational graph에 넣기 쉬워져서 그런것 같음)

그래서 adaptative라고 써놨지만 사실 그냥 발화 하나에 대해 통으로 weight 구한다 (초기 아이디어라 그런듯)

weight 추정에는 GCC feature를 쓴다

DOA 대신 weight를 추정하는 이유: 둘다 비슷하긴 한데 weight로 하면 energy 정보도 담을 수 있다

AM과 BF모듈의 gradient dynamic range가 매우 다르기 때문에 세심하게 트레이닝 -> 나눠서 하고 나중에 jointly

(time filter 기반)+AM gated feedback 구글 interspeech 17

우리 방식을 NAB라고 부르겟다 neural network adaptive beamforming

크게 filter prediction(FP) -> filter-and-sum(FS) -> AM 모듈로 구성된다 ( Multitask learning 용은 빼고)

여기서 FS 부분은 학습과는 무관

raw wave input 사용

time domain filter를 추정함. stft filter도 시험해보긴 함. 근데 CFFT feature를 쓰면 filter 차원이 매우 높아짐

gated feedback이 핵심 요소인데 RNN cell과 비슷한 아이디어임.

gated feedback: AM에서 나오는 매우 sparse한 CD states(13,522 senone) 벡터를 FP모듈에 feedback

그냥 집어넣으면 초반 학습 시 악영향을 줄 수 있으므로 LSTM cell의 gate처럼 구성함. 그냥 CD states 라고 해서 다 들어가지 않게 만듬. gated feedback은 원래 input과 붙여서 FP에 집어넣음

(adaptive GEV) DeLiang Wang ICASSP 2017 .pdf

Lukas 방식보다 약간 더 진보

frame마다 adaptively update

구글스콜라에서 찾은 올해 나온 논문

Rank-1 constrained Multichannel Wiener Filter for speech recognition in noisy environments

(제안된 방법 수식만 대충 읽음)

x, n의 mask는 LSTM으로 추정함

mask를 통해 얻은 x, n의 acorr를 구함

BF steering vector h 구하는 방식 중 SDW-MWF라는게 있음 (solution 구하는 과정이 매우 복잡)

rank-1 assumption: xx’ = source * gg’ 인데, 여기서 gg’의 rank가 1임 (음성 소스가 하나라고 가정ㅇㅇ)

(g는 acoustic transfer function vector)

하여튼 그렇다면(중간과정을 모르겟다) xx’ 의 rank도 1이 되기 때문에, h를 좀 더 간단히 나타낼 수 있음.

이렇게 하면 real 환경에 한해 성능이 좋음.

대충 읽은 것

Speaker Adaptation for Multichannel End-to-End Speech Recognition

  • multichannel input일 때 nn-bf + ((encoder + attention + decoder), (CTC)) 를 구성하고 speaker adaptation을 적용했을 때 어떤 모듈 간의 조합에 대해 성능이 좋은지 알아봄
  • 결론: 그냥 이것저것 빼고 음향모델 encoder만 adaptation 적용하는게 가장 좋다. nn-bf에 화자 특성까지 적응 시킬 필요 없는 것 같다.
  • 토의(뒷부분): MVDR BF의 constraint가 너무 강해서(??) 인식률이 좀 떨어진게 아닐까(????)

이 논문을 이해하기 위해서는 아래 논문들을 차례로 읽어야 한다.

  • IEEE Journal of Selected Topics in Signal Processing, 2017) A unified architecture for multichannel end-to-end speech recognition with neural beamforming
  • ICML17) Multichannel end-to-end speech recognition
  • IS17) Advances in joint CTC-attention based end-to-end speech recognition with a deep CNN encoder and RNN-LM
  • IC17) JOINT CTC-ATTENTION BASED END-TO-END SPEECH RECOGNITION USING MULTI-TASK LEARNING

Joint Localization and Classification of Multiple Sound Sources Using a Multi-task Neural Network

speech source localization용 CNN과

speech / non speech classification용 CNN을 함께 붙여서 트레이닝.

SRP PHAT 이김.

MULTI-VIEW NETWORKS FOR DENOISING OF ARBITRARY NUMBERS OF CHANNELS

로우 웨이브에서 다시 로우 웨이브 만드는거고

마이크가 아무렇게나 배치되어 있을때 SDR 높이는거임

댓글 없음:

댓글 쓰기