Tìm hiểu mạng Nơron sinh học và ứng dụng trong nhận dạng tiếng nói
MỤC LỤC
PHẦN 1: MẠNG NƠRON3
1. Tổng quan về mạng Nơron. 3
1.1. Mạng Nơron sinh học. 3
1.2. Mạng Nơron nhân tạo. 4
2. Sử dụng mạng nơron nhân tạo. 5
3. Thu thập dữ liệu cho mạng nơron nhân tạo. 6
4. Mô hình mạng nơron nhân tạo.8
4.1. Mô hình Nơ ron có đầu vào đơn.8
4.2. Mô hình Nơron nhiều tín hiệu vào.9
5. Các kiểu kiến trúc mạng. 9
5.1. Mạng 1 tầng Nơron truyền thẳng.9
5.2. Mạng nhiều tầng Nơron truyền thẳng. 10
5.3. Mạng hồi quy.10
6. Mạng học. 11
6.1. Học có thầy. 11
6.2. Học không có thầy. 11
7. Hàm mục tiêu. 12
PHẦN 2: ỨNG DỤNG MẠNG NƠ RON NHẬN DẠNG TIẾNG NÓI13
1. Nhận dạng tiếng nói13
2. Nhận dạng tiếng nói bằng mạng nơ ron. 13
3. Mô tả mạng nơ ron trong nhận dạng. 14
4. Phương pháp nhận dạng. 15
KẾT LUẬN16
15 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 4269 | Lượt tải: 5
Bạn đang xem nội dung tài liệu Tìm hiểu mạng Nơron sinh học và ứng dụng trong nhận dạng tiếng nói, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
PHẦN 1: MẠNG NƠRON
1. Tổng quan về mạng Nơron
1.1. Mạng Nơron sinh học
Tri thức của loài người cho đến nay là rất phong phú, sâu rộng và đa dạng từ thế giới vi mô như nguyên tử, điện tử, hạt nhân, các hạt cơ bản, ...đến những hiểu biết vĩ mô về trái đất, về hệ mặt trời, hệ thiên hà, ... . hiểu biết về thế giới tự nhiên và xã hội, về các nghành khoa học, kỹ thuật khác nhau như: toán, lý, hóa, công nghệ thông tin và cả những hiểu biết về bản thân con người. Tuy vậy sự hiểu biết của chúng ta về chính bộ não của chúng ta lại rất ít.
Công trình nghiên cứu về não đầu tiên thuộc về Ramond- Cajál (1911), ông cho rằng hệ thần kinh cấu tạo từ các nơron. Con người có khoảng 1011 nơron, 1015 khớp kết nối. Các khớp khi mới sinh ít kết nối với nhau, chúng được kết nối nhờ quá trình học.
Đến nay con người chúng ta đã hiểu biết rằng các quá trình tính toán trong bộ não sinh học khác với các máy tính số.Bộ não xử lý chậm hơn (10-3s) so với các thiết bị vật lý (10-9s) tuy nhiên tốn ít năng lượng hơn và thực hiện được nhiều chức năng hơn.
Đặc điểm của não:
+ Xử lý song song
+ Phân tán
+ Phi tuyến
Các thành phần chính của nơron:
- Khớp kết nối (Synapse):kết nối các nơron nhờ các tính chất hoá lý
Điện → Hoá → Điện
- Xúc tu (dendrites): Thu nhận thông tin về nhân qua khớp.
- Thân tế bào: tổng hợp tín hiệu và khi đủ mạnh thì có tín hiệu ra ở truc cảm ứng và nổn lúc đó gọi là cháy.
- Trục cảm ứng (Axon): đưa tín hiệu ra và truyền tới các nơron khác qua các khớp kết nối.
Hình 1: mô tả cấu trúc của nơ ron tự nhiên.
1.2. Mạng Nơron nhân tạo
Mạng Nơron nhân tạo (Artificial Neural Network) hay thường được gọi ngắn gọn là mạng Nơron là một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các mạng Nơron sinh học. Nó gồm có một nhóm các Nơron nhân tạo(nút) nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút.
Mạng Nơron bao gồm những kỹ thuật mô phỏng rất tinh vi, có khả năng mô phỏng các hàm cực kỳ phức tạp, bên cạnh đó mạng còn rất linh hoạt, thông minh thể hiện qua tính “học” bằng các thuật toán huấn luyện.
Đặc điểm chính của mạng Nơron nhân tạo là
- Phi tuyến: Cho phép xử lý phi tuyến:
- Cơ chế ánh xạ: vào → ra (x → d(x)) cho phép học có giám sát
- Cơ chế thích nghi: Thay đổi tham số phù hợp với môi trường.
- Đáp ứng theo mẫu đào tạo: Được thiết kế không những cung cấp thông tin về mẫu đào tạo mà còn cho biết mức tin cậy của nó.
- Thông tin theo ngữ cảnh: Tri thức được biểu diễn tuỳ theo trạng thái và kiến trúc của ANN
- Cho phép có lỗi: (fault tolerance).
- Tích hợp lớn: VLSI (very large scale Integrated).
- Phỏng sinh học
Hình 2: Mô hình mạng Nơron
Mô hình mạng nơron được sử dụng rộng rãi nhất là mô hình mạng nhiều tầng truyền thẳng (Multi Layer Perceptron - MLP). Perceptron nhiều tầng (Multilayer perceptron –MLP) hay mạng truyền tới (feed forward) và cách học lan truyền ngược (backpropagation-BP) thuộc loại mạng học và là dạng tổng quát hoá của mạng ADALINE cho trường hợp nhiều tầng nơron.
Mạng nơron nhân tạo có rất nhiều ứng dụng trong nhiều lĩnh vực như nhận dạng, phân lớp ảnh, phân tích - nén dữ liệu, các bài toán tối ưu, dự báo, chuẩn đoán,… Và xu thế hiện đại đó là sự kết hợp mạng Nơron với logic mờ…
2. Sử dụng mạng nơron nhân tạo
Một loạt vấn đề dẫn tới việc giải quyết bằng mạng nơron được định nghĩa bằng cách nó làm việc hoặc nó được huấn luyện. Mạng nơron nhân tạo làm việc từ những ngõ vào khác nhau, đưa ra những ngõ ra khác nhau. Do đó có thể sử dụng khi biết một vài thông tin và sẽ dự đoán những thông tin chưa biết.
Ví dụ:
Dự đoán thị trường chứng khoán: nếu biết giá cả chứng khoán của tuần trước và chỉ số FTSE, ta sẽ dự đoán được giá cả chứng khoán ngày mai.
Điều khiển: ta muốn biết có hay không một robot biết quẹo phải, trái hay chuyển động về một phía để đạt được mục tiêu, ta sẽ biết được những gì robot đang quan sát.
Điều kiện quan trọng trong việc sử dụng mạng nơron nhân tạo là phải biết mối liên hệ giữa ngõ vào và ngõ ra biết trước. Mối quan hệ này có thể kéo theo nhiều thứ nhưng nó nhất định phải tồn tại.
Tổng quát, nếu ta sử dụng một mạng mạng nơron nhân tạo ta sẽ không biết chính xác trạng thái tự nhiên của mối liên hệ giữa ngõ vào và ngõ ra, nếu ta biết mối liên hệ ta sẽ làm mô hình đó trực tiếp. Một tính năng khác của mạng nơron nhân tạo là nó có thể học mối liên hệ giữa ngõ vào và ngõ ra thông qua việc huấn luyện. Có hai loại huấn luyện sử dụng trong mạng nơron nhân tạo là huấn luyện có giám sát và không giám sát. Với những loại mạng khác nhau thì sử dụng các loại huấn luyện khác nhau. Huấn luyện có giám sát sử dụng thông dụng nhất.
Trong việc học có giám sát, người sử dụng mạng phải có một tập hợp dữ liệu cần huấn luyện. Tập hợp này chứa những ngõ vào mẫu với ngõ ra tương ứng và mạng sẽ huấn luyện để đưa ra mối liên hệ giữa ngõ ra và ngõ vào. Tập hợp dữ liệu thường được lấy từ những bản ghi chép trước đó.
Mạng nơron nhân tạo sau đó được huấn luyện bằng một trong các thuật toán học có giám sát (ví dụ backpropagation), sử dụng các dữ liệu để điều chỉnh trọng số và ngưỡng của mạng sao cho cực tiểu hóa sai số trong việc dự báo của mạng trên tập huấn luyện. Nếu mạng được huấn luyện chính xác, nghĩa là nó đã học mô phỏng một hàm chưa biết với mối liên hệ giữa ngõ ra và ngõ vào, do đó với các tín hiệu vào đến sau, mạng sẽ dự báo tín hiệu ra tương ứng.
3. Thu thập dữ liệu cho mạng nơron nhân tạo
Một khi ta quyết định giải quyết một vấn đề sử dụng mạng nơron nhân tạo ta cần phải thu thập dữ liệu cho mục tiêu huấn luyện. Tập hợp dữ liệu huấn luyện bao gồm một số các trường hợp, mỗi trường hợp chứa những giá trị của tầm ngõ vào và ngõ ra khác nhau. Những việc đầu tiên cần làm là: những biến nào sử dụng, bao nhiêu trường hợp cần thu thập.
Sự lựa chọn các biến do trực giác quyết định. Công việc chuyên môn của ta trong lĩnh vực cần giải quyết sẽ cho ta những ý tưởng về các biến ngõ vào phù hợp. Trong mạng nơron nhân tạo, ta có thể chọn và loại bỏ nhiền biến và mạng nơron nhân tạo cũng có thể xác định bằng thực nghiệm những biến hữu ích. Trong bước một ta nên tính đến bất kì biến nào mà ta nghĩ có ảnh hưởng đến quá trình thiết kế.
Mạng nơron nhân tạo xử lý dữ liệu số trong một tầm giới hạn rõ ràng. Điều này đưa ra một vấn đề nếu dữ liệu nằm trong một vùng đặc biệt như dữ liệu chưa biết hay không phải dữ liệu số. Có nhiều phương pháp lý tưởng cho vấn đề này, được xây dựng trên mạng nơron nhân tạo. Dữ liệu số được chia nhỏ thành những khoảng thích hợp cho mạng và những giá trị thiếu có thể được thay thế bằng giá trị trung bình hay giá trị thống kê của biến đó thông qua những biến khác đã được huấn luyện.
Xử lý dữ liệu không phải là số thì khó hơn. Loại dữ liệu không phải là số thông thường nhất là những biến có giá trị định danh như giới tính (nam, nữ). Biến có giá trị định danh có thể biểu diễn bằng số học và mạng nơron nhân tạo có chức năng hỗ trợ điều này. Tuy nhiên mạng nơron nhân tạo làm việc tốt với những trường hợp biến định danh là một tập nhiều giá trị.
Số trường hợp mẫu dùng để huấn luyện mạng rất khó xác định. Đã có một vài hướng dẫn về mối liên hệ giữa số trường hợp mẫu với kích thước mạng (cách đơn giản nhất là số trường hợp mẫu gấp 10 lần số kết nối trong mạng). Thực ra số trường hợp mẫu cũng liên quan đến độ phức tạp của hàm mà mạng phải học. Khi số biến tăng lên, số trường hợp mẫu cần để huấn luyện cũng tăng phi tuyến, vì thế với một số nhỏ các biến (50 hoặc nhỏ hơn) thì lại cần một số lớn các trường hợp mẫu.
Trong hầu hết các vấn đề trong thực tế, số trường hợp mẫu là khoảng hàng trăm hay hàng ngàn mẫu. Đối với những vấn đề rất phức tạp thì cần nhiều hơn, nhưng trường hợp này rất ít. Nếu dữ liệu huấn luyện ít hơn, rõ ràng không đủ thông tin để huấn luyện mạng, và cách tốt nhất là dùng mạng tuyến tính.
Nhiều vấn đề trong thực tế có dữ liệu không đáng tin cậy, một vài dữ liệu bị phá hỏng do nhiễu, hoặc các giá trị không phối hợp được với nhau. Mạng nơron nhân tạo có khả năng đặc biệt xử lý dữ liệu bị mất (sử dụng giá trị trung bình hay những giá trị thống kê khác). Vì thế nếu dữ liệu đưa vào ít, ta nên đưa vào những trường hợp giá trị bị mất (rõ ràng nếu không có thì không lý tưởng). mạng nơron nhân tạo cũng chịu được nhiễu, nhưng cũng phải có giới hạn. Nếu thỉnh thoảng có giá trị nằm xa ra khỏi vùng giá trị bình thường thì mạng huấn luyện phải có ngưỡng. Cách tốt nhất đối với trường hợp này là nhận ra và loại bỏ những giá trị nằm xa đó (có thể hủy trường hợp này hoặc xem giá trị nằm xa này là giá trị bị mất). Nếu giá trị xa này khó nhận ra, mạng nơron nhân tạo có chức năng huấn luyện chịu được giá trị nằm khỏi vùng này nhưng cách huấn luyện này thường kém hiệu quả hơn là huấn luyện chuẩn.
Tóm lại, cách thu thập dữ liệu có thể nói gọn lại như sau:
Chọn những giá trị huấn luyện có tác dụng.
Dữ liệu số và danh định có thể xử lý trực tiếp bằng mạng nơron nhân tạo. Chuyển những loại biến khác sang một trong các dạng này.
Cần hàng trăm hoặc hàng ngàn trường hợp mẫu huấn luyện; càng nhiều biến thì càng nhiều mẫu huấn luyện. mạng nơron nhân tạo có khả năng nhận ra những biến hữu dụng để huấn luyện.
4. Mô hình mạng nơron nhân tạo.
Một số quy ước:
+ Đại lượng vô hướng (dùng chữ thường. a, b, c)
+ Đại lượng Vector (dùng chữ thường in đậm a, b, c,....)
+ MA TRẬN (chữ in hoa W, A, B, C....)
+ W: là trọng số kết nối
+ b: Khuynh hướng
+ f: Hàm chuyển
4.1. Mô hình Nơ ron có đầu vào đơn.
Nơron có đầu vào đơn có một tín hiệu vào p được nhân với trọng số w thành wp và một tín hiệu khác bằng 1 nhân với giá trị khuynh hướng b đưa tới bộ tổng . Tín hiệu ra n của bộ tổng qua hàm chuyển f cho tín hiệu ra a.Trong đó trọng số w tương ứng với độ liên kết của khớp kết nối (Synapse), hàm tổng và hàm chuyển mô phỏng thân tế bào còn tín hiệu ra mô phỏng tín hiệu ở Axon.
Hình 3: Mô hình Nơ ron có đầu vào đơn
Tín hiệu ra a phụ thuộc vào hàm chuyển còn khuynh hướng có thể xem như là một trọng số của tín hiệu vào bằng 1.
4.2. Mô hình Nơron nhiều tín hiệu vào.
Thường thì một nơ ron có nhiều tín hiệu vào. Mô hình nơron có R tín hiệu vào như sau:
Hình 4: Mô hình Nơron nhiều tín hiệu vào
Trong đó n= hay n= Wp+b;với nơron đơn W chỉ là vectơ hàng, a= f(Wp +b).
5. Các kiểu kiến trúc mạng
- Lớp nơron thực hiện tiếp nhận các tín hiệu vào gọi là lớp vào (Input Layer)
- Lớp nơron thực hiện đưa tín hiệu ra gọi là lớp ra (Output Layer)
- Giữa hai lớp vào và ra có một hoặc nhiều lớp không liên hệ trực tiếp với môi trường bên ngoài gọi là các lớp ẩn (Hidden Layer)
5.1. Mạng 1 tầng Nơron truyền thẳng.
Ký hiệu W là ma trận trọng số, p là vectơ tín hiệu vạo và b là vectơ khuynh hướng. Mạng một tầng của S nơron được mô tả như sau:
Hình 5: Mạng 1 tầng Nơron truyền thẳng
Ma trận trọng số có dạng W= Ta quy ước chỉ số thứ nhất chỉ nơron mà tín hiệu đến còn chỉ số thứ hai là nguồn tín hiệu.
n = Wp + b
a = f(n) = f(Wp + b)
5.2. Mạng nhiều tầng Nơron truyền thẳng
Mạng có thể có nhiều tầng nơron như sau:
Hình 6: Mạng nhiều tầng Nơron truyền thẳng
Ta có: ai là đầu ra của tầng i
n1 = W1p+ b1
ai = fi(ni)
trong đó ni = Wi ai-1 + bi với mọi i ≥2.
Tầng đầu gọi là tầng vào và p là tín hiệu vào.
Tầng nơron cuối gọi là tầng ra, các tầng nơron còn lại gọi là tầng ẩn.
Mạng nhiều tầng mạnh hơn mạng tầng đơn.Chẳng hạn một mạng hai tầng với hàm chuyển tầng ẩn là hàm Sigmoid và hàm chuyển tầng hai tuyến tính có thể xấp xỉ một hàm liên tục với độ chính xác tuỳ ý khi có đủ nhiều mạng nhiều tín hiệu vào.
5.3. Mạng hồi quy.
Mạng hồi quy là mạng có một số tín hiệu ra được nối với tín hiệu vào của nó (có mối liên hệ ngược). Mạng hồi quy thường có nhiều khả năng hơn mạng truyền tới.
Ví dụ: Một mạng hồi quy như sau :
Hình 7: Ví dụ một mạng hồi quy
6. Mạng học
Chức năng của một mạng nơron được quyết định bởi các nhân tố như: hình trạng mạng (số lớp, số đơn vị trên mỗi tầng, và cách mà các lớp được liên kết với nhau) và các trọng số của các liên kết bên trong mạng. Hình trạng của mạng thường là cố định, và các trọng số được quyết định bởi một thuật toán huấn luyện (training algorithm). Tiến trình điều chỉnh các trọng số để mạng “nhận biết” được quan hệ giữa đầu vào và đích mong muốn được gọi là học (learning) hay huấn luyện (training). Rất nhiều thuật toán học đã được phát minh để tìm ra tập trọng số tối ưu làm giải pháp cho các bài toán. Các thuật toán đó có thể chia làm hai nhóm chính: Học có thầy (Supervised learning) và Học không có thầy (Unsupervised Learning).
6.1. Học có thầy
Mạng được huấn luyện bằng cách cung cấp cho nó các cặp mẫu đầu vào và các đầu ra mong muốn (target values). Các cặp được cung cấp bởi "thầy giáo", hay bởi hệ thống trên đó mạng hoạt động. Sự khác biệt giữa các đầu ra thực tế so với các đầu ra mong muốn được thuật toán sử dụng để thích ứng các trọng số trong mạng. Điều này thường được đưa ra như một bài toán xấp xỉ hàm số - cho dữ liệu huấn luyện bao gồm các cặp mẫu đầu vào x, và một đích tương ứng t, mục đích là tìm ra hàm f(x) thoả mãn tất cả các mẫu học đầu vào.
6.2. Học không có thầy
Với cách học không có thầy, không có phản hồi từ môi trường để chỉ ra rằng đầu ra của mạng là đúng. Mạng sẽ phải khám phá các đặc trưng, các điều chỉnh, các mối tương quan, hay các lớp trong dữ liệu vào một cách tự động. Trong thực tế, đối với phần lớn các biến thể của học không có thầy, các đích trùng với đầu vào. Nói một cách khác, học không có thầy luôn thực hiện một công việc tương tự như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào.
7. Hàm mục tiêu
Để huấn luyện một mạng và xét xem nó thực hiện tốt đến đâu, ta cần xây dựng một hàm mục tiêu (hay hàm giá) để cung cấp cách thức đánh giá khả năng hệ thống một cách không nhập nhằng. Việc chọn hàm mục tiêu là rất quan trọng bởi vì hàm này thể hiện các mục tiêu thiết kế và quyết định thuật toán huấn luyện nào có thể được áp dụng. Để phát triển một hàm mục tiêu đo được chính xác cái chúng ta muốn không phải là việc dễ dàng. Một vài hàm cơ bản được sử dụng rất rộng rãi. Một trong số chúng là hàm tổng bình phương lỗi (sum of squares error function),
Trong đó:
p: số thứ tự mẫu trong tập huấn luyện
i : số thứ tự của đơn vị đầu ra
tpi và ypi : tương ứng là đầu ra mong muốn và đầu ra thực tế của mạng cho đơn vị đầu ra thứ i trên mẫu thứ p.
Trong các ứng dụng thực tế, nếu cần thiết có thể làm phức tạp hàm số với một vài yếu tố khác để có thể kiểm soát được sự phức tạp của mô hình.
.
PHẦN 2: ỨNG DỤNG MẠNG NƠ RON NHẬN DẠNG TIẾNG NÓI
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.
1. Nhận dạng tiếng nói
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã được học trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đổi thì công việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã được học và lưu trữ trong bộ nhớ.
Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn biến thiên theo thời gian và có sự khác biệt lớn giữa tiếng nói của những người nói khác nhau, tốc độ nói, ngữ cảnh và môi trường âm học khác nhau. Xác định những thông tin biến thiên nào của tiếng nói là có ích và những thông tin nào là không có ích đối với nhận dạng tiếng nói là rất quan trọng.
Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất thống kê mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói những biến thiên quan trọng cần thiết trong nhận dạng tiếng nói.
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản:
- Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một khung thời gian ngắn (short-term amplitude spectrum). Nhờ vậy ta có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói.
- Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các ký hiệu ngữ âm. Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta phiên âm phát âm thành dãy các ký hiệu ngữ âm.
- Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa (semantics) và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học là không rõ ràng.
2. Nhận dạng tiếng nói bằng mạng nơ ron
Những chức năng cơ bản của hệ thống nhận dạng tiếng nói thể hiện trong sơ đồ sau:
Hình 9. Sơ đồ khối mô tả hệ thống nhận dạng tiếng nói
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 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:
HidWeight=HidWeight+ rate(t)topo(Winner, i)(InVec(j) - HidWeight
+ 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 hai chiều chứa ma trận trọng số liên kết lớp ra 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 ra bằng cách hiệu chỉnh ma trận trọng số liên kết lớp ra theo công thức: OutWeight=OutVec(k).
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.
KẾT LUẬN
Báo cáo đã trình bày một số khái niệm cơ bản về mạng nơron nhân tạo, một hệ thống hoạt động dựa trên sự bắt chước não người, tuy nhiên, nó có hoạt động đơn giản hơn rất nhiều so với não người. Điểm nỗi bật của mạng nơron nhân tạo là khả năng học và nhớ.
Trong báo cáo còn nghiên cứu tìm hiểu việc nhận dạng tiếng nói 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.
Qua quá trình học tập và nghiên cứu môn “Trí tuệ nhân tạo nâng cao”, Tôi đã tiếp thu thêm được một lượng kiến thức quý báu cho bản thân. Tuy nhiên dù bản thân đã hết sức cố gắng nhưng do thời gian nghiên cứu, trình độ năng lực, kinh nghiệm thực tiễn còn nhiều hạn chế nên bài tập này khó tránh khỏi những sai sót. Kính mong được sự giúp đỡ, chỉ bảo của thầy giáo và các bạn để bài tập được hoàn thiện hơn.
Các file đính kèm theo tài liệu này:
- Tìm hiểu mạng Nơron sinh học và ứng dụng trong nhận dạng tiếng nói.doc