Phương pháp này không cần xác định đặc tính âm học hay phân đoạn tiếng nói mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng.. Trước đây, đối với các hệ thống nhậ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: ĐO LƯỜNG VÀ CÁC HỆ THỐNG ĐIỀU KHIỂN
NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT SỬ DỤNG
MÔ HÌNH CHUỖI MARKOV VÀ MẠNG NƠ-RON
NGUYỄN TUẤN HẢI
Người hướng dẫn Luận văn: NGUYỄN QUỐC CƯỜNG
Hà Nội, 2010
Trang 2Lời cảm ơn
Sau một thời gian nỗ lực nghiên cứu và thực hiện đề tài, với những vấn
đề mới, tôi đã gặp rất nhiều khó khăn, nhưng với sự giúp đỡ rất nhiệt tình của
các thầy cô giáo tôi đã hoàn thành được đề tài “Nhận dạng tiếng nói tiếng
Việt sử dụng mô hình chuỗi Markov ẩn và mạng nơ-ron” Đặc biệt tôi xin
gửi tới TS Nguyễn Quốc Cường lòng biết ơn sâu sắc, người đã trực tiếp hướng dẫn và giúp đỡ tôi tìm hiểu, tiếp cận với lĩnh vực nhận dạng tiếng nói
Tôi xin cảm ơn các thầy cô giáo bộ môn Kỹ thuật đo & Tin học Công nghiệp và toàn thể các thầy cô giáo trong chương trình đào tạo thạc sĩ của trường Đại Học Bách Khoa Hà Nội đã tận tình hướng dẫn và chỉ bảo trong thời gian học và thực hiện luận văn
Tôi cũng xin gửi lời cảm ơn đến tất cả bạn bè, người thân đã giúp đỡ tôi trong suốt quá trình vừa qua
Vì điều kiện về thời gian và khả năng bản thân còn hạn chế, do đó bản luận văn này không tránh khỏi những thiết sót Tôi rất mong Quý thầy cô cùng toàn thể các bạn đồng nghiệp chỉ dẫn cho
Hà Nội, ngày 27 tháng 04 năm 2010
Học viên
Nguyễn Tuấn Hải
Trang 3MỤC LỤC
MỤC LỤC
Lời nói đầu
CHƯƠNG I TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 1
I.1 NHẬN DẠNG TIẾNG NÓI 1
I.2 CÁC PHƯƠNG PHÁP TIẾP CẬN TRONG NHẬN DẠNG TIẾNG NÓI 2
I.2.1 Phương pháp âm học- ngữ âm học .2
I.2.2 Phương pháp nhận dạng mẫu .4
I.2.3 Phương pháp ứng dụng trí tuệ nhân tạo 6
CHƯƠNG II PHÂN TÍCH THAM SỐ TIẾNG NÓI 9
II.1 PHÁT HIỆN ĐIỂM ĐẦU CUỐI CỦA TIẾNG NÓI 9
II.1.1 Hàm năng lượng ngắn hạn 9
II.1.2 Phát hiện điểm đầu cuối của tiếng nói .10
II.2 PHÂN TÍCH CEPSTRAL THÔNG QUA MÃ HÓA TIÊN ĐOÁN TUYẾN TÍNH11 II.2.1 Các phương trình phân tích LPC 11
II.2.2 Bộ xử lý LPC áp dụng vào nhận dạng tiếng nói 13
II.3 PHÂN TÍCH CEPSTRAL TRÊN THEO THANG ĐO MEL 17
CHƯƠNG III MẠNG NƠ-RON NHÂN TẠO 23
III.1 MẠNG NƠ-RON NHÂN TẠO 23
III.2 QUÁ TRÌNH HỌC CỦA MẠNG NƠ-RON 31
CHƯƠNG IV MÔ HÌNH CHUỖI MARKOV ẨN VÀ VẤN ĐỀ NHẬN DẠNG TIẾNG NÓI 33
IV.1 MÔ HÌNH MARKOV ẨN .33
IV.2 BA BÀI TOÁN CƠ BẢN ĐỐI VỚI MÔ HÌNH MARKOV ẨN 36
IV.2.1 Bài toán 1: Đánh giá xác suất 36
IV.2.2 Bài toán 2: Tìm dãy trạng thái tối ưu 37
IV.2.3 Bài toán 3: Ước lượng tham số mô hình 38
IV.3 NHẬN DẠNG TIẾNG NÓI SỬ DỤNG MÔ HÌNH MARKOV 38
CHƯƠNG V MÔ HÌNH HYBRID KẾT HỢP MẠNG NƠ-RON VÀ MÔ HÌNH CHUỖI MARKOV ẨN 41
V.1 DÙNG MẠNG NƠ-RON ƯỚC LƯỢNG XÁC SUẤT HẬU NGHIỆM 41
Trang 4V.2.1 Mạng nơ-ron cho việc lượng tử hóa véc tơ (VQ) dựa trên tiêu chuẩn tối đa hóa
thông tin tương hỗ (MMI) 47
V.2.2 Các bộ gán nhãn nơ-ron (neural labelers) 50
V.3 SO SÁNH HAI MÔ HÌNH HYBRID 56
CHƯƠNG VI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT 59
VI.1 LỰA CHỌN MÔ HÌNH CHO BÀI TOÁN NHẬN DẠNG TIẾNG VIỆT 59
VI.1.1 Hệ thống nhận dạng lời nói đề xuất 59
VI.1.2 Thực hiện các module trong Matlab 61
VI.1.3 XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG TIẾNG VIỆT 62
VI.2 KẾT QUẢ THỰC HIỆN CHƯƠNG TRÌNH 63
VI.3 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 64
Tài liệu tham khảo 66
Trang 5Bảng 5.1 Tỷ lệ lỗi ở lớp từ và câu cho 3 hệ thống 46
Bảng 5 2 Các kết quả nhận dạng với cơ sở DARPA RM độc lập người nói.50 Bảng 5.3 So sánh kết quả dựa trên phương pháp cơ bản 54
Bảng 5.4 So sánh kết quả của LVQ, VQ và MLP với việc sử dụng HMM nhiều codebook 55
Bảng 5.5 Kết quả nhận dạng với mô hinh HMM 57
Bảng 5.6 Kết quả sử dụng MLP như là bộ gán nhãn 57
Bảng 5.7 Kết quả sử dụng MLP để ước lượng xác suất hậu nghiệm .58
Bảng 6.1.Kết quả kiểm tra trên 50 mẫu kiểm tra cho mỗi từ 64
Trang 6Lời nói đầu
Trong những năm gần đây, việc áp dụng kỹ thuật xử lý tiếng nói, tổng hợp tiếng nói, nhận dạng tiếng nói trong mạng điện thoại ngày càng gia tăng nhanh chóng Một trong các bài toán quan trọng có nhiều ứng dụng đó là nhận dạng mười chữ số phát âm liên tục thu âm trong mạng điện thoại Đây là bài toán nhận dạng thuộc phạm vi nhận dạng các từ liên tục với số lượng từ vựng nhỏ Có nhiều ứng dụng gắn với bài toán này như: nhận dạng số thẻ tín dụng bằng giọng nói, nhận dạng số tài khoản, nhận dạng mã số cá nhân, quay số bằng giọng nói, Hiện trên thế giới đã có một số hệ thống nhận dạng tiếng nói
cỡ lớn, có độ chính xác tương đối cao Các hệ thống này chủ yếu phát triển trên nền công nghệ hiện đại với các máy tính lớn, các vi mạch xử lý tiếng nói chuyên dụng và sử dụng các cơ sở dữ liệu tiếng nói khá hoàn chỉnh Đối với tiếng Việt, hiện tại việc nghiên cứu về nhận dạng tiếng nói nói chung cũng như nhận dạng tiếng nói thu âm qua điện thoại nói riêng còn vẫn đang ở bước đầu và chưa có nhiều kết quả được công bố Từ thực tiễn trên, cuốn đồ án này được thực hiện nhằm đưa ra một số vấn đề cơ bản nhất khi chúng ta xây dựng một hệ nhận dạng tiếng nói và giới thiệu hướng tiếp cận mới trong nhận dạng tiếng Việt Đó là sử dụng mạng nơ-ron nhân tạo cùng với các thuật toán học
và khả năng phân loại mẫu rất mạnh có thể được kết hợp cùng với các phương pháp mô hình Markov ẩn (HMM) Cụ thể là sử dụng mạng nơ-ron như một bộ lượng tử hóa vector dữ liệu tiếng nói đưa vào mô hình HMM từ đó đưa ra kết quả nhận dạng
Nội dung đồ án được trình bầy như sau:
Chương I, ở chương này giới thiệu về các khái niệm cơ bản trọng nhận dạng tiếng nói và các phương pháp tiếp cận trong nhận dạng tiếng nói
Chương II trình bày một số kỹ thuật phân tích đặc trưng tiếng nói Các công
cụ này đều rất quan trọng và được sử dụng trong kỹ thuật nhận dạng tiếng nói
Trang 7Chương IV đề cập tới những khái niệm cơ bản của mô hình Markov ẩn và ứng dụng trọng nhận dạng tiếng nói
Chương V giới thiệu về các mô hình hybrid kết hợp giữa mạng nơ-ron và mô hình Markov ẩn trong nhận dạng tiếng nói
Chương VI trình bày về các bước xây dưng một chương trình nhận dạng tiếng nói dựa trên mô hình Hybrid, trong đó sử dụng mạng nơ-ron như một bộ lượng tử hóa vector cho mô hình markov ẩn
Trang 8Chương I Tổng quan về nhận dạng tiếng nói
CHƯƠNG I TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI
I.1 NHẬN DẠNG TIẾNG NÓI
Nhận dạng tiếng nói là làm cho máy hiểu, nhận biết được ngữ nghĩa của lời nói Thực chất đây là quá trình biến đổi tín hiệu âm thanh thu được qua micro, qua đường dây điện thoại hoặc các thiết bị thu âm khác,… thành một chuỗi các từ, sau đó các từ được nhận dạng, kết quả có thể được sử dụng ngay trong các ứng dụng điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng lời, hoặc được đưa đến một quá trình xử lý ngôn ngữ mức cao hơn
Các hệ thống nhận dạng tiếng nói có thể được phân thành các loại như sau:
- Nhận dạng các từ phát âm rời rạc/ liên tục
- Nhận dạng tiếng nói phụ thuộc người nói/ không phụ thuộc người nói:
- Hệ thống nhận dạng có từ điển cỡ nhỏ (<20 từ)/ từ điển cỡ lớn (hàng nghìn từ)
- Nhận dạng tiếng nói trong môi trường có độ ồn thấp/cao
Trong một hệ thống nhận dạng tiếng nói phát âm rời rạc thì người nói sau khi nói một từ phải dừng lại trước khi phát âm từ tiếp theo Ngược lại, hệ thống nhận dạng lời nói liên tục không đòi hỏi điều này
Cơ sở dữ liệu tiếng nói/văn bản
Trang 9Chương I Tổng quan về nhận dạng tiếng nói
Độ chính xác trong hệ thống nhận dạng tiếng nói có từ điển cỡ lớn hoặc có nhiều từ dễ lẫn, thường không cao bằng hệ thống nhận dạng có vốn từ vựng
cỡ nhỏ Hình 1.1 cho ta thấy các phần tử cơ bản của một hệ thống nhận dạng điển hình Tín hiệu tiếng nói sau khi được số hóa sẽ được chuyển thành một tập các vector tham số đặc trưng với các phân đoạn tiếng nói có độ dài khoảng 10-30ms Các đặc trưng này được dùng để tìm kiếm các từ gần nhất với một số điều kiện ràng buộc về âm học, từ vựng và ngữ pháp Cơ sở dữ liệu tiếng nói được sử dụng trong quá trình huấn luyện để xác định các tham
số hệ thống
Một trong những khó khăn lớn nhất của việc nghiên cứu nhận dạng tiếng nói
tự động là tính phụ thuộc đa chuyên ngành Có rất nhiều chuyên ngành khoa học liên quan đến nhận dạng tiếng nói như: xử lý tiếng nói, vật lý (âm học), nhận dạng mẫu, lý thuyết thông tin, ngôn ngữ học, sinh lý học, khoa học máy tính,….Để có thể xây dựng thành công một hệ thống nhận dạng tiếng nói tự nhiên có từ điển cỡ lớn thì cần phải có nhiều kiến thức trong tất cả các chuyên ngành đó, đấy là một lượng kiến thức khổng lồ vượt quá khả năng của bất kỳ người nào Vì vậy, hầu hết các nhà khoa học thường chỉ tập trung giải quyết một số bài toán cụ thể trên cơ sở chuyên ngành hẹp của mình
I.2 CÁC PHƯƠNG PHÁP TIẾP CẬN TRONG NHẬN DẠNG TIẾNG NÓI
Hiện nay có 3 phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói
đó là [1]:
Phương pháp âm học – ngữ âm học
Phương pháp nhận dạng mẫu
Phương pháp ứng dụng trí tuệ nhân tạo
I.2.1.Phương pháp âm học- ngữ âm học
Phương pháp này dựa trên lý thuyết về âm học- ngữ âm học cho rằng tồn tại các đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ
Trang 10Chương I Tổng quan về nhận dạng tiếng nói
tiên trong nhận dạng tiếng nói theo phương pháp này là phân đoạn và gán nhãn Bước này chia tín hiệu tiếng nói thành các đoạn có đặc trưng âm học
đặc trưng cho một (hoặc một vài) đơn vị ngữ âm, đồng thời gán nhãn cho mỗi
đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp Bước tiếp theo (bước
nhận dạng) dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp, để
xác định ra một từ hoặc một chuỗi từ đúng trong số một chuỗi các nhãn ngữ
âm được tạo ra sau bước thứ nhất Sơ đồ khối của hệ thống nhận dạng theo phương pháp này được biểu diễn ở hình 1.2 [1]
Hình 1.2: sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp âm học-
ngữ âm học
Nguyên lý hoạt động của hệ thống này như sau:
- Tín hiệu tiếng nói sau khi được đưa vào khối phân tích tiếng nói nhằm xác định các số đo phổ tín hiệu tiếng nói biến đổi theo thời gian Các kỹ
thuật phân tích phổ tín hiệu tiếng nói phổ biến là sử dụng các bộ lọc thông
Bộ tách đặc tính 1
Bộc tách đặc tính n
Lựa chọn
Phân tích
tiếng nói
Phân đoạn
và gán nhãn
Tiếng nói được nhận dạng Tín
hiệu
tiếng
nói
Lưới âm vị Lưới phân đoạn Gán
nhãn Cây quyết định Chiến lược phân tích
Format tần số cơ bản
Vô thanh/ hữu thành Năng lượng
Âm mũi / âm xát
Trang 11Chương I Tổng quan về nhận dạng tiếng nói
- Bước sau đó là tách đặc trưng tín hiệu tiếng nói nhắm biến đổi các
số đo phổ tín hiệu thành tập các vector đặc tính mô tả tính chất âm học của các đơn vị ngữ âm khác nhau Các đặc tính đó có thể là: tính chất âm mũi, âm xát, vị trí các formant, âm hữu thanh hay vô thanh, tỷ số mức năng lượng tần
số cao so với mức năng lượng tần số thấp,…
- Tiếp theo là bước phân đoạn và gán nhãn Ở bước này hệ thống nhận dạng tiếng nói cố gắng tìm các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của đơn vị ngữ âm học Đây là bước chủ yếu của hệ thống nhận dạng tiếng nói theo khuynh hướng âm học-ngữ âm học, và là bước khó thực hiện tin cậy nhất
- Bước cuối cùng là dựa vào một số nguyên tắc lựa chọn để kết hợp chính xác các khối ngữ âm để tạo thành các từ nhận dạng
Đặc điểm của phương pháp nhận dạng tiếng nói theo phương pháp âm ngữ âm học này là:
học-9 Để đảm bảo độ chính xác thì người thiết kế phải có kiến thức khá sâu rộng về âm học- ngữ âm học
9 Sự phân tích các khối ngữ âm còn mang tính trực giác, khó chính xác
9 Sự phân loại theo các khối ngữ âm thường không tối ưu do khó sử dụng các công cụ toán học để phân tích
I.2.2.Phương pháp nhận dạng mẫu
Phương pháp này không cần xác định đặc tính âm học hay phân đoạn tiếng nói mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng Các hệ thống nhận dạng tiếng nói theo phương pháp này được phát triển theo
2 bước Tại bước thứ nhất, hệ thống sử dụng một tập mẫu tiếng nói (mẫu tham chiếu) Bước thứ hai hệ thống nhận dạng các mẫu tiếng nói từ bên ngoài, so sánh chúng với các mẫu đặc trưng để nhận dạng
Trang 12Chương I Tổng quan về nhận dạng tiếng nói
Trong phương pháp này, cơ sở dữ liệu tiếng nói dùng cho huấn luyện có đủ các phiên bản của mẫu cần nhận dạng thì quá trình huấn luyện có thể xác định chính xác các đặc tính âm học của mẫu (mẫu ở đây có thể là âm vị, từ , cụm
từ, ) Trước đây, đối với các hệ thống nhận dạng tiếng nói là các từ rời rạc, vốn từ vựng cỡ nhỏ thì người ta thường áp dụng các kĩ thuật nhận dạng mẫu đơn giản như: lượng tử hóa vector, hiệu chỉnh thời gian động, … Hiện nay có hai kỹ thuật nhận dạng mẫu được áp dụng khá thành công trong lĩnh vực nhận dạng tiếng nói đó và mô hình Markov ẩn và mạng Nơ-ron
Sơ đồ khối của hệ thống nhận dạng tiếng nói theo phương pháp này như sau [1]:
Hình 1.3 Sơ đồ khối hệ thống nhận dạng tiếng nói theo phương pháp nhận
dạng mẫu
Hoạt động của hệ thống được tóm tắt như sau:
- Trích chọn đặc trưng tiếng nói: đầu tiên tín hiệu tiếng nói được phân tích thành một chuỗi các số đo để xác định mẫu nhận dạng Các số đo đặc tính thường là kết quả của một số kỹ thuật phân tích phổ như: các bộ lọc thông dải, phân tích mã hóa tiên đoán tuyến tính (LPC), phép biến đổi Fourier rời rạc (DFT),…
Trích chọn
đặc tính
Huấn luyện mẫu
Mẫu chuẩn hoặc các mô hình
quyết định logic
Từ đựơc nhận dạng
1 2 K
Trang 13Chương I Tổng quan về nhận dạng tiếng nói
- Huấn luyện mẫu: các mẫu tiếng nói tương ứng với các đơn vị âm thanh cùng loại được dùng để tạo ra các mẫu hoặc các mô hình đại diện, còn gọi là mẫu tham chiếu hay mẫu chuẩn
- Nhận dạng: các mẫu tiếng nói được đưa tới khối phân loại mẫu, khối này có nhiệm vụ so sánh mẫu đầu vào cần nhận dạng với các mẫu tham chiếu đã được xác định, rồi dựa trên một số tiêu chuẩn để quyết định xem mẫu tham chiếu nào giống mẫu đầu vào nhất
Một số đặc điểm của phương pháp nhận dạng mẫu:
- Hiệu năng của hệ thống rất nhạy cảm đối với số dữ liệu mẫu đưa vào huấn luyện Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ thống càng cao, tuy nhiên dung lượng bộ nhớ và thời gian luyện mẫu cũng tăng theo
- Các mẫu tham chiếu thường phụ thuộc vào môi trường phát âm và các đặc tính truyền dẫn của môi trường
- Phương pháp này có thể được sử dụng để nhận dạng từ mà không đòi hỏi khả năng âm hiểu sâu về ngôn ngữ
I.2.3 Phương pháp ứng dụng trí tuệ nhân tạo
Có thể coi đây là phương pháp kết hợp của các phương pháp trên với ý tưởng tận dụng tối đa các ưu điểm của từng phương pháp, đồng thời cố gắng mô phỏng khả năng tuyệt vời của con người trong sự phân tích và cảm nhận các
sự kiện bên ngoài nói chung và tiếng nói nói riêng
Đặc điểm chung của các hệ thống nhận dạng theo phương pháp này là:
- Sử dụng hệ chuyên gia để phân đoạn , gán nhãn ngữ âm học Điều này làm đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm
- Sử dụng mạng nơ-ron để học mối quan hệ giữa các ngữ âm Sau đó dùng mạng này để nhận dạng tiếng nói
Việc sử dụng hệ chuyên gia ở đây là nhằm mục đích tận dụng các nguồn kiến thức của con người vào trong hệ thống nhận dạng, đó là:
- Kiến thức về âm học: Nhằm để phân tích phổ và xác định đặc tính
âm học của các mẫu tiếng nói đầu vào
Trang 14Chương I Tổng quan về nhận dạng tiếng nói
- Kiến thức về từ vựng : Sử dụng để kết hợp các khối ngữ âm thành các từ cần nhận dạng
- Kiến thức về cú pháp: Nhằm kết hợp các từ thành các câu cần nhận dạng
- Kiến thức về ngữ nghĩa: Nhằm xác định tính logic của các câu đã được nhận dạng
Tùy theo các hệ thống khác nhau mà sự kết hợp các nguồn kiến thức từ hệ chuyên gia là khác nhau
Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào một bộ nhận dạng tiếng nói Phương pháp thông dụng nhất là xử lý “từ dưới lên” (hình 1.4) Theo cách này, các tiến trình xử lý của hệ thống được triển khai tuần tự
từ thấp lên cao
Trong sơ đồ hình 1.4, các bước xử lý ở mức thấp (phân tích tín hiệu, tìm đặc tính, phân đoạn , gán nhãn) được triển khai trước khi thực hiện các bước xử lý
ở mức cao hơn (phân lớp âm thanh, xác định từ, xác định câu) Mỗi bước xử
lý đòi hỏi mỗi hoặc một số nguồi kiến thức nhất định [1] Ví dụ: bước phân đoạn tiếng nói cần có sự hiểu biết sau sắc về đặc tính âm học- ngữ âm học của các đơn vị ngữ âm, bước xác định từ đòi hỏi kiến thức về từ vựng, bước xác định câu đòi hỏi kiến thức về mô hình ngôn ngữ nguyên tắc ngữ pháp
Trang 15Chương I Tổng quan về nhận dạng tiếng nói
Hình 1.4 mô hình theo phương pháp botton-up
Do ưu điểm của phương pháp nhận dạng mẫu nên phương pháp này đã và đang được áp dụng thành công trong các ứng dụng nhận dạng tiếng nói thực
tế Vì vậy đồ án này sẽ sử dụng phương pháp nhận dạng mẫu cho bài toán nhận dạng tiếng nói Tiếng Việt Bước đầu tiên của quá trình nhận dạng là phân tích tham số đặc trưng tiếng nói, chương sau sẽ trình bày chi tiết về phương pháp này
Trang 16Chương II Phân tích tham số tiếng nói
CHƯƠNG II PHÂN TÍCH THAM SỐ TIẾNG NÓI
Trong các lĩnh vực tiếng nói như nhận dạng, tổng hợp, mã hóa đều cần phải phân tích tham số tiếng nói Trong chương này sẽ mô tả hai kỹ thuật dùng để trích chọn các đặc trưng của tiếng nói, đó là phương pháp phân tích cepstal thông qua mã hóa tiên đoán tuyến tính LPC (Linear Predictive Coding), và phương pháp phân tích cepstral theo thang đo mel để tính các hệ số MFCC (Mel Frequency Cepstral Corffcient) thông qua việc sử dụng một dãy các băng lọc (filter bank)
Khái niệm cơ bản trong phân tích tín hiệu tiếng nói là phân tích ngắn hạn theo thời gian (short-time analysis) Trong khoảng thời gian dài, tín hiệu tiếng nói
là không dừng, nhưng trong khoảng thời gian đủ ngắn (10-30 ms) thì tiếng nói được coi như là dừng Do đó, thông thường trong các ứng dụng xử lý tiếng nói người ta thường chia tiếng nói thành nhiều đoạn có thời gian bằng nhau gọi là các đoạn (khung), mỗi đoạn có độ dài khoảng từ 10 đến 30ms
II.1 PHÁT HIỆN ĐIỂM ĐẦU CUỐI CỦA TIẾNG NÓI
Phát hiện thời điểm bắt đầu cũng như điểm kết thúc của tiếng nói là một phần khá quan trọng và cần thiết cho bất kì một chương trình nhận dạng tiếng nói nào, đặc biệt là những hệ thống nhận dạng tiếng nói trong chế độ thời gian thực Phần này sẽ trình bày một phương pháp phát triển tiếng nói đơn giản nhưng khá hiệu quả, đó là kĩ thuật phân tích, đánh giá dựa trên hàm năng lượng ngắn hạn của tiếng nói [17]
II.1.1 Hàm năng lượng ngắn hạn
Hàm năng lượng ngắn hạn của tiếng nói được tính bằng cách chia tín hiệu tiếng nói thành các đoạn , mỗi đoạn dài N mẫu Mỗi đoạn này được nhân với một hàm cửa sổ W(n) và với hàm cửa sổ bắt đầu ở mẫu thứ m thì hàm năng lượng ngắn hạn Em được định nghĩa như sau:
Trang 17Chương II Phân tích tham số tiếng nói
N n n
W
0
0 1 ) ( (2.2)
II.1.2 Phát hiện điểm đầu cuối của tiếng nói
Chúng ta có thể xây dựng thuật toán phát hiện điểm đầu cuối của tiếng nói dựa hàm năng lượng ngắn hạn như sau [17]
1 Với mỗi đoạn của tín hiệu, tính năng lượng ngắn hạn Em theo công thức 2.1 Nếu Em lớn hơn giá trị ngưỡng Ethreshold đặt trước thì đánh dấu đoạn đó là đoạn bắt đầu của tiếng nói (ký hiệu đoạn B) Ngược lại thì xét đoạn kế tiếp cho đến khi xác định được đoạn B, nếu không xác định được đoạn B thì tín hiệu đó không phải là tiếng nói
2 Tính năng lượng ngắn hạn Em của các đoạn sau đoạn B cho đến khi
Em nhỏ hơn Ethreshold thì dừng, đánh dấu đoạn đó là đoạn kết thúc của mỗi từ (ký hiệu là đoạn E)
3 Hiệu chỉnh điểm bắt đầu bằng cách tính năng lượng ngắn hạn em của các section trong lân cận phía trước đoạn B, rồi chọn (section) thích hợp có em nhỏ hơn ethreshold đặt trước làm điểm bắt đầu của tiếng nói Mỗi section phải có độ dài nhỏ hơn độ dài của một đoạn và ethreshold<Ethreshold Hiệu chỉnh điểm kết thúc ở đoạn E một cách tương tự Sau khi xác định được điểm bắt đầu và kết thúc ta có thể dựa vào độ dài thời gian đoạn âm thanh đó để tiến hành thêm bước nữa xem đó có chắc chắn là tiếng nói hay không (một từ tiếng Việt nếu phát âm rõ ràng thì thường phải dài hơn 200ms)
Trang 18Chương II Phân tích tham số tiếng nói
II.2 PHÂN TÍCH CEPSTRAL THÔNG QUA MÃ HÓA TIÊN ĐOÁN TUYẾN TÍNH
II.2.1 Các phương trình phân tích LPC
Mã hóa tiên đoán tuyến tính (Linear Predictive Coding – LPC ) là kĩ thuật xử
lý tiếng nói hiệu quả thường được sử dụng trong rất nhiều ứng dụng tổng hợp, nhận dạng và mã hóa tiếng nói Ý tưởng cơ bản của phương pháp này là mẫu tín hiệu tiếng nói tại thời điển n, kí hiệu là x(n), có thể xấp xỉ là tổ hợp tuyến tính của p mẫu quá khứ Về mặt toán học, tiên đoán tuyến tính có thể được
mô tả bởi phương trình sau:
{ }a : gọi là hệ số dự đoán tuyến tính i
Các hệ số được coi là không đổi trong toàn khung (frame) phân tích Ta chuyển quan hệ trên về dạng đẳng thức bằng cách thêm vào một số hạng gọi
z X
1
) ( )
( )
Suy ra hàm truyền đạt:
1 1
1 )
(
) ( )
(
z A z
a z
GU
z X z
k k
Trang 19Chương II Phân tích tham số tiếng nói
Hình 2.1 là minh hoạ của biểu thức (2.6), trong đó nguồn kích thích chuẩn hóa u(n) được nhân với trọng số kích thích G, đóng vai trò là đầu vào cho hệ thống toàn điểm cực
) (
1 ) (
z A z
H = để tạo ra tín hiệu tiếng nói x(n)
Hình 2.1: Mô hình dự đoán tuyến tính của tiếng nói
Kí hiệu ~ n x( )là giá trị tiên đoán của x(n), ta có:
n x
1
)()
x n x n x n e
1
) ( )
( ) (
~ ) ( )
X
z E z A
1
1)(
)()( (2.9)
Vấ đề cơ bản của phân tích tiên đoán tuyến tính là phải xác định trực tiếp từ tín hiệu tiếng nói một tập các hệ số tiên đoán {ak} sao cho các thuộc tính phổ của bộ lọc số ở hình 2.1 phù hợp với các thuộc tính phổ tương ứng của dạng song tiếng nói trong cửa sổ phân tích Vì đặc tính phổ của tiếng nói thay đổi theo thời gian nên các hệ số tiên đoán tại thời điểm n phải được đánh giá trên một đoạn tín hiệu tiếng nói ngắn xung quang thời điểm n Do vậy, cách tiếp cận cơ bản là tìm ra một tập các hệ số tiên đoán mà tập hệ số này làm tối thiểu hóa sai số bình phương trung bình một đoạn ngắn của tín hiệu
Để thiết lập các phương trình xác định tập hệ số tiên đoán, ta định nghĩa tín hiệu tiếng nói trong thời gian ngắn và sai số tại thời điểm n như sau:
1/A(z)
X(n) u(n)
G
Trang 20Chương II Phân tích tham số tiếng nói
xn(m)=x(n+m) (2.10) en(m)=e(n+m) (2.11) Sai số bình phương trung bình của tín hiệu tại thời điểm n sẽ có công thức như sau:
2 1
m n
n n
Khi đó các các giá trị hệ số tiên đoán ak có thể được tính theo hai phương pháp phân tích LPC đó là phương pháp tự tương quan (Autocorrelation Method) và phương pháp hiệp biến (Covariance method) Theo phương pháp
tự tương quan thì giá trị hệ số tiên đoán ak được tính như sau [1]:
p k
a
ak = k p , = 1 , với p là hệ số dự đoán tuyến tính (2.13)
II.2.2 Bộ xử lý LPC áp dụng vào nhận dạng tiếng nói
Trong các phần trước ta đã trình bầy một số đặc tính chung của phương pháp
mã hóa dự đoán tuyến tính LPC, trong phần này ta sẽ mô tả chi tiết về bộ tiền
xử lý LPC được áp dụng rộng rãi trong các ứng dụng nhận dạng tiếng nói Các bước cơ bản của bộ xử lý LPC được chỉ ra trong hình sau 2.2 [1]:
Bé läc Ph©n khung Cöa sæ ho¸ Ph©n tÝch
TÝnh c¸c hÖ
sè ceptral
ChØnh gi¸ trÞ ceptral
Vi ph©n theo
thêi gian
C(m) C’(m)
Hình 2.2 Sơ đồ khối của bộ xử lý LPC
Trang 21Chương II Phân tích tham số tiếng nói
1 Bộ lọc
Tín hiệu tiếng nói được đưa qua một bộ lọc số bậc thấp (thường là bộ lọc FIR bậc một) để có phổ đồng đều hơn, như vậy sẽ là giảm ảnh hưởng gây ra bởi
độ chính xác hữu hạn của các xử lý tín hiệu sau này, bộ lọc số ở đây có thể là
bộ lọc cố định hoặc bộ lọc thích nghi chậm Thường bộ lọc hiệu chỉnh trong trường hợp này là bộ lọc cố định bậc một có dạng :
H(z)=1=a.z-1 , với 0.9≤a≤1.0 Trong trường hợp này tín hiệu ra quan hệ với tín hiệu vào theo phương trình sai phân sau:
) 1 ( ) ( ) (
~ x n = x n − a x n − (2.14)
Giá trị a thường được chọn là 0.97
2 Phân khung (Đoạn blocking)
Trong bước này tín hiệu đã được hiệu chỉnh ~ n x( )được phân thành các khung (frame), mỗi khung có N mẫu Hai khung kề nhau lệch nhau M mẫu Khung đầu tiên chứa N mẫu, khung thứ hai bắt đầu chậm hơn khung thứ nhất M mẫu,
và chờm lên khung thứ nhất N-M mẫu Tương tự khung thứ ba chậm hơn khung thứ nhất 2M mẫu (chậm hơn khung thứ hai M mẫu) và chờm lên khung thứ nhất N-2M mẫu Quá trình này tiếp tục cho đến khi tất cả các mẫu tiếng nói cần phân tích thuộc về một hoặc nhiều khung
Dễ thấy, nếu M≤N thì các khung kề nhau sẽ chờm lên nhau, kết quả là việc đánh giá phổ sẽ liên quan từ khung này đến khung kia, nếu M <<N thì các khung kề nhau sẽ chờm lên nhau, kết quả là việc đánh giá phổ từ khung này đến khung kia sẽ rất trơn
Ngược lại nếu M≥N thì các khung kề nhau sẽ không chờm lên nhau, do đó một vài tín hiệu sẽ bị mất hoàn toàn (nghĩa là không xuất hiện trong bất kì khung nào), phổ thu được khi đánh giá các khung kề nhau sẽ chứa một phần nhiễu mẫu Biên độ nhiễu thành phần này tăng lên khi M tăng ( nghĩa là càng nhiều mẫu bị bỏ qua không phân tích) Điều này là không thể chấp nhận được
Trang 22Chương II Phân tích tham số tiếng nói
đối với các hệ thống nhận dạng thực tế Nếu ta kí hiệu khung thứ k là xk(n), và
có tất cả K khung thì:
1 , , 1 , 0 ,
1 , , 1 , 0 ),
(
~ )
Hình 2.3 Phân khung tín hiệu
3 Cửa sổ hóa (Windowing)
Bước tiếp theo trong việc xử lý là lấy cửa sổ hóa cho mỗi khung riêng rẽ, để làm giảm thiểu tính gián đoạn tại điểm đầu và cuối của mỗi khung Ý tưởng của việc lấy cửa sổ ở đây là làm thon hai đầu của khung tín hiệu cần phân tích Nếu ta định nghĩa cửa sổ là w(n), 0≤n≤N-1, kết quả sau khi lấy cửa sổ hóa là:
10
),()()
(
~x k n = x k n w n ≤ n ≤ N − (2.16) Cửa sổ thường được sử dụng trong phương pháp phân tích tự tương quan là cửa sổ Hamming, cửa sổ này có dạng:
10
,1
2cos64.054.0)
(2.17)
4 Phân tích tương quan
Mỗi khung sau khi đi qua cửa sổ được lấy mẫu tự tương quan
Trang 23Chương II Phân tích tham số tiếng nói
∑− −
=
= +
= N m
n
k k
r 1
0
, , 1 , 0 ),
(
~ ) (
~ )
Trong đó p là bậc của phân tích LPC Một lợi ích phụ khi phân tích tự tương quan là giá trị tương quan đầu tiên, rk(0), là năng lượng của khung thứ k Năng lượng của khung là một tham số quan trọng trong các hệ thống phát triển tiếng nói
5 Phân tích LPC
Bước xử lý tiếp theo là phân tích LPC, bước này sẽ chuyển p+1 giá trị tương quan của mỗi khung thành một ‘tập tham số LPC’, tập tham số này có thể là các hệ số LPC, hệ số phản xạ (PARCOR), hệ số cepstral, hay bất cứ thông tin nào được suy ra từ các tập trên Phương pháp tìm các hệ số LPC từ giá trị tương quan đã được trình bày trong phần phân tích tự tương quan (các hệ số PARCOR tương ứng là các km trong phương pháp này)
6 Chuyển đổi các tham số LPC thành các hệ số cepstral
Mục đích của việc chuyển đổi các tham số LPC là thu được các tập tham số khác có ích hơn cho các xử lý sau này Một trong những tập tham số rất quan trọng có thể suy ra trực tiếp từ các hệ số LPC là các hệ số cepstral, c(m) Sử dụng thủ tục truy hồi sau:
1
1 ,
m k
k m k m
m
k a
p m a
c m
k
k
k m k
1
(2.21) Trong đó σ2 là trọng số kích thích trong mô hình LPC Các hệ số này thích hợp hơn cho hệ thống nhận dạng so với các hệ số khác như hệ số LPC hay hệ
số PARCOR Thường dùng số các hệ số cepstral Q lớn hơn số các hệ số LPC
Trang 24Chương II Phân tích tham số tiếng nói
7 Tính các hệ số Cepstral
Bởi vì độ nhạy của các hệ số cepstral bậc thấp làm cho phổ toàn bộ bị đổ dốc,
và độ nhạy của hệ số cepstral bậc cao gây ra nhiễu, nên người ta thường sử dụng cửa sổ cepstral để cực tiểu hóa các độ nhạy này
Công thức biểu diễn các hệ số cepstral có trọng số là:
Q m c
w
cˆm = m m 1 ≤ ≤ (2.22) Hàm trọng số thích hợp là bộ lọc thông dải trong miền cepstral:
Q m Q
m Q
= sin 1 2
1 π (2.230)
8 Tính đạo hàm cepstral theo thời gian
Biểu diễn cepstral của phổ tiếng nói là biểu diễn tốt tính chất phổ địa phương ứng vói một đoạn đã cho Để cải thiện hơn nữa ta có thể khảo sát thêm đạo hàm cepstral theo thời gian Kí hiệu hệ số cepstral thứ m tại thời điểm t là cm(t) Khi tổi chức chương trình, thời gian t sẽ là chỉ số frame DO cm(t) được biểu diễn rời rạc theo thời gian nên dùng vi phân cấp một và cấp hai để xấp xỉ đạo hàm là không thích hợp Các xử lý phù hợp hơn cả là xấp xỉ ∂c m(t) ∂t
bằng một đa thức trực giao phù hợp trên cửa sổ có chiều dài hữu hạn, tức là:
m m
t
t c
) ( )
( )
II.3 PHÂN TÍCH CEPSTRAL TRÊN THEO THANG ĐO MEL
Bên cạnh phương pháp phân tích cepstral thông qua mã hóa tiên đoán tuyến tính LPC, còn có một phương pháp trích chọn tham số tiếng nói khác được sử dụng khá rộng rãi bởi tính hiệu quả của nó, đó là phương pháp tính các hệ số
Trang 25Chương II Phân tích tham số tiếng nói
theo thang đo mel [1] Phương pháp này được xây dựng dựa trên sự biến đổi cảm nhận của tai người đối với các dải tần số khác nhau Đối với các tần số thấp (dưới 1000Hz) thì độ cảm nhận là tuyến tính, còn đối với các tần số cao thì độ biến thiên là theo hàm logarit Các băng lọc tuyến tính ở tần số thấp và biến thiên theo hàm logarit ở tần số cao sẽ được sử dụng để trích chọn các đặc trưng âm học quan trọng của tiếng nói Mô hình tính toán hệ số MFCC được
1 Bộ lọc hiệu chỉnh (preemphasis)
Tín hiệu tiếng nói được đưa qua một bộ lọc số bậc thấp (thường là bộ lọc FIR bậc một) để có phổ đồng đều hơn, như vậy sẽ là giảm ảnh hưởng gây ra bởi
độ chính xác hữu hạn của các xử lý tín hiệu sau này, bộ lọc số ở đây có thể là
bộ lọc cố định hoặc bộ lọc thích nghi chậm Thường bộ lọc hiệu chỉnh trong trường hợp này là bộ lọc cố dịnh bậc một có dạng :
H(z)=1=a.z-1 , với 0.9≤a≤1.0 Trong trường hợp này tín hiệu ra quan hệ với tín hiệu vào theo phương trình sai phân sau:
) 1 ( ) ( ) (
~ x n = x n − a x n − (2.25)
Giá trị a thường được chọn là 0.97
Trang 26Chương II Phân tích tham số tiếng nói
2 Phân khung (Đoạn blocking)
Trong bước này tín hiệu đã được hiệu chỉnh ~ n x( )được phân thành các khung (frame), mỗi khung có N mẫu Hai khung kề nhau lệch nhau M mẫu Khung đầu tiên chứa N mẫu, khung thứ hai bắt đầu chậm hơn khung thứ nhất M mẫu,
và chờm lên khung thứ nhất N-M mẫu Tương tự khung thứ ba chạm hơn khung thứ nhất 2M mẫu (chậm hơn khung thứ hai M mẫu) và chờm lên khung thứ nhất N-2M mẫu Quá trình này tiếp tục cho đến khi tất cả các mẫu tiếng nói cần phân tích thuộc về một hoặc nhiều khung
3 Lấy cửa sổ (Windowing)
Bước tiếp theo trong việc xử lý là lấy cửa sổ hóa cho mỗi khung riêng rẽ, để làm giảm thiểu tính gián đoạn tại điểm đầu và cuối của mỗi khung Ý tưởng của việc lấy cửa sổ ở đây là làm thon hai đầu của khung tín hiệu cần phân tích Nếu ta định nghĩa cửa sổ là w(n), 0≤n≤N-1, kết quả sau khi lấy cửa sổ hóa là:
1 0
), ( ) ( )
(
~ xk n = xk n w n ≤ n ≤ N − (2.26) Cửa sổ thường được sử dụng trong phương pháp phân tích tự tương quan là cửa sổ Hamming, cửa sổ này có dạng:
10
,1
2cos64.054.0)
(2.27)
4 Biến đổi Fourier rời rạc (FFT)
Bước tiếp theo là tính FFT Tác dụng của việc tính FFT là chyển mỗi đoạn với N mẫu từ miền thời gian sang miều tần số FFT là thuật toán tính DFT nhanh và được xác định như sau
1 ,,1,0,
X N k
N jkn k n
π
(2.28)
5 Biến đổi sang thang đo Mel trên miền tần số
Như đã nói ở trên, tai người không cảm nhận sự thay đổi tần số của tiếng nói theo thang tuyến tính mà theo tham mel (tuyến tính ở tần số dưới 1000Hz và
Trang 27Chương II Phân tích tham số tiếng nói
biến đổi theo hàm logrit ở tần số cao) Người ta chọn tần số 1kHz, 40dB trên ngưỡng nghe là 1000mel, do đó ta có công thức gần đúng biểu diễn quan hệ tần số ở thang mel và thang tuyến tính như sau :
)7001
(log
*2595)
mel = + (2.29) Một phương pháp để chuyển đổi sang thang đo mel là sử dụng băng lọc như hình 2.5 Trong đó mỗi bộ lọc có đáp ứng tần số dạng tam giác, số băng lọc
sử dụng thường là trên 20 băng Thông thường các băng lọc trải dài trên toàn
bộ dải tần từ 0 đến FS/2 (FS là tần số lấy mẫu tiếng nói) Nhưng cũng có thể một dải tần giới hạn từ LOFREQ đến HIFREQ sẽ được dùng để lọc đi các tấn
số không cần thiết cho việc xử lý Chẳng hạn, trong xử lý tiếng nói qua đường điện thoại ta có thể lấy giới hạn của dải tần là từ LOFREQ = 300 đến HIFREQ = 3400 ([2],p60)
HÌnh 2.5 Các băng lọc tam giác theo thang tần số mel
Kết quả sau khi tính FFT ta thu được phổ tín hiệu s(fn), đó thực chất là một dãy số có độ dài tùy thuộc vào số điểm tính FFT Ở bước xử lý này ta sẽ tính phổ năng lượng W(n)=|s(fn)|2, và cho W(n) đi qua một dãy K băng lọc dạng tam giác ta được một dãy các W~(n) Tính tổng của các W~(n) trong từng băng lọc, ta thu được một dãy các hệ số mk (k = 1, 2, …, K)
Trang 28Chương II Phân tích tham số tiếng nói
6 Biến đổi Cosine rời rạc (DCT)
Trong bước này ta sẽ chuyển log của các giá trị mk về miền thời gian bằng phép biến đổi Cosine rời rạc (DCT) Kết quả của phép chuyển đổi này ta thu được các hệ số MFCC
K i
j K
j m
7 Cepstral có trọng số
Bởi vì độ nhạy của các hệ số cepstral bậc thấp làm cho phổ toàn bộ bị đổ dốc,
và độ nhạy của các hệ số cepstral bậc cao gay ra nhiễu, nên người ta thường
sử dụng cửa sổ cepstral để cực tiểu hóa các độ nhạy này
Công thức biểu diễn các hệ số cepstral có trọng số là:
Q i c
Q
i Q
21
(2.31)
8 Lấy đạo hàm các hệ số MFCC theo thời gian
Để nâng cao chất lượng nhận dạng, ta đưa thêm các giá trị đạo hàm theo thời gian của các hệ số MFCC vào trong vector tham số tiếng nói, các giá trị đó được tính theo công thức:
Q i
c c c
t t
ˆ ˆ ˆ
1 2 1
Trong đó θ là độ dài cửa sổ tính delta, thường chọn là 2 hoăc 3
Kết thúc bước trên với mỗi đoạn ta thu được một vector có 2Q thành phần biểu diễn tham số đặc trưng của tiếng nói
Trang 29Chương II Phân tích tham số tiếng nói
Tín hiệu tiếng nói sau khi đã được rút trích đặc trưng, ta sẽ có một tập các vector đặc trưng tiếng nói và tập vector đặc trưng này sẽ được sử dụng như là mẫu để xây dựng mô hình nhận dạng tiếng nói sau này Hiện này, các mô hình nhận dạng tiếng nói được xây dựng dựa trên các phương pháp mô hình Markov ẩn (HMM) và mạng nơ-ron được thực hiện khá thành công Ở chương tiếp theo ta sẽ trình bày lý thuyết về mạng nơ-ron
Trang 30Chương III Mạng nơ-ron nhân tạo
CHƯƠNG III MẠNG NƠ-RON NHÂN TẠO
Các mạng nơ-ron cho nhận dạng tiếng nói thường được thúc đẩy bởi khả năng cấu trúc song song cao và đảm bảo việc cải tiến các kỹ thuật và các thuật toán phân lớp đối tượng
Chương này ta sẽ trình bày khái quát về mạng neural nhân tạo, và hai thuật toán học cơ bản của mạng nơ-ron [18]
III.1 MẠNG NƠ-RON NHÂN TẠO
Giới thiệu
Các mạng nơ-ron nhân tạo, hoặc gọi tắt là các mạng nơ-ron, là một tập hợp các đơn vị xử lý đơn giản có mối liên hệ cao (nơ-rons) hoạt động song song Mặc dù nơ-ron nhân tạo là một sự đơn giản hóa của các nơ-ron sinh học, các mạng của các nơ-ron nhân tạo vẫn có các khả năng xử lý tín hiệu và phân loại đối tượng phức tạp Các mô hình mạng nơ-ron được phân loại bằng các giao thức kết nối bên trong của chúng (interconnection topology), các đặc tính đơn
vị xử lý, và thuật toán học Lý thuyết thuật toán học là làm thế nào các lực tiếp hợp (synaptic strengths) hoặc các trọng số kết nối (interconnect weights) trong mạng phải được điều chỉnh nhằm thích nghi với môi trường Việc học mạng nơ-ron được trình bày trong phần III.2
Mô hình mạng nơ-ron nhân tạo về cơ bản là phép xấp xỉ bậc nhất của nơ-ron sinh học Trong mô hình mạng nơ-ron nhận tạo, chúng ta xác định ba thành phần cơ bản của một mô hình nơ-ron:
1 Một tập các kết nối hay synapse, mà mỗi một trong chúng được đặc trưng bởi một trọng số của riêng nó Tức là với các đầu vào mạng xj tại đầu vào của kết nối j nối với nơ-ron k sẽ được nhân với trọng số wkj Trong đó, k
là chỉ số của nơ-ron tại đầu ra của kết nối đang xét, còn j chỉ điểm đầu vào của kết nối Các trọng số kết nối của một nơ-ron nhân tạo có thể nhận cả các giá trị âm và các giá trị dương
Trang 31Chương III Mạng nơ-ron nhân tạo
2 Một bộ cộng để tính tổng các tín hiệu đầu vào của nơ-ron, đã được nhân với các trọng số kết nối tương ứng, phép toán được mô tả ở đây tạo nên một bộ tổ hợp tuyến tính
3 Một hàm kích hoạt (activation function ) để giới hạn biên độ đầu ra của nơ-ron Hàm kích hoạt cũng được xem xét như là một hàm nén, nó giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra trọng một khoảng giá trị hữu hạn Mô hình nơ-ron trong hình 3.1 còn bao gồm một hệ số hiệu chỉnh tác động từ bên ngoài, bk Hệ số hiệu chỉnh bk có tác dụng tăng lên hoặc giảm
đi đầu vào thực của hàm kích hoạt, tùy theo nó dương hay âm
Hình 3.1 Mô hình phi tuyến của mạng nơ-ron
Dưới dạng công thức toán học,chúng ta có thể mô tả một nơ-ron thứ k bằng cặp công thức sau:
Trang 32Chương III Mạng nơ-ron nhân tạo
Trong đó x1,x2,…xm là các tín hiệu đầu vào; wk1,wk2,…,wkm là các trọng số kết nối của nơ-ron, uk là đầu ra bộ tổ hợp tuyến tính tương ứng; bk là hệ số hiệu chỉnh
Hệ số hiệu chỉnh bk là một tham số ngoài của nơ-ron nhân tạo k Chúng ta có
hể thấy được sự có mặt của nó trong công thức (3.1) Một cách tương đương, chúng ta có thể tổ hợp các công thức (3.1) và (3.2) như sau:
j x m
j kj
w k
Trang 33Chương III Mạng nơ-ron nhân tạo
Hình 3.2 Mô hình phi tuyến thứ hai của một nơ-ron
0 vvíi0
1)
0
2
12
1,
2
11
)(
v
v v
v v
ϕ (3.8)
Hàm này có thể xem như một xấp xỷ của một bộ khuếch đại phi tuyến
Đầu vào cố
Trang 34Chương III Mạng nơ-ron nhân tạo
3 Hàm sigma: hàm sigma là dạng chung nhất của hàm kích hoạt
được sử dụng trong cấu trúc mạng nơ-ron nhân tạo Nó là một hàm tăng và nó thể hiện một sự trung gian giữa tuyến tính và phi tuyến
Trang 35Chương III Mạng nơ-ron nhân tạo
1 Các mạng tiến (feedforward) đơn lớp
Trong một mạng nơ-ron phân lớp, các nơ-ron được tổ chức dưới dạng các lớp Với dạng đơn giản nhất của mạng phân lớp, chúng ta có một lớp đầu vào gồm các nút nguồn chiếu trực tiếp tới lớp đầu ra gồm các nơ-ron (các nút tính toán) Như vậy, mạng thực sự là không có chu trình Nó được minh họa trong hình 3.4 cho trường hợp ba nút với cả lớp đầu ra và đầu vào Một mạng như vậy được gọi là một mạng đơn lớp “Đơn lớp” tức là chỉ có một lớp, chính là lớp đầu ra gồm các nút tính toán (các nơ-ron) Chúng ta không tính lớp đầu vào của các nút nguồn vì không có tính toán nào được thực hiện ở đây
Hình 3.4 Mạng tiến với một lớp Nơ-ron
2 Các mạng tiếng (feedforward) đa lớp
Lớp thứ hai của một mạng nơ-ron tiến được phân biệt bởi sự có mặt của một hay nhiều lớp ẩn, mà các nút tính toán của chúng được gọi là các nơ-ron ẩn hay các đơn vị ẩn (thuật ngữ “ẩn” ở đây mang ý nghĩa là không tiếp xúc với môi trường) Chức năng của các nơ-ron ẩn là can thiệp vào giữa đầu vào và đầu ra của mạng một cách hữu hiệu Bằng việc thêm một vài lớp ẩn, mạng có khả năng đưa ra được các thống kê bậc cao của tín hiệu đầu vào Khả năng các nơ-ron ẩn rút ra được các thống kê bậc cao đặc biệt có giá trị khi lớp đầu vào có kích thước lơn
Các nút nguồn trong lớp đầu vào của mạng cung cấp các phần tử của vector
Lớp đầu vào gồm các nút nguồn
Lớp đầu ra gồm các nơ-ron
Trang 36Chương III Mạng nơ-ron nhân tạo
trong lớp thứ hai (lớp ẩn thứ nhất) Các tín hiệu đầu ra của lớp thứ hai được
sử dụng như các đầu vào cho lớp thứ ba, và cứ như vậy cho phần còn lại của mạng Về cơ bản, các nơ-ron trong mỗi lớp của mạng có các đầu vào của chúng là các tín hiệu đầu ra của chỉ lớp đứng liền trước nó (điều này có thể khác trong thực tế cài đặt) Tập hợp các tín hiệu đầu ra của các nơ-ron trong lớp đầu ra của mạng tạo nên đáp ứng toàn cục của mạng đối với các vector đầu vào được cung cấp bởi các nút nguồn lớp đầu vào Trong hình 3.5 minh họa cấu trúc của một mạng nơ-ron tiến đa lớp cho trường hợp một lớp ẩn Đê đơn giản, mạng được vẽ trong hình 3.5 là một mạng 5-3-2 tức là 5 nút nguồn,
3 nơ-ron ẩn, và 2 nơ-ron đầu ra
Mạng nơ-ron trong hình 3.5 được gọi là kết nối đầu đủ với ý nghĩa là tất cả các nút trong mỗi lớp của mạng được nối với tất cả các nút trong lớp tiếp sau Nếu một số kết nối không tồn tại trong mạng, chúng ta nói rằng mạng là kết nối không đầy đủ
Hình 3.5 Mạng kết nối đầy đủ với một lớp ẩn và một lớp đầu ra
3.Các mạng hồi quy (recurrent network)
Một mạng nơ-ron hồi quy được phân biệt so với các mạng nơ-ron không hồi quy ở chỗ là nó có ít nhất một vòng lặp phản hồi Ví dụ, một mạng hồi quy có
Lớp đầu vào gồm các nút nguồn
Lớp ẩn gồm các nơ-ron ẩn
Lớp đầu ra gồm các nơ-ron đầu
ra
Trang 37Chương III Mạng nơ-ron nhân tạo
thể bao gồm một lớp đơn các nơ-ron với mỗi nơ-ron đưa tín hiệu đầu ra của
nó quay trở lại các đầu vào của tất cả các nơ-ron khác, như được minh họa trong hình 3.6 Trong cấu trúc được mô tả trong hình này, không có một vòng lặp tự phản hồi nào trong mạng; tự phản hồi là trường hợp đầu ra của một nơ-ron được phản hồi lại chính đầu vào của nơ-ron đó Mạng hồi quy trong hình 3.6 cũng không có các nơ-ron ẩn Trong hình 3.7, chúng ta minh họa một lớp mạng hồi quy nữa với các nơ-ron ẩn Các kết nối phản hồi được vẽ trong hinh 3.7 bắt nguồn từ các nơ-ron ẩn cũng như từ các nơ-ron đầu ra
Hình 3.6 Mạng hồi quy không có nơ-ron ẩn và không có vòng lặp tự phản hồi
Sự có mặt của các vòng lặp phản hồi, trong cả cấu trúc hồi quy của hình 3.6
và hình 3.7, có một ảnh hưởng sâu sắc đến khả năng học của mạng và đến tính năng của nó Hơn nữa, các vòng lặp phản hồi bao hàm việc sử dụng các nhánh đặc biệt gồm có các phần tử đơn vị trễ (ký hiệu và z-1), thể hiện một hành vi phi tuyến động theo thời gian (cùng với giả sử rằng mạng nơ-ron bao gồm các đơn vị phi tuyến)
Trang 38Chương III Mạng nơ-ron nhân tạo
Hình 3.7 Mạng hồi quy có các nơ-ron ẩn
III.2 QUÁ TRÌNH HỌC CỦA MẠNG NƠ-RON
Mục đích của việc học trong mạng nơ-ron là biến đổi các trọng số để mạng sẽ tạo ra một tập các đầu ra mong muốn đưa ra bởi một tập các đầu vào Việc học hay việc cấu trúc (organization) mạng nơ-ron được tổ chức qua biến đổi các trọng số kết nối synaptic bên trong (inter-synaptic connection strengths) giữa các nơ-ron Phương pháp thực tế là xác định làm thế nào các trọng số kết nối (connection strengths) được biến đổi theo lý thuyết biểu đồ hay mô hình học Và một tập hợp các quy tắc được xác định cho lời giải của bài toán học được gọi là thuật toán học Không có một thuật toán học duy nhất cho việc thiết kế các mạng nơ-ron, mà chúng ta có một “bộ công cụ” bao gồm nhiều thuật toán học đa dạng mỗi thuật toán đều có những ưu điểm riêng Nói chung, các thuật toán học khác nhau chủ yếu trong cách thức đi điều chỉnh trong số kết nối của một nơ-ron Việc học mạng nơ-ron có thể được chia thành 2 nhóm chính: học có giám sát và học không giám sát [18]
Việc học có giám sát thường được đưa ra như việc học liên kết, khi nó chứa
Trang 39Chương III Mạng nơ-ron nhân tạo
ra ) vào mạng Việc học hoặc việc biến đổi các trọng số tương ứng với mỗi đơn vị nơ-ron, dựa trên việc tối thiểu hóa lỗi giữa các giá trị đầu ra thực thế và đầu ra mong muốn với một tập đưa ra của các cặp đầu vào ra Do việc biểu diễn lặp lại trên tập huấn luyện và sự biến đổi các trọng số của mạng, biểu đồi đầu vào ra mong muốn có thể đạt được
Trong khi đó thuật toán có giám sát sử dụng một lỗi bên ngoài để biến đổi các trọng số của mạng, việc học không giám sát cố gắng để tự tổ chức các trọng
số mạng trực tiếp từ sự phân bố cơ sở của dữ liệu huấn luyện Đúng hơn sử dụng một tín hiệu lỗi bên ngoài, một giá trị đo lỗi được tạo ra bên trong được
sử dụng để xác định đáp ứng mạng tương ứng Bằng việc tối thiểu hóa tiêu chuẩn lỗi, hàm mong muốn của mạng nơ-ron có thể đạt được Quá trình huấn luyện về cơ bản tách ra các đặc trưng thống kê của dữ liệu huấn luyện và đưa
ra việc phân nhóm chứa các đối tượng vào giống nhau Do đó, việc đưa các đối tượng vào giống nhau để mạng có kết quả trong đầu ra giống nhau có thể kích hoạt Tuy nhiên, không giống việc huấn luyện có giám sát, biểu đồ giữa các thành phần đầu vào và ra không thể được xác định trước
Một nhược điểm của việc học có giám sát là yêu cầu các dữ liệu huấn luyện được gán nhãn (mỗi vector dữ liệu được đánh dấu cùng với lớp chính xác của nó), đối với nhiều nhiệm vụ như nhận dạng âm vị thì có thể mất nhiều thời gian để thu thập Thông thường, các thuật toán học có giám sát thường yêu cầu thời gian huấn luyện dài hơn yêu cầu hơn việc học không giám sát
Trang 40Chương IV Mô hình chuỗi Markov ẩn và vấn đề nhận dạng tiếng nói
NHẬN DẠNG TIẾNG NÓI
Hình 4.1: Minh họa hoạt động của mô hình Markov ẩn
Mô hình Markov ẩn (HMM) là mô hình dựa trên thống kê dùng để mô hình hoá các loại tín hiệu theo thời gian, được sử dụng rất thành công trong những ứng dụng về nhận dạng Nó có khả năng mô hình hoá tiếng nói theo thời gian dựa trên cấu trúc được ràng buộc bằng toán học chặt chẽ Cho nên HMM nhận dạng tiếng nói đạt hiệu quả cao hơn các phương pháp khác Thực tế cho thấy, trong lĩnh vực nhận dạng tiếng nói, mô hình Markov ẩn cho kết quả cao hơn mạng nơ-ron
Chương này ta sẽ trình bày về mô hình Markov ẩn và ba bài toán cơ bản của
mô hình Markov ẩn, và áp dụng mô hình Markov vào nhận dạng tiếng nói [19]
IV.1 MÔ HÌNH MARKOV ẨN
Mô hình Markov ẩn gồm các trạng thái, và một ma trận trọng số chuyển trạng thái tạo thành một mạng chuyển đổi trạng thái Trong phương pháp nhận dạng tiếng nói bằng mô hình Markov ẩn, mỗi từ cần nhận dạng sẽ được biểu diễn bằng một mô hình Markov ẩn Tại một thời điểm bất kỳ, hệ