Tải bản đầy đủ (.docx) (46 trang)

NGHIÊN CỨU, XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG NÓI DÙNG MATLAP SỬ DỤNG PHƯƠNG PHÁP MFCC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 46 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ
-----šš&šš-----

BÀI TẬP LỚN
MƠN: KĨ THUẬT
NHẬN DẠNG
ĐỀ TÀI: NGHIÊN
CỨU, XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG NÓI DÙNG
MATLAP SỬ DỤNG PHƯƠNG PHÁP MFCC

Giảng viên hướng dẫn: Ts.Nguyễn Thị Thu
Nhóm thực hiện

:

Nhóm 3

HÀ NỘI – 2019

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI


KHOA ĐIỆN TỬ
-----šš&šš-----

BÀI TẬP LỚN
MÔN: KĨ THUẬT NHẬN DẠNG
ĐỀ TÀI: NGHIÊN CỨU, XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG
TIẾNG NĨI DÙNG MATLAP SỬ DỤNG PHƯƠNG PHÁP MFCC


Giáo viên hướng dẫn: Nguyễn Thị Thu


Hà Nội – 2019

LỜI CẢM ƠN
Đầu tiên,chúng em xin thay mặt tất cả các thành viên nhóm 10 gửi tới quý
thầy cô khoa Điện tử trường Đại học Công Nghiệp Hà Nội đã tận tụy truyền dạy
kiến thức cho em trong suốt học kỳ vừa qua để em có thể hồn thành được q
trình làm bài tập lớn mơn học này. Và hơn hết em xin chân thành cảm ơn Cơ
Nguyễn Thị Thu, người đã nhiệt tình hướng dẫn cho em trong q trình làm bài
tập lớn mơn học này. Do điều kiện thời gian có hạn, khả năng nghiên cứu và
kinh nghiệm thực tế còn hạn chế nên bài báo cáo sẽ có nhiều thiếu sót. Bài tập
lớn mơn là sự tìm hiểu của nhóm về chương trình Nhận dạng giọng nói sử dụng
thuật tốn KNN (K-nearest neighbor) sử dụng phần mềm mô phỏng Matlab,
đồng thời cũng là những suy nghĩ, ý kiến của nhóm trong q trình học tập, tìm
hiểu.
Hy vọng bài tập lớn mơn học sẽ nhận được sự quan tâm chỉ bảo của giảng
viên hướng dẫn, các thầy cơ trong khoa cùng tồn thể các bạn để chúng em có
điều kiện bổ sung, nâng cao kiến thức của mình phục vụ tốt hơn cho cơng tác về
sau.
Em xin chân thành cảm ơn!


LỜI MỞ ĐẦU
Trong thời đại công nghệ thông tin hiện nay, khi việc giao tiếp giữa người
với máy tính ln là vấn đề được quan tâm thì việc trao đổi thơng tin bằng
tiếng nói có vai trị quan trọng. Máy tính ra đời đã giúp con người giải quyết
cơng việc nhanh gọn và hiệu quả hơn. Tuy nhiên, các máy tính ngày nay chỉ
nhận thơng tin từ con người qua các thiết bị như: bàn phím, chuột, bút… Mặc

dù tốc độ của máy tính ngày càng được cải thiện đáng kể song tốc độ tạo lập
thông tin của các thiết bị này vẫn còn thấp. Con người mong muốn máy tính
ngày càng mạnh hơn, thơng minh hơn, và một trong số u cầu đó là máy tính
trong tương lai phải tương tác với người sử dụng bằng tiếng tiếng nói tự nhiên.
Dây sẽ là một bước tiến lớn nhằm nâng cao sức mạnh của máy tính, đồng thời
cũng tăng tốc độ truyền đạt thơng tin giữa máy tính và con người.
Xử lý tiếng nói trở thành một trong những lĩnh vực quan trọng trong xu
hướng phát triển công nghệ của xã hội hiện nay. Đặc biệt, khi công nghệ thông
tin ngày càng phát triển thì các ứng dụng xử lý tiếng nói ngày càng trở nên cấp
thiết. Mục đích của những nghiên cứu trong lĩnh vực xử lý tiếng nói là làm sao
cho việc tương tác giũa người và máy càng phát triển hiệu quả và tự nhiên hơn.
Hiện nay trên thế giới các cơng nghệ xử lý tiếng nói đã phát triển, các hệ
thống ứng dụng xử lý tiếng nói đã được sử dụng ở nhiều nơi, đọ chính xác của
các hệ thống này ngày càng được cải thiện. Các ứng dụng của lĩnh vực xử lý
tiếng nói rất phổ biến: nhận dạng tiếng nói, xác thực người nói qua giọng nói
và các thành tựu của chúng được áp dụng vào nhiều lĩnh vực thực tế.
Ở Việt Nam, nhận dạng tiếng nói vẫn là một lĩnh vực khá mới mẻ. Đến nay


tuy đã có nhiều người nghiên cứu về nhận dạng tiếng Việt và đã đạt được một
số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết quả cần thiết đẻ có thể
tạo ra các sản phẩm mang tính ứng dụng cao. Đề tài nghiên cứu tập trung xây
dựng chương tình nhận dạng tiếng nói, từ đó xây dựng ứng dụng nhận dạng
một số từ, các số cụ thể ứng dụng nhận dạng tiếng nói vào điểu khiển nút, lệnh
trên một số thiết bị.
 Nội dung bài tập lớn này gồm các chương như sau:
Chương 1: Tổng quan lý thuyết nhận dạng giọng nói
Chương này giới thiệu tổng quan về nhận dạng tiếng nói, các nguyên tắc
cơ bản trong nhận dạng tiếng nói. Các cách tiếp cận, q trình nhận dạng tiếng
nói. Đồng thời nêu ra những thuận lợi, khó khăn trong nhận dạng tiếng Việt.

Chương 2. Thiết kế chương trình nhận dạng tiếng nói
Mơ hình nhận dạng tiếng nói. Ngun lý hoạt động, trình bày thuật tốn và
các hàm matlab sử dụng.
Chương 3. Xây dựng giao diện chương trình và hiển thị kết quả phân tích
Nội dung cụ thể từng chương sẽ lần lượt được trình bày trong các phần tiếp
theo của bài tập lớn.


MỤC LỤC
LỜI CẢM ƠN........................................................................................................3
LỜI MỞ ĐẦU........................................................................................................4
MỤC LỤC..............................................................................................................6
DANH MỤC TỪ VIẾT TẮT.................................................................................7
DANH MỤC HÌNH ẢNH.....................................................................................8
CHƯƠNG 1. TỔNG QUAN LÝ THUYẾT XỬ LÝ TIẾNG NĨI........................1
1.1 Tổng quan về nhận dạng tiếng nói...............................................................1
1.2 Các nguyên tắc cơ bản trong nhận dạng tiếng nói.......................................2
1.3 Các hệ thống nhận dạng tiếng nói:...............................................................2
1.4 Phương pháp MFCC.....................................................................................4
1.4.1 Phương pháp MFCC là gì?...................................................................4
1.4.2 Nguyên lý hoạt động..............................................................................4
1.5. Học lượng tử hóa vector và hàng xóm gần nhất của K (Learning Vector
Quantization and K-Nearest Neighbor)............................................................10
1.5.1 Học lượng tử hóa vector (Learning Vector Quantization)...................10
1.5.2 K-Nearest Neighbor Classifiers...........................................................13
CHƯƠNG 2. THIẾT KẾ CHƯƠNG TRÌNH NHẬN DẠNG GIỌNG NĨI.......16
2.1 Mơ hình nhận dạng giọng nói.....................................................................16
2.2 Nguyên lý hoạt động của hệ thống nhận dạng...........................................21
2.2 Thuật toán và các hàm sử dụng..................................................................21
CHƯƠNG 3. HIỂN THỊ & PHÂN TÍCH KẾT QUẢ NHẬN DẠNG GIỌNG

NĨI.......................................................................................................................25
3.1 Các bước thực hiện:....................................................................................25
3.2 Kết Quả Nhận Dạng...................................................................................31
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...........................................................35
TÀI LIỆU THAM KHẢO......................................................................................36


DANH MỤC TỪ VIẾT TẮT
Viết tắt
ASR
DCT
DFT
FFT
FIR
MFCC
IFFT
KNN
LVQ

Viết đầy đủ
Automatic Speech Regconition
Discrete Cosine Transform
Discrete Fourier Transform
Fast Fourier Transform
Finite Impulse Response
Mel-Frequency Ceptrums Coeffcients
Inverse Fast Fourier Transform
K-Nearest Neighbor
Learning Vector Quantization


Tạm dịch nghĩa
Nhận dạng tiếng nói tự động
Biến đổi Cosin rời rạc
Biến đổi Fourier rời rạc
Biến đổi Fourier nhanh
Bộ lọc đáp ứng xung hữu hạn
Hệ số phân tích phổ tần MCL
Học lượng tử hóa vector


DANH MỤC HÌNH ẢNH
Hình 1.1 Các phần tử cơ bản của một hệ thống nhận dạng giọng nói...................1
Hình 1.2 Các hệ thống nhận dạng giọng nói..........................................................3
Hình 1.3 Speech signal...........................................................................................4
Hình 1.4 Âm phổ....................................................................................................5
Hình 1.5 Biểu diễn Spectrum dưới dạng 2 chiều...................................................5
Hình 1.6 tin hieu.....................................................................................................6
Hình 1.7 abc...........................................................................................................7
Hình 1.8 Nguyên lý hoạt động MFCC...................................................................8
Hình 1.9 Học lượng tử hố vector........................................................................11
Hình 1.10 Ngun mẫu mỗi lớp...........................................................................11
Hình 1.11 Khoảng cách........................................................................................13
Hình 1.12 Phân loại..............................................................................................14
Hình 1.13 Tần số..................................................................................................15
Hình 2.1Sơ đồ tính tốn các hệ số MFCC...........................................................17
Hình 2.2 Các băng lọc tam giác theo thang tần số Mel.......................................19
Hình 3.1 Giao diện...............................................................................................26
Hình 2.2 Nhấn nút Sẵn Sàng................................................................................27
Hình 3.3 Nhấn nút Ra Lệnh.................................................................................28
Hình 3.4 Kết quả Nhận dạng................................................................................29



KỸ THUẬT NHẬN DẠNG

[1]

GVHD: Ts. Nguyễn Thị Thu

CHƯƠNG 1. TỔNG QUAN LÝ THUYẾT XỬ LÝ TIẾNG NÓI
1.1 Tổng quan về nhận dạng tiếng nói
Nhận dạng tiếng nói là một hệ thống tạo khả năng để máy nhận biết ngữ
nghĩa của lời nói. Về bản chất, đây là q trình biến đổi tín hiệu âm thanh
thu được của người nói qua Micro, đường dây điện thoại hoặc các thiết bị
khác thành một chuỗi các từ. Kết quả của quá trình nhận dạng có thể được
ứng dụng trong điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng
lời, quay số điện thoại tự động hoặc đưa tới một quá trình xử lý ngơn ngữ ở
mức cao hơn.
Dữ liệu tiếng nói

Mơ hình âm
thanh

Trích chọn
đặc trưng

Mơ hình từ
vựng

Mơ hình
ngơn ngữ


Mơ hình hóa,
Phân lớp

Tìm kiếm,
Đối sánh

Hình 1.1 Các phần tử cơ bản của một hệ thống nhận dạng giọng nói

Các hệ thống nhận dạng tiếng nói có thể được phân loại như sau:
• Nhận dạng từ phát âm rời rạc /liên tục;
• Nhận dạng tiếng nói phụ thuộc người nói/khơng phụ thuộc người nói;
• Hệ thống nhận dạng từ điển cỡ nhỏ (dưới 20 từ) /từ điển cỡ lớn (hàng nghìn từ);
• Nhận dạng tiếng nói trong mơi trường có nhiễu thấp/cao;
• Nhận dạng người nói.
Trong hệ nhận dạng tiếng nói với cách phát âm rời rạc có khoảng lặng
giữa các từ trong câu. Trong hệ nhận dạng tiếng nói liên tục khơng địi hỏi
NHĨM SVTH: NHĨM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[2]

GVHD: Ts. Nguyễn Thị Thu

điều này. Tùy thuộc vào quy mô và phương pháp nhận dạng, ta có các mơ
hình nhận dạng tiếng nói khác nhau. Hình 1.1 là mơ hình tổng qt của một

hệ nhận dạng tiếng nói điển hình.
Tín hiệu tiếng nói sau khi thu nhận được lượng tử hóa sẽ biến đổi thành
một tập các vector tham số đặc trưng với các phân đoạn có độ dài trong
khoảng 10-30 ms.
Các đặc trưng này được dùng cho đối sánh hoặc tìm kiếm các từ gần
nhất với một số ràng buộc về âm học, từ vựng và ngữ pháp. Cơ sở dữ liệu
tiếng nói được sử dụng trong q trình huấn luyện (mơ hình hóa /phân lớp)
để xác định các tham số hệ thống.
1.2 Các nguyên tắc cơ bản trong nhận dạng tiếng nói
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản:
 Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một
khung thời gian ngắn. Nhờ vậy ta có thể trích ra đặc điểm tiếng nói từ
những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu nhận
dạng tiếng nói.
 Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các
kí hiệu ngữ âm. Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta
phiên âm phát âm thành dãy các kí hiệu ngữ âm.
 Nhận dạng tiếng nói là một q trình nhận thức. Ngơn ngữ nói là có
nghĩa, do đó thơng tin về ngữ nghĩa và suy đoan có giá trị trong q trình
nhận dạng tiếng nói nhất là khi thơng tin về âm học là không rõ ràng.
1.3 Các hệ thống nhận dạng tiếng nói:
Các hệ thống nhận dạng tiếng nói có thể được phân chia thành hai loại
khác nhau: hệ thống nhận dạng từ rời rạc và hệ thống nhận dạng từ liên tục.
Trong hệ thống nhận dạng tiếng nói liên tục, người ta lại phân biệt hệ thống

NHĨM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11



KỸ THUẬT NHẬN DẠNG

[3]

GVHD: Ts. Nguyễn Thị Thu

nhận dạng có kích thước từ điển nhỏ và hệ thống nhận dạng với kích thước từ
Hệ thống nhận dạng từ rời rạc

Hệ thống với kích thước từ
điển trung bình và lớn

Hệ thống nhận dạng từ liên tục

Hệ thống với kích
thước bộ từ điển nhỏ

điển trung bình hoặc lớn.
Hệ thống nhận

Trong hệ thống nhận dạng từ rời rạc, các phát âm được nhận dạng được
giả thiết là chỉ bao gồm một từ hoặc một nhóm từ độc lập. Các từ được
nhận dạng mà khơng phụ thuộc vào ngữ cảnh của nó. Nhận dạng tiếng nói
với các từ rời rạc được ứng dụng trong các chương trình dạng câu lệnh-điều
NHĨM SVTH: NHĨM 3

Hình 1.2 Các hệ thống nhận dạng giọng nói

LỚP: ĐH_CNKTMT1_K11



KỸ THUẬT NHẬN DẠNG

[4]

GVHD: Ts. Nguyễn Thị Thu

khiển (command-control), chẳng hạn như ứng dụng quay số bằng giọng nói
trong điện thoại di động. Bài tốn nhận dạng tiếng nói các từ rời rạc rõ ràng
là dễ hơn rất nhiều so với bài tốn nhận dạng tiếng nói liên tục vì ranh giới
trái và phải của các từ được coi mặc nhiên là đã được xác định. Tuy nhiên
trong thực tế việc tìm ranh giới các từ trong một phát âm liên tục không
phải lúc nào cũng là dễ dàng.

1.4 Phương pháp MFCC
1.4.1 Phương pháp MFCC là gì?
Phương pháp thứ tư MFCC (Mel-Frequency Ceptrums Coefficients).
MFCC là một cách để trích xuất các đặc trưng (feature extraction) giọng nói
(speech) thường được sử dụng trong các model nhận dạng giọng nói
(Automatic Speech Recognition) hay phân loại giọng nói (Speech
Classification). Đúng như tên gọi của nó, MFCC sẽ cho ra kết quả là các hệ
số (coefficients) của IFFT (là kết quả biến đổi fourier ngược) từ Mel filter
trên phổ lấy được từ các file âm thanh chứa giọng nói.
Nhận dạng tiếng nói là một q trình nhận dạng mẫu, với mục đích là phân
lớp thơng tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã được
học trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có
thể là các từ hay là các âm vị. Nếu các mẫu này là bất biến và khơng thay đổi thì
cơng việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng
nói cần nhận dạng với các mẫu đã được học và lưu trữ trong bộ nhớ.


NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[5]

GVHD: Ts. Nguyễn Thị Thu

1.4.2 Nguyên lý hoạt động
Giọng nói thì thường sẽ được biểu diễn dưới dạng hai chiều (x, y) với x là
thời gian (time) theo miliseconds (ms) và y là biên độ. Trong đó những giá trị
trên y được sinh ra trực tiếp từ bộ thu âm, do đó người ta thường gọi là speech
signal.

Hình 1.3 Speech signal

Đầu tiên, ta sẽ biến đối speech signal thành âm phổ (hay còn gọi là spectrum)
bằng cách áp dụng FFT (Fast Fourier Transform)

Hình 1.4 Âm phổ

NHĨM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG


[6]

GVHD: Ts. Nguyễn Thị Thu

Kết quả của việc biến đổi này, tức là spectrum, được biểu diễn dưới dạng hai
chiều (x′,y′) với x'x′ là tần số (Hz) và y′ là cường độ (dB).

Hình 1.5 Biểu diễn Spectrum dưới dạng 2 chiều

Ở hình trên, các điểm màu đỏ được gọi là Formants, là nơi có các tần số áp
đảo (dominant), mang đặc tính của âm thanh. Đường màu đỏ gọi là Spectral
Envelopes. Mục tiêu chính của ta là lấy được đường màu đỏ này.
Gọi spectrum là X[k] có hai thành phần là spectral envelopes H[k] và spectral
E(k)

Spectrum (quang phổ)

NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[7]

GVHD: Ts. Nguyễn Thị Thu

Spectral Envelope (đường biên quang phổ)


Hình 1.6 tin hieu

Spectral details (Chi tiết quang phổ)
Để tách được H[k], ta cần phải lấy logarithm của spectrum và lấy phần ở tần
số thấp (low frequency):
X[k] &= H[k] * E[k]
⇔ log(X[k]) = log(H[k]) + log(E[k])
Người ta thấy rằng tai người hoạt động như một bộ lọc, chỉ tập trung vào một
phần thay vì hết cả spectral envelopes. Thế là một bộ lọc lấy ý tưởng này ra đời,
gọi là Mel-Frequency Filter:

NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[8]

GVHD: Ts. Nguyễn Thị Thu

Hình 1.7 abc

Chi tiết về bộ lọc này sẽ được nói ở phần sau. Sau khi áp dụng bộ lọc này, ta
sẽ sử dụng Inverse Fast Fourier Transform lên logarithm của spectrum:
IFFT(log(X[k])) = IFFT(log(H[k]) + log(E[k]))
⇔ x[k] = h[k] + e[k]
Trong đó, x[k]x[k] được gọi là cepstrum vì IFFT là nghịch đảo của FFT

và cepstrum cũng là nghịch đảo của spectrum, hay chứ nhỉ.
Cepstrum bây giờ sẽ giống như Speech Signal, biểu diễn dưới dạng hai chiều
(x′′, y′′), nhưng giá trị sẽ khác nên người ta cũng gọi hai cột với tên khác là y′′ là
magnitude (khơng có đơn vị) và x′′ là quefrency (ms).Và MFCCs cũng chính là
các giá trị lấy từ Cepstrum này, thông thường người ta sẽ lấy 12 hệ số của y′′ vì
mấy cái cịn lại khơng có tác dụng trong các hệ thống nhận diện âm thanh.
Tóm lại, pipeline của ta sẽ là speech signal→ spectrum → mel-freq
filter → cepstral.
MFCCs được hiện thực như sau:
Với nguyên lý hoạt động ở trên, để hiện thực cho máy tính trích xuất được
MFCCs thì ta sẽ phải thêm một số thành phần khác. Pipeline cơ bản như sau:
NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[9]

GVHD: Ts. Nguyễn Thị Thu

Hình 1.8 Nguyên lý hoạt động MFCC

Preemphasis
Ta sẽ áp dụng công thức sau lên speech signal:
y(t) =x(t)−αx(t−1)
Có nhiều lý do để áp dụng preemphasis như:
1. Tránh vấn đề về số khi áp dụng FFT
2. Làm cân bằng tần số spectrum

3. Khuếch đại tần số cao (để lọc tần số thấp dễ hơn)
Nhưng mà preemphasis khơng bắt buộc sử dụng nữa vì FFT đã được cải thiện.
 Framing
Speech signal ở dạng liên tục theo từng ms, do đó khó để giải quyết nên người ta
sẽ chia speech signal thành các frames.
Mỗi frame có kích thước khoảng 20-40 ms và chồng lên nhau (tức là từ đầu
frame sau tới cuối frame trước) khoảng 10-15 ms.
Kết quả sẽ ở dưới dạng hai chiều (x,y) với x là chiều dài khung (frame_lengh) và
y là số của một khung
 Windowing
NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 10 ]

GVHD: Ts. Nguyễn Thị Thu

Do framing làm rời rạc hóa speech signal ta sẽ áp dụng một hàm gọi
là Hamming Window để làm smooth các frames:
w[n] = 0.54 − 0.46 cos ( N−12πn )

(0 ≤ n ≤ N – 1)

-trong đó Nn là chiều dài khung
 Fourier Transform and Power Spectrum
Đây là bước ta chuyển speech signal thành spectrum, ta sẽ áp dụng công thức

sau:

P=
Trong đó NFFT bằng 256 hoặc 512, xi là frame thứ i của speech signal x.
 Filter Banks
Đây là bước ta áp dụng bộ lọc Mel-Frequency FIlter.
Các phương trình sau dùng để chuyển giữa Hert (f)(f) và Mel (m)(m):

Sau đây là chi tiết về bộ lọc này, đó là các phương trình sau:

NHĨM SVTH: NHĨM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 11 ]

GVHD: Ts. Nguyễn Thị Thu

Discrete Cosine Transform and MFCCs
Đây là bước ta chuyển từ spectrum qua cepstrum, áp dụng DCT (1 dạng
IFFT) lên kết quả của filter banks ta sẽ có được các MFCCs, sau đó lấy 12 hệ số
như đã nói.
1.5. Học lượng tử hóa vector và hàng xóm gần nhất của K (Learning Vector
Quantization and K-Nearest Neighbor)
1.5.1 Học lượng tử hóa vector (Learning Vector Quantization)
Khi định vị các nguyên mẫu, sử dụng thông tin được cung cấp bởi lớp nhãn
tương phản với k-nghĩa nguyên mẫu không sử dụng nhãn lớp thường làm tốt hơn

k- nghĩa. ý tưởng là di chuyển một nguyên mẫu gần với các mẫu đào tạo trong
lớp của nó và di chuyển các mẫu với các lớp khác nhau

NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 12 ]

GVHD: Ts. Nguyễn Thị Thu

Hình 1.9 Học lượng tử hố vector

Ví dụ: mơ phỏng với ba lớp và năm nguyên mẫu cho mỗi lớp đuocj tạo ra từ
hỗn hợp Gaussian. Trong bảng điều khiển tăng, các nguyên mẫu đã được tìm
thấy bằng cách áp dụng thuật toán phân cụm k-nghĩa riêng biệt trong mỗi lớp.
Trong bảng điều khiển thấp hơn, thuật toán LVQ thứ (bắt đàu từ giải pháp kmean) di chuyển nguyên mẫu ra khỏi ranh giới quyết định. Đường cong màu tím
broken trong nền là ranh giới quyết định của Bases

Hình 1.10 Nguyên mẫu mỗi lớp

 Thuật tốn

NHĨM SVTH: NHĨM 3

LỚP: ĐH_CNKTMT1_K11



KỸ THUẬT NHẬN DẠNG

[ 13 ]

GVHD: Ts. Nguyễn Thị Thu

1. Bắt đầu từ một tập hợp các nguyên mẫu ban đầu được gán. Chứng tỏ
các nguyên mẫu M theo Z={z1,….,zM} và các lớp liên quan của chúng
bằng C(zm),m=1,2,…M
Lấy các nguyên mẫu ban đầu có thể được cung cấp bằng phương tiện k.
2. Quét qua các mẫu đào tạo và cập nhật zm sau khi truy cập từng mẫu
Giả sử xi được gán cho nguyên mẫu thứ m zm gần nhất theo quy tắc





4.


hàng xóm:
K xi-zm kI Nếu gi = C (zm), di chuyển zm về phía mẫu đào tạo:
Zm ← zm + (xi – zm) trong đó tỷ lệ học tập.
I Nếu gi 6 = C (zm), di chuyển zm ra khỏi mẫu huấn luyện :
Zm ← zm + (xi – zm)
Bước 2 có thể lặp lại một số lần.
Thí nghiệm
Ta sử dụng bộ dữ liệu bệnh tiểu đường, các nguyên mẫu thu được bằng

phương tiện k làm mẫu ban đầu LVQ với = 0,1.
Với kết quả thu được sau 1,2 và 5 lần vượt qua được hiển thị bên dưới.
Phân loại không được đảm bảo để cải thiện sau khi điều chỉnh nguyên
mẫu, vượt qua với một nhỏ thường giúp. Nhưng don don hơp làm điều đó.

NHĨM SVTH: NHĨM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 14 ]

GVHD: Ts. Nguyễn Thị Thu

Hình 1.11 Khoảng cách

1.5.2 K-Nearest Neighbor Classifiers
K-nearest neighbor là một trong những thuật toán supervised-learning đơn
giản nhất (mà hiệu quả trong một vài trường hợp) trong Machine Learning. Khi
training, thuật toán này khơng học một điều gì từ dữ liệu training (đây cũng là lý
do thuật toán này được xếp vào loại học lười (lazy learning), mọi tính tốn được
thực hiện khi nó cần dự đốn kết quả của dữ liệu mới. K-nearest neighbor có thể
áp dụng được vào cả hai loại của bài toán Supervised learning là phân loại
(Classification) và hồi quy (Regression). KNN cịn được gọi là một thuật
tốn học tập dựa trên cơ sở (Instance-based) hay còn gọi học tập dựa trên trí nhớ
lớn (Memory-based learning).
Cho điểm truy vấn x0, tìm k mẫu đào tạo x (r), r = 1, ..., k gần nhất với
khoảng cách x0, sau đó phân loại bằng cách sử dụng đa số phiếu trong số hàng

xóm k.
Tính năng chuẩn hóa thường được thực hiện trong tiền xử lý.
Phân loại ranh giới trở nên mượt mà hơn với k lớn hơn

NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 15 ]

GVHD: Ts. Nguyễn Thị Thu

Hình 1.12 Phân loại

Một nghiên cứu so sánh (ElemStatLearn) ở đây đưa ra hai vấn đề mơ phỏng.
Tơi có 10 tính năng độc lập Xj, mỗi tính năng thống nhất phân phối trên [0,
1]. Biến mục tiêu 0-1 hai lớp được định nghĩa như sau:
Vấn đề 1: “easy”
Y = I(x1 >1/2)
Vấn đề 2: “difficult”
Y=I
Đối với vấn đề 1 (2), ngoại trừ X1 (và X2, X3), tất cả các vấn đề khác tính
năng là tiếng ồn Tiếng Nhật. Tỷ lệ lỗi Bayes bằng không, trong mỗi lần chạy,
100 mẫu được sử dụng trong đào tạo và 1000 mẫu được sử dụng trong thử
nghiệm. Hình vẽ cho thấy giá trị trung bình và độ lệch chuẩn của lỗi phân loại
sai cho hàng xóm gần nhất, K-nghĩa và LVQ trên 10 hiện thực (10 bộ dữ liệu mô
phỏng), như điều chỉnh các thông số thay đổi.

NHÓM SVTH: NHÓM 3

LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 16 ]

GVHD: Ts. Nguyễn Thị Thu

K-nghĩa và LVQ cho kết quả gần như giống hệt nhau. Đối với vấn đề đầu
tiên, K-mean và LVQ vượt trội gần nhất hàng xóm, giả sử sự lựa chọn tốt nhất
của các tham số điều chỉnh cho mỗi. Đối với vấn đề thứ hai, họ thực hiện tương
tự. K tối ưu cho phân loại lân cận k gần nhất khác nhau đáng kể cho hai vấn đề.

Hình 1.13 Tần số

1.5.2 Ưu nhược điểm của KNN
-Ưu điểm của KNN:
 Độ phức tạp tính tốn của q trình training là bằng 0.
 Việc dự đoán kết quả của dữ liệu mới rất đơn giản.
 Khơng cần giả sử gì về phân phối của các class.
-Nhược điểm của KNN:
KNN rất nhạy cảm với nhiễu khi K nhỏ. Như đã nói, KNN là một thuật tốn
mà mọi tính tốn đều nằm ở khâu test. Trong đó việc tính khoảng cách
tới từng điểm dữ liệu trong training set sẽ tốn rất nhiều thời gian, đặc biệt là với
các cơ sở dữ liệu có số chiều lớn và có nhiều điểm dữ liệu. Với K càng lớn thì độ
NHĨM SVTH: NHĨM 3


LỚP: ĐH_CNKTMT1_K11


KỸ THUẬT NHẬN DẠNG

[ 17 ]

GVHD: Ts. Nguyễn Thị Thu

phức tạp cũng sẽ tăng lên. Ngoài ra, việc lưu toàn bộ dữ liệu trong bộ nhớ cũng
ảnh hưởng tới hiệu năng của KNN.

CHƯƠNG 2. THIẾT KẾ CHƯƠNG TRÌNH NHẬN DẠNG GIỌNG NĨI
2.1 Mơ hình nhận dạng giọng nói
Phương pháp tính các hệ số MFCC là phương pháp trích chọn tham số tiếng
nói được sử dụng rộng rãi bởi tính hiệu quả của nó thơng qua phân tích cepstral

NHĨM SVTH: NHĨM 3

LỚP: ĐH_CNKTMT1_K11


×