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
- κ° νλ ¨ λ¨κ³μμ, νλμ ν μ€νΈμ© λ°ν ππ~μ λ±λ‘ λ°ν πππ 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
- Cosine Simliarity Function
π€,π λ νμ΅λλ λ³μ
- TE2E loss
$\sigma(π₯) = 1/(1+π^{βπ₯})$ : sigmoid function
$\delta(j, k) = 1~(π=π)or0~(πβ π)$
β ‘. GE2E Model
2.1 Training Method
β GE2E training
- Fig. 1μ λνλ κ²κ³Ό κ°μ΄ N( νμ μ ) X λ°ν μ batch ννλ‘ λ§μ μμ λ°νλ₯Ό νλ²μ μ²λ¦¬
$x_{ji}$: νμ $j$ μ $i$ λ²μ§Έ λ°νλ₯Ό μΆμΆν νΉμ§ 벑ν°
$π(π_{ji}; π)$: LSTM κ³Ό linear layer λ₯Ό κ±°μΉκ³ λμ¨ λ§μ§λ§ μΆλ ₯
$e_{ji}$: L2 μ κ·ν ν embedding 벑ν°
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(λΉ¨κ°μ, 보λΌμ μΌκ°ν) κ³Όλ κ±°λ¦¬κ° λ©λλ‘
β Softmax - Similarity matrix
- $S_{ji,k}$μ softmax λ₯Ό μ μ©νμ¬ j μ k κ° κ°μ νμ μΌ κ²½μ°λ μΆλ ₯ κ°μ 1, λ€λ₯Έ νμμΌ κ²½μ° 0 μ΄ λλλ‘ ν¨
- κ° embedding vector λ₯Ό κ·Έ νμμ centroid μλ κ°κΉκ² νκ³ , λ€λ₯Έ νμμ centroid λ‘ λΆν°λ λ©μ΄μ§κ² ν¨
β Contrast - Similarity matrix
- Contrast lossλ positive μκ³Ό κ°μ₯ negative ν μμΌλ‘ μ μ
-
λͺ¨λ λ°νμ λν΄ λ κ°μ§ ꡬμ±μμκ° loss μ μΆκ°
(1) embedding vectorμ κ·Έ νμμ voiceprint μ¬μ΄μ positive μΌμΉ
(2) λ€λ₯Έ νμλ€μ λ°ν μ€ κ°μ₯ λμ μ μ¬μ±μ κ°λ voiceprint μ negative μΌμΉ
β Softmax&Contrast - Similarity matrix
- TI-SV μ κ²½μ° softmax loss κ° μ½κ° λ λμ μ±λ₯μ,, TD SV μ κ²½μ° contrast loss κ° λ λμ μ±λ₯μ λ³΄μ¬ λ κ°μ§ GE2E loss μ ꡬνμ΄ λͺ¨λ μ μ©ν¨μ λ°κ²¬
- $e_ji$μ κ±° : νμμ centroid κ³μ°μ , νλ ¨μ΄ μμ λκ³ μ¬μν λ¬Έμ λ₯Ό νΌν μ μλλ‘ λμμ€
- j μ k κ° κ°μ νμμΌ κ²½μ°λ (1) λμ (8) μ μ¬μ©νμ¬ centroid κ³μ°
β Eq. 4, 6, 7, 9λ₯Ό ν©νμ¬ λ§λ μ΅μ’ GE2E loss
2.2 Comparison between TE2E and GE2E
β λͺ¨λ μ λ ₯ πππμ λν΄ TE2E loss μμ λ°μνλ tuple μ μ
- (1) positive tuples : νμ j μμ 무μμλ‘ P λ°ν μ ν
- (2) negative tuples : νμ j μ λ€λ₯Έ νμ k μ λ°νμμ 무μμλ‘ P λ°ν μ ν
β μ΄ TE2E lossμ tuple μ
β 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 μμ μ°μν μ±λ₯μ 보μ΄λ λ¨μΌ λͺ¨λΈμ κ΅μ‘νκ³ μ ν¨
- Regularization κΈ°λ²κ³Ό μ μ¬
- D1μ μΆ©λΆν λ°μ΄ν°κ° μμ λ , D2 μμλ μ μνν μ μλλ‘ ν¨μΌλ‘μ¨ overfitting μ΄ λ°μνλ κ²μ λ°©μ§
β μΌλ°ν
- K κ°μ λ€λ₯Έ data source : π·1,β¦,π·πΎλ₯Ό κ²°ν©νκΈ° μν΄ μΌλ°ν
- κ° data source μ κ°μ€μΉ πΌπλ₯Ό ν λΉνμ¬ ν΄λΉ data source μ μ€μμ± νμ
β ’. 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% μ μλμ μ±λ₯ ν₯μμ 보μ
β μΆκ° μ€ν
- ~83K μλ‘ λ€λ₯Έ νμμ νκ²½ 쑰건μ λκ·λͺ¨ dataset (νκ· 7.3ν λ±λ‘, 5κ° ν μ€νΈ λ°ν μ¬μ©)
- GE2E modelμ TE2Eλ³΄λ€ μ½ 60% λ μ μ νλ ¨ μκ°μ μλͺ¨
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λ₯Ό κ°μ
β Test
- window sizeλ§νΌ κ³ μ segmentλ₯Ό κ°μ Έμ d-vector μΆμΆ
- window sizeλ₯Ό 50%λ§νΌ κ²ΉμΉκ² slidingνμ¬ μ΄λ
- windowλ§λ€ μΆμΆλ d-vectorλ₯Ό L2 μ κ·ννκ³ averageνμ¬ μ΅μ’ d-vectorλ₯Ό μμ±
β μ€ν κ²°κ³Ό
- νλ ¨ dataset : 36M λ°νμ 18K νμλ₯Ό μ¬μ©
- ν μ€νΈ dataset : 1000 λͺ μ νμ , νκ· 6.3 κ° λ±λ‘ λ°ν , νκ· 7.2 κ°μ ν μ€νΈ λ°ν μ¬μ©
Softmax : νλ ¨ λ°μ΄ν°μ λͺ¨λ νμμ λν label μ μμΈ‘
TE2E : TE2E λ‘ νλ ¨λ λͺ¨λΈ
GE2E : GE2E λ‘ νλ ¨λ λͺ¨λΈ
β £. Conclusion
- Speaker Verification μ μν λ³΄λ€ ν¨μ¨μ μΈ GE2E loss function μ μ
- μ΄λ‘ λ° μ€νμ κ²°κ³Ό μμ λͺ¨λ λ³Έ λ Όλ¬Έμμ μ μν λͺ¨λΈμ μ₯μ μ μ μ¦
- λ€μνdata source λ₯Ό κ²°ν©νλ MultiReader κΈ°λ²μ λμ νμ¬ μ¬λ¬ ν€μλμ μΈμ΄λ₯Ό μ§μ ν μ μλλ‘ ν¨
- λ κ°μ§ κΈ°λ²μ κ²°ν©νμ¬ λ³΄λ€ μ νν Speaker Verification Model ꡬμΆ