Mục tiêu đề tài mở rộng số từ vựng nhận dạng nhờ vào việc khai thác tính ưu việt của mạng neural và sử dụng hệ số Mel làm đặc trưng cho tiếng nói.. Trong phần lý thuyết được viết thành 6
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
PHẠM VĂN THÀNH
NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ
VISUAL C++
Chuyên ngành: ĐIỀU KHIỂN HỌC KỸ THUẬT Mã số ngành: 2.05.01
LUẬN VĂN THẠC SĨ
Tp Hồ Chí Minh, tháng 11 năm 2004
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA tp HỒ CHÍ MINH
Các bộ hướng dẫn khoa học: TS Nguyễn Thiện Thành
Các bộ chấm nhận xét 1: PGS TS Nguyễn Hữu Phương
Các bộ chấm nhận xét 2:TSKH Hồ Đắc Lộc
Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 24 tháng 11 năm 2004
Trang 3- -
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: PHẠM VĂN THÀNH Phái: nam
Ngày, tháng, năm sinh: 04 – 01 – 1971 Nơi sinh: Bến Tre
Chuyên ngành: Điều Khiển Học Kỹ Thuật
I TÊN ĐỀ TÀI:
II NHIỆM VỤ VÀ NỘI DUNG:
♦ Giới thiệu tổng quan về nhận dạng tiếng nói
♦ Khái quát về mạng neural
III NGÀY GIAO NHIỆM VỤ:
IV NGÀY HOÀN THÀNH NHIỆM VỤ:
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS NGUYỄN THIỆN THÀNH
CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM NGÀNH BỘ MÔN QUẢN LÝ NGÀNH
TS Nguyễn Thiện Thành
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
Ngày tháng năm 2004
Trang 4NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ VISUAL C++
CHÂN THÀNH CÁM ƠN !
Các Thầy Cô trong Khoa Điện - Điện Tử đã truyền đạt cho tôi những kiến thức quý báu trong quá trình theo học tại trường
Và đặc biệt tôi chân thành cảm ơn Tiến sĩ Nguyễn Thiện Thành, người đã trực tiếp hướng dẫn, động viên và giúp đỡ tôi thực hiện luận văn này
Chân thành cảm ơn:
Các thầy cô và toàn thể cán bộ công nhân viên của trường Đại Học Bách Khoa TP Hồ Chí Minh
Các cán bộ - nhân viên Phòng Đào Tạo Sau Đại Học
đã tạo điều kiện thuận lợi và giúp đỡ chúng tôi trong thời gian theo học tại trường
Chân thành cảm ơn Ban Giám Hiệu và toàn thể các đồng nghiệp tại Trường Cao Đẳng Kỹ Thuật Cao Thắng đã luôn động viên, hỗ trợ tạo điều kiện cho tôi đi học và hoàn thành luận văn này
Tác giả
Phạm Văn Thành
Trang 5NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ VISUAL C++
TÓM TẮT LUẬN VĂN THẠC SĨ
Luận văn này được thực hiện từ tháng 2 năm 2004 đến tháng 11 năm 2004, nội dung đề tài tập trung nghiên cứu nhận dạng tiếng nói trên cơ sở dùng mạng neural và các phương pháp xử lý tiếng nói như: tách từ, trích đặc trưng Đây là lãnh vực được nhiều tác giả trong và ngoài nước nghiên cứu, tuy nhiên trong nước chưa có công trình đạt kết quả mỹ mãn
Mục tiêu đề tài mở rộng số từ vựng nhận dạng nhờ vào việc khai thác tính ưu việt của mạng neural và sử dụng hệ số Mel làm đặc trưng cho tiếng nói
Đề tài gồm phần nghiên cứu lý thuyết và viết chương trình nhận dạng tiếng nói Trong phần lý thuyết được viết thành 6 chương dày khoảng 80 trang: chương 1: cung cấp những thông tin về nhận dạng tiếng nói, chương 2: trình bày cơ sở để nhận dạng tiếng nói, chương 3: trình bày về khái quát về mạng neural, chương 4: trình bày một số phương pháp tách từ, chương 5: trình bày một số phương pháp trích đặc trưng tiếng nói, chương 6: thiết kế hệ thống nhận dạng tiếng nói dùng mạng Neural và phần phụ lục: trình bày các thủ tục của chương trình nhận dạng tiếng nói viết bằng ngôn ngữ Visual C++
Trang 6NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ VISUAL C++
Abstract
This topic has performed from Feb to Nov of 2004, the contents of it focus on researching the speed recognition base on Neuron Network and speed processing as: isolate word recognition, extract speech specification Which has been researched by many scientist in and outside the country However, in Việt Nam, there has no topic was successful
The aim of topic is extended some of vocabulary by exploit the benefit of Neuron network and use the Mel factor as speech specification
The topic breaks down into two parts: the researching of theory and the program written to speech recognition The theory part including 6 chapters, about
80 pages:
- Chapter 1: The information about speech recognition
- Chapter 2: The basic to speech recognition
- Chapter 3: Presentation the general about Neuron Network
- Chapter 4: Presentation the approach to isolate word recognition
- Chapter 5: Presentation the extract speech specification
- Chapter 6: Design system the speech recognition use Neuron network
and the appendix: presentation procedures of speed recognition program, use VC++ language
Trang 7
NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ VISUAL C++
MỤC LỤC
2.1 Nguyên tắc cơ bản của nhận dạng tiếng nói 6
Trang 8NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ VISUAL C++
Chương 4 TÁCH TỪ
4.4 Phát hiện điểm đầu và điểm cuối với tỷ lệ qua điểm zero -“0” 43
Chương 5 TRÍCH ĐẶC TRƯNG TIẾNG NÓI
5.1 Trích đặc trưng tiếng nói bằng phương pháp lọc 47
5.1.2 Tính phổ công suất của tín hiệu theo các băng tần 48
5.1.3 Phân biệt năng lượng của các Frame qua các băng tần 49
5.3 Trích Formant dùng phép biến đổi Wavelets 56
Trang 9NHẬN DẠNG TIẾNG VIỆT LẬP TRÌNH BẰNG NGÔN NGỮ VISUAL C++
Chương 6 NHẬN DẠNG TIẾNG NÓI DÙNG MẠNG NEURAL
6.3 Mạng truyền thẳng nhiều lớp với giải thuật lan truyền ngược 61
6.3.1 Giải thuật lan truyền ngược huấn luyện mạng 62
6.3.2 Các thông số học trong huấn luyện mạng mạng truyền thẳng 65
6.5 Xây dựng mạng neural nhận dạng tiếng nói 70
6.5.1 Sơ đồi khối quá trình huấn luyện và nhận dạng tiếng nói 70
6.5.2 Cấu trúc hệ thống nhận dạng tiếng nói dùng mạng nerual 71
Trang 10Chương 1 GIỚI THIỆU
Tiếng nói là phương thức giao tiếp tự nhiên của con người Chúng ta học
được tất cả những kỹ năng nói trong thời thơ ấu, mặc dù không được hướng dẫn,
và chúng ta tiếp tục sử dụng sự giao tiếp bằng tiếng nói trong cuộc sống của
mình Là một hiện tượng tự nhiên nhưng ta khó hiểu hết tính phức tạp của tiếng
nói Bộ máy phát âm của con người là cơ quan sinh học có đặc tính phi tuyến, sự
hoạt động không chỉ dưới sự điều khiển có ý thức mà cũng được ngụy tạo bởi
những nhân tố như giống, trạng thái cảm xúc … kết quả là sự phát âm có thể thay
đổi độ rộng trong giới hạn của trọng âm, cách đọc, cách phát âm rõ ràng, độ
mạnh, tính chất âm mũi, cường độ, âm lượng, tốc độ; hơn nữa, trong khi truyền
đạt các mẫu tiếng nói không ổn định có thể bị méo dạng do nhiễu và dội Tất cả
những điều này gây khó nhăn cho quá trình nhận dạng tiếng nói
Ngày nay con người có thể giao tiếp với máy tính, mà phương pháp cơ bản
là giao tiếp qua bàn phím và thiết bị chỉ điểm Giao tiếp qua tiếng nói có nhiều
giá trị ứng dụng như: hỗ trợ hướng dẫn điện thoại, hands-busy ứng dụng trong Y
khoa, thiết bị đọc trong văn phòng, hay tự động dịch các ngoại ngữ Các nghiên
cứu ứng dụng hệ thống nhận dạng tiếng nói có từ những năm 1950 Phát triển
mạnh mẽ từ năm 1970, sử dụng trong nhóm thiết kế gồm: máy tạo mẫu, mô hình
thống kê Lúc bấy giờ máy tính vẫn chưa được dùng trong nhận dạng tiếng nói
Điều gì làm cho con người dễ dàng nhận ra tiếng nói ? Não người trên thực
tế nó hoạt động hoàn toàn khác mô hình máy tính Trong khi một máy tính
thường sử dụng các chương trình xử lý phức tạp và nhanh trong bộ nhớ, trái lại
não người sử dụng một tập hợp rất lớn các phần tử xử lý song song chậm và đơn
giản (neurons ), một hệ nối kết dày đặc bởi các trọng số ( synapses ) có cường
Trang 11độ thay đổi theo kinh nghiệm, đó là sự tích hợp phức tạp và cung cấp một hình
dạng phân bố của sự liên kết bộ nhớ
Bộ não có một phạm vi kỹ năng nhận thức rất rộng, trong đó có sự nhận
dạng tiếng nói, có sự thúc đẩy nghiên cứu mô hình mới lạ từ năm 1940, thừa
nhận mô hình giống não có thể hoàn thành một nhiệm vụ phức tạp Lãnh vực
hấp dẫn này được biết như là sự kết nối và huấn luyện mạng neural nhân tạo
Lịch sử của lãnh vực này không rõ lắm, nhưng giữa năm 1980 lãnh vực này được
áp dụng để thực hiện những nhiệm vụ khó như nhận dạng tiếng nói
Hiện nay việc nhận dạng tiếng nói dùng mạng neural trở nên thông dụng
và được nhiều người nghiên cứu
1.1 Nhận dạng tiếng nói
Kích thước bộ từ vựng và tính chính xác: Một qui tắc tổng quát, một tập
hợp rất ít từ thì dễ dàng phân biệt được, nhưng tỷ lệ sai số sẽ gia tăng khi
kích thước bộ từ vựng tăng lên Ví dụ, tập hợp 10 chữ số từ “0” đến “9”
có thể đuợc nhận dạng hoàn toàn về cơ bản ( Doddington 1989 ), nhưng
bộ từ vựng có kích thước 200, 5000, 100000 từ có tỷ lệ sai số là: 3%, 7%,
45% (Itakura 1975, Miyatake 1990, Kimura 1990 ) Một bộ từ vựng nhỏ
cũng có thể nhận dạng nhầm Ví dụ ( tập hợp các chữ cái: B, C, D, G, P,
T, V, Z) sai số 8% là kết quả tốt nhất ( Hild & Waible 1993 )
Sự phụ thuộc và không phụ thuộc người nói: Một hệ thống phụ thuộc
người nói nghĩa là sử dụng bởi một người, nhưng hệ thống không phụ
thuộc người nói được sử dụng bởi nhiều nguời Thường thì hệ thống không
phụ thuộc khó đạt kết quả hơn, tỷ lệ sai số cao hơn từ 3 – 5 lần
Tiếng nói đơn, gián đoạn, liên tục: tiếng đơn là những từ đơn, tiếng nói
gián đoạn là một câu đầy đủ trong đó các từ được tách rời bằng khoảng
yên lặng, tiếng liên tục là câu được nói tự nhiên Tiếng nói đơn và gián
Trang 12đoạn sẽ dễ nhận dạng hơn trong khi tiếng nói liên tục thì khó nhận dạng
hơn bởi ranh giới các từ không rõ ràng và các âm liền nhau
Ràng buộc về nguôn ngữ và nhiệm vụ: ngay khi một bộ từ vựng xác định,
sự thực hiện sẽ thay đổi theo tự nhiên của ràng buộc trên sự liên tục của
từ cho phép trong lúc nhận dạng Một vài ràng buộc có thể độc lập nhiệm
vụ Những ràng buộc thường là ngữ pháp
Tính biến thiên của âm thanh khó xây dựng mô hình, một phần bởi vì nó hỗn
tạp trong tự nhiên Do vậy, nghiên cứu về nhận dạng tiếng nói tập trung vào mô
hình biến thiên âm thanh Những phương pháp tiếp cận để nhận dạng tiếng nói
theo 3 hướng
• Dựa trên khuôn mẫu: trong đó lời nói chưa biết được so sánh với tập các
từ được ghi âm trước ( những khuôn mẫu ), để tìm ra kết quả phù hợp
nhất Lợi thế của phương pháp này là việc sử dụng những mô hình chính
xác, nhưng cũng có sự bất lợi là những khuôn mẫu được ghi âm trước cố
định do đó những sự biến đổi trong lời nói có thể chỉ được mô hình bởi
việc sử dụng nhiều khuôn mẫu cho mỗi từ
• Dựa trên nền kiến thức: những kiến thức về sự biến đổi trong lời nói thì
mã hóa trong một hệ thống Phương pháp này có lợi thế là sự biến đổi của
tiếng nói được mô hình rõ ràng, tuy nhiên kiến thức khó thu được và sử
dụng thành công
• Dựa vào thống kê: biến của tiếng nói được mô hình thống kê ( mô hình
Markov ẩn ) sử dụng thủ tục huấn luyện tự động Phương pháp này hiện
nay rất hiệu quả, bất lợi là mô hình xác xuất Mạng neural nhân tạo sẽ
giúp ta tránh vấn đề này
Trang 131.2 Mạng Neural nhân tạo
Nghiên cứu mạng neural nhân tạo, dựa trên nền tản neural sinh học, nhưng
nó trở thành một đối tượng nghiên cứu của nhiều lãnh vực: khoa học máy tính,
điện tử, cơ khí, vật lý, tâm lý và ngôn ngữ học Có vài nhà khoa học nghiên cứu
luật học của bộ não người, nhưng có nhiều chú ý tập trung vào thuộc tính tổng
quát của sự tính toán neural, sử dụng mô hình neural đơn giản Những thuộc tính
của mạng neural nhân tạo bao gồm:
Có thể huấn luyện đựơc: Mạng neural có thể được dạy để hình thành mối
quan hệ giữa các mẫu đầu vào và đầu ra Ví dụ, mạng học để phân loại
các mẫu tiếng nói thành ra các âm vị
Sự khái quát: mạng không những ghi nhớ những dữ liệu đã học, chúng
còn học những mẫu cơ bản, vì thế chúng có thể tổng quát hóa dữ liệu từ
những mẫu mới Đây là yếu tố cần thiết trong nhận dạng tiếng nói bởi vì
những mẫu âm thanh không bao giờ giống chính xác
Tính chất phi tuyến: Mạng có thể tính toán phi tuyến, hàm thông số các
ngõ vào cho phép chúng thực hiện những biến đổi phức tạp của dữ liệu
Điều này rất có ích khi lời nói là một quá trình biến đổi phi tuyến
Sự mạnh: Mạng neural chịu được cả hai tổn hại về vật lý và dự liệu
nhiễu, trên thực tế nhiễu làm cho mạng khái quát hóa tốt hơn Điều này
có giá trị đặc biệt bởi vì các mẫu tiếng nói hay bị nhiễu
Tính chất đồng bộ: Mạng đưa ra mô hình tính toán đồng bộ có thể dễ
dàng tổng hợp từ những loại ngõ vào khác nhau, điều này dễ dàng sử
dụng cho ngõ vào cơ bản và tiếng nói khác, ví dụ, tổng hợp âm thanh
Tính song song: tính chất hoạt động song song cao trong tự nhiên, vì vậây
chúng thi hành song song, điều này cho phép xử lý rất nhanh
Trang 14Có nhiều loại mô hình mạng neural khác nhau về cấu trúc, thủ tục huấn
luyện và ứng dụng, nhưng tất cả dựa vào vài nguyên lý chung Một mạng neural
nhân tạo gồm nhiều phần tử xử lý đơn giản ( gọi là đơn vị, nút hay neural ), ảnh
hưởng của mỗi hành vi nối kết mạng là sự kích thích hay ức chế trọng số Mỗi
đơn vị đơn giản tính toán tổng trọng số phi tuyến của những đầu vào nó, và lan
truyền kết quả tới những đơn vị khác Một tập huấn luyện gồm giá trị các mẫu
ngõ vào và ngõ ra, một qui tắt học được vận dụng làm thay đổi ảnh hưởng của
những trọng số cho phù hợp với yên cầu mạng
Mạng neural thường được dùng để nhận dạng những mẫu tĩnh, những ngõ
vào sắp xếp phức tạp để những ngõ ra đơn giản, như là một sự phân loại các
mẫu vào Hơn nữa, cách chung nhất để huấn luyện mạng là thủ tục lan truyền
ngược, những trọng số nối kết được thay đổi tùy thuộc sai số ngõ ra Ngày nay,
có nhiều ứng dụng thành công mạng neural bởi giải thuật lan truyền ngược
• NETtalk là mạng neural được huấn luyện để phát âm văn bản tiếng Anh
Đầu vào của nó là một cửa sổ 7 ký tự, việc quét một bộ đệm văn bản lớn
và đầu ra của nó là một mã âm vị
• ALVINN là mạng naural dùng điều khiển mộ ôtô, đầu vào là hình ảnh
con đường phía trước do camera ghi lại và đầu ra là một véc tơ liên tục
quyết định việc điều chỉnh tay lái
• Mạng nhận dạng chữ viết
Trang 15Chương 2 NHẬN DẠNG TIẾNG NÓI
2.1 Nguyên tắc cơ bản của nhận dạng tiếng nói
Nhận dạng tiếng nói là công việc nhận dạng một mẫu nhiều cấp độ, trong
tín hiệu âm học về nghiên cứu và cấu trúc chia ra: từ, cụm từ và câu Mỗi cấp độ
có sự ràng buộc về thời gian khác nhau, biết rằng sự phát âm một từ hay luật
cụm từ, mà có thể bù cho những sai số hay không chắc chắn tại cấp độ thấp và
tạo nên quyết định rời rạc ở cấp độ cao
Cấu trúc một mô hình nhận dạng tiếng nói như hình
tiếng nói nguyên thủy
tín hiệu phân tích
tiếng nói
chia frame phân tích
âm học
mô hình âm học
frame điểm thời gian
sắp xếp
từ nén
sự phân đoạn
chuỗi
hình 2.1
Tiếng nói nguyên thủy: Tiếng nói được lấy mẫu ở tần số cao 16 khz qua
microphone hay 8 khz qua máy điện thoại Nó mang lại một dãy giá trị
theo thời gian
Phân tích tín hiệu: có nhiều kỹ thuật trích đặc trưng và nén dữ liệu để quá
trình xử lý tiếp theo được đơn giản Nhiều kỹ thuật phân tích mà không
làm mất một thông tin quan trọng nào Thông dụng nhất là các phương
pháp:
Trang 16o Phân tích Fourier ( FFT ), rời rạc tần số trên toàn bộ chu kỳ, mà có thể
giải thích trực quan Những tần số thường phân chia trong hệ số Mel,
tuyến tính trong phạm vi nhỏ nhưng logarith trong phạm vi lớn, tương
xứng với những đặc tính sinh lý học tai người
o Dự đoán tuyến tính ( PLP ) cũng dựa trên động lực sinh lý học, nhưng
những hệ số không được giải thích trực quan
o Mã hóa tuyến tính ( LPC ) những hệ số của một phương trình tuyến
tính xấp xỉ tiếng nói nguyên thủy
Speech frame Khi phân tích tiếng nói được chia ra nhiều frame, khoảng
10ms ứng với mỗi frame, với khoảng 16 hệ số cho mỗi frame Các frame
tiếng nói được sử dụng để phân tích âm thanh
hình 2.2
Mô hình âm thanh Để phân tích những frame tiếng nói lấy nội dung âm
học của chúng, chúng ta cần có những mô hình âm thanh Có nhiều loại
mô hình âm thanh, những thay đổi trong sự miêu tả chúng, sự phụ thuộc
ngữ cảnh và các thuộc tính khác
Đơn giản nhất là một mẫu, mà chính là mẫu tích trữ của đơn vị của mô
hình tiếng nói Một từ chưa biết có thể được nhận dạng bởi sự so sánh với các
mẫu đã biết và tìm ra mẫu gần đúng Mẫu có hai hạn chế cơ bản: chúng không
thể mô hình những tính biến thiên của âm thanh, trừ việc gán nhiều mẫu cho
một từ Trong thực tế chúng có hạn chế để mô hình toàn bộ từ, bởi vì nó khó ghi
Trang 17âm và phân đoạn một mẫu ngắn hơn một từ, sao cho những mẫu sử dụng trong
hệ thống nhỏ có thể tạo ra mô hình toàn bộ từ Một sự trình bày linh hoạt hơn
đuợc sử dụng trong hệ thống lớn hơn, dựa trên mô hình âm thanh có huấn luyện
Cách tiếp cận này, mỗi từ được mô hình bởi một chuỗi các trạng thái có thể
huấn luyện và mỗi trạng thái biểu thị những âm thanh giống như nghe được từ
một chuỗi từ, sử dụng một phân phối xác suất qua không gian âm thanh Những
phân phối xác suất có thể mô hình giới hạn, bởi vì giả sử rằng chúng ta có mẫu
đơn giản và rồi tìm giới hạn để mô tả nó, hay không giới hạn, vì mô tả sự phân
bố trục tiếp
Hình 2.3 mô hình âm thanh của từ “CAT”
Phân tích âm thanh và frame dữ liệu: sự phân tích âm thanh được thực hiện
bởi áp dụng mỗi mô hình âm thanh cho mỗi frame tiếng nói, một ma trận
frame điểm như hình vẽ sau Các điểm là tính toán theo kiểu mô hình âm
thanh đang sử dụng Môt điểm tiêu biểu là khoảng cách Euclidean giữa một
frame mẫu và frame chưa biết
Sự sắp xếp thời gian: những frame điểm được chuyển đổi tới sự sắp xếp từ
bởi việc xác định một chuỗi mô hình âm thanh, mô tả chuỗi từ hiệu quả
mẫu
Trạng thái
Giới hạn
Không giới
Trang 182.2 Mô hình Markov ẩn ( HMMs )
Tiếp cận và nhận dạng tiếng nói thành công nhất là mô hình Markov ẩn
Trong phần này chúng ta sẽ đưa ra những khái niệm cơ bản về mô hình Markov
ẩn, mô tả các thuật toán để huấn luyện và sử dụng chúng, tìm hiểu một vài sự
thay đổi chung và xem xét một số vấn đề liên quan tới mô hình Markov ẩn
2.2.1 Khái niệm cơ bản
Mô hình Markov ẩn là một tập hợp các trạng thái có quan hệ với nhau
qua việc chuyển trạng thái Bắt đầu trong một trạng thái chỉ định ban đầu Trong
mỗi bước rời rạc hóa thời gian việc chuyển trạng thái là đi tới một trạng thái mới
và một biểu tượng ngõ ra được tạo ra Việc chọn lựa bước chuyển tiếp và ký
hiệu ngõ ra ngẫu nhiên, bị khống chế bởi khả năng phân bố Mô hình Markov ẩn
có thể xem như một hộp đen, trong đó trình tự của đầu ra là trình tự theo thời
gian có khả năng quan sát được, nhưng trình tự trạng thái theo thời gian bị ẩn
Đó là lý do nó được gọi là mô hình Markov ẩn
Mô hình Markov ẩn đơn giản với 2 trạng thái và 2 ký hiệu ngõ ra A và B
như hình vẽ (2.4)
A:0.7 B:0.3
0.4 B:0.8
A:0.2
hình 2.4
Mô hình Markov được ứng dụng rất đa dạng Khi ứng dụng để nhận dạng
tiếng nói, các trạng thái được thể hiện như mô hình về thính giác, cho biết âm
thanh nào đang được nghe tương ứng với đoạn tiếng nói Trong khi việc chuyển
tiếp với thời lượng cố định, chỉ ra làm thế nào các trạng thái có thể theo kịp được
trong một chuỗi Bởi vì giọng nói luôn luôn đi trước thời gian, việc chuyển tiếp
trong ứng dụng giọng nói luôn luôn đi trước Hình vẽ sau minh họa các trạng thái
Trang 19và chuyển tiếp trong mô hình Markov ẩn có cấu trúc phân tầng, theo trình tự để
đặc trưng cho các âm, các từ và câu
hình 2.5
Thông thường mô hình Markov ẩn gồm các phần tử sau:
{s} = tập hợp các trạng thái
{aij} = tập hợp các khả năng chuyển đổi, aij là khả năng chuyển tiếp từ
trạng thái i tới trạng thái j
{bi(u)} = tập hợp các khả năng, bi là khả năng phân bố trên không gian
nghe được, được mô tả có khả năng phát ra của mỗi âm thanh trọng trạng
a và b chỉ phụ thuộc trạng thái hiện thời, trạng thái trước đó hoàn toàn độc
lập Giả thuyết này, hầu như phổ biến với các quan sát, giới hạn thông số của
Trang 20các tham số có thể huấn luyện được và làm cho thuật toán kiểm tra lại rất hiệu
quả, biểu diễn mô hình Markov ẩn rất có ích cho việc nhận dạng tiếng nói
2.2.2 Thuật toán
Có 3 thuật toán cơ bản dùng trong mô hình markov ẩn:
thuật toán truyền thuận ( forward ) dùng nhận dạng các từ rời
thuật toán Viterbi nhận dạng tiếng nói liên tục
thuật toán truyền thuận – ngược ( forward- backward ) sử dụng
huấn luyện mô hình Markov ẩn
2.2.2.1 Thuật toán truyền thuận
Theo trình tự, để thực hiện nhận dạng từ tách đơn, chúng ta phải đánh giá
khả năng có thể mà mô hình Markov ẩn đã cho và chuỗi đã cho và so sánh
chúng với mỗi từ mà mô hình đạt được và chọn một từ giống nhất Hơn nữa, mô
hình đã cho M, bao gồm {s} , {aij} , {bi(u)}, chúng ta phải tính toán khả năng có
thể mà nó tạo ra ở dãy đầu ra: yT
1=( y1 , y2 , … , yT ) Vì mỗi trạng thái i có thể tạo ra ở mỗi đầu ra u với bi(u) , mỗi dãy ra có chiều dài T đóng góp một đoạn
để tạo nên toàn dãy yT
i , nhưng điều này rõ ràng là thuật toán mũ và không thực tế
Cách giải quyết có ảnh hưởng lớn hơn là thuật toán truyền thuận, trong đó
ví dụ của lớp thuật toán được biết như là chương trình động, đòi hỏi chỉ tính toán
và lưu giữ các giá trị tính toán trong T Trước tiên chúng ta định nghĩa αi(t) là
khả năng có thể được tạo ra từ một dãy yt
i , trạng thái cuối j với thời gian t
αi(t=0) được khởi tạo bằng 1.0 trong trạng thái khởi tạo, và 0.0 trong tất cả các
trạng thái khác Nếu tính được αi(t-1) cho tất cả các i trong khoảng thời gian
trước đó t-1, thì αi(t) có thể được tính theo đệ qui bằng cách tăng trạng thái j từ
mỗi i trong khi tạo ra các đầu ra yt
Trang 21i i
hình 2.6
Nếu F là trạng thái cuối cùng, αF (T) là khả năng có thể mà mô hình
Markov ẩn tạo ra và tính toán dãy ra yT
1 Việc tính toán khả năng mà dãy ra y3
1 =(A,A,B) có thể được tạo ra bởi mô hình Markov ẩn đơn giản Mỗi phần tử ở (t,j) chỉ ra giá trị của αi(t), theo các giá
trị a,b đã cho Quá trình tính toán từ trạng thái đầu tiên đến trạng thái cuối cùng
theo khung thời gian đã cho, từ trước quá trình tới khoảng thời gian kế tiếp Ơû
phần tử cuối cùng, chúng ta xem khả năng mà mô hình Markov ẩn tạo ra trong
dãy (A,A,B) là 0.096
hình 2.7
2.2.2.2 Thuật toán Viterbi
Trong khi thuật toán truyền thuận đựơc sử dụng cho việc nhận dạng các từ
rời, nhưng nó không thể dùng cho nhận dạng tiếng nói liên tục, vì nó không thực
tế để có được một mô hình Markov ẩn tách rời cho mỗi câu Theo đó, để thực
hiện nhận dạng giọng nói liên tục, chúng ta phải suy luận thay vì các dãy thực tế
Trang 22của các trạng thái được tạo ra từ dãy quan sát đuợc, từ dãy trạng thái chúng ta có
thể dễ dàng tìm được từ của dãy Nhưng dãy trạng thái thực tế lại bị ẩn và không
thể tìm ra được một dãy duy nhất Bởi vậy, tất cả các đường phải tạo ra dãy ra,
với một số nhỏ các khả năng Tốt nhất là chúng ta tìm một dãy trạng thái giống
nhất để tạo ra dãy qua sát được Bằng cách ước lượng cho tất cả các khả năng có
thể của các dãy trạng thái và lập một dãy với khả năng cao nhất, nhưng nó có
thể là một hàm mũ và vì vậy thuật toán này là không dùng được
Một cách có ảnh hưởng lớn nhất là thuật toán Viterbi, cũng dựa vào
chương trình động Rất giống với thuật toán truyền thuận nhưng điểm khác biệt
cơ bản là ở chổ thay vì ước lượng tổng của mỗi phần tử, chúng ta ước lượng giá
Điều này hoàn toàn nhận ra một trạng thái tiếp theo cho mỗi phần tử trong ma
trận Nếu ta nhận dạng rõ ràng một trạng thái tiếp theo, lưu một điểm đơn trong
mỗi phần tử của ma trận, sau đó qua thời gian chúng ta phải ước lượng vF(T)ở
trạng thái cuối cùng với thời gian định trước Cùhúng ta có thể vẽ lại các điểm
này từ phần tử cuối cùng để xây dựng lại toàn bộ dãy trạng thái Với dãy trạng
thái đã có chúng ta có thể lấy lại chuỗi từ
Trang 232.2.2.3 Thuật toán truyền thuận – ngược
Để huấn luyện mô hình Markov ẩn chúng ta phải tối ưu hóa a và b với mô
hình Markov ẩn có thể đúng của tất cả các dãy trong bộ huấn luyện, vì nó sẽ cực
đại hóa mô hình Markov ẩn để nhận dạng dữ liệu đúng, mới nhất Nhưng đây là
một vấn đề khó khăn Tốt nhất là khởi tạo một vài giá trị cho a và b, sau đó lặp
các giá trị sửa đổi a và b bằng cách ước lượng lại và cải thiện chúng, cho tới khi
đạt được tiêu chuẩn Đây là phương pháp thường được gọi là ước lượng cực đại
(EM) Ví dụ này được tạo ra bằng phương pháp thông thường là thuật toán thuận
– ngược
Ở trên ta định nghĩa αj(t) là khả năng có thể được tạo ra của dãy yT
1
và trạng thái cuối cùng của nó là j, ứng với thời gian t Ta định nghĩa thêm môt
giá trị ảo βj(t) là khả năng có thể được tạo ra của phần còn lại của dãy yT
t+1 bắt đầu từ trạng thái j tại thời điểm t, αj(t) được gọi là thuật toán tiến và βj(t) được
gọi là thuật toán lùi Giống như αj(t), βj(t) có thể được tính theo phương pháp đệ
qui, nhưng với thời gian giật lùi
k
k t k jk
j(t) a b (y 1)β (t 1)
hình 2.9
Việc đệ qui này được khởi tạo ở thời gian T bằng cách đặt βj(t)=1.0 cho
trạng thái cuối và bằng 0.0 cho trạng thái đầu Ta định nghĩa thêm γij(t) là khả
năng của chuyển tiếp trạng thái từ trạng thái i tới trạng thái j tại thời điểm t, toàn
bộ dãy cho trứơc yT
1 được tạo ra bởi mô hình Markov ẩn hiện thời
Trang 24T t
T t
t y
b a t y
P
y j i P y j i P t
)(
)1()()()
(
),()(
Tử số của biểu thức cuối cùng có thể hiểu qua hình vẽ sau Mẫu số phản
ánh thực tế là khả năng tạo ra dãy yT
1 của kết quả của bất kỳ trạng thái k cuối cùng nào
Với N(i j) là thời gian mong muốn mà có thể chuyển đổi từ trạng thái i
tới trạng thái j trong khoảng thời gian từ 1 tới T
i
hình 2.10
Biểu thức trên là tổng của trạng thái j ta đạt được N(i *) hoặc N(i), đại
diện cho số mong muốn của thời gian mà trạng thái i đi qua, trong khoảng thời
N i
)()
,(
u y
t t j ij
t u
i
Cuối cùng ta ước lượng lại các thông số a và b, để tính a và bbằng cách
lấy tỷ số
t
t i
N
j i N
)(
)(
*)(
)(
γγ
(2.10)
Trang 25t i
N
u i
N t
)(
)()
(
),
1) tăng tới cực đại địa phương Do đó, bằng cách lặp lại thủ tục này cho các
số, thông số mô hình Markov ẩn sẽ đựơc tối ưu hóa cho dữ liệu huấn luyện và
tạo ra dữ liệu để kiểm tra
2.2.3 Mô hình mật độ
Có nhiều biến cho mô hình Markov ẩn, mô hình mật độ là một điển hình
Các trạng thái của mô hình Markov ẩn cần một số cách để mô hình hóa
khả năng phân phối không gian âm thanh Có ba cách để thực hiện điều này
hình 2.11
Mô hình mật độ rời rạc: để tiếp cận cách này, toàn bộ không gian âm
thanh được chia thành các vùng với mức độ vừa phải, bằng thủ tục nhóm
như véc tơ lượng tử hóa (VQ) Trọng tâm của mỗi nhóm đại diện bằng
mà từ vô hướng, đó là con trỏ tới mã sách mà véc tơ âm thanh tương ứng
nhận dạng Mỗi đầu vào được chuyển thành mã từ bởi tìm kiếm một véc
tơ gần nhất trong codebook Vẽ lại cách tiếp cận này để xem sai lệch
lượng tử hóa nếu codebook quá nhỏ, tăng kích cỡ codebook sẽ giảm
Trang 26thông số huấn luyện cho mỗi codebook, tương tự như thế cho các thông
số khác
Mô hình mật độ liên tục: sai số lượng tử hóa có thể được ước lượng bằng
cách sử dụng mô hình mật độ liên tục, thay vì codebook Khả năng phân
bố trên không gian trạng thái được mô hình hóa một cách trực tiếp, giả sử
đã có các thông số chính xác, sau đó tìm các thông số đó Thông thường
thông số được lấy theo hệ số K của Gaussians
1
, ,
trong đó: cjk là hệ số trọng số cho mỗi G với µik và thống kê ma trận Ujk
k jk
c Trong quá trình huấn luyện ước lượng lại b sau đó thực hiện ước lượng cjk , µjk , Ujk Sử dụng phép tính tổng Vẽ lại phương pháp
này thấy rằng các thông số không bị chia sẻ giữa các trạng thái, vậy nếu
có nhiều trạng thái trong toàn bộ hệ thống, thì một số lượng lớn các giá trị
của K với rất nhiều các thông số phải được huấn luyện
Mô hình mật độ bán liên tục: còn được gọi là mô hình Tied-Mixture là
phương pháp trung gian giữa hai phương pháp trên Trong mô hình mật
độ trung gian bán liên tục, như mô hình rời rạc, có một codebook mô tả
các nhóm âm thanh và chia sẽ cho tất cả các trạng thái Nhưng sự thể
hiện các nhóm như trọng tâm rời rạc hơn và chúng cũng thể hiện chức
năng mật độ liên tục trên không gian xung quanh, do vậy tránh được các
sai số lượng tử
) , , ( )
Trong đó: L là toàn bộ số codebook, cij là hệ số trọng số của mỗi G với µk
và ma trận Uk như trong trường hợp hệ liên tục, Gaussians được ước
Trang 27lượng lại trong quá trình huấn luyện, vì codebook được tối ưu hóa với các
thông số của mô hình Markov ẩn, việc tối ưu hóa này có thể cải thiện
được hệ thống
Tất cả ba mô hình được sử dụng rộng rãi, mặc dù phương pháp mật độ
liên tục dường như cho kết quả tốt hơn
Trang 28Chương 3 MẠNG NEURAL
3.1 Lịch sử phát triển
Nghiên cứu hiện đại về mạng neural nhân tạo thật sự bắt đầu vào thế kỷ
19, khi những nhà nghiên cứu thần kinh bắt đầu mở rộng nghiên cứu về hệ thông
thần kinh con người Cajal ( 1892 ) xác định hệ thống thần kinh gồm có những
neural riêng biệt, chúng truyền thông cho nhau bằng cách gởi tín hiệu điện
xuống các axon và đến các dentrites của hàng triệu neural khác, tín hiệu điện
được truyền qua synapses Đây là hình ảnh cơ bản của neural
hình 3.1 Các nhà thần kinh học tìm ra phương pháp học cho những neural riêng lẻ,
nhưng thật khó vô cùng để xác định làm sao những neural làm việc cùng nhau ở
mức hoạt động cao, như sự nhận thức và nhận dạng Tuy nhiên, với sự ra đời của
máy tính tốc độ cao, cuối cùng mô hình mạng neural có thể xây dựng được, cho
phép những nhà nghiên cứu thử nghiệm để tìm ra những thuộc tính của chúng
McCulloch và Pitts (1943 ) đề ra mô hình toán đầu tiên của một neural,
tức là đơn vị ngưỡng của nhị phân, đầu ra cũng là “ 0 ” hoặc “ 1 “ phụ thuộc vào
đầu vào ứng với ngưỡng đã cho Mô hình này tạo ra sự tác động lớn, vì nó trình
bày một hệ thống của những neural như thế, có thể tính toán với bất kỳ hàm
nào, đưa ra những giá trị thích hợp của trọng số giữa những neural
Trang 29Những nhà nghiên cứu bắt đầu tìm ra thủ tục tự động tìm các trọng số
thích hợp cho phép mạng tính toán với bất kỳ hàm nào Rosenblatt ( 1962 ) khám
phá ra thủ tục huấn luyện mạng perceptron một lớp và ông ta cũng chứng minh
rằng thủ tục này luôn luôn hội tụ đến một bộ trọng số mong muốn Khám phá
này tạo ra niềm hy vọng cho các nhà khoa học tạo ra một máy thông minh
Tuy nhiên, trong một phân tích chính xác, Minsky và Papert ( 1969 ) chỉ
ra rằng tập hợp các hàm được tính toán bởi mạng một lớp thì giới hạn thực tế và
chúng phải được biểu diễn bằng mạng nhiều lớp sẽ tốt hơn, như một kết quả trực
tiếp nghiên cứu đi vào quên lãng trong suốt 15 năm
Nghiên cứu về mạng neural dần dần hồi sinh khi Hopfield ( 1982 ) gợi ý
rằng một mạng có thể được phân tích đưới dạng một hàm năng lượng Sau đó
Rumelhart ( 1986 ) phổ biến một thủ tục huấn luyện nhanh hơn gọi là lan truyền
ngược, có thể huấn luyện mạng nhiều lớp với bất kỳ hàm mong muốn nào và
bây giờ tìm thấy được nhiều ứng dụng hữu ích
3.2 Nguyên tắt cơ bản về mạng Neural nhân tạo
Có nhiều loại mạng neural khác nhau nhưng chúng có chung 4 thuộc tính
sau:
o Một tập hợp các đơn vị xử lý
o Một hệ thông kết nối
o Một thủ tục tính toán
o Một thủ tục huấn luyện
3.2.1 Đơn vị xử lý
Một mạng neural bao gồm một lượng lớn các đơn vị xử lý rất đơn giản, gần
giống các neural trong bộ não con người Tất cả các đơn vị hoạt động đồng thời,
có tầm quan trọng như nhau Tất cả các tính toán trong hệ thống thực hiện bởi
các đơn vị xử lý này; không có bộ xử lý nào khác giám sát hoặc kết hợp hoạt
Trang 30động của chúng Tại từng thời điểm, mỗi đơn vị tính toán một hàm vô hướng của
các ngõ vào và truyền đạt kết quả đến các đơn vị lân cận
Đơn vị xử lý trong mạng phân thành 3 loại: đơn vị vào, các đơn vị ẩn, đơn
vị ra Đơn vị vào, nhận dữ liệu từ môi trường ngoài; đơn vị ẩn, xử lý dữ liệu và
truyền thông tin dữ liệu đến các phần tử kế tiếp, đơn vị ra, đưa ra quyết định
cuối cùng
Trong hình vẽ biểu thị của mạng neural, các đơn vị xử lý thường biểu diễn
bằng 1 vòng tròn Các đơn vị vào nằm phía dưới hay bên trái, trong khi ngõ ra ở
trên hay bên phải Vì thế việc xử lý từ dưới lên trên hay trái qua phải
Trạng thái của mạng tại mỗi thời điểm được diễn tả bởi một tập hợp các giá
trị hoạt động của toàn bộ các đơn vị xử lý
3.2.2 Kết nối
Các đơn vị trong mạng tổ chức thành một cấu trúc bằng tập hợp các kết nối,
hay những trọng số Mỗi trọng số là một giá trị thực, có trị từ - ∞ đến + ∞, mặc
dù, đôi khi có giới hạn Giá trị trọng số mô tả tác dụng của một đơn vị xử lý đến
các đơn vị khác, một trọng số dương có tác dụng như là nguyên nhân gây ra tác
động kích thích đến các đơn vị khác, một trọng số âm gây ra ức chế Trọng số
thường theo một hướng từ đơn vị vào đến đơn vị ra, nhưng có thể theo hai hướng,
đặc biệt khi không có sự phân biệt giữa đơn vị vào và ra
Những giá trị tất cả các trọng số định trước phản ứng tính toán của mạng
đối với bất kỳ mẫu đầu vào nào, như vậy những trọng số mã hóa kiến thức của
mạng Các trọng số có thể thay đổi trong quá trình huấn luyện, nhưng chúng có
khuynh hướng thay đổi chậm bởi vì tri thức tích lũy thay đổi chậm
Trang 31Mạng phân lớp Mạng không cấu trúc Mạng hồi qui Mạng modular
hình 3.2
Một mạng neural nhân tạo có thể kết nối với bất kỳ cấu trúc nào nhưng phổ
biến là các cấu trúc sau: mạng không hình thể, mạng phân lớp, mạng hồi qui và
mạng modular, mỗi cấu trúc phù hợp tốt nhất với từng loại ứng dụng
Mạng không hình thể thường dùng cho các mẫu hoàn toàn
Mạng phân lớp thường dùng cho các mẫu liên kết, như là phép ánh xạ
các véc tơ ngõ vào đến các véc tơ ngõ ra
Mạng hồi qui thường dùng cho các mẫu sắp xếp theo thứ tự
Mạng modular thường dùng xây dựng một hệ thống phức tạp từ các thành
phần đơn giản
Chú ý rằng mạng không hình thể có thể bao gồm các vòng tròn, thực tế đó là
mạng hồi qui Mạng phân lớp có thể có hay không có hồi qui Mạng modular có
thể tích hợp từ nhiều loại cấu trúc khác nhau Nói chung mạng không hình thể sử
dụng 2 hay nhiều kết nối còn các mạng khác sử dụng 1 kết nối
Liên kết giữa hai nhóm đơn vị xử lý, như hai lớp, thường hoàn toàn ( nối kết
tất cả đến tất cả ), nhưng nó cũng ngẫu nhiên ( nối kết một vài tới một vài)
3.2.3 Sự tính toán
Sự tính toán bắt đầu bằng cách xét một mẫu vào của mạng hay cặp mẫu của
sự hoạt động trên đơn vị ngõ vào Rồi tính toán đến tất cả các đơn vị còn lại, cả
đồng bộ hay không đồng bộ Trong mạng không hình thể xử lý này gọi là hoạt
Trang 32động lan rộng; trong mạng phân lớp nó được gọi là lan truyền thuận, việc xử lý
từ lớp vào đến lớp ra sau đó việc tính toán thực hiện từ lớp ra; còn mạng hồi qui
thì hoạt động không ổn định nhưng có thể thay đổi các đường đi trong không
gian như là các đơn vị liên tiếp cập nhật
Cập nhật đặc trưng của một đơn vị xử lý qua 2 giai đoạn: thứ nhất chúng ta
tính mạng vào đơn vị và tính tác động ngõ ra bằng một hàm của mạng vào
Trường hợp cơ bản như hình (3.3), mạng vào xj cho đơn vị thứ j bằng tổng các
trọng số với tín hiệu vào:
yj : là tác động ngõ ra của đơn vị trước đó
Wji : là trọng số từ đơn vị thứ i tới đơn vị thứ j
y y
Trang 33Tổng quát, tổng hợp vào được bù bởi một biến giới hạn ngưỡng θ phương
trình (3.1) trở thành
j i
ji i
Tuy nhiên, trong thực tế, các ngưỡng này thường xem như là trọng số Wj0
nối kết đến một đơn vị ảo có tác động y0 =1 Một khi chúng ta tính toán tổng hợp
vào xj , chúng ta tính tác động ngõ ra yj như là một hàm của ngõ vào Hàm tác
động này cũng có thể gọi là hàm truyền
Hàm tác động quyết định cục bộ thường một trong ba dạng: tuyến tính,
ngưỡng, sigmoidal như hình Trường hợp tuyến tính, ta có y = x , ít sử dụng bởi vì
nó không đủ mạnh, những lớp phức tạp của các đơn vị xử lý có thể phân thành 1
lớp đơn giản với hàm chức năng giống nhau
Hàm tác động tuyến tính
y
x
hình 3.5
Ngoài ra còn có hàm phi tuyến , để xây dựng những hàm phi tuyến một mạng
cần có những đơn vị xử lý phi tuyến Dạng đơn giản nhất của phi tuyến là hàm
0 xif 0
Trang 34Hàm tác động ngưỡng ( threshold )
x y
hình 3.6
Hàm này tác động mạnh hơn hàm tuyến tính, như một mạng nhiều lớp phức
tạp tính toán với bất cứ hàm boolean nào Tuy nhiên, nó khó huấn luyện bởi
hàm truy tìm tập trọng số mong muốn không liên tục có thể phụ thuộc 1 hàm
mũ Luật học hiện có chỉ dành cho mạng 1 lớp Hơn nữa có nhiều ứng dụng khi
ngõ ra liên tục thích hợp hơn ngõ ra nhị phân Vì vậy, hàm thường dùng nhất là
hàm sigmoidal
)exp(
Hàm tác động sigmoidal
x
hình 3.7
Hàm sigmoidal có lợi thế của phi tuyến, liên tục và khả năng khác, cho phép
mạng nhiều lớp tính toán với bất kỳ hàm giá trị thực tùy ý, trong khi cũng hổ trợ
một thuật toán huấn luyện thực tế, lan truyền ngược, based on gradient descent
Trang 35Hàm tác động phi tuyến có thể hữu ích để ràng buộc trên toàn mạng Ví dụ:
đôi khi nó được dùng để bắt buộc tổng các tác động ngõ ra của mạng là 1,
nhưng sử dụng phổ biến là hàm sofmax:
)exp(
1
1
T x
y
i
− +
Đây là hàm tác động tổng quát nhất Tuy nhiên, có vài mạng như LVQ
(Learned Vector Quantization ) và RBF ( Radial Basis Function ) bao gồm những
đơn vị với hàm tác động:
) ( j
Khác nhau giữa 2 loại đơn vị này như hình vẽ: trường hợp thứ nhất, xj
không phải là tích số giữa véc tơ ngõ vào y và một vév tơ trọng lượng w, vì thế,
xj là độ dài hình chiếu của y lên w, phép chiếu này có thể hai điểm nằm về hai
Trang 36phía đối nhau Nó nằm hai bên đường vuông góc w Ngõ vào nằm trên mặt
phẳng cùng hướng sẽ có xj>0, trong khi ngõ vào nằm ở phần đối diện sẽ có xj<0
Như vậy, nếu yj=f(xj) là một hàm threshold
hình 3.9
Ngược lại, trường hợp thứ hai, xj là khoảng cách Euclidean giữa véc tơ
ngõ vào y và véc tơ trọng lượng w Vậy trọng số phân phối trong một hình tròn
Hàm khoảng cách có thể là yj=f(xj)=exp(-xj), ngõ vào nằm trong hình tròn yj=1,
trong khi ngõ vào nằm ngoài vòng tròn thì yj=0
Ngoài ra, miền quyết định được định nghĩa bởi hyperplanes hay
hyperspheres Những hàm phức tạp xây dựng từ hyperplanes hay hyperspheres
như hình vẽ (3.10)
3.2.4 Sự huấn luyện
Huấn luyện mạng naural là tính toán đưa ra một kết nối thích nghi với tất cả
những mẫu đầu vào Quá trình thường kéo theo sự thay đổi trọng số, đôi khi là
sự thay đổi cấu trúc mạng Thường sự huấn luyện cho bộ trọng số dùng nhiều
hơn huấn luyện cấu trúc, một khi mạng với những kết nối dư thừa có thể đặt các
Trang 37trọng số bằng “ 0 “, cùng tác dụng đó là xóa những trọng số này Tuy nhiên,
thay đổi cấu trúc mạng có thể cải thiện được tốc độ và sự khái quát hóa
Việc tìm một tập những trọng số sẽ cho phép mạng đã cho tính toán một hàm
thông thường là thủ tục không đơn giản Một giải pháp tồn tại chỉ trong một
trường hợp đơn giản nhất Khi mạng tuyến tính và toàn cục thì sắp xếp một tập
hợp của vectơ đầu vào trực giao vectơ đầu ra Trường hợp này, trọng số cho bởi
p j
p i ji
y
t y
3
W 4 W 5
k W
x
j y j
3
W W 4
W 5
3 W
W 4
W 5
hình 3.10
Mạng là phi tuyến và nhiều lớp, trọng số của chúng có thể được huấn luyện
chỉ bởi thủ tục lặp
Đa số thủ tục học dựa trên sự biến đổi của luật Hebb ( Hebb 1949 ) mà cũng
cố kết nối giữa hai đơn vị nếu tác động đầu ra là quan hệ:
Trang 38Bởi việc cũng cố tương quan giữa những cặp tích cực của những đơn vị
trong thời gian huấn luyện, mạng kích hoạt đơn vị thứ 2 nếu như chỉ có đơn vị
thứ nhất là được biết trong quá trình thử
Một biến đổi quan trọng dựa trên qui tắc trên là luật Delta ( hay luật
Widrow-Hoff ), áp dụng khi có một mục tiêu của 1 hay 2 đơn vị Luật này cũng
cố kết nối giữa 2 đơn vị nếu như có một tương quan giữa tác động của đơn vị thứ
nhất yi và sai số của đơn vị thứ 2 quan hệ với đích tj:
Luật học này làm giảm sai số nếu yi cộng tác với nó, mạng tính toán đầu ra
yj gần đích tj nếu như hàm tác động của đơn vị thứ nhất biết được trong quá trình
thử Trong trường hợp mạng một lớp qui tắc Delta được biết trong luật học
Perceptron, đối với mạng nhiều lớp qui tắc Delta là nền tản cho thủ tục lan
truyền ngược Sự biến đổi khác của qui tắc Hebb áp dụng trong tường hợp hàm
cầu, như trong mạng LVQ và RBF:
3.3 Phân loại mạng neural
Những mạng neural cơ bản sẽ được trình bày sau đây, chúng ta đưa ra vài
mạng neural khác nhau Biểu điễn này sẽ tổ chức trong giới hạn của thủ tục
huấn luyện sử dụng bởi mạng Có 3 loại thủ tục huấn luyện chính: học giám sát,
học củng cố và học không giám sát
Học giám sát, trong thủ tục này “thầy giáo” cung cấp mục tiêu ngõ ra của
mỗi mẫu vào và đảm bảo chính xác sai số của mạng
Học bán giám sát ( cũng cố ), trong thủ tục này “ thầy giáo “ chỉ đơn
thuần cho biết hoặc đáp ứng của mạng đối mẫu huấn luyện là tốt hay xấu
Trang 39Học không giám sát, trong thủ tục này không có tín hiệu “thầy giáo” và
mạng phải tìm sự hiệu chỉnh trong dữ liệu huấn luyện
Hầu hết các mạng rơi vào một trong các trường hợp trên, nhưng cũng có
mạng bất thường, như mạng lai nó là loại kết hợp và mạng động nó có cấu trúc
có thể nở ra hay co lại theo thời gian
3.3.1 Học giám sát
Học giám sát có nghĩa là một “ thầy giáo” cung cấp mụ tiêu đầu ra cho mỗi
mẫu vào và hiệu chỉnh sai số của mạng Mô hình này có thể áp dụng cho nhiều
loại mạng, cả mạng truyền thẳng và mạng hồi qui
3.3.1.1 Mạng truyền thẳng ( Feedforward )
Perceptrons là loại mạng truyền thẳng đơn giản nhất sử dụng thủ tục học
giám sát Một perceptron gồm có những đơn vị ngưỡng nhị phân sắp xếp thành
các lớp Nó được huấn luyện bởi luật học Delta
Trường hợp mạng peceptron 1 lớp thì luật học Delta có thể áp dụng trực tiếp
Bởi vì tác động của một perceptron là nhị phân, thủ tục tổng quát cho luật học
này gọi là luật học Perceptron, mà nếu như 1 ngõ vào là tác động tích cực (yi =1)
và ngõ ra yj là sai , thì trọng số Wji gia tăng hay giảm một lượng nhỏ ε, tùy thuộc
nếu như yêu cầu ngõ ra là 1 hay 0 Thủ tục này bảo đảm tìm ra một tập hợp
trọng số để các mẫu chính xác với lớp trong bất kỳ tập huấn luyện nào nếu mẫu
có thể phân chia tuyến tính Nếu chúng có thể phân thành 2 lớp bởi 1 đường
thẳng Tuy nhiên, đa số các tập huấn luyện không phải lúc nào cũng tách ra
tuyến tính được, ví dụ: hàm XOR, trong những trường hợp đó cần một mạng
nhiều lớp
Trang 40Mạng Perceptron 1 lớp Mạng Perceptron nhiều lớp
Lớp ra
Lớp vào
Lớp ẩn Lớp ra
hình 3.11
Mạng nhiều lớp - MLPs về lý thuyết có thể học với bất kỳ hàm nào, nhưng
chúng huấn luyện phức tạp Qui tắt Delta không thể áp dụng trực tiếp cho MLPs
bởi vì không có những mục tiêu trong lớp ẩn Tuy nhiên, nếu 1 MLPs sử dụng
những hàm tác động có tính chất liên tục hơn ( như hàm sigmoid đối với hàm
threshold ), qui tắc Chain nhận được tác dụng của bất kỳ trọng số trên tác động
ngõ ra, làm giảm bớt sai số của mạng Ưùng dụng này vào qui tắt Delta trong
mạng lan truyền ngược
Mạng nhiều lớp có số lớp ẩn tùy ý, mặc dầu một lớp ẩn được sử dụng nhiều
và thêm lớp ẩn phục vụ làm chậm quá trình huấn luyện, không gian trọng số trở
nên phức tạp
Một loại mạng khác cũng được sử dụng là mạng thời gian trể - TDNN
Đây là cấu trúc phát triển ban đầu cho nhận dạng âm vị, nhưng nó cũng
được áp dụng nhận dạng chữ viết và những nhiệm vụ khác TDNN hoạt
động trên 2 chiều lãnh vực ngõ vào, trong khi chiều ngang theo trục thời
gian