Generalized End to End Loss For Speaker Verification

Li Wan, Quan Wang, Alan Papir, Ignacio Lopez Moreno

πŸ“Œ Abstract

  • μƒˆλ‘œμš΄ loss function(Generalized End-to-End, GE2E) μ œμ•ˆ
  • λ³Έ μ €μžλ“€μ΄ 이전 λ…Όλ¬Έμ—μ„œ μ œμ•ˆν•˜μ˜€λ˜ Tuple-based End-to-End (TE2E) loss function보닀 speaker verification λͺ¨λΈμ„ 더 효율적으둜 ν›ˆλ ¨
  • EER을 10%이상 κ°μ†Œ μ‹œν‚€λ©΄μ„œ, λ™μ‹œμ— ν›ˆλ ¨ μ‹œκ°„μ„ 60%κΉŒμ§€ 단좕
  • λ˜ν•œ 닀쀑 ν‚€μ›Œλ“œ (β€œOK google”, β€œHey google”)와 μ—¬λŸ¬ 방언을 μ§€μ›ν•˜λŠ” Domain 적응을 μœ„ν•œ MultiReader κΈ°μˆ μ„ μ†Œκ°œ


β… . Introduction

1.1 Background

βœ” Speaker Verfication

  • ν™”μžμ˜ μ•Œλ €μ§„ λ°œν™” (등둝 λ°œν™”, Enrollment)λ₯Ό 기반으둜 ν…ŒμŠ€νŠΈ λ°œν™”κ°€ νŠΉμ • ν™”μžμ— μ†ν•˜λŠ”μ§€ 확인


βœ” TD-SV / TI-SV

  • 등둝과 검증에 μ‚¬μš©λ˜λŠ” λ°œν™”μ˜ μ œν•œμ— 따라 두 가지 μΉ΄ν…Œκ³ λ¦¬λ‘œ λ‚˜λ‰¨
  • TD-SV : Text-Dependent Speaker Verification (같은 λ‚΄μš©μ„ λ°œν™”)
  • TI-SV : Text-Independent Speaker Verification (λ‹€λ₯Έ λ‚΄μš©μ„ λ°œν™”)


βœ” i-vector system

  • TD-SV와 TI-SVμ—μ„œ λͺ¨λ‘ 효과적인 μ ‘κ·Ό λ°©μ‹μœΌλ‘œ, 졜근 Nerual Networkλ₯Ό μ΄μš©ν•˜μ—¬ 이λ₯Ό λŒ€μ²΄ν•˜λŠ”λ° 집쀑
  • Nerual Networkλ₯Ό μ΄μš©ν•΄ μΆ”μΆœν•œ vectorλ₯Ό embedding vector(d-vector) 라고 ν•˜λ©° i-vector와 μœ μ‚¬ν•˜κ²Œ κ³ μ • μ°¨μ›μœΌλ‘œ ν‘œν˜„μ΄ κ°€λŠ₯


1.2 TE2E

βœ” LSTM network

img
  • 각 ν›ˆλ ¨ λ‹¨κ³„μ—μ„œ, ν•˜λ‚˜μ˜ ν…ŒμŠ€νŠΈμš© λ°œν™” 𝒙𝑗~와 등둝 λ°œν™” π’™π‘˜π‘š tuple을 μž…λ ₯으둜 μ‚¬μš©

$x$: κ³ μ • 길이의 log melfiterbank
$j, k$: λ°œν™”ν•œ ν™”μž
($j$ 와 $k$ λŠ” 같을 수 μžˆμŒλ§Œμ•½ $x_{𝑗\tilde{}}$와 π‘€κ°œμ˜ 등둝 λ°œν™”κ°€ 같은 ν™”μžλΌλ©΄ tuple positive ($𝑗=π‘˜$), λ‹€λ₯΄λ©΄ negative


  • 각 tuple에 λŒ€ν•΄ LSTM output을 L2 μ •κ·œν™”

    ${𝒆_𝑗~,(𝒆{k_1},…,𝒆_{k_M})}$ - $e$ : embedding


  • Tuple의 centroidλŠ” M개의 λ°œν™”λ‘œλΆ€ν„° μƒμ„±ν•œ voiceprint
img


  • Cosine Simliarity Function
img

𝑀,𝑏 λŠ” ν•™μŠ΅λ˜λŠ” λ³€μˆ˜


  • TE2E loss
img
img

$\sigma(π‘₯) = 1/(1+𝑒^{βˆ’π‘₯})$ : sigmoid function
$\delta(j, k) = 1~(𝑗=π‘˜)or0~(π‘—β‰ π‘˜)$




β…‘. GE2E Model

2.1 Training Method

βœ” GE2E training

  • Fig. 1에 λ‚˜νƒ€λ‚œ 것과 같이 N( ν™”μž 수 ) X λ°œν™” 수 batch ν˜•νƒœλ‘œ λ§Žμ€ 수의 λ°œν™”λ₯Ό ν•œλ²ˆμ— 처리
img

$x_{ji}$: ν™”μž $j$ 의 $i$ 번째 λ°œν™”λ₯Ό μΆ”μΆœν•œ νŠΉμ§• 벑터
$𝑓(𝒙_{ji}; π’˜)$: LSTM κ³Ό linear layer λ₯Ό 거치고 λ‚˜μ˜¨ λ§ˆμ§€λ§‰ 좜λ ₯
$e_{ji}$: L2 μ •κ·œν™” ν›„ embedding 벑터

img


img

Embedding vector $e_{ji}$, λͺ¨λ“  centroid $c_k$λ‘œκ³„μ‚° $(1≀𝑗,π‘˜β‰€π‘,1≀𝑖≀𝑀)$
$𝑀 > 0$ : cosine similarity 값이 클수둝 similarity λ₯Ό 크게 ν•˜κΈ° μœ„ν•˜μ—¬ μ–‘μˆ˜λ‘œ μ„€μ •


βœ” TE2E와 GE2E의 차이점

  • TE2E의 similarity (equation 2 λŠ” embedding vector 𝒆𝑗~와 ν•˜λ‚˜μ˜ tuple centroid π’„π‘˜μ‚¬μ΄μ˜ μœ μ‚¬ν•¨μ„ 계산 (scalar)
  • GE2E (equation 5)λŠ” 각 embedding vector 𝒆𝑗𝑖와 λͺ¨λ“  쀑심 π’„π‘˜μ˜ μœ μ‚¬ν•¨μ„ κ³„μ‚°ν•˜μ—¬ ν–‰λ ¬λ‘œ ꡬ좕


βœ” λͺ©μ 

  • ν›ˆλ ¨λ™μ•ˆ , 각 λ°œν™”μ˜ embedding 이 본인 λ°œν™”μ˜ centroid μ™€λŠ” μœ μ‚¬ν•¨κ³Ό λ™μ‹œμ— λ‹€λ₯Έ ν™”μžμ˜ centroid μ™€μ˜ κ±°λ¦¬λŠ” λ©€κ²Œ (fig 1. μ—μ„œ μƒ‰μƒμ˜ 값은 크고 νšŒμƒ‰μ˜ 값은 μž‘κ²Œ
  • Fig. 2μ—μ„œ νŒŒλž€μƒ‰ embedding vector κ°€ κ·Έ ν™”μžμ˜ centroid(νŒŒλž€μƒ‰ μ‚Όκ°ν˜•)κ³Ό κ±°λ¦¬λŠ” κ°€κΉŒμš°λ©° , λ‹€λ₯Έ ν™”μžμ˜ centroid(빨간색, 보라색 μ‚Όκ°ν˜•) κ³ΌλŠ” 거리가 멀도둝
img


βœ” Softmax - Similarity matrix

  • $S_{ji,k}$에 softmax λ₯Ό μ μš©ν•˜μ—¬ j 와 k κ°€ 같은 ν™”μž 일 κ²½μš°λŠ” 좜λ ₯ 값을 1, λ‹€λ₯Έ ν™”μžμΌ 경우 0 이 λ˜λ„λ‘ 함
  • 각 embedding vector λ₯Ό κ·Έ ν™”μžμ˜ centroid μ™€λŠ” κ°€κΉκ²Œ ν•˜κ³  , λ‹€λ₯Έ ν™”μžμ˜ centroid 둜 λΆ€ν„°λŠ” λ©€μ–΄μ§€κ²Œ 함
img


βœ” Contrast - Similarity matrix

  • Contrast lossλŠ” positive 쌍과 κ°€μž₯ negative ν•œ 쌍으둜 μ •μ˜
  • λͺ¨λ“  λ°œν™”μ— λŒ€ν•΄ 두 가지 κ΅¬μ„±μš”μ†Œκ°€ loss 에 μΆ”κ°€

    (1) embedding vector와 κ·Έ ν™”μžμ˜ voiceprint μ‚¬μ΄μ˜ positive 일치
    (2) λ‹€λ₯Έ ν™”μžλ“€μ˜ λ°œν™” 쀑 κ°€μž₯ 높은 μœ μ‚¬μ„±μ„ κ°–λŠ” voiceprint 의 negative 일치

img


βœ” Softmax&Contrast - Similarity matrix

  • TI-SV 의 경우 softmax loss κ°€ μ•½κ°„ 더 λ‚˜μ€ μ„±λŠ₯을,, TD SV 의 경우 contrast loss κ°€ 더 λ‚˜μ€ μ„±λŠ₯을 보여 두 가지 GE2E loss 의 κ΅¬ν˜„μ΄ λͺ¨λ‘ μœ μš©ν•¨μ„ 발견
  • $e_ji$제거 : ν™”μžμ˜ centroid κ³„μ‚°μ‹œ , ν›ˆλ ¨μ΄ μ•ˆμ •λ˜κ³  μ‚¬μ†Œν•œ 문제λ₯Ό ν”Όν•  수 μžˆλ„λ‘ λ„μ™€μ€Œ
  • j 와 k κ°€ 같은 ν™”μžμΌ κ²½μš°λŠ” (1) λŒ€μ‹  (8) 을 μ‚¬μš©ν•˜μ—¬ centroid 계산
img


βœ” Eq. 4, 6, 7, 9λ₯Ό ν•©ν•˜μ—¬ λ§Œλ“  μ΅œμ’… GE2E loss

img




2.2 Comparison between TE2E and GE2E

βœ” λͺ¨λ“  μž…λ ₯ 𝒙𝑗𝑖에 λŒ€ν•΄ TE2E loss μ—μ„œ λ°œμƒν•˜λŠ” tuple 의 수

  • (1) positive tuples : ν™”μž j μ—μ„œ λ¬΄μž‘μœ„λ‘œ P λ°œν™” 선택
img
  • (2) negative tuples : ν™”μž j 와 λ‹€λ₯Έ ν™”μž k 의 λ°œν™”μ—μ„œ λ¬΄μž‘μœ„λ‘œ P λ°œν™” 선택
img

⭐ 총 TE2E loss의 tuple 수

img

βœ” GE2E loss 의 tuple 수

  • 각 ν™”μžμ˜ λͺ¨λ“  λ°œν™”λ₯Ό μ„ νƒν•˜μ—¬ centroid 둜 κ³„μ‚°ν•˜λ―€λ‘œ P=M
  • λ”°λΌμ„œ TE2E 의 μ΅œμ†Œ κ°’ [2x(N-1)]κ³Ό 동일
  • GE2Eκ°€ TE2E 보닀 짧은 μ‹œκ°„ 내에 더 λ‚˜μ€ λͺ¨λΈλ‘œ 수렴


2.3 Training with MultiReader

βœ” μž‘μ€ 데이터 μ…‹ D1κ³Ό 큰 데이터 μ…‹ D2 쑴재

  • D1 domain model 에 관심이 μžˆλŠ”λ° , λ™μΌν•œ domain 은 μ•„λ‹ˆμ§€λ§Œ 더 큰 D2 dataset 이 μžˆμ„ λ•Œ , D2 의 도움을 λ°›μ•„ dataset D1 μ—μ„œ μš°μˆ˜ν•œ μ„±λŠ₯을 λ³΄μ΄λŠ” 단일 λͺ¨λΈμ„ κ΅μœ‘ν•˜κ³ μž 함
img
  • Regularization 기법과 μœ μ‚¬
img
  • D1에 μΆ©λΆ„ν•œ 데이터가 없을 λ•Œ , D2 μ—μ„œλ„ 잘 μˆ˜ν–‰ν•  수 μžˆλ„λ‘ ν•¨μœΌλ‘œμ¨ overfitting 이 λ°œμƒν•˜λŠ” 것을 방지

βœ” μΌλ°˜ν™”

  • K 개의 λ‹€λ₯Έ data source : 𝐷1,…,𝐷𝐾λ₯Ό κ²°ν•©ν•˜κΈ° μœ„ν•΄ μΌλ°˜ν™”
  • 각 data source 의 κ°€μ€‘μΉ˜ π›Όπ‘˜λ₯Ό ν• λ‹Ήν•˜μ—¬ ν•΄λ‹Ή data source 의 μ€‘μš”μ„± ν‘œμ‹œ
img


β…’. Experiments

βœ” μ°Έμ‘°λ…Όλ¬Έ [6]κ³Ό process 동일

  • 100개 frame을 30 frameμ”© (10 frame μ˜†μœΌλ‘œ 이동해가며 ) μ‚¬μš©
  • 40-dimensional log mel filterbank
  • LSTM 3-layer + projection (d-vector size)


βœ” Hyper Parameter

  • N : 64 (speakers), M : 10 (utterances)
  • Learning rate : 0.01 (30M λ‹¨κ³„λ§ˆλ‹€ μ ˆλ°˜μ”© κ°μ†Œ
  • Optimizer : SGD
  • Loss function의 쒋은 초기 κ°’ : (w, b) = (10, 5)


3.1 TD-SV

  • Keyword detection κ³Ό speaker verification 같은 νŠΉμ§• μ‚¬μš©
  • Keyword detection 은 keyword κ°€ ν¬ν•¨λœ frame 만 SV system 으둜 전달
  • 이 frame 은 κ³ μ • 길이 segment ν˜•μ„±
  • Hidden node : 128, Projection size : 64


βœ” Multiple Keyword

  • μ‚¬μš©μžλ“€μ΄ λ™μ‹œμ— μ—¬λŸ¬ 개의 ν‚€μ›Œλ“œ 지원을 더 μ„ ν˜Έν•˜μ—¬, β€œOk google”과 β€œHey google” 지원
  • ν•˜λ‚˜μ˜ ꡬ절둜 μ œν•œλ˜κ±°λ‚˜ μ™„μ νžˆ μ œμ•½λ˜μ§€λŠ” μ•ŠκΈ° λ•Œλ¬Έμ— μ—¬λŸ¬ keyword둜 speaker verificationν•˜λŠ” 것은 TD-SV와 TI-SV 사이에 λ†“μž„
  • μ—¬λŸ¬ data sourceλ₯Ό 직접 ν˜Όν•©ν•˜λŠ” 것과 같은 λ‹¨μˆœν•œ μ ‘κ·Ό 방식에 λΉ„ν•΄ MultiReaderλŠ” data source의 크기가 λΆˆκ· ν˜•ν•œ κ²½μš°μ— μ‚¬μš©ν•  수 μžˆλŠ” λ“± 큰 이점을 κ°–μŒ

~150M λ°œν™”, ~630K ν™”μžλ‘œ 이루어진 β€œOk google” setκ³Ό ~1.2M λ°œν™”μ™€ ~18K둜 이루어진 β€œHey google” set을 λΉ„κ΅ν•˜λ©΄ β€œOk google”이 125λ°° λ°œν™” μˆ˜κ°€ 더 많으며 35λ°° ν™”μž μˆ˜κ°€ 더 많음


βœ” 평가 방법 및 κ²°κ³Ό

  • 4가지 κ²½μš°μ— λŒ€ν•΄ EER μΈ‘μ • (2개의 keyword둜 λ‚˜μ˜¬ 수 μžˆλŠ” μ‘°ν•©)
  • ν…ŒμŠ€νŠΈ dataset : 665 λͺ…μ˜ ν™”μž / 평균 4.5 회 등둝 λ°œν™” , 10 개의 ν…ŒμŠ€νŠΈ λ°œν™”
  • MultiReaderλ₯Ό μ μš©ν•œ 것이 4 가지 경우 λͺ¨λ‘μ—μ„œ μ•½ 30% 의 μƒλŒ€μ  μ„±λŠ₯ ν–₯상을 λ³΄μž„
img


βœ” μΆ”κ°€ μ‹€ν—˜

  • ~83K μ„œλ‘œ λ‹€λ₯Έ ν™”μžμ™€ ν™˜κ²½ 쑰건의 λŒ€κ·œλͺ¨ dataset (평균 7.3회 등둝, 5개 ν…ŒμŠ€νŠΈ λ°œν™” μ‚¬μš©)
  • GE2E model은 TE2E보닀 μ•½ 60% 더 적은 ν›ˆλ ¨ μ‹œκ°„μ„ μ†Œλͺ¨
img

1 ν–‰ : 512 개의 hidden node 와 128 μ°¨μ›μ˜ embedding vector 크기λ₯Ό 가진 단일 계측 LSTM
2ν–‰ : 3 layer LSTM (TE2E)
3 ν–‰ : 3 layer LSTM (GE2E)


3.2 TI-SV

  • Hidden node : 768, Projection size : 256
  • VAD(Voice Activity Detection) ν›„ κ³ μ • 길이 segment둜 λ‚˜λˆ” ; partial utterances


βœ” Train

  • 각 데이터 batch 에 λŒ€ν•΄ 𝑙𝑏,𝑒𝑏] = [140, 180] frame 내에 μž„μ˜λ‘œ μ‹œκ°„ 길이 t 선택
  • ν•΄λ‹Ή batch λ‚΄ λͺ¨λ“  λ°œν™”μ˜ κΈΈμ΄λŠ” tκ°€ λ˜μ–΄ κ³ μ • 길이의 segmentλ₯Ό κ°–μŒ
img


βœ” Test

  • window size만큼 κ³ μ • segmentλ₯Ό 가져와 d-vector μΆ”μΆœ
  • window sizeλ₯Ό 50%만큼 겹치게 slidingν•˜μ—¬ 이동
  • windowλ§ˆλ‹€ μΆ”μΆœλœ d-vectorλ₯Ό L2 μ •κ·œν™”ν•˜κ³  averageν•˜μ—¬ μ΅œμ’… d-vectorλ₯Ό 생성
img


βœ” μ‹€ν—˜ κ²°κ³Ό

  • ν›ˆλ ¨ dataset : 36M λ°œν™”μ™€ 18K ν™”μžλ₯Ό μ‚¬μš©
  • ν…ŒμŠ€νŠΈ dataset : 1000 λͺ…μ˜ ν™”μž , 평균 6.3 개 등둝 λ°œν™” , 평균 7.2 개의 ν…ŒμŠ€νŠΈ λ°œν™” μ‚¬μš©
img

Softmax : ν›ˆλ ¨ λ°μ΄ν„°μ˜ λͺ¨λ“  ν™”μžμ— λŒ€ν•œ label 을 예츑
TE2E : TE2E 둜 ν›ˆλ ¨λœ λͺ¨λΈ
GE2E : GE2E 둜 ν›ˆλ ¨λœ λͺ¨λΈ




β…£. Conclusion

  • Speaker Verification 을 μœ„ν•œ 보닀 효율적인 GE2E loss function μ œμ•ˆ
  • 이둠 및 μ‹€ν—˜μ  κ²°κ³Ό μ—μ„œ λͺ¨λ‘ λ³Έ λ…Όλ¬Έμ—μ„œ μ œμ•ˆν•œ λͺ¨λΈμ˜ μž₯점 을 μž…μ¦
  • λ‹€μ–‘ν•œdata source λ₯Ό κ²°ν•©ν•˜λŠ” MultiReader 기법을 λ„μž…ν•˜μ—¬ μ—¬λŸ¬ ν‚€μ›Œλ“œμ™€ μ–Έμ–΄λ₯Ό 지원 ν•  수 μžˆλ„λ‘ 함
  • 두 가지 기법을 κ²°ν•©ν•˜μ—¬ 보닀 μ •ν™•ν•œ Speaker Verification Model ꡬ좕