Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
720,44 KB
Nội dung
giới thiệu Trong năm gần đây, ngời ta thờng nhắc đến Trí tuệ nhân tạo nh phơng thức mô trí thông minh ngời từ việc lu trữ đến xử lý thông tin Và thực trở thành tảng cho việc xây dựng hệ máy thông minh đại Cũng với mục đích đó, nhng dựa quan điểm nghiên cứu hoàn toàn khác, môn khoa học đời, Lý thuyết Mạng neuron Tiếp thu thành tựu thần kinh sinh học, mạng neuron đợc xây dựng thành cấu trúc mô trực tiếp tổ chức thần kinh não ngời Từ nghiên cứu sơ khai McCulloch Pitts năm 40 kỷ, trải qua nhiều năm phát triển, thập kỷ này, trình độ phần cứng phần mềm đủ mạnh cho phép cài đặt ứng dụng phức tạp, Lý thuyết Mạng neuron thực đợc ý nhanh chóng trở thành hớng nghiên cứu đầy triển vọng mục đích xây dựng máy thông minh tiến gần tới Trí tuệ ngời Sức mạnh thuộc chất tính toán song song, chấp nhận lỗi mạng neuron đợc chứng minh thông qua nhiều ứng dụng thực tiễn, đặc biệt tích hợp với kỹ thuật khác Một ứng dụng kinh điển mạng neuron lớp toán nhận dạng mẫu, mẫu tập hợp (hay vector) tham số biểu thị thuộc tính trình vật lý (ví dụ tín hiệu tiếng nói) Ngoài sức mạnh vốn có, mạng neuron thể u điểm việc nhận dạng thông qua khả mềm dẻo, dễ thích nghi với môi trờng Chính vậy, coi mạng neuron trớc tiên công cụ để nhận dạng Nhiều công trình nghiên cứu, nhiều ứng dụng thực nghiệm đợc thực mạng neuron với mục đích nhận dạng thu đợc thành công to lớn Trớc quyến rũ ứng dụng Trí tuệ nhân tạo, tính tò mò trớc lý thuyết cha đợc nghiên cứu động viên khuyến khích thày giáo hớng dẫn, định thực nghiên cứu ban đầu Lý thuyết mạng neuron với mục đích cụ thể ứng dụng vào vấn đề nhận dạng tiếng nói Do thời gian thực đồ án tốt nghiệp có ba tháng, tham vọng xây dựng đợc phần mềm nhận dạng tiếng nói hoàn chỉnh Mục đích luận văn là: Trình bày kết nghiên cứu lý thuyết phục vụ cho chủ đề ứng dụng mạng neuron cho vấn đề nhận dạng tiếng nói; đồng thời xây dựng phần mềm thử nghiệm Nhận dạng nguyên âm với mục đích hiểu sâu cách thức mà mạng neuron tiến hành việc phân loại tín hiệu tiếng nói Nội dung luận văn Phần I Cơ sở lý thuyết mạng neuron cho vấn đề nhận dạng tiếng nói Chơng Mở đầu Khái niệm thành phần kiến trúc mạng neuron Chơng Phơng pháp học cho mạng tiến đa mức Các quy tắc học, mô hình học thuật toán học (thuật toán back-propagation) cho mạng tiến (feedforward) đa mức Đánh giá cải thiện tính thuật toán back-propagation Chơng Các mở rộng cho mạng hồi quy trễ Mô hình mạng neuron hồi quy trễ thuật tián backpropagation mở rộng Chơng Nhận dạng tiếng nói khả ứng dụng mạng neuron trễ Xử lý filter bank cho tín hiệu tiếng nói quan điểm ứng dụng mạng neuron trễ cho việc nhận dạng Phần II Xây dựng phần mềm thử nghiệm nhận dạng nguyên âm Chơng Phân tích toán nhận dạng nguyên âm Phân tích yêu cầu toán đề xuất phơng án thực Chơng Chiến lợc thiết kế phần mềm Thiết kế modul chơng trình theo chức cụ thể Chơng Giới thiệu phần mềm cài đặt Trình bày đôi nét cách thức cài đặt số modul quan trọng Phần III Kết luận Chơng Kết luận Xét mặt lý thuyết, mạng neuron tơng đối độc lập với chất trình vật lý cần nhận dạng mà tín hiệu tiếng nói ví dụ Dựa quan điểm nhận dạng mẫu, mạng neuron quan tâm tới tham số đặc trng tín hiệu tiếng nói sử dụng chúng nh đầu vào; sau trình tính toán, đầu mạng neuron đánh giá cho phép dễ dàng biết đợc tín hiệu ban đầu thuộc loại Chính thế, phần trình bày kết nghiên cứu lý thuyết (Phần I), có ngầm phân chia thành hai khu vực: ba chơng đầu hoàn toàn nói mạng neuron, chơng cuối chủ yếu nói cách thức lấy tham số đặc trng tín hiệu tiếng nói Do mục đích nghiên cứu lý thuyết đề tài phần mềm thử nghiệm cha đợc hoàn thiện, Phần II luận văn chiếm số trang không nhiều (25 trang), nhng đề cập đến hầu hết quan điểm xây dựng phần mềm Sau xin giới thiệu nét khái quát nội dung thể Lý thuyết Mạng neuron Mạng neuron nhân tạo mô hình mô cấu trúc não ngời Hai thành phần cấu tạo nên mạng neuron neuron (mô tế bào thần kinh) synapse (mô khớp nối thần kinh) Trong kiến trúc mô hình kết nối, neuron nút mạng, đợc liên kết với thông qua synpase, cung mạng Neuron đơn vị tính toán có nhiều đầu vào đầu ra, đầu vào đến từ syanpse Đặc trng neuron hàm kích hoạt phi tuyến chuyển đổi tổ hợp tuyến tính tất tín hiệu đầu vào thành tín hiệu đầu Hàm kích hoạt đảm bảo tính chất phi tuyến cho tính toán mạng neuron Synapse thành phần liên kết neuron, nối đầu neuron với đầu vào neuron khác Đặc trng synapse trọng số mà tín hiệu qua đợc nhận với trọng số Các trọng số synapse tham số tự mạng neuron, thay đổi đợc nhằm thích nghi với môi trờng xung quanh Mạng tiến đa mức kiến trúc mạng nhất, neuron đợc chia thành mức Có ba loại mức: mức đầu vào bao gồm nút nguồn (không phải neuron) cung cấp tín hiệu đầu vào chung nhận đợc từ môi trờng; mức ẩn bao gồm neuron không quan hệ trực tiếp với môi trờng; mức đầu đa tín hiệu đầu cho môi trờng Lần lợt từ mức đầu vào tới mức đầu ra, tín hiệu đầu nút mạng thuộc mức trớc tín hiệu đầu vào cho nút mạng thuộc mức tiếp sau Từ kiến trúc ta hình dung mạng neuron nh xử lý thông tin có nhiều đầu vào nhiều đầu Quá trình tích luỹ mạng (học) trình mà tham số tự (các trọng số synapse) đợc điều chỉnh nhằm mục đích thích nghi với môi trờng Đối với vấn đề học cho mạng neuron ngời ta quan tâm tới ba yếu tố sau: Quy tắc học: Phơng thức tảng cho việc thay đổi trọng số syanapse (ví dụ: Quy tắc học hiệu chỉnh lỗi, Quy tắc học kiểu Heb, ) Mô hình học: Cách thức mạng neuron quan hệ với môi trờng trình học (ví dụ: Mô hình học với ngời dạy, ) Thuật toán học: Các bớc tiến hành cụ thể cho trình học Thuật toán Back-propagation thuật toán học kinh điển đợc áp dụng cách phổ biến cho mạng tiến đa mức Nó đợc xây dựng sở Quy tắc học hiệu chỉnh lỗi Mô hình học với ngời dạy Thuật toán bao gồm hai giai đoạn tính toán: giai đoạn tiến mà tín hiệu chức từ mức đầu vào tới mức đẩu mạng nhằm tính toán tín hiệu lỗi; giai đoạn lùi tín hiệu lỗi quay trở lại từ mức đầu lần lợt qua mức để tính gradient cục neuron Để nâng cao tính thuật toán, có nhiều kinh nghiệm thực tế đợc nêu thành quy tắc mà không đợc chứng minh cách chặt chẽ Các mạng hồi quy trễ lớp kiến trúc mở rộng tích hợp quan điểm synapse trễ kiến trúc hồi quy dựa sở mạng tiến đa mức Một synapse trễ bao gồm nhiều nhánh, nhánh có trọng số riêng đặc biệt có toán tử trễ theo thời gian (z-n) nhằm quan tâm tới ảnh hởng lẫn neuron tời điểm khác Lớp kiến trúc đợc đa để xử lý tín hiệu có đặc tính thống kê biến thiên theo thời gian nh tín hiệu tiếng nói Lý thuyết Nhận dạng tiếng nói Nhận dạng tiếng nói Quá trình thu nhận xử lý tín hiệu tiếng nói nhằm mục đích nhận biết nội dung văn Đặc trng âm tiếng nói đa dạng tuỳ theo loại âm vị khác nhau, nhng đơn giản dễ xử lý nguyên âm Nguyên âm âm vị đợc đặc trng nguồn âm tuần hoàn tuý không bị chặn trình phát âm Đặc trng nguyên âm thể formants (tần số cộng hởng) tín hiệu miền tần số Nhận dạng mẫu tiếp cận nhận dạng tiếng nói dựa sở so sánh mẫu (các vector tham số đặc trng cho đoạn tín hiệu cần nhận dạng) thớc đo khoảng cách mẫu mà không cần quan tâm nhiều tới tính chất âm học tín hiệu Tiếp cận gợi ý cho quan điểm ứng dụng mạng neuron dựa việc xử lý mẫu đầu vào mạng Quá trình xử lý đầu cuối filter bank hai phơng pháp xử lý tín hiệu tiếng nói với mục đích lấy tham số đặc trng tín hiệu tiếng nói Các tham số đặc trng đầu vào cho nhận dạng Đặc trng đầu cuối filter bank dãy lọc thông dải, lọc chịu trách nhiệm dải thông riêng phạm vi tần số cần quan tâm Cách cài đặt thông dụng cho filter bank dựa phép biến đổi Fourier thời gian ngắn Một tính chất quan trọng thể khác loại filter bank khác cách thức phân chia dải thông cho lọc Trong thực tế, ngời ta thờng hay sử dụng số kiểu phân chia không Khả ứng dụng mạng neuron trễ đợc nhắc tới Lý thuyết nhận dạng tiếng nói nh minh họa mang tính kinh điển cho quan điểm sử dụng mạng neuron Tín hiệu tiếng nói cần nhận dạng sau lấy mẫu lợng tử đợc phân thành đoạn theo thời gian (các frame); sau đoạn đợc chuyển qua xử lý filter bank chuyển tới mạng neuron Các frame đợc xử lý cách sau khoảng thời gian trễ cố định Nhờ vào cấu trúc đặc biệt dựa synapse trễ, mạng neuron trễ có khả nắm bắt đợc biến thiên theo thời gian đặc tính thống kê tín hiệu tiếng nói Phần mềm thử nghiệm Nhận dạng nguyên âm Quá trình xử lý mạng neuron dựa mô hình kết nối phân tán quy mô lớn gây khó khăn cho ngời nghiên cứu việc hiểu ý nghĩa kiểm soát hoạt động mạng Mặt khác, thân Lý thuết mạng neuron đợc xây dựng từ nhiều kinh nghiệm thực tế Chính thế, để phục vụ cho việc nghiên cứu thân, tiến hành xây dựng phần mềm mang tính thử nghiệm toán Nhận dạng nguyên âm Tôi lựa chọn nguyên âm làm đối tợng nhận dạng âm vị có đặc trng đơn giản dễ nhận dạng nhất, phù hợp cho phần mềm thử nghiệm Điều đảm bảo tính định cho phần mềm không cần phải thiết kế mạng neuron lớn Tuy nhiên tính chất nguyên âm không làm cho độ phức tạp thủ tục xây dựng thi hành mạng đơn giản cách đáng kể Điều đợc giải thích đặc tính độc lập chất đối tợng nhận dạng mạng neuron Phần mềm đợc xây dựng theo bớc từ Phân tích, Thiết Cài đặt Phần mềm cài đặt cha đợc hoàn thiện thời gian gấp Chơng mở đầu 1.1 Mạng neuron - Mô trực tiếp no ngời Lý thuyết Mạng nơ ron nhân tạo, hay gọi tắt Mạng nơ ron, đợc xây dựng xuất phát từ thực tế não ngời luôn thực tính toán cách hoàn toàn khác so với máy tính số Có thể coi não máy tính hay hệ thống xử lý thông tin song song, phi tuyến phức tạp Nó có khả tự tổ chức phận cấu thành nó, nh tế bào thần kinh (neuron) hay khớp nối thần kinh (synapse), nhằm thực số tính toán nh nhận dạng mẫu điều khiển vận động nhanh nhiều lần máy tính nhanh Sự mô não ngời mạng neuron dựa sở số tính chất đặc thù rút từ nghiên cứu thần kinh sinh học 1.1.1 Sơ lợc cấu trúc no ngời Hệ thống thần kinh ngời đợc xem nh hệ thống ba tầng Trung tâm hệ thống não đợc tạo nên mạng lới thần kinh; liên tục thu nhận thông tin, nhận thức thông tin, thực định phù hợp Bên não tiếp nhận làm nhiệm vụ chuyển đổi kích thích từ thể ngời hay từ môi trờng bên thành xung điện; xung điện vận chuyển thông tin tới mạng lới thần kinh Tầng thứ ba bao gồm tác động có nhiệm vụ chuyển đổi xung điện sinh mạng lới thần kinh thành đáp ứng thấy đợc (dới nhiều dạng khác nhau), đầu hệ thống Các kích thích Các tiếp nhận Mạng lới thần kinh Các tác động Các đáp ứng Hình 1.1 Biểu diễn sơ đồ khối hệ thống thần kinh Hai số thành phần não mà cần quan tâm đến nh yếu tố định khả tính toán não tế bào thần kinh (neuron) khớp nối thần kinh (synapse) Ngời ta ớc tính có xấp xỷ 10 tỷ neuron 60 nghìn tỷ synapse vỏ não ngời Các neuron đơn vị xử lý thông tin sở não với tốc độ xử lý chậm từ năm tới sáu lần cổng logic silicon Tuy nhiên điều đợc bù đắp số lợng lớn neuron não Các synapse đơn vị cấu trúc chức làm trung gian kết nối neuron Kiểu synapse chung synapse hoá học, hoạt động nh sau Một trình tiền synapse giải phóng chất liệu truyền, chất liệu khuếch tán qua synapse sau lại đợc xử lý trình hậu synapse Nh synapse chuyển đổi tín hiệu điện tiền synapse thành tín hiệu hoá học sau trở lại thành tín hiệu điện hậu synapse Trong hệ thống thuật ngữ điện, phần tử nh đợc gọi thiết bị hai cổng không thuận nghịch Có thể nói tính mềm dẻo hệ thống thần kinh ngời cho phép phát triển để thích nghi với môi trờng xung quanh Trong óc ngời trởng thành, tính mềm dẻo đợc thể hai hoạt động: tạo synapse neuron, biến đổi synapse có Các neuron có đa dạng lớn hình dạng, kích thớc cấu tạo phần khác não thể tính đa dạng chất tính toán Trong não, có số lợng lớn tổ chức giải phẫu quy mô nhỏ nh quy mô lớn cấu tạo dựa sở neuron synapse; chúng đợc phân thành nhiều cấp theo quy mô chức đặc thù Cần phải nhận thấy kiểu cấu trúc phân cấp hoàn hảo đặc trng não Chúng không đợc tìm thấy nơi máy tính số, không đâu đạt tới gần tái tạo lại chúng với mạng neuron nhân tạo Tuy nhiên, tiến bớc đờng dẫn tới phân cấp mức tính toán tơng tự nh Các neuron nhân tạo mà sử dụng để xây dựng nên mạng neuron nhân tạo thực thô sơ so với đợc tìm thấy não Các mạng neuron mà xây dựng đợc phác thảo thô kệch đem so sánh với mạch thần kinh não Nhng với tiến đáng ghi nhận nhiều lĩnh vực thập kỷ vừa qua, có quyền hy vọng thập kỷ tới mạng neuron nhân tạo tinh vi nhiều so với 1.1.2 Mô hình neuron nhân tạo Để mô tế bào thần kinh khớp nối thần kinh não ngời, mạng neuron nhân tạo có thành phần có vai trò tơng tự neuron nhân tạo kết nối synapse Một neuron nhân tạo đơn vị tính toán hay đơn vị xử lý thông tin sở cho hoạt động môt mạng neuron Sơ đồ khối hình 1.2 mô hình neuron nhân tạo đây, xác định ba thành phần mô hình neuron: Một tập hợp synapse hay kết nối, mà chúng đợc đặc trng trọng số riêng Tức tín hiệu xj đầu vào synapse j nối với neuron k đợc nhân với trọng số synapse wkj k số neuron đầu synapse xét, j điểm đầu vào synapse Các trọng số synapse cuả neuron nhân tạo nhận giá trị âm giá trị dơng Một cộng để tính tổng tín hiệu đầu vào neuron, đợc nhân với trọng số synapse tơng ứng; phép toán đợc mô tả tạo nên tổ hợp tuyến tính Một hàm kích hoạt (activation function) để giới hạn biên độ đầu neuron Hàm kích hoạt đợc xem xét nh hàm nén; nén (giới hạn) phạm vi biên độ cho phép tín hiệu đầu khoảng giá trị hữu hạn Mô hình neuron hình 1.2 bao gồm 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 giảm đầu vào thực hàm kích hoạt, tuỳ theo dơng hay âm Các tín hiệu đầu vào x1 wk1 x2 wk1 Hệ số hiệu chỉnh bk Hàm kích hoạt xm vk (.) Đầu yk Bộ tổ hợp tuyến tính wk1 Các trọng số synpase Hình 1.2 Mô hình phi tuyến neuron Dới dạng công thức toán học, mô tả neuron k cặp công thức sau: uk = m w x (1.1) yk=(uk+b) (1.2) kj j j=0 x1,x2, ,xm tín hiệu đầu vào; wk1,wk2, ,wkm trọng số synapse neuron k; uk đầu tổ hợp tuyến tính tơng ứng; bk hệ số hiệu chỉnh Hệ số hiệu chỉnh bk tham số neuron nhân tạo k Chúng ta thấy đợc có mặt công thức (1.2) Một cách tơng đơng, tổ hợp công thức (1.1) (1.2) nh sau: m v k = wkj x j (1.3) y k = (v k ) (1.4) j =0 Trong công thức (1.3), thêm synapse Đầu vào là: x0=+1 (1.5) wk0=bk (1.6) trọng số Nh vẽ lại mô hình neuron k nh hình 1.3 Trong hình này, nhiệm vụ hệ số hiệu chỉnh thực hai việc: (1) thêm tín hiệu đầu vào cố định 1, (2) thêm trọng số synapse giá trị hệ số bk Mặc dầu mô hình hình 1.2 1.3 khác hình thức nhng tơng tự chất toán học wk0=bk (hệ số hiệu chỉnh) wk0 Ddầu vào cố định x0=+1 Các tín hiệu đầu vào x1 wk1 x2 wk1 Hàm kích hoạt xm vk (.) Đầu yk Bộ tổ hợp tuyến tính wk1 Các trọng số synpase Hình 1.3 Mô hình phi tuyến thứ hai neuron Các kiểu hàm kích hoạt Hàm kích hoạt, ký hiệu (v), xác định đầu neuron Dới kiểu hàm kích hoạt bản: Hàm ngỡng: Đối với loại hàm (mô tả hình 1.4a), có v 0 v < (v ) = (1.7) Trong tài liệu kỹ thuật, dạng hàm ngỡng thờng đợc gọi hàm Heaviside Đầu neuron k sử dụng hàm ngỡng nh sau v k yk = v k < vk đầu tổ hợp tuyến tính, có nghĩa (1.8) m v k = wkj x j + bk (1.9) j =1 Một neuron nh thờng đợc gọi mô hình McCulloch-Pitts -2 (v) (a) -2 (v) (b) (v) -2 (c) Hình 1.4 (a) Hàm ngỡng, (b) Hàm vùng tuyến tính (c) Hàm sigma với tham số độ dốc a thay đổi Hàm vùng tuyến tính: Đối với loại hàm (mô tả hình 1.4b), có v+ 1, 1 (v) = v, + v > 2 0, v (1.10) Dạng hàm đợc xem nh môt xấp xỷ khuếch đại phi tuyến Hàm sigma: Hàm sigma dạng chung hàm kích hoạt đợc sử dụng cấu trúc mạng neuron nhân tạo Nó hàm tăng thể 10 Đây modul công cụ thực trình tích luỹ back-propagation hoàn chỉnh Có nhiều chế độ thi hành trình nh phụ thuộc vào thuộc tính nh: số lợng Epoch; tham số tốc độ học, số moment; cập nhật trọng số theo Unit, file tham số hay sau Epoch; Điều yêu cầu modul phải có nhiều biến trung gian, cung cấp hai thủ tục sau: /* Thủ tục khởi đầu lại biến trớc truyền giá trị*/ void ResetBackPropVar (void); /* Thủ tục truyền giá trị thuộc tính xác định chế độ thi hnh sign l ký tự xác định loại thuộc tính cần thay đổi v tham biến l giá trị cần gán */ void BackPropVar(char sign, int num1, int num2, float num3, float num4, char* str1, char* str2, char** List); /* Thủ tục thi hnh sau xác định chế độ*/ void BackPropTrain(void); Modul Evaluation Đây modul công cụ thực trình đánh giá tính nhận dạng mạng neuron Giống nh modul BackPropTrain.c, cung cấp hai thủ tục sau: /* Thủ tục khởi đầu lại biến trớc truyền giá trị*/ void ResetEvaluationVar(void); /* Thủ tục truyền giá trị biến */ void SetEvaluationVar(char sign, int num, char* str, char** List); /* Thủ tục đánh giá */ void Evaluation(void); Modul SpeeFeat Đây modul th viện phục vụ cho xử lý filter bank, cung cấp cấu trúc liệu thủ tục chủ yếu sau: /*struct cho ph/tử d/sách mẫu tiếng nói*/ typedef struct SpeechEntry { struct SpeechEntry *next; struct SpeechEntry *prev; short *speech; int ptr; int size; int allocated_size; } SpeechEntry; /* struct cho phần tử danh sách frame */ typedef struct FrameEntry { struct FrameEntry *next; struct FrameEntry *prev; 83 float *frame; int n; } FrameEntry; /* vector frame */ /* thứ tự frame file âm */ /* Cấu trúc liệu quản lý tín hiệu tiếng nói đầu vo v vector đặc trng đầu Nó bao gồm hai hng đợi FiFO: hng đợi bao gồm SpeechEntry v hng đợi gồm FrameEntry */ typedef struct SpeeFeat { /* FiFO cho tiếng nói đầu vo */ int num_samples_stacked; SpeechEntry *first_speech; SpeechEntry *last_speech; SpeechEntry *used_speech; int int int int base_size; base_type; add_flags; used_size; /*số th/số feature cho frame*/ /* kiểu đặc trng */ /* flag để thêm tham số đặc biệt*/ /*số th/số feature đợc sử dụng */ /* Giới hạn ton dải tần số */ float low_cut, high_cut; float pre_emp_factor; float cep_lift; int num_frames; /* Số lợng frame đợc Pop */ int num_pushed_frames;/*S/lợng frame đợc Push*/ int memory_size; int status; /* =0 SpeechEnd đợc gọi */ int frame_size; float *running_average; float ra_timeconst; int mean_subtraction; /* Các số cho th/số feature đặc biệt */ int energy_offset; int pitch_offset; int samp_freq; /* số mẫu tiếng nói giây */ int frame_step; /* số mẫu tiếng nói cho frame */ int frame_window_size;/* k/thớc cửa sổ ph/tích*/ int allocated_window_size; float *frame_window; /*cửa sổ ph/tích ban đầu chứa frame*/ void *info; /* FiFO cho frame */ 84 int num_stacked_frames; FrameEntry *first_frame; FrameEntry *last_frame; FrameEntry *used_frames; FrameEntry *next_frame_to_pop; } SpeeFeat; /* Khởi đầu SpeeFeat */ SpeeFeat *initSpeeFeat(int base_type, int base_size, int used_size, int add_flags, float samp_freq, float frame_length, float frame_width, float low_cut, float high_cut); /* Push số mẫu tiếng nói vo SpeeFeat */ void PushSpeech(SpeeFeat *S, short *speech, int num_samples); /*Gọi hm ny không mẫu tiếng nói no để Push*/ void SpeechEnd(SpeeFeat *S); /* X/định số frame có vector feature đợc Pop */ int AvaiFeatures(SpeeFeat *S); /* Pop vector feture: l mảng số thực */ float *PopFeatures(SpeeFeat *S); Modul RTDNN Đây modul th viện phục vụ cho việc xây dựng nên mạng neuron, cung cấp cấu trúc liệu thủ tục chủ yếu sau: /* struct cho Group */ typedef struct Group { char *Name; long id; long mark; long NumParents; long NumMem; long *MemTab; } Group; /* struct cho Unit */ typedef struct Unit { long id; ForwardType type; BackwardType backtype; float backward_prune_thresh; long mark; long NumParents; long index; long link; /* id Connector t/ứng có */ long pos; /* vị trí Connector có */ 85 } Unit; /* struct cho Connection (thnh phần delay struct cho phép ci đặt kết nỗi trễ (time - delay)) */ typedef struct Connection { long to; long from; long delay; float w; float plast;/*th/số mềm dẻo cho tốc độ học*/ long mark; long index; } Connection; /* struct cho Connector (một Connector l thnh phần chuyên trách việc giao tiếp liệu bên ngoi với Group đầu vo v đầu ra) */ typedef struct Connector { char *Name; long id; ConnectorType type; char *ext; char *path; long size; /* số thnh phần cho frame*/ /*Các h/số biến đổi tuyến tính để chuẩn hoá đầu vo*/ float *a, *b; char **CompName; /* tên cho thnh phần */ char *Filter; long index; long NumParents; long mark; } Connector; /* struct cho mạng neuron */ typedef struct Net { char *Name; float Version; long long long long long long Numid; Allocatedid; NumGroups; NumTemplates; NumConnections, NumAllocatedCons, NumSortedCons; NumConnectors; long long long long long NumUnits; Numinput; NumTanhyp; NumLinear; NumOutput; 86 long Group Unit Connection Connector idEntry Group Unit MaxDelay; **GrTab; /* Mảng id Group */ **UTab; /* Mảng id Unit */ **CTab;/*Mảng id Connection*/ **StrTab;/*Mảng id Connector */ *idTab; /* Mảng tất id */ *rootgroup; *biasunit; /*Mảng id bias*/ } Net; /* Khởi tạo Net */ Net *CreateNet(); /* Các hm thêm thnh phần vo mạng */ Group *AddNamedGroup (Net *net, char *Name); Connector *AddConnector(Net *net, char *Name, ConnectorType, long size); void AddUnits(Net *net, long parent, ForwardType type, BackwardType backtype, long n, float RandBound); void SetUnitType(Net *net, long unit, ForwardType type, BackwardType backtype); /* Thực kiểu kết nối khác Unit*/ void Connect(Net *net, long g1, long g2, long Delay, float RandBound); void ConstConnect(Net *net, long g1, long g2, long Delay, float weight); void SparseConnect(Net *net, long g1, long g2, long delay, float RandBound, float Fraction); void MetricConnect(Net *net, long g1, long g2, long delay, float RandBound, float fraction, float spread, long cyclic); /* Liên kết Uint với Connector (tại vị trí pos) */ long LinkUnit(Net *net, long Connector, long pos, long unit); /* Lu trữ mạng file */ void SaveNet(char *fn, Net *net); Net *LoadNet(char *fn); Modul Execution Đây modul th viện phục vụ cho việc thi hành mạng neuron, cung cấp cấu trúc liệu thủ tục chủ yếu sau: /* Cấu trúc đặc biệt mạng neuron cho việc thi hnh mạng Điểm khác biệt chủ yếu so với cấu trúc mạng modul RTDNN l thuộc tính liên quan thnh phần mạng có xu hớng đợc lu trữ trực tiếp mạng thông qua 87 mảng đa chiều nhằm mục đích nâng cao tốc độ thi hnh */ typedef struct NetExe { int NumUnits; int NumConnections; int NumExt; int NumConnectors; int MaxDelay; int int excited; has_data; /* Các thuộc tính Connector */ float *lin_a, *lin_b; char **Connector_comp_name; char **Connector_dir; char **Connector_ext; ConnectorType *Connector_mode; int *Connector_offset; int *Connector_size; char **Connector_name; char **Connector_filter; int NumConstants; float *Constants; char **ConstName; /* Dữ liệu ngoi thời đợc xử lý */ char *CurrentData; /*tên liệu (tên file)*/ int T; /* số frames */ float **ExtData;/*mảng lu giữ trực tiếp liệu*/ float *A; /* (Activations) đầu Unit*/ float *GA;/* mảng gradient cục cho Unit*/ /* Các thuộc tính liên quan đến Unit */ int *type; int *backtype; int *Xindex; int *Xlag; ConnectorType *link_mode; float *backthresh; int *Numinflows; int **inflows; float **inW; /* mảng tất trọng số kết nối*/ float **inGW; float **Gain; /* mảng tất th/số tốc độ học */ float **Momentum; /* mảng tất h/số moment */ float **DeltaW;/*mảng tất điều chỉnh trọng số*/ float **Plast; /*mảng tất hệ số độ mềm dẻo*/ Connection ***ConLink; 88 } NetExe; /* Các hm ch/đổi cấu trúc liệu cho mạng neuron */ NetExe *Compile(Net *net); void UpdateNet(Net *, NetExe *, int all_flag); /* Khởi đầu th/số cho th/toán back-propagation */ void initGainAndMomentum(NetExe *net, float gain, float momentum); /* Thực bớc xuống theo gradient cục có sử dụng tham số moment */ void GradStep(Net *ann, NetExe *net, int all_flag); /* Nạp liệu bên ngoi */ void LoadExtData(NetExe *, char *Name, int load_targets, int check_range); /* Giai đoạn tiến thuật toán back-propagation */ void initForward(NetExe *); void Forward(NetExe *); void ForwardSection(NetExe *, int start_t, int end_t); void FinishForward(NetExe *); /* Giai đoạn lùi thuật toán back-propagation */ void initBackward(NetExe *); float Backward(NetExe *); float BackwardSection(NetExe *, int start_t, int end_t); float BackwardSectionAndUpdate(NetExe *net, int start_t, int end_t); float FinishBackward(NetExe *); /* Tính toán lỗi ton thể */ float GetGlobalError(NetExe *); Modul AudioFiles Đây modul hệ thống quản lý thao tác vào/ra cho file âm thanh, cung cấp thủ tục chủ yếu sau: /* Thủ tục nạp ton file âm */ void LoadAudio(char *fn, AUDiO_BUFFER *); /* Các thủ tục vo */ AUDiO_FiLE *OpenAudioFile(char *fn, char *mode); AUDiO_FiLE *OpenRawAudioFile(char *fn, int samp_freq, int little_endian_flag, int header_size, char *mode); int AudioReadFile(AUDiO_FiLE *, short *Buffer, int NumSamples); int AudioFileEOF(AUDiO_FiLE *); void CloseAudioFile(AUDiO_FiLE *); /* Lấy thông tin file âm mở */ char *GetAudioFileMode(AUDiO_FiLE *); int GetAudioFileNumSamples(AUDiO_FiLE *); Modul ParamFiles 89 Đây modul hệ thống quản lý thao tác vào/ra cho file tham số, cung cấp thủ tục chủ yếu sau: /* Các thủ tục nạp v lu trữ ton file tham số */ float **LoadParameters(char *fn, int *SampleSize, int *NumSamples); void SaveParameters(char *fn, int SampleSize, int NumSamples, float **Data); /* Các thủ tục vo */ PARAM_FiLE *OpenParameterFile(char *fn, int *SampleSize, char *mode); float *ReadParameterSample(PARAM_FiLE *); void WriteParameterSample(PARAM_FiLE *, float *); int ParameterFileEOF(PARAM_FiLE *); void CloseParameterFile(PARAM_FiLE *); /* Lấy thông tin file tham số mở */ char *GetParamFileMode(PARAM_FiLE *); int GetParamFileNumSamples(PARAM_FiLE *); 7.3 Hớng dẫn sử dụng phần mềm Phần mềm bao gồm file NeuronSpeech.exe cấu trúc th mục kèm theo Để chạy đợc chơng trình, ngời sử dụng cần copy file NeuronSpeech.exe th mục mức vào chung th mục với tên Các công việc thực phần mềm cụ thể nh sau: Nạp file lu trữ mạng neuron Ngời sử dụng tạo file lu trữ mạng neuron chức thêm phần mềm (File->New) File có tên Untitled.net chứa mạng neuron có cấu trúc cố định nh hình 7.2 với số giá trị khởi đầu cho trọng số synapse (của Connection) Ngời sử dụng tiến hành thao tác file lu file lên đĩa với tên khác chức lu file phần mềm (File->Save As ) Ngời sử dụng nạp file lu trữ mạng neuron có sẵn từ ổ đĩa chức mở file phần mềm (File->Open) Sau tiến hành thao tác mạng, file chứa mạng lu lại lên đĩa với tên khác chức lu file phần mềm Chú ý: Các file đợc mặc định lu lên đĩa Sau thao tác làm biến đổi mạng neuron, cách khôi phục lại trạng thái trớc Khi bắt đầu chạy phần mềm, file chứa mạng neuron cha đợc nạp không thực đợc thao tác mạng 90 Tạo file chứa tham số đích (đáp ứng mong muốn) cho file âm Để tiến hành tích luỹ hay đánh giá tính nhận dạng, file âm cần phải có file chứa tham số đích cung cấp đáp ứng mong muốn cho mạng neuron Có hai chức tạo file này: Tạo file cho việc tích luỹ Cửa sổ giao diện nh hình 7.3 (Make Files->Make Targ Files For Training->A) (nếu bạn muốn tạo file tham số đích tơng ứng với nguyêm âm chọn mục Menu tơng ứng với nguyên âm đó) Hình 7.3 Cửa sổ giao diện cho việc tạo file đích (*.tag) Trong ListBox bên trái phần mềm tất file *.wav th mục quy định riêng cho file âm dành để tích luỹ (mặc định TRAINWAV) ListBox bên phải sẵn tên file *.wav mà cha có file giá trị đích tơng ứng Ngời sử dụng sử dụng Button để thêm hay bớt file ListBox bên phải (thêm file cách chọn file ListBox bên trái bấm Button Add) Sau bấm OK, tất file âm có tên ListBox bên phải đợc tạo file giá trị đích tơng ứng (có tên nhng phần mở rộng tag) phù hợp với nguyên âm chọn Chú ý: Th mục quy định cho file âm dành để tích luỹ thay đổi đợc nhờ chức th mục hệ thống phần mềm (System>Dierectory) Tạo file cho việc đánh giá tính nhận dạng Cách sử dụng tơng tự nh khác chỗ đối tợng file âm dành để đánh giá tính nhận dạng (Make Files->Make Targ Files For Evaluation->A) 91 Chú ý: Th mục quy định cho file âm dành để đánh giá tính nhận dạng (mặc định EVALWAV) thay đổi đợc nhờ chức th mục hệ thống phần mềm (System->Dierectory) Xử lý filter bank cho file âm Để thực thao tác mạng neuron, file âm cần phải trải qua trình xử lý filter bank để thu đợc file tham số đặc trng (có tên nhng phần mở rộng dat) làm đầu vào cho mạng neuron Các tham số đặc trng vector feature frame đợc xếp liên tiếp đây, có hai chức nh (Make Files->Make Targ Files->For Training Make Files->Make Targ Files->For Evaluation) cách sử dụng tơng tự nh Tiến hành tích luỹ mạng neuron Đối với mạng neuron đợc nạp, ngời sử dụng thực tích luỹ mạng nh mô tả dới (Run Net->BackPropagation Training) Cửa sổ giao diện cho thao tác có hình thức hoàn toàn giống nh hình 7.3, có ý nghĩa khác Các file ListBox bên trái file tham số đặc trng có file giá trị đích tơng ứng (của file âm thanh); file kết trình xử lý filter bank file âm dành cho việc tích luỹ ListBox bên phải sẵn file giống nh ListBox bên trái Nếu ngời sử dụng muốn tích luỹ với tập hợp ví dụ nhỏ bỏ bớt số file Button hai ListBox Sau bấm OK, có DialogBox yêu cầu ngời sử dụng chọn giá trị quan trọng cho trình tích luỹ nh: số vòng lặp tối đa, ngỡng dừng cho lỗi tổng thể mạng Sau tiếp tục bấm OK, phần mềm tiến hành tích luỹ mạng neuron khoảng thời gian không nhỏ (tuỳ theo giá trị ngời sử dụng nhập vào tuỳ theo tính chất mạng neuron) Mạng neuron sau tích luỹ bị thay đổi so với ban đầu Kết trình tích luỹ (giá trị lỗi tổng thể) đợc thông báo lên cửa sổ phần mềm sau vòng lặp Hình 7.4 thể ví dụ kết tích luỹ cho trờng hợp có ba vòng lặp Tiến hành đánh giá tính nhận dạng cho mạng neuron Thao tác thứ hai cho mạng neuron đợc nạp tiến hành đánh giá tính nhận dạng mạng Cách tiến hành thao tác tơng tự nh (Run Net->Performance Evaluation), có khác không xuất DialogBox sau bấm OK kết hình thông tin số frame đợc nhận dạng tỷ lệ phần trăm so với tổng số frame Kết hình có dạng nh hình 7.5 92 Hình 7.4 Ví dụ kết tích luỹ Hình 7.5 Ví dụ kết đánh giá tính nhận dạng 93 Chơng kết luận 8.1 Những kết nghiên cứu đ đạt đợc Mặc dù nghiên cứu phôi thai Lý thuyết mạng neuron năm 40 kỷ, nhng vài thập niên trở lại thực có đợc ứng dụng quan trọng mang đến nhiều hứu hẹn hệ máy thông minh Chính vậy, riêng điều mẻ; môn lý thuyết tơng lai Điều thúc đẩy vừa thực nghiên cứu lý thuyết vừa cố gắng cài đặt phần mềm thử nghiệm với tham vọng nắm đợc đợc gọi khoảng thời gian thực luận văn Theo gợi ý thày giáo hớng dẫn, lựa chọn toán Nhận dạng nguyên âm cho việc ứng dụng mạng neuron Phải nói lý thuyết mạng neuron nhân tạo phức tạp quy mô nh thân óc ngời mà mô Chỉ với số ràng buộc mặt cấu trúc mang tính thần kinh sinh học, mạng neuron có tính mở cao việc xây dựng quy tắc học, thuật toán học nh phong phú phạm vi ứng dụng (lu trữ mẫu, nhận dạng mẫu, xấp xỷ hàm, điều khiển, lọc, thích nghi, ) Trong khuôn khổ nghiên cứu cho luận văn tốt nghiệp, đạt đợc số kết cụ thể nh sau: Đã nắm đợc khái niệm thành phần kiểu kiến trúc mạng neuron Đã hiểu đợc ý nghĩa việc học hay tích luỹ, có vai trò to lớn quy tắc học, mô hình học thuật toán học nhiều khả ứng dụng khác Đã sâu nghiên cứu kiểu kiến trúc kinh điển (mạng tiến đa mức) thuật toán học đợc coi phù hợp cho kiến trúc thuật toán back-propagation Qua thấy rõ đợc u nhợc điểm kinh nghiệm nhằm cải thiện thuật toán, Đã tìm hiểu mở rộng cho mô hình mạng trễ hồi quy dựa kiến trúc mạng tiến đa mức với mục đích ứng dụng cho toán nhận dạng tiếng nói Về lý thuyết nhận dạng tiếng nói: Đã tập trung khai thác phơng pháp xử lý tín hiệu hay đợc sử dụng kỹ thuật filter bank nhằm lấy vector đặc trng tín hiệu làm dầu vào cho mạng neuron Ngoài việc xây xựng phần mềm thử nghiệm cho phép tôi: Kiểm nghiệm đợc kiến thức lý thuyết thu nhận đợc 94 Có nhìn rõ nét kỹ thuật ứng dụng lý thuyết vào thực tế Bên cạnh đó, nâng cao đợc kỹ phân tích, thiết kế lập trình việc giải toán có độ phức tạp trung bình Tuy biết điều thu nhận đợc phần nhỏ nghành nghiên cứu lớn, tự nhận thấy gặt hái đợc thành công định giai đoạn nghiên cứu 8.2 Đánh giá kết cài đặt phần mềm thử nghiệm Xuất phát từ yêu cầu toán nhận dạng nguyên âm, phân tích thiết kế ban đầu, sau thời gian tiến hành cài đặt, thấy cha thực hoàn thiện công việc cần làm, nhiều vấn đề cần tiếp tục đợc giải 8.2.1 Những điều đ giải đợc Xây dựng đợc hệ thống modul th viện cung cấp đầy đủ thủ tục cho công việc: Xử lý tín hiệu tiếng nói Xử lý filter bank Xây dựng lu trữ mạng neuron Thi hành mạng neuron theo thuật toán back-propagation Xây dựng đợc công cụ có chế độ thực thay đổi đợc theo giá trị biến đợc truyền; điều cho phép việc thay đổi ý đồ thực xây dựng modul chơng trình Modul chơng trình đảm nhiệm đợc việc nhận dẫn đầu vào nh lệnh thực ngời sử dụng thông qua giao diện để thực công việc sau: Tạo file tham số đặc trng cho file âm nh kết trình xử lý filter bank Tạo file chứa giá trị đầu mong muốn cho file âm ứng với nguyên âm Tiến hành tích luỹ mạng neuron từ file tham số đặc trng file đầu mong muốn Tiến hành đánh giá tính nhận dạng mạng neuron từ tập hợp file tham số đặc trng 8.2.2 Những điều cha giải đợc Do độ phức tạp phần mềm trình tự cài đặt từ modul th viện đến modul chơng trình chính, sau thiết kế giao diện, với khoảng thời 95 gian thực đề tài tốt nghiệp, tạo cho phần mềm diện mạo khả quan ngời sử dụng để lại nhiều điều thiếu sót nh sau: Cha có tính mở cao dạng file âm file tham số (mới xử lý đợc file âm *.wav file tham số nhị phân) Cha cài đặt đợc việc nhận dạng âm trực tiếp từ micro (do thời gian gấp) Cha cho phép ngời sử dụng tự tạo mạng neuron Giao diện thiết kế cha thuận tiện cho việc sử dụng Cha có nhiều tuỳ chọn cho phép ngời sử dụng thay đổi tự chế độ thực tích luỹ đánh giá tính nhận dạng Cha tiến hành đợc nhiều thử nghiệm phần mềm để có nhìn cụ thể tính mạng neuron có cấu trúc khác 8.3 Một vài suy nghĩ sau nghiên cứu việc ứng dụng Lý thuyết mạng neuron Nhận dạng tiếng nói Trong bối cảnh mà nghiên cứu chuyển sang hớng xây dựng hệ thống thông minh, mạng neuron lên nh giải pháp đầy hứu hẹn Nó thể u điểm bật so với hệ thống khác khả mềm dẻo, linh hoạt tính toán thô; số điểm khác biệt óc ngời với máy thông minh nhân tạo Nhng mà đòi hỏi độ phức tạp cao thiết kế cài đặt hệ thống ứng dụng để đạt đợc tính tốt Điểm mấu chốt quy mô hệ thống số lợng neuron số lợng mức ẩn Khả đợc cải thiện không ngừng tơng lai với phát triển mạch tích hợp phần cứng cỡ lớn nhớ ngày lớn cho phần mềm máy vi tính Chính điều mà mạng neuron đợc coi kỹ thuật kỷ 21 Tuy nhiên, thông qua việc cài đặt phần mềm thử nghiệm, thấy vấn đề quan trọng cần phải tiếp tục đợc nghiên cứu giải quết vấn đề tốc độ hội tụ thuật toán học tập hợp liệu có kích thớc lớn Bên cạnh phơng pháp cải thiện thân thuật toán kỹ thuật xử lý song song nhiều processor đem lại cho phần mềm nhận dạng tính tốt Và nhà bác học tìm cách khám phá quy tắc học thuật toán học hiệu Một điều dễ nhận thấy mạng neuron mô trực tiếp óc ngời mặt cấu trúc mục tiêu trình học (điều chỉnh trọng số synnapse) nhng quy tắc học đợc đa tuý mang tính toán học cha thực sự bắt chớc mặt thần kinh sinh học trình học xảy óc Tóm lại, khẳng định điều mục tiêu tiến gần tới hoàn hảo máy nhận thức ngời thách thức lớn 96 môn lý thuyết nh Lý thuyết mạng neuron mà chất tơng tự thần kinh sinh học cấu trúc cho tia hy vọng đáng lạc quan 8.4 Hớng phát triển đề tài Bản luận văn đợc xây dựng dựa bớc chập chững trình nghiên cứu Lý thuyết mạng neuron ứng dụng cho vấn đề nhận dạng tiếng nói nên chắn có nhiều điều tiếp tục phát triển mục tiêu xây dựng phần mềm nhận dạng hiệu Tuy nhiên xét riêng phạm vi toán nhận dạng nguyên âm, điều kiện cho phép, tiếp tục đề tài theo hớng sau: Hoàn chỉnh thiếu sót cha giải đợc nh nêu phần 8.2.2 Mở rộng phần mềm tất nguyên bao gồm nguyên âm có dấu, mở rộng cho âm tiết Lựa chọn sở hệ thống đủ mạnh xây dựng mạng neuron đủ hiệu nh nghiên cứu việc tối u cài đặt thuật toán học để xây dựng đợc hệ thống truyền lệnh âm đơn giản Nhng để đạt đợc mục tiêu này, nghĩ khó khăn cho tiến hành công việc Tôi mong muốn có hội trao đổi làm việc với ngời có mối quan tâm tới Mạng neuron nh 97 [...]... giản, mạng đợc vẽ trong hình 1.7 là một mạng 5-3-2 tức là 5 nút nguồn, 3 neuron ẩn, và 2 neuron đầu ra Mạng neuron trong hình 1.7 đợc gọi là kết nối đầy đủ với ý nghĩa là tất cả các nút trong mỗi mức của mạng đợc nối với tất cả các nút trong mức tiếp sau Nếu một số kết nối synapse 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 đủ Mức đầu vào gồm các nút nguồn Mức ẩn gồm các neuron... hoạ trong hình 1.8 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 neuron đợc phản hồi lại chính đầu vào của neuron đó Mạng hồi quy trong hình 1.8 cũng không có các neuron ẩn Trong hình 1.9, chúng ta minh hoạ một lớp mạng hồi quy nữa với các neuron ẩn Các kết nối phản hồi đợc vẽ trong hình 1.9 bắt nguồn từ các neuron... những mạng lới với kiến trúc vô cùng phức tạp và đa dạng Đối với các mạng neuron nhân tạo, chúng ta có ba lớp kiến trúc cơ bản sau: 1 Các mạng tiến (feedforward) đơn mức Trong một mạng neuron phân mức, các neuron đợc tổ chức dới dạng các mức Với dạng đơn giản nhất của mạng phân mức, chúng ta có một mức đầu vào gồm các nút nguồn chiếu trực tiếp tới mức đầu ra gồm các neuron (các nút tính toán) Nh vậy, mạng. .. gồm các neuron đầu ra Hình 1.7 Mạng tiến kết nối đầy dủ với một mức ẩn và một mức đầu ra 3 Các mạng hồi quy (recurrent network) Một mạng neuron hồi quy đợc phân biệt so với các mạng neuron 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 14 hồi quy có thể bao gồm một mức đơn các neuron với mỗi neuron đ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 neuron khác,... bản, các neuron trong mỗi mức 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ỉ mức đứ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 neuron trong mức đầ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 của mức đầu vào Đồ thị trong hình 1.7 minh hoạ cấu trúc của một mạng neuron tiến... giả sử rằng mạng neuron bao gồm các đơn vị phi tuyến) 15 z-1 Đầu ra z-1 z-1 Các toán tử đơn vị trễ Đầu vào Hình 1.9 Mạng hồi quy có các neuron ẩn 1.2 Đặc trng của Mạng neuron Sau khi đã tìm hiểu về cấu trúc cơ bản của các mạng neuron, chúng ta có thể kể ra một số đặc trng u việt mà mạng neuron có thể thu đợc từ việc mô phỏng trực tiếp bộ não con ngời nh sau: 1 Tính chất phi tuyến Một neuron có thể tính... không thể kiểm soát đợc Để đảm bảo rằng mạng neuron thực sự có khả năng chấp nhận lỗi, có lẽ cần phải thực hiện những đo đạc hiệu chỉnh trong việc thiết kế thuật toán tích luỹ mạng neuron 6 Khả năng cài đặt VLSI Bản chất song song đồ sộ của một mạng neuron làm cho nó rất nhanh trong tính toán đối với một số công việc Đặc tính này cũng 17 tạo ra cho một mạng neuron khả năng phù hợp cho việc cài đặt sử... hiệu Mặt khác, điểm nổi bật của một mạng neuron là trong việc phát triển các mô hình sử lý phân tán song song (parallel distributed processing (PdP)) Các mô hình này giả định rằng việc xử lý thông tin đợc tiến hành thông qua sự tơng tác của một số lợng lớn các neuron, mỗi neuron gửi các tín hiệu kích thích hay ức chế tới các neuron khác trong mạng Nh vậy, mạng neuron nhấn mạnh chủ yếu trên việc giải... hợp sẽ dẫn đến khả năng tạo ra các mạng neuron với một kiến trúc chuyên biệt Điều này thực sự đợc quan tâm do một số nguyên nhân sau: 1 Các mạng neuron thị giác và thính giác sinh học đợc biết là rất chuyên biệt 2 Một mạng neuron với cấu trúc chuyên biệt thờng có một số lợng nhỏ các tham số tự do phù hợp cho việc chỉnh lý hơn là một mạng kết nối đầy đủ Nh vậy mạng neuron chuyên biệt cần một tập hợp dữ... các đặc trng của môi trờng cần nghiên cứu đợc sử dụng cho việc thiết kế mạng neuron ban đầu trớc khi đa nó vào quá trình học hay tích luỹ Bản thân các ví dụ tích luỹ không đợc lu trữ bởi mạng neuron, nhng chúng thể hiện những hiểu biết về môi trờng sẽ đợc lu trữ trong mạng neuron thông qua việc học, hay nói cách khác là mạng neuron có thể học đợc các hiểu biết đó thông qua các ví dụ tích luỹ Các ví ... thể Lý thuyết Mạng neuron Mạng neuron nhân tạo mô hình mô cấu trúc não ngời Hai thành phần cấu tạo nên mạng neuron neuron (mô tế bào thần kinh) synapse (mô khớp nối thần kinh) Trong kiến trúc... thị hình 1.7 minh hoạ cấu trúc mạng neuron tiến đa mức cho trờng hợp mức ẩn Để đơn giản, mạng đợc vẽ hình 1.7 mạng 5-3-2 tức nút nguồn, neuron ẩn, neuron đầu Mạng neuron hình 1.7 đợc gọi kết nối... đầu Các mạng hồi quy (recurrent network) Một mạng neuron hồi quy đợc phân biệt so với mạng neuron không hồi quy chỗ có vòng lặp phản hồi Ví dụ mạng 14 hồi quy bao gồm mức đơn neuron với neuron đa