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

Thiết kế hệ thống nhúng nhận dạng giọng nói dùng neural network

95 82 1

Đ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 95
Dung lượng 2,77 MB

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

Nội dung

Các vector đặc trưng được đưa vào mạng Neural lan truyền thẳng, sử dụng thuật toán Backpropagation để huấn luyện tạo ra bộ trọng số, bộ trọng số này được dùng để nhận dạng.. Với các yếu

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

NGUYỄN THANH TUẤN

THIẾT KẾ HỆ THỐNG NHÚNG NHẬN DẠNG GIỌNG NÓI DÙNG NEURAL NETWORK

Chuyên ngành: Kỹ Thuật Điện Tử

Mã số: 60 52 70

LUẬN VĂN THẠC SĨ

TP.HỒ CHÍ MINH, tháng 12 năm 2013

Trang 2

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1: TS VÕ NGUYỄN QUỐC BẢO…

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 : TS VÕ TRUNG DŨNG………

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 30 tháng 12 năm 2013

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)

1 PGS.TS LÊ TIẾN THƯỜNG

Trang 3

-

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: NGUYỄN THANH TUẤN MSHV: 11140073

Ngày, tháng, năm sinh: 10/11/1980 Nơi sinh: Kiên Giang Chuyên ngành: Kỹ Thuật Điện Tử Mã số : 60 52 70

I TÊN ĐỀ TÀI: Thiết Kế Hệ Thống Nhúng Nhận Dạng Giọng Nói Dùng Neural

Network

II NHIỆM VỤ VÀ NỘI DUNG:

- Thiết kế hệ thống nhúng nhận dạng giọng nói 16 từ đơn Tiếng Việt dùng Neural Network

- Thực hiện ứng dụng trên Kit BeagleBoard xM

III NGÀY GIAO NHIỆM VỤ : 21/01/2013

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 22/11/2013

V CÁN BỘ HƯỚNG DẪN: TS HOÀNG TRANG

Trang 4

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn Ts.Hoàng Trang đã trực tiếp hướng dẫn đề tài trong suốt thời gian qua Thầy luôn tận tình giúp đỡ, quan sát, tạo điều kiện thuận lợi nhất cho tôi thực hiện đề tài

Tôi cũng xin cảm ơn các thầy trong bộ môn Điện tử trường Đại học Bách Khoa đã tạo điện kiện cho tôi mượn và sử dụng các thiết bị cần thiết trong phòng Lab để tôi thực hiện tốt đề tài

Tôi cũng xin chân thành cảm ơn các bạn học viên và nghiên cứu viên trong phòng 116/B1 Các bạn luôn sẵn lòng chia sẽ những kinh nghiệm giúp đỡ tôi trong suốt quá trình thực hiện đề tài

Tôi gửi lời cảm ơn đến gia đình, bạn bè, mọi người đã giúp đỡ, động viên tôi trong suốt quá trình thực hiện luận văn

TP.Hồ Chí Minh, 22/11/2013

Học viên

Nguyễn Thanh Tuấn

Trang 5

TÓM TẮT

Đề tài xây dựng giải thuật nhận dạng giọng nói 16 từ đơn tiếng Việt dùng Neural Network Chương trình được thực hiện trên máy tính cá nhân và sau đó nhúng xuống Kit BeagleBoard xM Trên máy tính cá nhân sử dụng hệ điều hành Ubuntu 10.4 Codes được viết trên Qt 4.6 và dùng Qt-Everywhere biên dịch cho kiến trúc ARM Trên BeagleBoard xM sử dụng hệ điều hành Ångström

Giọng nói thu từ Micro ở dạng tương tự được số hóa bởi Soundcard, quá trình thu phát âm được thực hiện với thư viện Alsa Hệ thống thực hiện quá trình tiền xử

lý cắt các khoảng lặng (không phải tín hiệu tiếng nói) bằng phương pháp xác định ngưỡng năng lượng thời gian ngắn kết hợp với phương pháp xác định tỉ lệ biên độ tín hiệu dao động qua điểm Zero Âm thanh sau khi được tiền xử lý sẽ tiến hành

trích đặc trưng bằng phương pháp MFCC (Mel-scale Frequency Cepstral

Coefficient) Các vector đặc trưng được đưa vào mạng Neural lan truyền thẳng, sử dụng thuật toán Backpropagation để huấn luyện tạo ra bộ trọng số, bộ trọng số này được dùng để nhận dạng

Bộ từ vựng cần nhận dạng là các từ: “Không”, “Một”, “Hai”, “Ba”, “Bốn”,

“Năm”, “Sáu”, “Bảy”, “Tám”, “Chín”, “Mở”, “Đóng”, “Tới”, “Lui”, “Bật”, “Tắt” được phát ra từ tác giả trong điều kiện tiếng ồn thấp Kết quả thực hiện nhận dạng trên máy tính cá nhân và nhúng trên BeagleBoard xM độ chính xác đạt được xấp xỉ 99%

Trang 6

ABSTRACT

The thesis developed an algorithm for speech recognition of the single 16 Vietnamese using Neural Network The program was conducted on a personal computer which used Ubuntu 10.4 operating system and then embedded on Kit BeagleBoard xM Codes were written on the Qt 4.6 and Qt-Everywhere were applied to compile the ARM architecture On the BeagleBoard xM, Angstrom operating system was used

The speech was recorded by the Micro in the form of analog and digitalized by Soundcard The process of the speech recording and playing were conducted with Alsa library The system of implementing the pre-processing phase, cutting silent sounds (not the speech signals), was handled by an integrated method in which determining the short-time energy threshold was combined with determining the rate of fluctuations signal amplitude crossing Zero point The speech from the preprocessing phase was extracted by the MFCC method (Mel-scale Frequency Cepstral Coefficient) The remarkable vectors were inputted the spreading straight-through Neural Network using Backpropagation algorithm to train and generate the weights employed for the voice recognition

The package of vocabulary that needed to be recognized (in Vietnamese) included: “Không”, “Một”, “Hai”, “Ba”, “Bốn”, “Năm”, “Sáu”, “Bảy”, “Tám”,

“Chín”, “Mở”, “Đóng”, “Tới”, “Lui”, “Bật”, “Tắt” which were produced by the

authors under the low conditions of noise The results of recognition carried out on the personal computer and then embedded on the BeagleBoard xM would obtain the exact level of approximately 99 percent

Trang 7

LỜI CAM ĐOAN

Tôi cam đoan các kết quả đề tài thực hiện chưa từng công bố trong bất kỳ công trình khoa học trước đây

Người cam đoan

Nguyễn Thanh Tuấn

Trang 8

MỤC LỤC

LỜI CẢM ƠN i

TÓM TẮT ii

ABSTRACT iii

LỜI CAM ĐOAN iv

DANH SÁCH HÌNH VẼ VÀ BẢNG BIỂU vii

MỞ ĐẦU - 1 -

1 Lý do chọn đề tài - 1 -

2 Một số công trình nghiên cứu - 2 -

3 Mục tiêu và giới hạn đề tài - 3 -

4 Bố cục luận văn - 3 -

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT - 5 -

1.1 Cơ sở lý thuyết về nhận dạng giọng nói - 5 -

1.1.1 Các đặc điểm của giọng nói - 5 -

1.1.2 Phân loại các hệ thống nhận dạng giọng nói - 5 -

1.1.3 Các yếu tố ảnh hưởng đến kết quả nhận dạng - 6 -

1.1.4 Các phương pháp tiếp cận nhận dạng giọng nói - 6 -

1.1.5 Một hệ thống nhận dạng giọng nói dùng mạng Neural nhân tạo - 7 -

1.2 Tiền xử lý âm thanh - 8 -

1.3 Trích đặc trưng - 9 -

1.4 Mạng Neural nhân tạo (ANN-Artificial Neural Network) - 13 -

1.4.1 Giới thiệu mạng Neural nhân tạo - 13 -

1.4.2 Mô hình tổng quát của một mạng Neural nhân tạo - 15 -

1.4.3 Hàm kích hoạt f - 16 -

1.4.4 Cấu trúc mạng Neural nhân tạo - 18 -

1.4.5 Thuật toán Backpropagation - 21 -

1.5 Hệ thống nhúng - 29 -

1.5.1 Phần cứng - 29 -

1.5.2 Hệ điều hành nhúng - 32 -

CHƯƠNG 2: HỆ THỐNG NHẬN DẠNG GIỌNG NÓI DÙNG NEURAL NETWORK - 33 -

2.1 Sơ đồ khối và hoạt động của hệ thống - 33 -

Trang 9

2.2 Quá trình thu âm - 33 -

2.3 Tiền xử lý - 34 -

2.4 Trích đặc trưng MFCC - 39 -

2.4.1 Pre-emphasis - 39 -

2.4.2 Frame Blocking & Overlap - 39 -

2.4.3 Windowing - 40 -

2.4.4 Tính FFT - 41 -

2.4.5 Mel-Frequency Filter Bank - 42 -

2.4.6 Tính Cepstrum - 43 -

2.4.7 Logged Energy - 43 -

2.4.8 Hệ số Delta - 43 -

2.5 Huấn luyện bộ trọng số - 44 -

2.5.1 Thu mẫu, lưu thành tập mẫu - 44 -

2.5.2 Tiền xử lý và trích đặc trưng - 44 -

2.5.3 Huấn luyện - 45 -

2.6 Nhận dạng và hiển thị kết quả - 50 -

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG NHÚNG TRÊN BBxM - 51 -

3.1 Sơ đồ hệ thống nhận dạng trên BBxM - 51 -

3.2 Phần cứng - 51 -

3.3 Xây dựng hệ thống nhúng - 51 -

3.3.1 Xây dựng hệ điều hành nhúng (Thực hiện trên Window OS của PC) - 51 -

3.3.2 Biên dịch ứng dụng trên BeagleBoard xM (Thực hiện trên Ubuntu 10.4) - 52 - 3.4 Thực hiện nhận dạng trên BBxM - 56 -

CHƯƠNG 4: KẾT QUẢ - 57 -

4.1 Kết quả đạt được - 57 -

4.1.1 Giao diện và hoạt động của chương trình - 57 -

4.1.2 Kết quả thống kê - 58 -

4.2 Kết luận - 79 -

4.3 Hướng nghiên cứu và phát triển - 80 -

TÀI LIỆU THAM KHẢO - 81 -

Trang 10

DANH SÁCH HÌNH

Hình 1 1 Sơ đồ khối nhận dạng giọng nói dùng Neural Network - 7 -

Hình 1 2 Sự tương quan giữa tín hiệu tiếng nói và nhiễu nền 8

Hình 1 3 Sơ đồ giải thuật trích đặc trưng MFCC 9

-Hình 1 4 Các Frame trong phân tích tiếng nói - 10 -

Hình 1 Minh họa về cấu trúc của một Neural sinh học và bộ não người 13

-Hình 1 6 Quá trình truyền thông tin của một Neural - 14 -

Hình 1 7 Mô hình toán học của 1 Neural - 14 -

Hình 1 8 Mô hình Neural tổng quát R ngõ vào, một ngõ ra 15

Hình 1 9 Hàm kích hoạt Hardlim 16

Hình 1 10 Hàm kích hoạt Purelin 16

Hình 1 11 Hàm kích hoạt LogSigmode 17

-Hình 1 12 Hàm kích hoạt Tansig - 17 -

Hình 1 13 Mạng Neural truyền thẳng 1 lớp ẩn 18

Hình 1 14 Mạng Neural truyền thẳng nhiều lớp ẩn 18

-Hình 1 1 Mạng Neural hồi quy - 20 -

Hình 1 16 Mô hình mạng Neural với bộ p vectơ vào-ra {X(k),d(k)} - 21 -

Hình 1 17 BeagleBoard xM - 29 -

Hình 1 18 Sơ đồ mô tả các chức năng của BeagleBoard xM - 31 -

Hình 1 19 Sơ đồ khối cấu trúc của BBxM 31

-Hình 2 1 Sơ đồ khối hệ thống nhận dạng giọng nói - 33 -

Hình 2 2 Dạng sóng của tín hiệu âm “tắt” 34

-Hình 2 3 Sơ đồ giải thuật cắt các khoảng lặng bằng phương pháp xác định ngưỡng năng lượng thời gian ngắn và tỉ lệ biên độ dao động qua điểm Zero 35

Hình 2 4 Minh họa Overlap y mẫu 37

-Hình 2 5 Dạng sóng của âm “hai” lúc trước và sau khi cắt khoảng lặng - 38 -

Hình 2 6 Sơ đồ giải thuật trích đặc trưng MFCC 39

Hình 2 7 Cửa sổ Hamming 160 điểm 40

-Hình 2 8 Băng thông 27 bộ lọc Mel hình tam giác - 42 -

Trang 11

Hình 2 9 Sơ đồ khối xây dựng bộ trọng số huấn luyện 44

Hình 2 10 Cấu trúc mạng Neural truyền thẳng 45

-Hình 2 11 Sơ đồ giải thuật huấn luyện mạng Neural truyền thẳng bằng thuật toán Backpropagation - 46 -

Hình 2 12 Sơ đồ khối nhận dạng - 50 -

Hình 3 1 Sơ đồ hệ thống nhận dạng trên BBxM - 51 -

Hình 3 2 Add trình biên dịch ARM trên Qt - 55 -

Hình 3 3 Chọn lựa trình biên dịch cho Qt 56

Hình 4 1 Giao diện của chương trình 57

Trang 12

-DANH SÁCH CÁC BẢNG

Bảng 1 Xác suất nhận dạng tương ứng với số bộ lọc hình tam giác hoặc hình vuông

- 11 -

Bảng 2 Mô tả các chức năng của BBxM - 30 -

Bảng 3 Năng lượng thời gian ngắn của 16 từ vựng - 58 -

Bảng 4 Tỉ lệ biên độ dao động qua điểm Zero của 16 từ vựng - 61 -

Bảng 5 Kết quả cắt các khoảng lặng của tập mẫu huấn luyện - 63 -

Bảng 6 Kết quả trích đặc trưng với số mẫu 1 Frame = 240, Overlap 50% - 65 -

Bảng 7 Kết quả trích đặc trưng với số mẫu 1 Frame = 160, Overlap 50% - 66 -

Bảng 8 Kết quả trích đặc trưng với số mẫu 1 Frame = 160, Overlap 60% - 67 -

Bảng 9 Kết quả trích đặc trưng với số mẫu 1 Frame = 160, Overlap 70% - 69 -

Bảng 10 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 240, Overlap 50% - 70 -

Bảng 11 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 160, Overlap 50%, số nút vào 26 - 71 -

Bảng 12 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 160, Overlap 50% - 72 -

Bảng 13 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 160, Overlap 60%, số từ huấn luyện 800 - 73 -

Bảng 14 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 160, Overlap 60%, số từ huấn luyện 1440 - 74 -

Bảng 15 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 160, Overlap 60%, số nút ra 4 nút - 75 -

Bảng 16 Kết quả huấn luyện và nhận dạng với số mẫu 1 Frame = 160, Overlap 70% - 76 -

Bảng 17 Tổng hợp các trường hợp huấn luyện và nhận dạng từ các file thu sẵn - 77 - Bảng 18 Kết quả nhận dạng trực tiếp dạng từ micro, thực hiện trên BeagleBoard xM - 79 -

Trang 13

DANH SÁCH CÁC TỪ VIẾT TẮT

BBxM: BeagleBoard xM

DFT: Discrete Fourier Transform

FFT: Fast Fourier Transform

HMM: Hidden Markov Models

MFCC: Mel-scale Frequency Cepstral Coefficient

PC: Personal Computer

Trang 14

MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay, việc điều khiển thiết bị không cần tiếp xúc mà thực hiện bằng tiếng nói là một xu hướng đang phát triển Công nghệ nhận dạng tiến nói được ứng dụng trong nhiều lĩnh vực bởi tính tiện lợi và hiệu xuất của nó Một số ứng dụng của công

công trình nghiên cứu nhận dạng tiếng nước ngoài tương đối tốt Tuy nhiên cho đến nay các công trình nghiên cứu nhận dạng giọng nói tiếng Việt vẫn đạt hiệu xuất chưa cao, hầu hết thực hiện trên máy tính cá nhân

Hiện nay, với sự phát triển mạnh mẽ của công nghệ vi mạch, các hệ thống nhúng đã ngày càng được ứng dụng rộng rãi Các hệ thống này giúp cho việc xử lý công việc trở nên dễ dàng và đơn giản hơn Các lõi IP (IP core) đang được ứng dụng rộng rãi trong hầu hết các thiết bị thông minh BeagleBoard xM là hệ thống được tích hợp lõi Cortex A8 có hỗ trợ khá mạnh về tốc độ xử lý, dung lượng và các ứng dụng về âm thanh Việc nhúng thành công các chương trình nhận dạng giọng nói tiếng Việt vào các Kit xử lý nhỏ gọn sẽ có ý nghĩa to lớn trong việc phát triển ứng dụng này vào thực tế, đặc biệt là trong lĩnh vực điều khiển Với các yếu tố trên,

đề tài sử dụng và cải tiến các giải thuật đã và đang được nghiên cứu trong lĩnh vực nhận dạng giọng nói, thiết kế hệ thống nhúng nhận dạng giọng nói thực hiện nhận dạng 16 từ đơn tiếng Việt trên BeagleBoard xM

Tiếng nói người là loại tín hiệu khá phức tạp, luôn thay đổi theo không gian và thời gian Để nhận dạng và hiểu được tiếng nói, bộ nảo người phải trải qua quá trình học lại nhiều lần và xử lý khá phức tạp Cho đến nay đã có nhiều công trình nghiên cứu lĩnh vực này với nhiều hướng tiếp cận khác nhau Mạng Neural nhân tạo là hệ thống mô phỏng một số tính chất của bộ nảo người Nó có khả năng học quan hệ giữa các biến đầu vào và đầu ra khi dữ liệu đầu vào không có quy luật hoặc quy luật không rõ ràng Phương pháp nhận dạng dùng mạng Neural nhân tạo khá hiệu quả trong việc tăng độ chính xác nhận dạng Vì vậy đề tài chọn mạng Neural nhân tạo

để giải quyết bài toán nhận dạng giọng nói

Trang 15

2 Một số công trình nghiên cứu

Hiện nay trên thế giới có rất nhiều nghiên cứu về hệ thống nhận dạng giọng nói và đạt được những thành tựu như: Via Voice của IBM, Spoken Toolkit của trung tâm CSLU (Center of Spoken Language Understanding), … những hệ thống này dược xây dựng để nhận dạng tiếng Anh, ngoài ra còn có một sô hệ thống nhận dạng tiếng nói của các ngôn ngữ khác như: tiếng Ý, Đức, Pháp, Tây Ban Nha … Nhóm tác giả trong [1] xây dựng hệ thống nhận dạng giọng nói phụ thuộc người nói Mạng Neural của hệ thống là mạng Time-Delay Neural Network 3 lớp và

sử dụng thuật toán lan truyền ngược (Backpropagation) để nhận dạng được âm vị của ba từ “B”, “D” và “G” phụ thuộc vào 3 người nói khác nhau Kết quả của tỷ lệ nhận dạng chính xác đạt được 98,5 %, trong khi kết quả đạt được tốt nhất của Hidden Markov Models (HMM) dưới điều kiện tương tự (1946) là 93.7%

Năm 2012, được sự hỗ trợ của Bộ Khoa học và Công nghệ thông qua đề tài

nghiên cứu tiềm năng “Thiết kế chip nhận dạng tiếng nói tiếng Việt trên nền công nghệ FPGA”, TS Hoàng Trang và nhóm nghiên cứu trẻ của trường Đại học Bách

khoa - Đại học Quốc gia TP.Hồ Chí Minh đã có cơ hội để thử sức nghiên cứu xây dựng một số cấu trúc vi mạch nhận dạng tiếng nói tiếng Việt Kết quả nhận dạng được các chữ số từ 0 đến 9 và khoảng 20 từ đơn âm với xác suất nhận dạng đạt trên 80% Đây là một bài báo được đăng tại:

[Website:http://www.vpct.gov.vn/News.aspx?ctl=newsdetail&aID=131&p=61]

Nhóm tác giả trong [2] trình bày một hướng nhận dạng tiếng nói tiếng Việt dựa trên việc trích đặc trưng tiếng nói bằng phương pháp MFCC và bộ nhận dạng dùng mạng HMM Kết quả được kiểm nghiệm thực tế bằng mô hình xe điều khiển

từ xa, xác suất nhận dạng thực hiện bộ từ vựng 4 từ: phải, trái, tới, lui đạt 99% Tuy nhiên hạn chế lớn của đề tài này là bộ từ vựng nhỏ và tốc độ xử lý chậm

Tác giả trong [3] thực hiện đề tài “Nghiên cứu và ứng dụng mạng Neural trong nhận dạng tiếng Việt” dùng phương pháp trích đặc trưng MFCC, huấn luyện và

Trang 16

nhận dạng bằng mạng Neural nhân tạo Kết quả nhận dạng với bộ từ vựng 10 từ, đạt khá cao 97%, nhưng chỉ thực hiện bằng Matlab trên máy tính cá nhân

Tác giả trong [4], đề tài xây dựng chương trình nhận dạng tiếng nói tiếng Việt trên Kit vi xử lý 32 bit họ ARM-LM3S296 Trong đó dùng phương pháp trích đặc trưng MFCC, huấn luyện và nhận dạng bằng Neural Network Kết quả thực hiện bằng Matlab trên máy tính cá nhân với bộ từ vựng 9 từ, đạt xác suất nhận dạng gần 90%, nhưng thực hiện trên Kit thì xác suất rất thấp

Qua khảo sát cho thấy hiện nay có rất nhiều nghiên cứu về nhận dạng giọng nói Tuy nhiên các kết quả nhận dạng chưa cao và tốc độ chậm, số từ nhận dạng còn hạn chế, nhất là khi thực hiện ứng dụng thực tế trên phần cứng tự thiết kế Phương pháp được áp dụng phổ biến và hiệu quả cao là phương pháp trích đặc trưng MFCC, huấn luyện và nhận dạng dùng mạng Neural với thuật toán Backpropagation Hơn nữa hiện nay công nghệ vi mạch phát triển mạnh, việc nhúng thành công một chương trình nhận dạng xuống phần cứng sẽ cải thiện được rất lớn về xác suất nhận dạng, tốc độ cũng như số từ nhận dạng

3 Mục tiêu và giới hạn đề tài

Nguyên cứu lý thuyết về nhận dạng giọng nói, phương pháp trích đặc trưng MFCC (Mel-scale Frequency Cepstral), mạng Neural truyền thẳng và thuật toán Backpropagation Trên cơ sở đó, xây dựng giải thuật nhận dạng giọng nói 16 từ đơn tiếng Việt “Không”, “Một”, “Hai”, “Ba”, “Bốn”, “Năm”, “Sáu”, “Bảy”, “Tám”,

“Chín”, “Mở”, “Đóng”, “Tới”, “Lui”, “Bật”, “Tắt”, được phát ra từ tác giả trong điều kiện nhiễu thấp Thực hiện trên máy tính cá nhân và xây dựng hệ thống nhúng nhận dạng trên BeagleBoard xM, với mục tiêu kết quả nhận dạng với độ chính xác đạt trên 95%

4 Bố cục luận văn

Nội dung luận văn bao gồm:

Phần Mở đầu: nêu các lý do chọn đề tài, phân tích một số công trình nghiên

cứu, nêu một số mục tiêu và giới hạn của đề tài

Trang 17

Chương 1 Cơ sở lý thuyết: trình bày cơ sở lý thuyết về nhận dạng giọng nói,

tiền xử lý âm thanh, trích đặc trưng, mạng Neural nhân tạo và hệ thống nhúng

Chương 2 Hệ thống nhận dạng giọng nói dùng Neural Network: thiết kế sơ

đồ khối và hoạt động của hệ thống, bao gồm: quá trình thu âm, tiền xử lý, trích đặc trưng, huấn luyện bộ trọng số, nhận dạng và hiển thị kết quả

Chương 3 Xây dựng hệ thống nhúng trên BeagleBoard xM: mô tả sơ đồ hệ

thống nhận dạng trên BeagleBoard xM, các thành phần phần cứng được sử dụng, các bước xây dựng hệ thống nhúng, thực hiện hệ thống nhận dạng trên BeagleBoard

xM

Chương 4 Kết quả: trình bày các kết quả đạt được, kết luận, hướng nghiên

cứu và phát triển

Trang 18

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT1.1 Cơ sở lý thuyết về nhận dạng giọng nói [3][5]

1.1.1 Các đặc điểm của giọng nói

Âm thanh giọng nói có thể phân chia thành 3 trạng thái: trạng thái yên lặng hoặc nhiễu nền, đây là khoảng thời gian không có tiếng nói; trạng thái âm vô thanh chiếm khoảng 20% đầu âm, đây là khoảng thời gian mà dạng sóng tiếng nói không tuần hoàn, đặc trưng cho phụ âm; trạng thái âm hữu thanh chiếm khoảng 80% âm còn lại, trong khoảng thời gian này dạng sóng của âm thanh mang tính tuần hoàn, đặc trưng cho âm hữu thanh

Việc phân chia này cũng mang tính chất tương đối về ranh giới giữa 3 trạng

thái, nhưng ảnh hưởng không đáng kể đến việc phân tích và nhận dạng

1.1.2 Phân loại các hệ thống nhận dạng giọng nói

- Dựa theo cách thức người nói:

+ Nhận dạng từ rời rạc + Nhận dạng từ liên tục

- Dựa trên thông tin về các mẫu tiếng nói của người sử dụng:

+ Hệ thống phụ thuộc người nói: được làm cho tương thích với từng người riêng biệt

+ Hệ thống độc lập người nói: có thể làm việc với số lượng lớn người

sử dụng

Trang 19

+ Hệ thống thích ứng với người nói: tự cập nhật thông tin về từng người sử dụng riêng biệt trong thời gian hệ thống sử dụng

1.1.3 Các yếu tố ảnh hưởng đến kết quả nhận dạng

- Hệ thống được thiết kế cho một hay nhều người

- Kích thước bộ từ vựng

- Tiếng nói được đưa vào bằng các từ rời rạc với khoảng dừng đủ lớn hay phát âm liên tục

- Sự nhầm lẫn và không rõ ràng giữa các âm trong bộ từ vựng

- Hệ thống nhận dạng trong môi trường yên tĩnh hay nhiễu

- Kiến thức ngữ âm học được áp dụng cho bộ nhận dạng

1.1.4 Các phương pháp tiếp cận nhận dạng giọng nói

Có 3 phương pháp tiếp cận chính để nhận dạng tiếng nói: ngữ âm học, nhận dạng mẫu và ứng dụng trí tuệ nhân tạo

- Ngữ âm học: dựa vào lý thuyết về ngữ âm âm thanh, lý thuyết này cho

rằng tiếng nói tồn tại hữu hạn, các đơn vị âm thanh có thể phân biệt được và được đặc trưng bởi một tập các tính chất biểu hiện cho tín hiệu tiếng nói trong miền thời gian hay các tính chất phổ của nó Bước đầu tiên trong phương pháp ngữ âm học là phân đoạn và gán nhãn, bước thứ hai là xác định từ hợp lệ từ dãy ngữ âm được gán nhãn trong bước đầu tiên

- Nhận dạng mẫu: gồm hai bước chính là huấn luyện mẫu và so sánh mẫu

Đặc tính chủ yếu của phương pháp này là sử dụng các cơ cấu toán học rõ ràng và thiết lập sự biễu diễn thích hợp các mẫu tiếng nói cho việc so sánh chính xác các mẫu huấn luyện Tiếng nói có thể được biễu diễn ở dạng mẫu tiếng nói hoặc một

mô hình thống kê, có thể được áp dụng cho một âm, một từ hoặc một nhóm từ Trong giai đoạn so sánh mẫu, có một sự so sánh trực tiếp giữa tiếng nói chưa biết với mỗi mẫu được học trong giai đoạn huấn luyện để xác định đặc tính của mẫu chưa biết Hướng kết hợp mẫu trở thành phương pháp nhận dạng rất phổ biến trong những năm 90

Trang 20

- Phương pháp trí tuệ nhân tạo: phương pháp này cố gắn máy móc hóa hoạt

động nhận dạng theo cách con người áp dụng trí khôn trong việc hình dung, phân tích và đánh giá tiếng nói dựa trên một tập hợp các tính chất âm học đo được Nghiên cứu cách học nói và học nghe của con người, tìm hiểu các quy luật ngữ âm, ngữ pháp, ngữ nghĩa, ngữ cảnh… Một trong các kỹ thuật được áp dụng trong phương pháp này là dùng mạng Neural nhân tạo để huấn luyện các đặc trưng tiếng nói và nhận dạng để ứng dụng trong thực tế Đây chính là phương pháp được chọn nghiên cứu và sử dụng trong luận văn

1.1.5 Một hệ thống nhận dạng giọng nói dùng mạng Neural nhân tạo

Tín hiệu âm

thanh

Hình 1 1 Sơ đồ khối nhận dạng giọng nói dùng Neural Network

 Tín hiệu âm thanh: được thu từ các thiết bị thu âm và được số hóa để xử lý

 Tiền xử lý: cắt các khoảng lặng hoặc nhiễu nền để giảm kích thước, tăng xác suất nhận dạng

 Trích đặc trưng: phân tích tín hiệu, trích các đặc trưng cơ bản lưu thành tập các đặc trưng riêng của mỗi từ

 Huấn luyện: dùng mạng Neural huấn luyện tập các vector đặc trưng của tập mẫu huấn luyện, tạo ra bộ trọng số huấn luyện làm cơ sở dữ liệu cho quá trình nhận dạng

 Nhận dạng: dùng mạng Neural nhân tạo tính toán các đặc trưng của tín hiệu kết hợp với bộ trọng số huấn luyện so sánh đưa ra kết quả nhận dạng

Trang 21

1.2 Tiền xử lý âm thanh [2]

Có nhiều phương pháp tiền xử lý âm thanh để đưa âm thanh vừa thu được đạt được một chuẩn nhất định, về cơ bản là giảm nhiễu và cắt các khoảng lặng không cần thiết Đề tài giới thiệu hai phương pháp phổ biến là phương pháp xác định ngưỡng năng lượng thời gian ngắn và phương pháp xác định tỉ lệ biên độ tín hiệu dao động qua điểm Zero

Hình 1 2 Sự tương quan giữa tín hiệu tiếng nói và nhiễu nền

Phương pháp xác định ngưỡng năng lượng thời gian ngắn: năng lượng thời gian ngắn của đoạn chứa tiếng nói luôn lớn hơn nhiều so với đoạn chỉ có nhiễu Do

đó nếu ta chọn được mức ngưỡng phù hợp thì ta sẽ trích được tín hiệu mang thông tin một cách tốt nhất khuyết điểm lớn nhất của phương pháp này là rất khó xác định điểm đầu và điểm cuối khi nhiễu có biên độ lớn

Phương pháp xác định tỉ lệ biên độ tín hiệu dao động qua điểm Zero: là thông

số cho biết số lần mà biên độ tín hiệu đi qua điểm Zero trong một khoảng thời gian xác định Tín hiệu âm thanh là một tín hiệu gần như tuần hoàn nên tỉ lệ qua điểm Zero lớn hơn nhiều so với nhiễu

Sau khi cắt các khoảng lặng, để giảm nhiễu có thể dùng phương pháp lọc nhiễu Wiener và để khắc phục việc tín hiệu thu quá nhỏ có thể dùng phương pháp chuẩn hóa biên độ tín hiệu

Trang 22

1.3 Trích đặc trưng [6]

Việc trích đặc trưng tín hiệu rất quan trọng, ảnh hưởng đến tính chính xác và hiệu quả của hệ thống nhận dạng Có 2 phương pháp được dùng phổ biến nhất là phương pháp LPC (Linear Prediction Coding) và phương pháp MFCC (Mel-scale Frequency Cepstal Coeffients) Đề tài sẽ giới thiệu và áp dụng phương pháp MFCC như đã phân tích ở mục 2 của phần Mở đầu

Hình 1 3 Sơ đồ giải thuật trích đặc trưng MFCC

Phương pháp này dựa trên khả năng cảm nhận âm thanh của tai người Đó là tuyến tính ở vùng tần số thấp và tăng theo thang logarit ở vùng tần số cao Từ đặc trưng này, phương pháp MFCC cho ta những đặc trưng quan trọng nhất của tiếng nói con người Đầu ra của MFCC là các vectơ đặc trưng mà khi dựa vào các vectơ này ta sẽ phân biệt được các tiếng nói khác nhau Các vectơ này được sử dụng trong

cả quá trình huấn luyện và nhận dạng tiếng nói

+ Pre-emphasis: bộ lọc pre-emphasis được dùng để khuếch đại tín hiệu ở các

tần số cao hơn Hàm truyền của bộ lọc trong miền thời gian được cho bởi phương

trình (1.1) Trong đó tham số a tiêu biểu từ 0.9 đến 1, với s i là điểm thứ i của tín

hiệu tiếng nói khi chưa qua bộ lọc và si là điểm thứ i của tín hiệu tiếng nói sau khi

được pre-emphasis. si  siasi1

(1.1)

+ Frame blocking: Bởi vì tín hiệu tiếng nói là tín hiệu biến đổi chậm theo

thời gian, trong một hệ thống nhận dạng tiếng nói thì tiếng nói được phân đoạn thành những khoảng thời gian ngắn được gọi là các Frame Để cho các thông số của Frame ít thay đổi, thông thường có 0% chồng lấp giữa các Frame kế cận nhau, như

Trang 23

trong hình 1.4 Trong các hệ thống nhận dạng tiếng nói bằng phần mềm, tiếng nói được chia thành những Frame có chiều dài 20ms với 10ms chồng lấp Khi tiếng nói được lấy mẫu với tần số 8KHz sẽ có 160 mẫu trong mỗi Frame và có 80 mẫu được chồng lấp giữa 2 Frame kế cận nhau

Hình 1 4 Các Frame trong phân tích tiếng nói + Windowing: việc lọc cửa sổ thường được áp dụng cho mỗi khung tín hiệu

để giảm sự tác động của việc chia khung tín hiệu, thường dùng cửa sổ Hamming:

xw(n) = xt(n)*h(n) (1.2) ( ) ( ) { (

) ( ) (1.3) Trong đó : xt(n) là tín hiệu đã chia Frame, h(n) là hàm cử sổ, l là chiều dài cửa

sổ và bằng chiều dài của các Frame

+ FFT (Fast Fourier Transform): tại bước này, với mỗi khung tín hiệu,

biến đổi Fourier được áp dụng để chuyển tín hiệu về miền tần số

+ Mel Frequency Filter Bank: cảm nhận âm thanh của tai người không

tuyến tính theo tần số Nó nhạy ở những âm có tần số thập hơn những âm có tần số cao với cùng cường độ Thang đo sự biến thiên độ nhạy tai người theo tần số được dùng phổ biến là thang đo Mel Phương trình (1.4) dùng để biến đổi qua lại giữa tần

số Mel và Hz

fMel=2595log10(1+fHz/700) (1.4) Băng thông bộ lọc thang đo Mel thông thường trong nhận dạng tiến nói gồm một số bộ lọc hình tam giác hoặc hình vuông được phân bố bên trong băng thông

Trang 24

tín hiệu Số lượng bộ lọc là một trong những thông số ảnh hưởng đến sự chính xác của hệ thống nhận dạng, một số nghiên cứu đã khảo sát các thông số này được thể hiện ở Bảng 1

Bảng 1 Xác suất nhận dạng tương ứng với số bộ lọc hình tam giác hoặc hình

vuông

Số bộ lọc Xác suất nhận dạng bộ

lọc hình tam giác (%)

Xác suất nhận dạng bộ lọc hình vuông (%)

Đối với mỗi Frame, ngõ ra của bộ lọc là một vectơ hệ số công suất, số phân tử

được chọn trong Bảng 1 Hệ số công suất thứ k của Frame thứ n được tính toán bởi

phương trình (1 ), trong đó S nj là điểm phổ thứ j của Frame thứ n, và FC kjchỉ hệ số

thứ j của bộ lọc thứ k, với K là số lượng bộ lọc

K k

FC S

j nj

Trang 25

+ Cepstrum: được định nghĩa là phép biến đổi Fourier ngược của các hệ số

công suất sau khi lấy logarithm

K

p k

S C

K

nk

1 k

Trong đó p là bậc (thứ tự) của các hệ số cepstral Thông thường, đối với mỗi

Frame C0 không dùng trong phân tích bởi vì nó không đáng tin cậy Các hệ số cepstrum có bậc thấp phản ánh thông tin thanh âm của tín hiệu tiếng nói Trong phép phân tích phổ cho việc nhận dạng tiếng nói, thông thường chỉ sử dụng từ 8 đến

16 hệ số cepstrum có bậc thấp, trong đa số các ứng dụng dùng 12 hệ số cepstrum

+ Logged Energy: công suất của mỗi Frame cũng là thành phần trong đặc

trưng MFCC Nó được tính toán như là logarithm của công suất tín hiệu, có nghĩa là

đối với Frame thứ n, mỗi Frame có 160 mẫu snl , l  1 , 2 , , 160 

l nl

Năng lượng này được tính toán độc lập trước khi pre-emphasis và windowing

trong các hệ thống nhận dạng tiếng nói bằng phần mềm

+ Delta: chất lượng của hệ thống nhận dạng tiếng nói có thể được cải thiện

nhiều hơn bằng cách thêm vào tính đạo hàm theo thời gian để có được những thông

số dừng cơ bản Trong phương trình (1.8), để tính hệ số delta dn, dùng các vectơ hệ

số dừng từ cn2 đến cn2, với cn là vectơ bao gồm log năng lượng và 12 hệ số

cepstral của Frame thứ n

c

+ Kết luận: sau các quá trình xử lý như trên, 160 mẫu của một Frame được

chuyển thành một vectơ 26 phần tử bao gồm 1 hệ số năng lượng, 12 hệ số cepstral

và 13 hệ số delta (đạo hàm cấp 1 theo thời gian của hệ số cepstral) Với n Frame có

thể tạo ra n4vectơ đặc trưng bởi vì một vectơ hệ số delta cần các thông tin dừng

Trang 26

từ Frame fn2 đến Frame fn2 Những vectơ đặc trưng này được dùng trong quá trình huấn luyện và nhận dạng

1.4 Mạng Neural nhân tạo (ANN-Artificial Neural Network) [3][7][8]

1.4.1 Giới thiệu mạng Neural nhân tạo

Mạng Neural nhân tạo dựa trên cơ sở mạng Neural sinh học của bộ não người

Bộ não con người là hệ thống xử lý thông tin phức hợp, phi tuyến, song song và có khả năng học, ghi nhớ, tổng quát hóa và xử lý lỗi Nó bao gồm khoảng 1011 tế bào thần kinh liên kết với nhau

Hình 1 5 Minh họa về cấu trúc của một Neural sinh học và bộ não người

Về cơ bản mỗi Neural sinh học gồm có thân tế bào (Cell body), một hệ thống hình cây các đầu dây thần kinh vào (Dendrite) và một trục (Axon) dẫn đến các đầu dây thần kinh ra Tại đầu của các dây thần kinh có các khớp thần kinh (Synapse) để liên kết với các tế bào thần kinh khác

Trang 27

Hình 1 6 Quá trình truyền thông tin của một Neural

Tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các tế bào thần kinh là tín hiệu điện phát sinh thông qua các quá trình phản ứng và giải phóng các chất hữu cơ Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào

Khi điện thế này đạt đến một ngưỡng nào đó sẽ tạo ra một xung điện dẫn đến trục dây thần kinh ra Xung này được truyền theo trục tới các nhánh rẽ khi chạm tới các khớp nối với các tế bào thần kinh khác sẽ giải phóng các chất truyền điện Quá trình lan truyền tín hiệu cứ tiếp tục như vậy cho đến khi đến đầu ra cuối cùng

Hình 1 7 Mô hình toán học của 1 Neural

Trang 28

Mạng thần kinh nhân tạo có thể xem như là mô hình toán học đơn giản của bộ não con người Mạng thần kinh nhân tạo gồm các tế bào thần kinh nhân tạo kết nối với nhau bởi các liên kết Mỗi liên kết kèm theo một trọng số, đặc trưng cho đặc tích kích thích hay ức chế giữa các tế bào thần kinh nhân tạo

So sánh với tế bào thần kinh sinh học, ở tế bào thần kinh nhân tạo, trọng số w

đặc trưng cho mức liên kết của các khớp (synapse), phần thân (cell body) được biểu diễn bởi phép toán cộng  và hàm chuyển đổi f, ngõ ra a là tín hiệu ra trên trục (axon)

1.4.2 Mô hình tổng quát của một mạng Neural nhân tạo

Hình 1 8 Mô hình Neural tổng quát R ngõ vào, một ngõ ra

Một Neural thông thường có nhiều hơn 1 ngõ vào, nhưng chỉ có duy nhất một ngõ ra Một Neural với R ngõ vào được thể hiện trên hình 1.8 Các ngõ vào riêng biệt x1, x2, … xR được nhân với các nhân tố trọng số tương ứng w 1,1 , w 1,2 , … w 1,R

của ma trận trọng số W Lúc này H và o sẽ được biểu diễn:

j R

1 ,

o

(1.10)Trong đó: w1,j là trọng số kết nối từ ngõ vào thứ j đến Neural; H là tổng trọng

số của Neural; o là tín hiệu ngõ ra của Neural; xj là các tín hiệu đầu vào của Neural;

f là hàm kích hoạt

Trang 29

1.4.3 Hàm kích hoạt f

Hàm kích hoạt có nhiệm vụ giới hạn giá trị output của Neural và tùy theo từng yêu cầu mà hàm kích hoạt có thể khác nhau, dưới đây là những làm thông dụng nhất

 Hàm kích hoạt ngưỡng

Hình 1 9 Hàm kích hoạt Hardlim

Hard-Limit loại 1: Đây là hàm kích hoạt ngưỡng (loại 1), nó cho ra 0 nếu ngõ

vào hàm kích hoạt nhỏ hơn 0 và bằng 1 nếu ngõ vào hàm kích hoạt lớn hơn hoặc bằng không Hàm này được sử dụng thông dụng trong mạng Percepstron dùng để tạo ra các quyết định mang tính chất phân loại

Hard-Limit loại 2: Đây là hàm ngưỡng, nó cho ra -1 nếu ngõ vào của hàm

kích hoạt là nhỏ hơn 0 và cho ra 1 nếu ngõ vào hàm kích hoạt lớn hơn hoặc bằng 0 Hàm này cũng được sử dụng thông dụng trong mạng Perceptron dùng để tạo ra các

quyết định mang tính chất phân loại

 Hàm kích hoạt tuyến tính

H H

Hình 1 10 Hàm kích hoạt Purelin

Trang 30

Đây là hàm tuyến tính, nó cho ra giá trị của chính giá trị vào Hàm này được

sử dụng thông dụng trong mạng Adaline dùng để trong xấp xỉ hàm tuyến tính

 Hàm kích hoạt Log-Sigmod

H

e H

e

e H

2

1

1)(

Trang 31

1.4.4 Cấu trúc mạng Neural nhân tạo

 Mạng Neural truyền thẳng nhiều lớp ẩn

Hình 1 14 Mạng Neural truyền thẳng nhiều lớp ẩn

Trang 32

Mạng có một lớp ngõ vào(Input Layer) được kết nối từ các ngõ vào của mạng (x1, x2, , xl), một hay nhiều lớp ẩn (Hidden Layer) không trực tiếp kết nối với ngõ vào và ngõ ra của mạng, một lớp ngõ ra của mạng (Output layer) kết nối với đầu ra của mạng(o1, o2, ,oN)

Phương trình tổng quát tính output của mạng được thực hiện như sau:

Xét Neural thứ q lớp (s-1) có tổng trọng là:

) 1 ( 1

) 2 ( ) 1 ( )

1 (

j

s j s qj s

(1.14) Tín hiệu ra của Neural thứ q lớp (s-1) là :

)( ( 1)

) 1

q s

o

(1.15) Xét Neural thứ i của lớp ra (s) có tổng trọng là:

i m

q

s q m

j

s j s qj iq

i m

q

s q s iq s

) 2 ( ) 1 ( 1

) 1 ( ) ( )

(

)

(

(1.16) Tín hiệu ra của Neural thứ i của lớp ngõ ra sẽ là:

) ( ( ) )

i s

Trang 33

1.4.4.2 Mạng hồi quy

Hình 1 15 Mạng Neural hồi quy

Một mạng Neural hồi quy được phân biệt so với các mạng Neural không hồi quy ở chổ là nó có ít nhất một vòng lặp phản hồi

Tác dụng của vòng lặp phản hồi trong cấu trúc bên trên, 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ó Các vòng lặp phản hồi bao hàm việc sử dụng các nhánh có các “phần tử đơn vị trễ” (ký hiệu là z-1), thể hiện một hành vi phi tuyến động theo thời gian

Cấu trúc mạng hồi quy gồm các loại: mạng Hopfield, mạng BAM, mạng lan truyền ngược hồi quy, mạng Elman

Trang 34

1.4.5 Thuật toán Backpropagation

Bryson và Ho đã đề xuất sử dụng luật học lan truyền ngược (Backpropagation) cho mạng truyền thẳng vào năm 1968

Cho trước cặp mẫu tín hiệu vào-ra của mạng là { (X(k)

,d(k)) } với k=1,2,3 ,p (tức là ta có p cặp mẫu tín hiệu vào-ra) và X(k) chính là vector thứ k của đầu vào của mạng X(k)={[x1,x2, ,xN]T }(k), d(k) chính là vector thứ k của đầu ra mong muốn của mạng d(k)={[d1,d2, ,dM]T }(k)

Hình 1 16 Mô hình mạng Neural với bộ p vectơ vào-ra {X (k) ,d (k) }

Giải thuật lan truyền ngược thực hiện huấn luyện cho một cặp mẫu dữ liệu theo hai theo hai bước sau:

+ Bước tính toán theo chiều thuận: Vector đầu vào X được đưa vào mạng,

tính toán thông qua các lớp mạng Neural, và cho kết quả ở ngõ ra của mạng

+ Bước tính toán theo chiều nghịch: Một khi đã có vector ngõ ra của mạng

O(k)= {[o1,o2, ,oM]T }(k), vector ngõ ra sẽ so sánh với giá trị mong muốn

d(k)={[d1,d2, ,dM]T }(k) để tìm sai lệch e(k)=o(k)-d(k), ứng với giá trị sai lệch này các trọng số của mạng sẽ được tính toán để hiệu chỉnh lại

1.4.5.1 Các bước tính toán số học cho mạng (Quy định lớp s là lớp output)

 Bước 1: Tính toán theo chiều thuận

Xét Neural thứ q lớp (s-1) có tổng trọng là:

Trang 35

( 1 )

1

) 2 ( ) 1 ( )

1 (

j

s j s qj s

) 2 ( ) 1 ( )

) ( 1

) 1 ( ) ( )

)

j

s j s qj s

iq s

i m

q

s q s iq s

1

) 1 ( 1

) 2 ( ) 1 ( )

( )

( )

i m

q

s q m

j

s j s qj s

iq s

i s

( )

iq s

i s

 Bước 2: Tính toán chiều ngược

Trung bình phương sai lệch E được viết như sau

i

N

j

k j ij k

i P

k M

i

k i k

d E

2

1

) ( )

( 2

) ( ) (

)(

2

1)(

2

1

(1.23)

Trong đó: M là số Neural lớp ouput (lớp s) và cũng chính là số phần tử của

vector ra mong muốn d(k)={[d1,d2, ,dM]T }(k) ), N là số Neural lớp ẩn kế lớp output (lớp s-1), P là số cặp mẫu tín hiệu vào-ra

Sử dụng phương pháp hạ gradient tìm lượng điều chỉnh của trọng số giữa Neural thứ q của lớp ẩn (s-1) với Neural thứ i của lớp ngõ ra (s) ta có:

) ( ) )

) ) )

)

(

).

( ' ] [

q s i s

i i s

iq

s i s i

s i s i s

o o

E w

E

Với oilà tín hiệu sai lệch của Neural thứ i của lớp ngõ ra (lớp s):

Trang 36

[ ( )] '( ))

) (

s i s

i i s i

i

H

H f H

(

) 1 (

) 1 ( ) 1 (

) 1 ( ) 1 ( )

1 ( )

1 (

).

( ' ) ( ' ) (

.

j s q n

i

s iq s i s

i i

s qj

s q s

q

s q s

q s

qj

s qj

o o

H f w H f o d

w

H H

o o

E w

E w

) 1 ( ) 1 ( )

1

n

i oi s

q s

q

s q s

q s

q

H

o o

E H

1 (

q

H

H f H

Nên ta có: f' (H) o( 1 o) (1.33)

Tìm được công thức tính các sai lệch như sau:

oio i(1o i)(d io i) (1.34)

Trang 37

) 1

1)(

1

2

) 1 ( 2

Trang 38

1.4.5.2 Các yếu tố ảnh hưởng đến tốc độ hội tụ trong luật học lan truyền

ngược (Backpropagation)

Tốc độ hội tụ của luật học lan truyền ngược phụ thuộc vào một số nhân tố quan trọng: giá trị của các trọng số khởi tạo ban đầu, hằng số học, hàm sai lệch (ở dạng trung bình bình phương sai lệch), luật cập nhật, kích thước và đặc tính của mẫu và cấu trúc của mạng (gồm số lớp và số Neural mỗi lớp)

Phần này bàn về tốc độ học, các điểm cực tiểu cục bộ và khả năng tổng quát hóa của mạng lan truyền ngược

 Giá trị của các trọng số khởi tạo ban đầu

Các trọng số khởi tạo ban đầu của mạng truyền thẳng nhiều lớp có ảnh hưởng rất lớn tới kết quả cuối cùng Nó thường được khởi tạo ban đầu với giá trị tự nhiên khá nhỏ Nếu giá trị ban đầu có giá trị bằng nhau thì khó có thể huấn luyện được mạng, nên các trọng số khởi tạo ban đầu có giá trị khác nhau

Các trọng số khởi tạo ban đầu cũng nên có giá trị nhỏ, vì nếu không thỏa mãn điều này các hàm sigmod sẽ ở trạng thái bị bão hòa ngay từ đầu, quá trình huấn luyện sẽ gặp khó khăn, khi đó ta sẽ gặp các điểm cực tiểu địa phương hoặc ở trạng thái ổn định quanh điểm cực tiểu của hàm Nên chọn giá trị trong khoảng

, với ki là số lượng Neural thứ j đưa tín hiệu truyền thẳng đến Neural thứ

i (hay tín hiệu đầu vào đưa tới Neural thứ i)

 Hằng số học

Một nhân tố khác có ảnh hưởng rất lớn tới hiệu quả và sự hội tụ của luật học lan truyền ngược đó là hắng số  Không có một giá trị hằng số học nào phù hợp cho mọi trường hợp huấn luyện mạng khác nhau, được chọ theo kinh nghiệm Nếu  có giá trị lớn sẽ làm tăng được tốc độ học, nhưng có nhược điểm là có thể dẫn đến sự quá điều chỉnh lớn Nếu  có giá trị nhỏ hơn thì nó chỉ có tác dụng bù Theo kinh nghiệm nên chọn 10-3 ≤ ≤ 103

Trang 39

Một vấn đề xảy ra là giá trị của  được chọn phù hợp với giai đoạn luyện mạng ban đầu, nhưng lại không phù hợp với giai đoạn luyện mạng sau Vì vậy, có một phương pháp hiệu quả hơn đó là sử dụng  là một hằng số học thích nghi Sau mỗi lần cập nhập giá trị trọng số Sau mỗi lần cập nhật gía trị trọng số, cần thực hiện kiểm tra để xem xét sự thay đổi của trọng số đó có làm giảm được giá trị hàm sai lệch E hay không Nếu giá trị sai lệch của hàm E không giảm, nghĩa là sự cập nhật đã dẫn đến sự quá điều chỉnh và cần phải giảm giá trị của  Mặt khác, nếu trong nhiều bước tính liên tiếp đều làm giảm giá trị hàm sai lệch E thì quá trình huấn luyện sẽ chậm, nếu tăng giá trị của  Do đó, hằng số học  cần được cập nhật theo luật học sau đây:

0

0,

,0

0

)1

Others

b t

Trong đó, c là hằng số lấy trong khoảng [0,1]

Kinh nghiệm cho thấy rằng ngay cả khi không dùng luật thích nghi cũng nên

sử dụng các hằng số học khác nhau cho từng mẫu học, từng trọng số liên kết

 Luật cập nhật

Phương pháp hạ gradient có ưu điểm là đơn giản, dễ thực hiện nhưng không phải là công cụ tính toán hiệu quả nhất Áp dụng lý thuyết tối ưu hóa cho mạng có thể làm tăng tốc độ hộ tụ của thuật toán lan truyền ngược

Trang 40

Phương pháp hạ gradient chỉ quan tâm đến thành phần bậc nhất của hàm sai lệch Sử dụng công thức khai triển Taylo E(w) tại thời điểm w0 ta có:

,))(

()(

21)()(

)()

(1.43)Với H(w) là ma trận Hessian được viết như sau:

Hoặc:

j i ij

w w

E H

( 1 ) ( ) 1 ( )  ( )

)

k k

w E w H w

(1.47) Các biểu thức trên mô tả cập nhật trọng số theo phương pháp Niutơn Phương pháp này sử dụng thêm thành phần đạo hàm bậc hai để đánh giá trọng số của các bước cập nhật tiếp theo Ưu điểm của nó là tốc độ hội tụ cao nhưng lại có nhược điểm là cần tính toán ma trận nghịch đảo nên có khó khăn trong quá trình thực hiện,

vì vậy ít được áp dụng trong thực tế

 Số lượng Neural ở lớp ẩn

Lựa chọn số lượng Neural trong mỗi lớp là vấn đề luôn luôn được đặt ra trong bài toán ứng dụng mạng nhiều lớp truyền thẳng Số lượng Neural ở mỗi lớp cần thỏa mãn các yêu cầu sau đây

- Số lượng Neural ở lớp vào bằng số lượng tín hiệu vào

- Số lượng Neural ở lớp ra bằng số lượng tín hiệu ra

Ngày đăng: 27/01/2021, 13:08

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