1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng tiếng việt lập trình bằng ngôn ngữ visual c++

94 47 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 94
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TRƯỜ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 2

CÔ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 4

NHẬ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 5

NHẬ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 6

NHẬ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 8

NHẬ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 9

NHẬ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 10

Chươ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 13

1.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 14

Có 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 15

Chươ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 16

o 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 18

2.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 19

và 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 20

cá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 21

i 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 22

củ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 23

2.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 24

T 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 abbằng cách

lấy tỷ số

t

t i

N

j i N

)(

)(

*)(

)(

γγ

(2.10)

Trang 25

t 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 26

thô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 27

lượ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 28

Chươ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 29

Nhữ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 31

Mạ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 33

Tổ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 34

Hà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 35

Hà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 36

phí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 37

trọ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 38

Bở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 39

Họ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 40

Mạ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

Ngày đăng: 09/02/2021, 15:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Discrete - time Processing of Speech Signals John R. Deller. JR and John G. Proakis and John H.L. Hansen [2] Data signal processingMany authors Khác
[5] Neural Networks for Identification, Prediction and Control Duc Truong Pham and Liu Xing Khác
[6] Neural Network Design Martin T. Hagan Khác
[7] Speech recognition Theory and C ++ Implementation Claudio Becchetti and Lucio Prina Ricotti1 Khác
[8] Signal Processing of Speech F.J. Owens Khác
[9] Speech Recognition using Neural networks Joe Tebelskis 1995 Khác
[10] Xử lý tín hiệu số PGS.TS Nguyễn Hữu Phương Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w