본문 바로가기

Data-science/deep learning

[논문 읽기] UIS-RNN 설명, FULLY SUPERVISED SPEAKER DIARIZATION 설명 - 1

728x90

fully supervised speaker diarization (완전 지도 화자 분리) 방법을 제안한다.

UIS-RNN (unbounded interleaved-state rnn) 의 약자로 경계가 없는, 교차로 배치된 상태의 RNN이다.

입력 음성에서 화자-판별자 임베딩 벡터가 추출되어 주어지면, 각각의 화자는 파라미터를 공유하는 RNN에 의해 모델링 된다. 이때 다른 화자에 대한 RNN 상태는 시간 도메인에서 교차로 배치된다.

이 RNN은 자연스럽게 거리기반중국집프로세스(ddCRP??)에 통합되어 화자의 수를 모르는 경우도 수용가능하게 한다.

본 시스템은 완전 지도학습이다. 예를 들어 시간이 표시된, 화자 레이블링이된 예제로 부터 학습가능하다.

 

전형적으로 누가 언제 말을했냐의 문제를 해결하는 것을 목표로 한다.

종래의 방법은 4가지 단계로 구성. 1. 음성 분할 모듈 2. 임베딩 추출 모듈 3. 군집 모듈, 4. 재분할 모듈

베이스라인

베이스라인 방식은 음성을 슬라이딩 윈도우로 나눈 후 LSTM을 거쳐 d-vector를 추출한다. 그리고 segment들로 분할하고 클러스터링을 한다.

시간에 따른 음성 분할 X에 대응되는 레이블을 Y라 하자. UIS-RNN은 타임 스탭에 따라 x1, y1 다음에 x2, y2일 확률을 이전 확률에 곱하는 방식...이런식으로 쭉 곱하면서 생성하는 과정이다.

화자의 변화를 모델링하기 위해 z를 도입하는데, 화자 변화가 있을 경우 1 아닐 경우 0을 나타낸다.

이렇게 나타낸 수식을 sequence generation / speaker assignment / speaker change 세 부분으로 나누고, 각 부분의 곱으로 나타낼 수 있다.

z의 분포를 가정하는데, z의 확률은 0아니면 1이다. 이를 수식으로 표현하면  t-1의 z를 알고 있을 때 t에서의 z가 0일 확률은 람다의 함수로 정의 할 수 있다. z_t는 시간이 t일 때 화자의 변화를 나타내므로 z_t=0은 y_t= y_(t-1)을 의미하고 이는 1-z(t)로 표현 가능하다. (z(t)=0이면 이 확률은 1, z(t)=1이면 이 확률은 0이다.)

일반적으로 g는 어떤 RNN같은 어떤 함수든 가능한데, 여기선 단순하게 그냥 0과 1사이의 상수로 정의한다. 이 말은 즉슨 z가 독립 이항 변수임을 말한다. z는 P_0이란 확률을 가지는 iid를 따른다. (random variable이 1)independent(독립적이고), 2)identically distribution(같은 확률분포를)가지면 iid)

z(t) 가 1이면 화자가 변했다는 뜻이고 두 가지 경우가 있다. 새로운 화자가 나타난 경우와 이전 화자중에 한 명일 경우.

이전 화자 중에 한 명일 경우의 확률은 N_(k, t-1)에 비례하는데, N_(k, t-1)은 k화자가 y_[t-1]에 나타난 블록의 개수를 의미한다. 가령 N_1,5는 1화자가 나타난 블록의 개수 이므로 1개, N2,5는 2화자가 나타난 블록의 개수이므로 2개 이런식이다.

새로운 화자가 나타난 경우 상수 알파에 비례한다고 하면 Z가 주어졌을 때 Y의 결합 확률은 식8과 같다.

화자 임베딩 X는 RNN의 출력으로 매게화된 분포에의해 발생한다고 가정한다. 이 RNN은 다른 화자에 따라 다중 인스턴스화를 가지고 있는데, 그들은 RNN 파라미터 세타의 같은 집합을 공유한다. 

여기선 GRU를 사용하고 화자 y_t에 대응하는 GRU의 상태를 h_t, 파라미터가 주어졌을 때 h_t가 네트워크에 들어간 결과물 m_t를 전체 네트워크의 출력으로 정의한다. t'을 화자 y_t를 마지막으로 본 시점이라고 하면 h_t는 10과 같이 정의할 수 있다.

2에 이어서 계속