Để huấn luyện mô hình thì các bước thực hiện và công cụ liên kết được mô tả trong hình 2.11.
Hình 2.11: Sơ đồ các bước và công cụ liên kết để thực hiện huấn luyện mô hình Đặc trưng tiếng nói đã
được chuẩn hóa
Huấn luyện mô hình nền (TrainWorldInit)
Huấn luyện mô hình nền (TrainWorldFinal)
Huấn luyện mô hình đích
TrainWorld TrainWorld TrainTarger
Để huấn luyện mô hình hệ thống thực hiện các bước như sau: - Huấn luyện mô hình nền - TrainWorldInit
- Huấn luyện mô hình nền – TrainWorldFinal - Huấn luyện mô hình đích
a. Huấn luyện mô hình nền - TrainWorldInit
Hình 2.12: Sơ đồ bước huấn luyện mô hình nền - TrainWorldInit - Đầu vào
+ File world.lst là file lưu đường dẫn của các file danh sách để huấn luyện Ví dụ:
./lst/EGM01_1210/EGM01_12_W_train.lst ./lst/EGM01_1210/EGM01_12_L_train.lst …..
+ File world.weight là file chứa bộ trọng số tương ứng với số dòng của file world.lst.
Ví dụ: 0.17 0.17
- Đầu ra: file world_init.gmm & world_initinit.gmm: là mô hình chung nhất của người nói hay giới tính hay cảm xúc tùy thuộc vào việc huấn luyện mô hình cho mục đích nhận dạng người nói hay giới tính, hay cảm xúc.
world.lst & world.weight
world_init.gmm & world_initinit.gmm
Mô hình này được lựa chọn từ một số người nói sau đó huấn luyện một mô hình duy nhất được gọi là mô hình nền. Mô hình GMM được ước tính bằng cách sử dụng thuật toán EM (tối đa hóa kỳ vọng).
- Câu lệnh thực hiện:
TrainWorld [options] --inputFeatureFilename inputfile --outputWorldFilename worldfile
Trong đó:
options: được config với tên file: TrainWorldInit.cfg đặt trong thư mục cfg inputfile: world.lst và world.weight
worldfile: world_init.gmm & world_initinit.gmm Ví dụ:
TrainWorld --config ./cfg/TrainWorldInit.cfg --inputStreamList ./lst/world.lst --weightStreamList ./lst/world.weight --outputWorldFilename world_init --debug false --verbose true
File sinh sau câu lệnh TrainWorld là: world_init.gmm và world_initinit.gmm b. Huấn luyện mô hình nền –TrainWorldFinal
Hình 2.13: Sơ đồ bước huấn luyện mô hình nền - TrainWorldFinal
- Đầu vào: các file world.lst, world.weight, world_init.gmm và world_initinit.gmm.
world.lst & world.weight & world_init.gmm & world_initinit.gmm
world.gmm TrainWorld
- Đầu ra: file world.gmm - Câu lệnh thực hiện:
TrainWorld [options] --inputFeatureFilename inputfile --outputWorldFilename outworldfile --inputputWorldFilename inworldfile
Trong đó:
options: được config với tên file: TrainWorldFinal.cfg đặt trong thư mục cfg inputfile: world.lst và world.weight
outworldfile: world.gmm
inworldfile: world_init.gmm và world_initinit.gmm Ví dụ:
TrainWorld --config ./cfg/TrainWorldFinal.cfg --inputStreamList ./lst/world.lst --weightStreamList ./lst/world.weight --outputWorldFilename 2_world --inputWorldFilename world_init --debug false --verbose true
File sinh ra sau câu lệnh trên: world.gmm c. Huấn luyện mô hình đích
Hình 2.14: Sơ đồ bước huấn luyện mô hình đích - Đầu vào:
+ File *.ndx: là file chứa danh sách tên file đưa vào huấn luyện nhưng nội dung được ghi trên 1 dòng có khoảng cách giữa các tên file và có định dạng với
*.ndx & world.gmm
*.gmm TrainTarget
phần đầu đầu tiên của dòng là người nói hay giới tính hay cảm xúc và cộng thêm _gmm. Các file *.nxd được lưu trong thư mục ndx.
Ví dụ: file ndx để huấn luyện cảm xúc bình thường (N) sẽ có định dạng như sau: N_gmm 10a01Ac 10a02Ab 10a05Aa 10a07Aa 10a07Ad 10b01Aa 10b02Aa 10b09Ad 11a01Aa 11a01Ab 11a04Ac 11a05Ad 11a07Ac 11b01Ab
Với mỗi bài toán nhận dạng cụ thể sẽ cần đến số file .ndx tương ứng.
Ví dụ: bài toán nhận dạng giới tính cần có 2 file .ndx: Nam.ndx và Nu.ndx; bài toán nhận dạng cảm xúc với 4 cảm xúc (bình thường, vui, tức, buồn cần có 4 file .ndx: binhthuong.ndx, vui.ndx, buon.ndx, vui.ndx.
+ File *.world là file đầu ra của bước huấn luyện mô hình nền – TrainWorldFinal.cfg
- Đầu ra: là các mô hình của người nói hoặc giới tính hoặc cảm xúc tùy theo dữ liệu đầu vào và được định dạng file *.gmm, các file *.gmm được lưu trữ trong thư mục gmm.
Ví dụ: Với bài toán nhận dạng cảm xúc thì sẽ có 2 mô hình cảm xúc được sinh ra sau bước huấn luyện mô hình đích: M_gmm.gmm và F_gmm.gmm.
- Câu lệnh thực hiện
TrainTarget [options] -- targetIdList inputfile
-- inputWorldFilename worldfile
Trong đó:
options: được config với tên file: target.cfg đặt trong thư mục cfg inputfile: *.ndx
worldfile: world Ví dụ:
TrainTarget --config ./cfg/target.cfg --targetIdList ./ndx/N.ndx -- inputWorldFilename 2_world --debug false --verbose true
File sinh ra là: N_gmm.gmm
Phương pháp huấn luyện mô hình đích: xây dựng mô hình xuất phát từ việc điều chỉnh các thông số của mô hình nền bằng cách sử dụng tiếng nói trong giai đoạn huấn luyện và cực đại hóa xác suất hậu nghiệm (Map-Maximum A Posterior). Phương thức MAP sử dụng là phương pháp tiếp cận MAPOCCDep: biến ngẫu nhiên để ước lượng được tính toán bằng sự kết hợp tuyến tính các giá trị trong mô hình nền với dữ liệu trên thuật toán EM. Phương pháp này sẽ đưa vào một xác suất hậu nghiệm cho mỗi Gaussian.