MỤC LỤC
1
LỜI NÓI ĐẦU
Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói
(Speech recognition) trên cơ sở lý thuyết các hệ thống thông minh nhân
tạo, nhiều kết quả đã trở thành sản phẩm thương mại như ViaVoice,
Dragon , các hệ thống bảo mật thông qua nhận dạng tiếng nói, các hệ quay
số điện thoại bằng giọng nói Triển khai những công trình nghiên cứu và
đưa vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa
đặc biệt trong giai đoạn công nghiệp hoá hiện đại hoá hiện nay.
Tuy nhiên do tính phức tạp của vấn đề mà kết quả của những công
trình có thể có nhiều phạm vi áp dụng khác nhau. Mỗi công trình ứng dụng
cho một phạm vi nào đó, mong muốn chung là có một hệ thống nhận dạng
được toàn bộ các từ, của nhiều người nói. Những việc phải giải quyết của
bài toán này còn nhiều khó khăn nhất là với tiếng Việt.
Mạng neural (Neural Netwok) là một công cụ có khả năng giải quyết
được nhiều lớp bài toán khó, thực tế những nghiên cứu về mạng neural đưa
ra một cách tiếp cận hiệu quả trong nhận dạng tiếng nói. Với bài toán nhận
dạng một số phụ âm bật tiếng Việt, thông qua mạng neural hy vọng góp
phần nâng cao hiệu quả của hệ thống nhận dạng.
Sau thời gian nghiên cứu không dài với sự giúp đỡ nhiệt tình của
thầy hướng dẫn PGS_TS và các thầy cô giáo của khoa CNTT em đã hoàn
thành đúng thời hạn các nhiệm vụ đặt ra trong quá trình nghiên cứu. Em
xin chân thành cảm các thầy đã tận tình giúp đỡ em, cảm tất cả các thành
viên trong lớp đã tạo điều kiện tốt nhất để em hoàn thành tốt đề tài của
mình. Em mong sự đóng góp ý kiến của thầy cô để em tiếp tục hoàn thiện
và phát triển đề tài của mình.
2
I. TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI
1. Nhận dạng tiếng nói nói chung.
Nhận dạng tiếng nói đã có lịch sử khoảng 40 năm nay. Những nhân
tố quan trọng giúp cho sự phát triển của công nghệ nhận dạng này có thể kể
đến như sự phát triển của các hệ thống phân tích phổ âm thanh (1946) thể
hiện dưới dạng trực quan các tín hiệu âm, lý thuyết tạo âm thanh tiếng nói
của con người (1948) và tất nhiên phải kể đến sự xuất hiện và phát triển
máy tính số thương mại đầu tiên trên thế giới (1958).
Hệ thống nhận dạng tiếng nói đầu tiên có khả năng nhận dạng từ rời
rạc và phụ thuộc người nói để phân tích và nhận dạng các chữ số hoặc các
từ đơn âm sử dụng đặc tính miền thời gian và các ngân hàng bộ lọc tương
tự. Cũng như vậy với phương pháp âm học hệ thống nhận dạng âm vị phụ
thuộc người nói và không phụ thuộc người nói đã được thiết kế, xây dựng
mặc dù mới cho được những kết quả còn rất khiêm tốn.
Trong thập kỉ 70, với sự phát triển của các thuật toán phân tích tín
hiệu (mô hình dự đoán tuyến tính, so sánh mẫu theo thời gian) công nghệ
nhận dạng tiếng nói được tiếp tục phát triển mạnh mẽ. Với các phương
pháp này hệ thống nhận dạng vớí số lượng từ rất lớn không phụ thuộc
người nói đã được thực thi.
Một mốc quan trọng trong hướng nghiên cứu nhận dạng tiếng nói
phải kể đến là dự án DARPA SUR (Department of Defense Advanced
Research Projects Agency Speech Understanding Research) được thực hiện
tại bộ quốc phòng Mĩ từ năm 1971 đến năm 1976. Mục tiêu của dự án nhận
dạng tiếng nói liên tục với nhiều giọng nói trong môi trường yên tĩnh.
3
Năm 1984, hãng IBM đã phát triển hệ thống nhận dạng tiếng nói đầu
tiên, hệ thống này được trợ giúp bởi một máy tính lớn có thời gian tính toán
chậm và có khả năng nhận dạng 5000 từ tiếng Anh rời rạc.
Năm 1988 tại Trung tâm khoa học Heidelberg (Đức) phát triển hệ
thống TANGORA nhận dạng tiếng Đức, hệ thống này có khả năng nhận
dạng 20000 từ đến 30000 từ rời rạc.
Đặc biệt, năm 1974 tại Trung tâm tính toán viện Hàn lâm Liên Xô,
một tập thể các nhà khoa học đã đưa ra hệ thống nhận dạng với 10 chữ số.
và 100 câu lệnh phục vụ cho điều khiển quỹ đạo đạn đạo của tên lửa và vệ
tinh.
2. Nhận dạng tiếng Việt.
Đối với tiếng Việt do có đặc thù riêng chúng ta không thể ứng dụng
nguyên vẹn các thành quả nghiên cứu của các ngôn ngữ khác (tiếng Anh,
Đức, Nga…) vào nhận dạng tiếng Việt. Vì thế nghiên cứu đặc trưng và xây
dựng chương trình nhận dạng cho tiếng Việt là hết sức quan trọng.
Trong những năm qua đã có nhiều công trình, luận án nghiên cứu
nhận dạng tiếng nói, tuy nhiên kết quả đạt được chưa nhiều. Đáng chú ý là
những công trình nghiên cứu như.
- “Nghiên cứu phát triển công nghệ nhận dạng, tổng hợp và xử lý
ngôn ngữ tiếng Việt” do GS. Bạch Hưng Khang làm chủ nhiệm.
Kết quả đạt 70% - 90% cho giọng chuẩn Hà Nội.
- “Điều khiển robot bằng tiếng Việt theo hướng dẫn thông minh“
do tiến sĩ Nguyễn Thiện Thành và các nhà khoa học thuộc sở
KHCN TP.HCM nghiên cứu
4
- Hệ thống nhận dạng tiếng nói có thanh điệu đầu tiên trên thế giới
với bộ 10 chữ số tiếng Việt và 200 từ phát âm rời rạc do tiến si
Nguyễn Anh Tuấn thuộc Trung tâm tính toán viện hàn lâm Liên
Xô nghiên cứu. Kết quả chính xác khoảng 97% - 98%.
- Và một số luận án tiến sĩ, thạc sĩ khác đã nghiên cứu về nhận
dạng tiếng nói tiếng Việt.
Dù là hướng nghiên cứu nào thì bài toán nhận dạng phải thuộc lớp
mô hình bài toán nhận dạng sau:
- Phân theo số người nói.
o Nhận dạng một giọng nói
o Nhận dạng nhiều giọng nói.
- Phân theo số lượng từ.
o Số lượng từ hữu hạn.
o Số lượng từ không hạn chế.
o Nhận dạng nói từng từ và nói cả câu.
- Phân theo môi trường nói
o Có nhiễu.
o Không có nhiễu
Ngoài ra nhận dạng tiếng Việt cần lưu ý tới đặc điểm vùng như sau:
- Giọng nói của người miền Bắc.
5
- Giọng nói của người miền Trung.
- Giọng nói của người miền Nam.
- Giọng nói của người dân tộc khi nói tiếng Kinh.
Bài toán nhận dạng thường là tổng hợp của các đặc điểm trên:
- Tiếng nói do một người nói với số từ hạn chế.
- Tiếng nói do nhiều người nói với số từ hạn chế.
- Tiếng nói do một người nói với số từ không hạn chế.
- Tiếng nói do nhiều người nói, số từ không hạn chế.
- Nhận dạng từ đơn.
- Nhận dạng các từ dính nhau trong câu nói.
Các hệ thống nhận dạng tuỳ thuộc vào mục đích ứng dụng mà lựa
chọn một trong các mô hình trên.
Lĩnh vực nghiên cứu của nhận dạng tiếng nói là khá rộng liên quan
đến nhiều ngành khác nhau như xử lý tín hiệu số (digital signal
proccessing), vật lý hay âm học (acoustic), nhận dạng mẫu, lý thuyết thông
tin và khoa học máy tính (information and computer science theory),ngôn
ngữ học (inguistics), sinh lý học (physiology), tâm lý học ứng dụng
(applied psychology).
Dù nhận dạng theo mô hình nào, việc lựa chọn đơn vị nhận dạng là
hết sức quan trọng chi phối nhiều đến chất lượng nhận dạng. Tiếng Việt là
6
một ngôn ngữ có thanh điệu nên lựa chọn đơn vị nhận dạng như thế nào lại
càng quan trọng. Luận văn trình bày quan niệm về cấu trúc tiếng Việt (đặc
biệt cấu trúc tiếng Việt dưới góc độ CNTT), nghiên cứu đặc trưng của từ,
các thành phần của từ, tập trung chủ yếu vào phần phụ âm đầu, nhằm phục
vụ cho bài toán nhận dạng phụ âm đã đặt ra theo lớp bài toán nhận dạng từ
rời rạc.
II. KHÁI QUÁT CHUNG VỀ MÁY HỌC.
1. Khái niệm máy học:
Để bắt đầu với khái niệm máy học, trước tiên phải xem xét đến khái
niệm học. Học là việc làm tăng khả năng thực hiện nhiệm vụ T của chương
trình dựa trên kinh nghiệm E với hiệu quả thực hiện nhiệm vụ là P. Như
vậy chương trình được thiết kế có khả năng học gọi là máy học.
Mỗi bài toán về máy học ta phải xác định nhiệm vụ T, hiệu quả thực
hiện P và kinh nghiệm E còn gọi là bộ dữ liệu huấn luyện cho máy.
E còn được gọi là bộ dữ liệu kinh nghiệm, phương pháp thực hiện
làm tăng khả năng thực hiện nhiệm vụ T(Làm tăng hiệu quả P) bằng cách
khai thác dữ liệu từ bộ dữ liệu kinh nghiệm E được gọi là phương pháp
học…
Mỗi phương pháp học sẽ có thuật toán tương ứng gọi là thuật toán
học, việc lựa chọn phương pháp phụ thuộc vào nhiệm vụ T và bộ dữ liệu
kinh nghiệm E.
Một số ví dụ:
7
Xét một số bài toán ứng dụng máy học.
Bài toán chơi cờ.
T: Chơi cờ (máy - người, máy - máy)
P: Tỉ lệ ván thắng đối thủ.
E: Kinh nghiệm từ những ván tự chơi (máy - máy) hoặc máy -
người.
Bài toán nhận dạng chữ viết tay.
T: Nhận dạng và phân lớp các chữ viết tay từ ảnh.
P: Tỷ lệ các từ phân lớp đúng.
E: Cơ sở dữ liệu là các từ được phân lớp.
Bài toán nhận dạng tiếng nói
T: Phân lớp các từ theo đặc trưng của một từ từ tín hiệu đã
được số hoá.
P: Số phần trăm các từ đã phân lớp đúng.
E: Cơ sở dữ liệu các từ đã được phân lớp.
Bài toán tự lái xe ô tô
T: Lái xe ô tô.
P: Tỉ lệ đường ô tô tự lái an toàn.
E: Cơ sở dữ liệu đặc điểm đường đi, các lệnh thực hiện theo
đặc điểm đường đi.
Các lĩnh vực ứng dụng
Các lĩnh vực được ứng dụng chủ yếu là:
- Khai phá dữ liệu: Dựa vào dữ liệu đã có hỗ trợ ra quyết định.
8
- Nhận dạng: Nhận dạng vân tay, mặt người, chữ viết, tiếng nói…
- Điều khiển tự động: tự động lái xe ô tô, điều khiển robot…
- Ứng dụng tự lựa chọn: Tự dộng trích tóm tắt của một bài viết,
tóm tắt những thông tin độc giả thường quan tâm.
2. Thiết kế hệ thống học
Thiết kế hệ thống học cho máy có thể có những mô hình khác nhau
cho từng bài toán, tuy nhiên các bài toán đều tuân theo các bước quy định
sau:
- Xác định tập dữ liệu mẫu để huấn luyện.
- Xác định hàm mục tiêu.
- Xác định cách biểu diễn giá trị hàm mục tiêu.
- Xác định thuật toán học.
2.1. Xác định tập dữ liệu mẫu để huấn luyện.
Bộ dữ liệu mẫu dùng huấn luyện cho máy được xem là bộ dữ
liệu kinh nghiệm E. Mỗi bài toán cụ thể sẽ xác định cấu trúc của bộ dữ liệu
mẫu dùng để huấn luyện. Ví dụ: Bài toán nhận dạng tiếng nói thì bộ dữ
liệu mẫu dùng để huấn luyện là những đặc trưng được trích chọn từ mỗi
từ.
9
Bộ dữ liệu mẫu là tập hợp các mẫu dữ liệu, mỗi mẫu dữ liệu
thường được biểu diễn bởi véctơ b(x
1
, x
2
,…, x
n
), trong đó x
i
là các giá trị
đặc trưng, mẫu dữ liệu được phân thành hai loại:
- Mẫu dữ liệu có giá trị đích: Mẫu dữ liệu được xác định
là thuộc phân lớp, đối tượng hoặc quyết định, trong trường hợp này máy
học theo cách học có giám sát.
- Mẫu dữ liệu không có giá trị đích: Mẫu dữ liệu không
được xác định trước phân lớp, đối tượng hoặc quyết định. Trong trường
hợp này máy học theo cách học không có giám sát. Dữ liệu huấn luyện kiểu
này máy sẽ phải tự xác định những dữ liệu nào là cùng một phân lớp, đối
tượng hay cùng một quyết định theo tiêu chí đánh giá riêng.
2.2. Xác định hàm mục tiêu.
Hàm mục tiêu là các lớp, đối tượng hay quyết định, các giá trị
hàm mục tiêu được xác định từ bộ dữ liệu huấn luyện có giá trị đích hoặc
máy tự xác định, ví dụ trong bài toán nhận dạng tiếng nói thì tập giá trị hàm
đích là tập các từ rời rạc, trong bài toán xấp xỉ hàm thì tập các giá trị mục
tiêu được xác định theo một hàm. Hàm mục tiêu V(b) có thể được xác định
như sau:
V: B→
R
V: Hàm mục tiêu
B: Tập giá trị mẫu trong bộ dữ liệu.
R
: Miền giá trị hàm mục tiêu.
2.3. Xác định cách biểu diễn hàm mục tiêu
10
Giá trị hàm mục tiêu có thể được xác định trong miền số nhị
phân, số thực (ký hiệu là R), hay số nguyên. Hàm mục tiêu được biểu diễn
thông qua các hệ số w
i
(còn được gọi là các hệ số của hệ thống học), khi đó
hàm mục tiêu được đánh giá xấp xỉ tuyến tính với b, hệ số là w
i
.
V’(b)= w
0
+ w
1
x
1
+ w
2
x
2
+ … + w
n
x
n
.
Hàm V’(b) được đánh giá xấp xỉ tuyến tính, V’(b) được gọi là
hàm học. V
train
(b) là giá trị huấn luyện, là giá trị lý tưởng.
2.4. Thuật toán học
Quá trình học là quá trình thực hiện điều chỉnh các hệ số w
i
sao cho giá trị đánh giá hàm mục tiêu V’(b) càng bám sát giá trị hàm mục
tiêu huấn luyện V
train
(b) càng tốt. Sai số được đánh giá theo công thức:
Error = (V’(b) – V
train
(b))
2
Quá trình huấn luyện lặp lại nhiều lần trên toàn bộ dữ liệu
mẫu, mỗi vòng lặp các giá trị w
i
được điều chỉnh sao cho hệ số error giảm
dần.
Các bước thực hiện học:
Bước 1: Xác định giá trị học và giá trị hàm đích tương ứng.
Bước 2: Khởi tạo trọng số w
i
.
11
Bước 3: Tính giá trị đầu ra hàm học được V’(b).
Bước 4: Đánh giá lỗi (sự sai khác giữa hàm mục tiêu lý tưởng và
hàm học được):
∑
∈
−=
EtrainVb
train
bVbVE
))(,(
2
))(')((
Bước 5: Cập nhật trọng số theo thuật toán bình phương tối thiểu (viết
tắt là LMS).
itrainii
xbVbVww ))(')((
−+=
η
η: Tốc độ học.
Bước 6: Lặp lại bước 3 khi giá trị lỗi đạt dưới ngưỡng cho phép hoặc
số lần lặp luyện mẫu đạt đủ lớn.
Đối với một số bài toán thì bộ dữ liệu huấn luyện sẽ được bổ sung
trong quá trình “máy tự học”, là quá trình máy tự đặt bài toán và giải quyết,
kết quả, các đặc trưng, các quyết định sẽ xây dựng lên bộ dữ liệu huấn
luyện. Ví dụ đối với bài toán chơi cờ, máy sẽ tự chơi với máy, mỗi ván cờ
sẽ đi đến đích cuối cùng là có một bên thua và một bên thắng (2 đối thủ do
máy tự sinh ra). Kết thúc mỗi ván chơi, thông tin được bổ sung vào bộ dữ
liệu huấn luyện, với số lần chơi đủ lớn thì số kinh nghiệm tích luỹ được đủ
nhiều máy có thể thi đấu với người. Như vậy máy sẽ ngày càng “thông
minh theo thời gian”.
12
3. Phân lớp bằng hệ thống máy học
Hệ thống máy học sau khi đã được huấn luyện bằng bộ dữ liệu mẫu
(b, V
train
(b)), với sai số đủ nhỏ (so với ngưỡng đặt trước) hoặc đủ số vòng
lặp huấn luyện mẫuthu được bộ hệ số hạo w
i
, giá trị hàm đích được đánh
giá như sau:
V’(b) = w
0
+ w
1
x
1
+ w
2
x
2
+ … + w
n
.x
n
.
Giá trị hàm đích xác định mức độ giống so với giá trị hàm mục tiêu
của bộ mẫu đã huấn luyện, nếu gọi bộ mẫu huấn luyện là bộ dữ liệu: (p
1
,t
1
),
(p
2
,t
2
), . . . , (p
m
,t
m
), p là giá trị mẫu, t giá trị hàm mục tiêu, danh sách các
13
giá trị hàm mục tiêu có k giá trị phân biệt gọi là k lớp: t
i1
, t
i2
, . . . , t
ik
khi đó
nói hàm mục tiêu có k lớp, việc phân lớp một bộ dữ liệu của hệ thống máy
học là việc xác định mức độ giống của bộ dữ liệu đó so với mẫu đã huấn
luyện thông qua việc so sánh giá trị hàm đích.
So sánh giá trị hàm đích V’(b) so với giá trị hàm đích của các lớp,
nếu so với lớp nào độ sai khác được đánh giá err = |V’(b) -t
i
| là nhỏ nhất thì
bộ dữ liệu cần phân lớp b thuộc lớp có hàm mục tiêu là t
i
. Giải quyết bài
toán phân lớp cũng là giải quyết bài toán nhận dạng. Ví dụ đối với bài toán
nhận dạng tiếng nói, các từ lấy đặc trưng b(x
1
, x
2
, . . . , x
n
), đặt giá trị hàm
mục tiêu V
train
(b) đưa vào hệ thống máy học huấn luyện thu được bộ hệ số
học w
i
, khi thực hiện nhận dạng tiếng nói một từ bằng cách đánh giá hàm
đích của bộ đặc trưng tiếng nói đó với bộ hệ số học w
i,
giá trị hàm đích sai
lệch so với giá trị hàm mục tiêu của từ nào là ít nhất sẽ là từ cần nhận
dạng.
4. Phương pháp xây dựng máy học
Có nhiều phương pháp được sử dụng xây dựng hệ thống máy học,
gồm một số phương pháp sau:
- Cây quyết định.
- Mạng Nơron nhân tạo
- Phương pháp Bayesian.
- Mô hình Markov ẩn, . . .
14
Trong báo cáo này tôi xin trình bày phưong pháp xây dựng máy học
bằng mạng Neural nhân tạo.
Mạng Neural nhân tạo là công cụ xây dựng hệ thống máy học mà
hàm mục tiêu được xấp xỉ là các giá trị thực, rời rạc hoặc vectơ. Mạng
neural được xây dựng dựa phỏng mạng neural sinh học của con người.
4.1 Cấu trúc mạng neural nhân tạo.
Mạng neural xây dựng trên cơ sở các neural, cấu trúc theo từng lớp.
Cấu trúc neural:
Neural trong mạng neural nhân tạo có cấu tạo gồm các thành phần:
- Dữ liệu đưa vào: x
1
, x
2
, . . . , x
m
- Hệ số học: w
1
, w
2
, . . . w
m
- Hàm chuyển f
- Bias(khuynh hướng): Có loại neural sử dụng bias và neural không
sử dụng bias
Giá trị dữ liệu ra được tính như sau:
)(
1
0
∑
=
+=
m
i
ii
biaswxwfa
4.2 Một số hàm chuyển thông dụng
* Hàm ngưỡng: harlim
15
<
≥
==
00
01
)lim(
n
n
nharda
Ký hiệu:
* Hàm ngưỡng đối xứng: Hardlims
<−
≥
==
01
01
)(lim
n
n
nsharda
Ký hiệu:
* Hàm tuyến tính: purelin
nnpurlina
==
)(
Ký hiệu:
* Hàm tuyến tính trên đoạn: satlin
≤−
≤≤
≥
==
01
10
01
)(
n
nn
n
nsatlina
Ký hiệu:
* Hàm tuyến tính bảo hoà đối xứng: satlins
16
−
≤≤−
≥
==
1
11
11
)( nn
n
nsatlinsa
Ký hiệu:
* Hàm log_sig: log_sigmoid
e
n
nsiga
+
−
==
1
1
)(log
Ký hiệu:
* Hàm tanghyperbolic: tansig
ee
ee
nn
nn
nsiga
−
−
+
−
==
)(tan
Ký hiệu:
* Hàm tuyến tính dương: (Poslin)
<
≥
==
00
0
)(
n
nn
nposlina
Ký hiệu:
* Hàm cạnh tranh: compet
17
<
=
==
max0
max1
)(
n
n
ncompeta
Ký hiệu:
4.3 Mạng neural đa lớp
Mạng neural đa lớp được cấu tạo từ nhiều neural, các neural được
thiết kế theo từng lớp , mạng đa lớp được đặc trưng bởi các tham số sau:
- Số lớp của mạng, gồm các lớp:
o Lớp dữ liệu vào (input layer) lớp này chỉ có dữ liệu vào và
không có neural, số lượng nút của lớp vào phụ thuộc mẫu
dữ liệu đưa vào hệ thống.
o Các lớp ẩn (hidden layers), lớp này được thiết kế gồm một
hay nhiều lớp, mỗi lớp được cấu trúc có 1 hoặc nhiều
neural.
o Lớp dữ liệu ra (output layer), lớp này được cấu trúc 1 hoặc
nhiều neural tuỳ theo hàm chuyển và số phân lớp hàm mục
tiêu.
18
Hình 1.2 Mạng neural 3 lớp
4.4. Quy tắc học.
Theo lý thuyết học, quá trình học là quá trình điều chỉnh các hệ số
học w
i
sau mỗi bước huấn luyện, các hệ số học được điều chỉnh như sau:
ii
iii
xotw
www
)(
−=∆
∆+←
η
Trong đó t : giá trị hàm mục tiêu huấn luyện V
train
.
o: giá trị hàm mục tiêu dự báo V’.
η: tốc độ học.
4.5. Quy tắc học dựa vào việc giảm Gradient
Quá trình học được thực hiện điều chỉnh các hệ số học w
i
sao cho giá
trị lỗi E là nhỏ nhất.
19
∑
∈
−=
Dd
dd
otwE
2
)(
2
1
)(
Trong đó :
- D: tập dữ liệu mẫu
- t
d
: giá trị hàm mục tiêu V
train
(d) của mẫu d.
- Bộ hệ số học w(w
1
, w
2
, . . ., w
n
)
Có nhiều thuật toán sử dụng cho việc huấn luyện mạng nhằm cải
thiện tốc độ, trong đó thuật toán được sử dụng phổ biến là thuật toán lan
truyền ngược lỗi (backpropagation algorithm).
4.6. Mạng 3 lớp dùng thuật toán lan truyền ngược.
Xét mạng 3 lớp dùng n
in
nút dữ liệu vào, n
hidden
nút neural ẩn, n
out
nút
neural lớp ra.
Quy tắc học của mạng nơron đa lớp được thực hiện tương tự như
trên, các bước huấn luyện nhằm thay đổi giá trị các hệ số học w của mạng
20
để tổng giá trị bình phương của lỗi là nhỏ nhất. Lỗi được xác định ở lớp ra
của mạng xác định theo công thức:
2
)(
2
1
)(
∑ ∑
∈ ∈
−=
Dd outputk
kdkd
otwE
Ý tưởng thuật toán:
Thuật toán lan truyền ngược trong mạng đa lớp thực hiện bằng cách
xác định lỗi tại lớp ra đối với mỗi mẫu, lỗi lớp ra cũng là lỗi của toàn mạng,
từ lỗi của lớp ra xác định được lỗi của lớp trước nó, công việc tiếp tục lan
truyền ngược với các lớp đứng trước, sau khi thực hiện tính toán được lỗi
của các lớp (trừ lớp vào), thực hiện tính lại các hệ số học của mạng. Với
thuật toán lan truyền ngược này tốc độ huấn luyện mạng khá nhanh, phù
hợp mạng đa lớp.
Thuật toán lan truyền ngược cho mạng 3 lớp:
Input:
- Training_examples: Bộ dữ liệu mẫu, mỗi bộ dữ liệu gồm vectơ
mẫu x(x
1
, x
2
, . . . , x
m
), t_ giá trị hàm mục tiêu tương ứng với
vectơ mẫu x.
- n
in
: Số nút lớp vào.
- n
hidden
: Số nút lớp ẩn.
- n
out
: Số nút lớp ra.
- η: Tốc độ học.
21
Output:
- Bộ hệ số học w
ij
BACKPROPAGATION(training_examples, η, n
in
, n
hidden
, n
out
)
x
ji
: Dữ liệu từ nút thứ i đến nút thứ j
w
ji
: Hệ số học từ nút thứ i đến nút thứ j.
1. Tạo mạng với n
in
nút vào, n
hidden
nút ẩn, n
out
nút ra.
2. Khởi tạo các hệ số học w
ijk
là các số ngẫu nhiên
)5.0,5.0(−∈
ijk
w
3. Lặp đến khi đủ số vòng lặp luyện mẫu hoặc sai số đạt ngưỡng cho
phép.
a. Với bộ mẫu (x,t)
∈
trainning_examples
i. Tính giá trị ra o
k
, k = 0, 1, . . . , n
out
– 1 của mạng với
dữ liệu vào x.
ii. Tính lỗi tại mỗi neural lớp ra:
1, ,1,0,))(1(
−=−−←
outkkkkk
nkotoo
δ
iii. Tính lỗi tại mỗi neural lớp ẩn:
∑
∈
−←
outputk
kkhhhh
woo
δδ
)1(
iv. Tính lại các hệ số học
jijiji
www
∆+←
22
Trong đó:
jijji
xw
ηδ
←∆
b. Lặp lại với mẫu tiếp theo
4. Lặp lại bước 3 nếu chưa đủ số lần huấn luyện và sai số chưa đặt
dưới ngưỡng cho phép.
23
III. LÝ THUYẾT XỬ LÝ TIẾNG NÓI
1. Cơ sở lý thuyết âm thanh.
Trong tự nhiên con người nghe được âm thanh là do các sóng
âm va đập vào màng nhĩ của tai làm cho màng nhĩ rung lên và con người
cảm nhận được những tần số trong những phạm vi nhất định. Kết quả là hệ
thần kinh trung ương cảm nhận được đó là âm thanh và là âm thanh gì, nếu
là tiếng nói thì biết được nội dung câu nói.
Như vậy bản chất của âm thanh là một dao động có tần số, con
người cảm nhận được từ dao động này. Nếu dao động có biên độ càng lớn
thì âm lượng càng lớn và ngược lại. Tần số dao động của âm thanh trong tự
nhiên có pham vi rộng, tuy nhiên con người chỉ cảm nhận được trong một
phạm vi nhất định.
1.1. Tín hiệu tương tự của âm thanh.
Tín hiệu tương tự của âm thanh là tín hiệu âm thanh
trong tự nhiên, các dao động của sóng âm thanh này con người cảm nhận
được. Các thiết bị phát thanh (loa) đều thực hiện tạo dao động, để dao động
đó truyền đến tai người.
Dao động của sóng âm thanh là một dao động tổng hợp
gồm nhiều dao động thành phần có một tần số nhất định. Ví dụ một ban
nhạc chơi một dàn nhạc thì môt nhạc cụ sẽ cho ra một hoặc nhiều sóng âm
thanh dao động, bản nhạc phát ra sẽ tổng hợp bởi nhiều nhạc cụ khác nhau,
có tần số khác nhau. Mỗi dao động thể hiện các mức năng lượng của âm
thanh một cách liên tục.
24
1.2. Tín hiệu số của âm thanh
Trong các thiết bị số, điển hình là máy tính, âm thanh
nói riêng và dữ liệu nói chung đươc lưu trữ dưới dạng số. Tín hiệu tương tự
của âm thanh được chuyển thành các số gọi là tín hiệu số của âm thanh.
Hình 2.1: tín hiệu số và tín hiệu tương tự tương ứng của nó
Lấy mẫu: Là quá trình lấy tín hiệu âm thanh liên tục
thành tín hiệu rời rạc, nghĩa là là thay tín hiệu liên tục bằng biên độ của nó
tại những thời điểm cách đều nhau.
Tần số lấy mẫu (f
s
): tần số lấy mẫu được ký hiệu là f
s
là
số mẫu thu được trong thời gian 1 giây. Nếu tần số lấy mẫu càng cao thì
dạng của tín hiệu càng có khả năng khôi phục giống như tín hiệu gốc, Chất
lượng âm thanh khôi phục được càng giống âm thanh gốc. Tuy nhiên nếu
25