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

NHẬN DẠNG GIỌNG NÓI BẰNG PHƯƠNG PHÁP MẠNG MLP

14 922 3

Đ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 14
Dung lượng 660 KB

Nội dung

Phân tích phổ theo phương pháp mã dự đoán tuyến tính LPC được nghiên cứu nhằm trích chọn ra các đặc tính cơ bản của tín hiệu tiếng nói, là những tham số đầu vào cho hệ thống nhận dạng ti

Trang 1

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA KHOA HỌC MÁY TÍNH

(Cơ sở 2: TPHCM)

BÀI TẬP

NHẬN DẠNG GIỌNG NÓI BẰNG PHƯƠNG PHÁP MẠNG MLP (MULTI LAYER PERCEPTRON)

Thực hiện: Dương Minh Trung

Lớp: CHKHMT K23, CS2 - TPHCM

1 Giới thiệu bài toán

Trang 2

Mạng nơ ron (Neuron Netwok) là một công cụ có khả năng giải quyết được nhiều bài toán khó, thực tế những nghiên cứu về mạng nơ ron đưa ra một cách tiếp cận khác với những cách tiếp cận truyền thống trong lý thuyết nhận dạng Trong khuôn khổ toán mong muốn được tìm hiểu về phương pháp nhận dạng tiếng nói sử dụng mạng nơ ron

- Phương pháp mã dự đoán tuyến tính LPC (Linear Predictive Coding) được

sử dụng trong việc trích trọn những đặc trưng cơ bản của tiếng nói

- Mạng nơ ron lan truyền ngược hướng (Back-propagation Neural Network) được sử dụng để học mẫu và ra quyết định đối tượng nhận dạng

2 Xử lý tín hiệu tiếng nói

Quá trình tiền xử lý tín hiệu là chuyển tiếng nói từ dạng sóng (wave form representation) sang dạng biểu diễn tham số (parametric form representation) Các tham số biểu diễn tín hiệu tiếng nói có thể là: năng lượng thời gian ngắn (short time energy), tỷ lệ qua điểm không (zero crossing rate) tỷ lệ qua mức (level crossing rate)… Đã có nhiều cách dùng

để trích chọn ra được những thông tin về âm thanh một cách trực tiếp từ những tín hiệu số của tiếng nói và hiệu quả hơn là phương pháp biểu diễn tín hiệu theo phổ được sử dụng rộng rãi

Phân tích phổ theo phương pháp mã dự đoán tuyến tính LPC được nghiên cứu nhằm trích chọn ra các đặc tính cơ bản của tín hiệu tiếng nói, là những tham số đầu vào cho hệ thống nhận dạng tiếng nói Phương pháp này biểu diễn mẫu tiếng nói tại thời điểm n, x(n) bằng phép xấp xỉ tuyến tính p mẫu quá khứ:

x(n)  a1x(n - 1) + a2x(n - 2) + + apx(n - p)

Trong đó, x(n) là mẫu dự đoán tại thời điểm n và các hệ số a1, a2, , ap được coi là các hằng số trên khung (frame) phân tích tiếng nói

Thêm thành phần kích thích Gu(n) thì:

p

Trang 3

đại G và đưa vào hệ thống toàn điểm cực để tạo ra tín hiệu tiếng nói Mặt khác, ta biết rằng hàm kích thích phải là xung tuần hoàn (đối với âm hữu thanh) hoặc là nguồn nhiễu ngẫu nhiên (đối với âm vô thanh) Đối với mô hình này, nguồn kích thích là một công tắc được điều khiển bởi đặc tính hữu thanh/vô thanh của tiếng nói tương ứng cho phép chọn xung tuần hoàn hoặc nhiễu ngẫu nhiên Mức khuếch đại kích thích G được đánh giá trực tiếp từ tín hiệu tiếng nói Đối với mô hình LPC, các tham số là sự phân lớp âm hữu

thanh/âm vô thanh, vị trí đỉnh âm tiết và các hệ số bộ lọc {a k}.

Nếu gọi x n( )

là tổ hợp tuyến tính của các mẫu quá khứ:

1

p

k

k

thì sai số tiên đoán tuyến tính được định nghĩa:

1

p k k

Vấn đề cơ bản của phương pháp LPC là xác định các hệ số tiên đoán sao cho các đặc tính phổ của bộ lọc số trong mô hình tổng hợp tiếng nói phù hợp với dạng sóng tiếng nói trong cửa sổ phân tích Do đặc tính biến thiên theo thời gian của phổ tín hiệu tiếng nói nên các hệ số tiên đoán tại thời điểm n phải được đánh giá trong khoảng thời gian ngắn gần với n Do đó, cách tiếp cận

cơ bản để xác định các hệ số tiên đoán là tối thiểu hoá sai số bình phương tiên đoán tuyến tính trong một đoạn sóng tiếng nói ngắn Thông thường, trong xử lý tiếng nói phép phân tích phổ thời gian ngắn được thực hiện trên các khung tiếng nói liên tiếp với khoảng cách mỗi khung là 10 ms

3 Lý thuyết nhận dạng và mạng nơ ron

3.1 Nhận dạng (Pattern Recognition)

Có thể hiểu đó là phương pháp để xây dựng một hệ thống tin học có khả năng: cảm nhận - nhận thức - nhận biết các đối tượng vật lý gần giống khả năng của con người Nhận dạng có gắn chặt với 3 khả năng trên là một lĩnh vực hết sức rộng có liên quan đến việc xử lý tín hiệu trong không gian nhiều chiều, mô hình, đồ thị, ngôn ngữ, cơ sở dữ liệu, phương pháp ra quyết định

Trang 4

Hệ thống nhận dạng phải có khả năng thể hiện được quá trình nhận thức của con người qua các cấp độ:

- Cấp độ 1- mức cảm nhận: cảm nhận được sự tồn tại các đối tượng quan sát, hay đối tượng mà hệ thống cần nhận dạng Mức này cũng đưa ra quá trình thu nhận số liệu qua các bộ cảm biến trong hệ thống nhận dạng, ví dụ trong

hệ thống nhận dạng tiếng nói: đối tượng ở đây là tiếng nói (speech) và thu nhận đầu vào qua Micro hoặc các file âm thanh wav

- Cấp độ 2- mức nhận thức: ở đây biểu diễn quá trình học, mô hình hoá đối tượng để tiến tới hình thành sự phân lớp (classification) các đối tượng cần nhận dạng

- Cấp độ 3- mức nhận biết: từ đối tượng quan sát có thể trả lời nhận biết đối tượng là gì ? Hay đây là quá trình ra quyết định

Gọi X là đối tượng nhận dạng, X=(x1,x2,x3 , xn), cácx i  R (thuộc tập số)

Gọi  là không gian biểu diễn đối tượng:

 = {X1, X2, , Xm}

Gọi  là không gian diễn dịch, hay là tập các tên gọi của các lớp c1,c2, ,cn:

= {w1, w2, , wn}

Như vậy quá trình nhận dạng đối tượng là tìm qui luật ánh xạ từ không gian

biểu diễn  sang không gian diễn dịch : :  sao cho X j  C k (đối tượng Xj thuộc vào lớp Ck) Như vậy đối với hệ thống nhận dạng, các đối tượng X đã biết (qua quan sát, cảm nhận, đo lường), còn không gian diễn dịch  và qui luật  là những điều chưa biết Và bài toán ở đây chính là : xây dựng 1 hệ thống tự cấu trúc, đòi hỏi một quá trình học từ các đối tượng quan sát thu nhận được (xác định không gian ) đến việc tìm qui luật  (ra quyết định) Hình vẽ 1 cho ta sơ đồ của hệ thống nhận dạng

Trang 5

Hình 1 Sơ đồ tổng quan của hệ thống nhận dạng

3.2 Mạng nơ ron nhân tạo

Mô phỏng hoạt động của các nơ ron thần kinh, mạng nơ ron nhân tạo là hệ thống bao gồm nhiều phần tử xử lý đơn giản (neuron) hoạt động song song Tính năng của hệ thống này tuỳ thuộc vào cấu trúc của hệ, các trọng số liên kết nơ ron và quá trình tính toán tại các nơ ron đơn lẻ Mạng nơ ron có thể từ

dữ liệu mẫu và tổng quát hoá dựa trên các dữ liệu mẫu học

Hình 2: Mô hình mạng Neuron

Một nhóm các nơ ron được tổ chức theo một cách sao cho tất cả chúng đều nhận cùng một vector vào X để xử lý tại cùng một thời điểm Việc sản sinh

ra tín hiệu ra của mạng xuất hiện cùng một lúc Vì mỗi nơ ron có một tập trọng số khác nhau nên có bao nhiêu nơ ron sẽ sản sinh ra bấy nhiêu tín hiệu

Trang 6

ra khác nhau Một nhóm các nơ ron như vậy được gọi là một lớp mạng Chúng ta có thể kết hợp nhiều lớp mạng tạo ra một mạng có nhiều lớp, lớp nhận tín hiệu đầu vào (vector tín hiệu vào x) được gọi là lớp vào (input layer) Trên thực tế chúng thực hiện như một bộ đệm chứa tín hiệu đầu vào Các tín hiệu đầu ra của mạng được sản sinh ra từ lớp ra của mạng (output layer) Bất kỳ lớp nào nằm giữa 2 lớp mạng trên được gọi là lớp ẩn (hidden layer) và nó là thành phần nội tại của mạng và không có tiếp xúc nào với môi trường bên ngoài Số lượng lớp ẩn có thể từ 0 đến vài lớp Mô hình nơ ron nhân tạo đòi hỏi 3 thành phần cơ bản sau:

- Tập trọng số liên kết đặc trưng cho các khớp thần kinh

- Bộ cộng (Sum) để thực hiện phép tính tổng các tích tín hiệu vào với trọng

số liên kết tương ứng

- Hàm kích hoạt (squashing function) hay hàm chuyển (transfer function) thực hiện giới hạn đầu vào của neuron

Trong mô hình nơ ron nhân tạo mỗi nơ ron được nối với các nơ ron khác và nhận được tín hiệu xi từ chúng với các trọng số wi Tổng thông tin vào có

trọng số là: Net = w jxj

4 Nhận dạng tiếng nói bằng mạng nơ ron

Hình 3 trình bày những chức năng cơ bản của hệ thống nhận dạng tiếng nói, trong đó có những chức năng con của từng khối Để đơn giản trong việc cài đặt và yêu cầu tài nguyên máy tính vừa phải ta thống nhất trong các mẫu sử dụng 8bit cho 1 mẫu, tần số lấy mẫu 22025 Hzs, âm thanh mono

Hình 3 Sơ đồ khối mô tả hệ thống nhận dạng tiếng nói

Quản lý

mẫu

Phân tích mẫu

Huấn luyện mạng

Nhận dạng

Trang 7

1.1 Thuật toán học của mạng neural nhiều lớp.

Huấn luyện mạng neural nhiều lớp sử dụng thuật toán Lan truyền ngược gồm hai quá trình: Quá trình truyền tuyến tính và quá trình truyền ngược:

Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất để:

 Thay đổi giá trị của trọng số liên kết W của các neural trong mạng biểu diễn được dữ liệu học

 Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được và kết quả dự đoán của mạng gọi là lỗi (học có giám sát)

Quá trình truyền ngược: Giá trị lỗi sẽ được truyền ngược lại sao cho quá trình huyến luyện(học) sẽ tìm ra trọng số Wi để lỗi nhỏ nhất

Thuật toán:

Xét mạng neural 3 lớp : input, hiden và output

Hàm kích hoạt các neural : logistic (sigmoid)

g(x)=

Bước 1: Khởi tạo trọng số w ngẫu nhiên nhỏ

Bước 2 : Chọn lớp đầu vào x và đính nó vào lớp đầu vào

Bước 3 : Truyền sự kích hoạt qua trọng số đến khi kich hoạt các neural đầu ra

Bước 4: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất sử dụng GRADIENT của hàm lỗi

Trang 8

Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp ẩn sử dụng GRADIENT của hàm lỗi

Bước 6: Cập nhật tất cả trọng số theo Wi=W(i-1)-µ(δE/ δ Wi)

Bước 7: quay lai “Bước 2” cho đến “Bước 6” cho tất cả các mẫu

Trong đó: GRADIENT hàm lỗi:

Trang 9

Đối với các neural lớp đầu ra:

Hàm lỗi:

2

) 1 (

2

1

)

E

( t là giá trị thật của mẫu huấn luyện)

Đạo hàm riêng của hàm lỗi theo trọng số b:

b

v v

z z

E

b

E

Ta có:

0 ,

0 ,

1

) 1 (

) (

i b

v

z z v

g

v

z

t

z

z

E

i

Đặt:

) 1 ( )

v

z

z

E

p

Ta được:

0

0

i

py

i

p

b

E

i

i

w2

wk

w1

z=g(v) v=b0 + g(x)=

y1

y2

b0

yk

Trang 10

Đối với các neural lớp ẩn:

Đạo hàm riêng của hàm lỗi theo trọng số:

a

u u

y y

E a

E

Ta có:

0 ,

0 , 1 1

) 1 ( ) (

1

j c

j a

u

y y u

y

b y

v

p z z t z v

z z

E

y

v v

z z

E y

E

j j

i i

i i i i i i

i i

K

i

i i

i i

Đặt:

y

y=g(u) v=a0 +

a2

ad

a1

x1

x2

a0

Lớp đầu ra

Trang 11

0

0

i q a

E

i

Sau khi tính được đạo hàm riêng của hàm lỗi theo từng trọng số, trọng số sẽ được điều chỉnh bằng cách trừ bớt đi 1 lượng bằng tích của đạo hàm riêng và tốc độ học:

i i

i

w

E w

w

4.2 Phân tích tín hiệu tiếng nói

Phân tích tín hiệu tiếng nói bằng phương pháp LPC được thực hiện qua các bước sau:

- Cải thiện tín hiệu (preemphasis):Tín hiệu tiếng nói s(n) được đưa qua hệ thống số bậc thấp (chẳng hạn như bộ lọc FIR bậc thấp) để làm phẳng phổ với điều kiện hệ thống này hoặc là ổn định hoặc là thích nghi chậm

- Cắt khung (frame blocking) : Tín hiệu tiếng nói sau khi đã cải thiện được chia thành L khung - N mẫu, các mẫu kế cận được phân tách bởi M mẫu

- Cửa sổ (windows): được đưa qua hàm cửa sổ để tối thiểu hoá số điểm gián đoạn tại các vị trí bắt đầu và kết thúc khung

- Phân tích tự tương quan: các khung được phân tích tự tương quan, kết quả

ta được giá trị tương quan cao nhất và được gọi là bậc phân tích LPC Thông thường nhận giá trị từ 8 đến 16

- Phân tích LPC: sử dụng thuật toán Durbin để chuyển đổi các hệ số tự tương quan thành tập tham số LPC

- Chuyển đổi tham số LPC thành hệ số phân tích phổ Trong thực nghiệm ta chọn 12 hệ số cepstral để làm đặc trưng của tín hiệu

4.3 Mô tả mạng nơ ron trong nhận dạng

- Phương án lựa chọn số nút của từng lớp trong mạng: theo kinh nghiệm của các chuyên gia về mạng nơ ron trong các bài toán phân lớp có sử dụng mạng

Trang 12

lan truyền ngược hướng, sử dụng 1 lớp tính toán là lớp mạng Kohonen làm lớp ẩn Ta xác định số nơ ron cho từng lớp

+ Số nơ ron lớp vào = số chiều của vector vào, ở đây ta chọn 12 hệ số cepstral là đặc trưng của mẫu, mỗi mẫu được xử lý trong L khung tiếng nói, thì số nơ ron của lớp vào sẽ là 12*L, ví dụ sử dụng 5 frames/mẫu thì số nơ ron lớp vào là 60

+ Số nơ ron lớp Kohonen = số giá trị các tập trả lời Ví dụ cần nhận dạng 10

từ mỗi từ được mô tả bởi vector vào 60 thành phần, tại lớp ẩn cần lưu trữ lời giải là 600, cần số nơ ron lớp ẩn là 625 nơ ron (ma trận nơ ron kích thước 25x25)

+ Số nơ ron lớp ra = số lượng kết quả đầu ra, sử dụng phương pháp mã hoá bằng số bit biểu diễn số lượng kết quả, ví dụ cần nhận dạng 128 từ cần 7 nơ ron ở lớp ra, 7 nơ ron này cho phép mã hoá 27 = 128 giá trị

- Phương pháp học cạnh tranh của lớp ẩn và quá trình học có chỉ đạo tại lớp

ra của mạng theo các bước sau:

+ Khởi tạo trọng số: các thành phần ma trận trọng số được khởi tạo bởi giá trị ngẫu nhiên

+ Đọc tín hiệu vào cho mạng: dữ liệu trong file mẫu chứa thông tin mẫu học

và cho kết quả gồm 2 thành phần: mảng 1 chiều chứa vector tín hiệu vào và mảng 2 chiều chứa ma trận trọng số liên kết ban đầu của lớp Kohonen

+ Hiệu chỉnh ma trận trọng số lớp Kohonen: hiệu chỉnh trọng số liên kết nơ ron lớp ẩn Kohonen sao cho mạng có thể học mẫu tốt nhất Từ mảng một chiều chứa vector tín hiệu vào, mảng hai chiều chứa ma trận trọng số liên kết lớp ẩn và các hằng số học amin, amax, tmax chức năng này phải xác định mảng hai chiều chứa ma trận trọng số liên kết lớp ẩn theo công thức:

HidWeightnew=HidWeightold+rate(t)topo(Winner, i)(InVec(j)–HidWeightold

+ Hiệu chỉnh ma trận trọng số lớp ra: hiệu chỉnh trọng số liên kết nơ ron lớp

ra để tạo bảng tra cứu Từ mảng một chiều chứa vector tín hiệu ra và mảng

Trang 13

4.4 Phương pháp nhận dạng

- Đầu vào: file wave chứa dữ liệu tín hiệu tiếng nói cần nhận dạng và file dat chứa thông tin trọng số liên kết nơ ron lớp ẩn và lớp ra Ngoài ra đầu vào nguồn âm cũng có thể là từ micro thông qua sound card để làm, lúc này dữ liệu tiếng nói được đọc trong buffer dữ liệu của Windows

- Đầu ra: kết quả cần nhận dạng

- Quá trình nhận dạng tiếng nói được thực hiện qua các bước:

+ Đọc tín hiệu vào: đọc dữ liệu từ file wav hoặc từ buffer dữ liệu âm thanh + Xử lý tín hiệu giống như chức năng phân tích LPC ở trên

+ Đọc ma trận trọng số liên kết lớp ẩn và lớp ra của mạng

+ Xác định nơ ron trung tâm

+ Tra cứu kết quả: tra cứu trên bản đồ topo mạng nơ ron để đưa ra giá trị cần nhận dạng

5 Kết luận

Trên đây là 1 nghiên cứu và thử nghiệm sử dụng phương pháp mã dự đoán tuyến tính để phân tích tín hiệu, sử dụng mạng nơ ron lan truyền ngược hướng với lớp mạng tự tổ chức Kohonen để tích luỹ tri thức cho mạng, làm

cơ sở cho việc nhận dạng tiếng nói bằng cách tra cứu topo mạng để đưa ra kết luận về tiếng nói cần nhận dạng đưa vào hệ thống Thực tế hệ thống thử nghiệm có thể nhận dạng được 1 số nguyên âm tiếng việt Phương pháp LPC được áp dụng khá rộng rãi trong xử lý tiếng nói bởi nó cung cấp mô hình lý tưởng cho tín hiệu tiếng nói Hơn nữa, LPC tương đối đơn giản, dễ thực hiện

cả bằng phần cứng lẫn phần mềm mà vẫn đảm bảo độ chính xác Tuy nhiên nhược điểm của phương pháp này là không giải quyết được vấn đề các tính chất động của thanh môn, làm giảm hiệu năng của hệ thống nhận dạng, đặc biệt là các hệ thống độc lập người nói

6 Tài liệu tham khảo:

1 Pattern Classification (second edition) -Duda, Hart, Stork

Trang 14

2 Giáo Trình Trí Tuệ Nhân Tạo -Võ Huỳnh Trâm, Trần Ngân Bình.

3 Nghiên cứu các thuật toán nhận dạng - Đinh Xuân Nhất

4 Tham khảo Internet

Ngày đăng: 03/07/2015, 15:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w