区分性训练
? ? 聲學(xué)模型的初始模型訓(xùn)練都是基于MLE(Maximum Likelihood Estimation)準(zhǔn)則的,該方法簡(jiǎn)單,訓(xùn)練速度快,但是沒(méi)有考慮到模型之間的區(qū)分性,導(dǎo)致識(shí)別中易發(fā)生混淆.
解決:區(qū)分性訓(xùn)練(MMI ?Maximum Mutual Information,MCE Minimum Classification Error,MPE,Minimum Phone Error)
區(qū)分性訓(xùn)練需要的資源:
1. 初始的MMF模型,一般為MLE訓(xùn)練的模型
2. 標(biāo)注信息
3. 語(yǔ)言模型,一般是基于訓(xùn)練語(yǔ)生成的1-gram
4. 單行字典
5. 訓(xùn)練數(shù)據(jù)
區(qū)分性訓(xùn)練的步驟(分子和分母)
1. 分子
a. HLRescore 語(yǔ)言模型 +標(biāo)注->單詞的語(yǔ)言得分
HLRescore -A -D -V -T 3 -q tvalr -w -s 14.0 -p -10.0 -C ./lib/cfgs/config.hlr -n ./lib/lmdb/train.ug -I ./lib/wlabs/train.wrd.mlf -f -i ./lattices/feats-tjoiner_00_88/wlat.num/feats-tjoiner_00_88.mlf -l ./lattices/feats-tjoiner_00_88/wlat.num -S lib/flists.fixed/feats-tjoiner_00_88.scp ./lib/dicts/train.hd.dict
注意: train.ug是訓(xùn)練語(yǔ)料生成的.train.hd.dict是train.ug中字對(duì)應(yīng)的發(fā)音,train.hd.dict中的字和train.ug中一致,否則會(huì)報(bào)錯(cuò);train.hd.dict包含<s> sil;</s> sil;
下面是生成train.ug的腳本
? ? ? ./mlf2lmdata.sh wlabs/train.wrd.mlf > train.wrd.dat
? ? ? awk '{for(i=1;i<=NF;i++){print $i;}}' train.wrd.dat | sort -u > train.wlist
? ? ?./ngram-count -vocab train.wlist -order 1 -gt1min 1 -debug 1 -interpolate -text train.wrd.dat -lm train.ug
? ? ? gzip -c train.ug >train.ug.gz
b. HDecode.mod 聲學(xué)模型+單詞的語(yǔ)言得分-> phone級(jí)別的強(qiáng)制對(duì)齊
HDecode.mod -A -D -V -T 1 -t 175.0 -s 1.0 -p 0.0 -n 8 -C ./lib/cfgs/config.xwrd.hd -C ./lib/cfgs/config.hd.mod -i ./lattices/feats-tjoiner_00_88/plat.num/feats-tjoiner_00_88_err.mlf -H ./hmm320/MMF -d ./hmm320 -q tvaldm -o M -z lat -w -L ./lattices/feats-tjoiner_00_88/wlat.num -l ./lattices/feats-tjoiner_00_88/plat.num -X lat -S ./lattices/feats-tjoiner_00_88/train2.lat_err.scp ./lib/dicts/train.hd.dict ./lib/mlists/tri.xwrd.cluster.list?
2. 分母
a. HDecode 聲學(xué)模型+語(yǔ)言模型->解碼結(jié)果
HDecode -A -D -V -T 1 -t 175.0 -s 14.0 -p -10.0 -n 8 -C ./lib/cfgs/config.xwrd.hd -i ./lattices/feats-tjoiner_00_88/wlat.den/feats-tjoiner_00_88.mlf -H ./hmm320/MMF -d ./hmm320 -o M -z lat -w ./lib/lmdb/train.ug -l ./lattices/feats-tjoiner_00_88/wlat.den -X lat -S lib/flists.fixed/feats-tjoiner_00_88.scp ./lib/dicts/train.hd.dict ./lib/mlists/tri.xwrd.cluster.list
b. 合并解碼中重復(fù)的結(jié)點(diǎn)和弧
HLRescore -A -D -V -T 3 -q tvalr -w -s 14.0 -p -10.0 -C ./lib/cfgs/config.hlr -t 200.0 -m f -L ./lattices/feats-tjoiner_00_88/wlat.den -l ./lattices/feats-tjoiner_00_88/wlat.den.det -S ./lattices/feats-tjoiner_00_88/train2.lat_err.scp ./lib/dicts/train.hd.dict
c. HDecode.mod ?聲學(xué)模型+2.b>phone級(jí)別的格
HDecode.mod -A -D -V -T 1 -t 175.0 -s 14.0 -p -10.0 -n 8 -C ./lib/cfgs/config.xwrd.hd -C ./lib/cfgs/config.hd.mod -i ./lattices/feats-tjoiner_00_88/plat.den/feats-tjoiner_00_88_err.mlf -H ./hmm320/MMF -d ./hmm320 -q tvaldm -o M -z lat -w -L ./lattices/feats-tjoiner_00_88/wlat.den.det -l ./lattices/feats-tjoiner_00_88/plat.den -X lat -S ./lattices/feats-tjoiner_00_88/train2.lat_err.scp ./lib/dicts/train.hd.dict ./lib/mlists/tri.xwrd.cluster.list
4. phont級(jí)的lattice合并,分為den和num合并
./makeLLF.sh lattices/${sub_lat}/plat.den ${j} lattices.LLF/den5. HMMIRest ?分子+分母->區(qū)分性訓(xùn)練
總結(jié)
- 上一篇: c语言之——指针数组与数组指针
- 下一篇: 托米的位运算 牛客练习赛23 C