Multiobjective Optimization Training of PLDA for Speaker Verification
-
prepare data, make directory ./data and ./temp
put NIST SRE14 i-vector challenge offical data on "./data/", there are "development_data_labels.csv, dev_ivectors.csv, ivec14_sre_segment_key_release.tsv, ivec14_sre_trial_key_release.tsv, model_ivectors.csv, target_speaker_models.csv, test_ivectors.csv" -
run ./python/sre14_preprocess.py.
It will generate "./temp/sre14.mat" -
run ./matlab/gplda_demo.m
The script will read "./temp/sre14.mat", and the results are
2.347, 2.456 (Development dataset, EER), 2.307 (Evaluation dataset, EER),
0.264, 0.269 (Development dataset, MDCF), 0.261 (Evaluation dataset, MDCF). -
run ./matlab/moplda_demo.m
The script will read "./temp/sre14.mat", and the results are
2.040, 2.193 (Development dataset, EER), 1.931 (Evaluation dataset, EER),
0.233, 0.239 (Development dataset, MDCF), 0.229 (Evaluation dataset, MDCF). -
some experiment results.
A. train lambda with development and train vectors
- factor experiment,
A EER, D EER, E EER, A DCF, D DCF, E DCF, factor - 2.531, 2.794, 2.354, 0.272, 0.277, 0.267, 1.1
- 2.554, 2.825, 2.336, 0.269, 0.272, 0.266, 1.2
- 2.456, 2.677, 2.176, 0.250, 0.255, 0.247, 1.3
- 2.331, 2.579, 2.199, 0.238, 0.241, 0.235, 1.4
- 2.207, 2.399, 2.099, 0.233, 0.235, 0.230, 1.5
- 2.082, 2.272, 1.940, 0.230, 0.235, 0.225, 1.6
- 2.040, 2.193, 1.931, 0.233, 0.239, 0.229, 1.7
- 2.057, 2.180, 1.973, 0.238, 0.244, 0.232, 1.8
- 2.136, 2.241, 2.049, 0.244, 0.250, 0.238, 1.9
- 2.108, 2.261, 1.995, 0.242, 0.249, 0.237, 2.0
B. train lambda with development vectors
- factor experiment,
A EER, D EER, E EER, A DCF, D DCF, E DCF, factor - 2.182, 2.426, 1.994, 0.241, 0.244, 0.237, 1.1
- 2.257, 2.438, 2.099, 0.237, 0.243, 0.232, 1.2
- 2.369, 2.487, 2.225, 0.240, 0.245, 0.236, 1.3
- 2.307, 2.426, 2.210, 0.238, 0.245, 0.233, 1.4
- 2.481, 2.610, 2.330, 0.264, 0.273, 0.257, 1.5
- 2.340, 2.425, 2.254, 0.253, 0.260, 0.246, 1.6
- 2.347, 2.487, 2.267, 0.253, 0.260, 0.247, 1.7
- 2.337, 2.395, 2.301, 0.264, 0.272, 0.257, 1.8
- 2.406, 2.456, 2.351, 0.266, 0.274, 0.260, 1.9
- 2.506, 2.549, 2.435, 0.275, 0.281, 0.269, 2.0
C. train lambda with development and train vectors
- dimension experiment,
A EER, D EER, E EER, A DCF, D DCF, E DCF, dimension - 3.522, 3.556, 3.505, 0.498, 0.507, 0.491, 50
- 2.306, 2.329, 2.267, 0.288, 0.294, 0.284, 100
- 2.032, 2.241, 1.919, 0.239, 0.245, 0.234, 150
- 2.040, 2.193, 1.931, 0.233, 0.239, 0.229, 200
- 2.070, 2.260, 1.918, 0.234, 0.240, 0.229, 250
PS:
- The sGPLDA demo was downloaded from https://github.com/wangwei2009/MSR-Identity-Toolkit-v1.0
- Anaconda3, Python3, require sklearn
- Matlab R2016a
- A EER: NIST SRE14 i-vector challenge all data EER
D EER: NIST SRE14 i-vector challenge Development dataset EER
E EER: NIST SRE14 i-vector challenge Evaluation dataset EER - A DCF: NIST SRE14 i-vector challenge all data MinDCF14
D DCF: NIST SRE14 i-vector challenge Development dataset MinDCF14
E DCF: NIST SRE14 i-vector challenge Evaluation dataset MinDCF14