Tài liệu Nhận dạng ảnh mặt người sử dụng mạng nơron nhân tạo và giải thuật di truyền

  • Số trang: 72 |
  • Loại file: PDF |
  • Lượt xem: 222 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 27125 tài liệu

Mô tả:

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG PHẠM THỊ MAI HƯƠNG NHẬN DẠNG ẢNH MẶT NGƯỜI DÙNG MẠNG NƠRON NHÂN TẠO VÀ GIẢI THUẬT DI TRUYỀN LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Nguyên, 2011 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG PHẠM THỊ MAI HƯƠNG NHẬN DẠNG ẢNH MẶT NGƯỜI DÙNG MẠNG NƠRON NHÂN TẠO VÀ GIẢI THUẬT DI TRUYỀN Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KH: PGS.TS. LÊ BÁ DŨNG Thái Nguyên, 2011 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỞ ĐẦU Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa ngƣời với ngƣời, và cũng mang một lƣợng thông tin phong phú, chẳng hạn có thể xác định giới tính, tuổi tác, trạng thái cảm xúc của ngƣời đó, ... hơn nữa khảo sát chuyển động của các đƣờng nét trên khuôn mặt có thể biết đƣợc ngƣời đó muốn nói gì. Do đó, nhận dạng mặt ngƣời là một lĩnh vực nghiên cứu hấp dẫn đƣợc nhiều ngƣời quan tâm trong vài năm gần đây. Nhận dạng mặt ngƣời là một lĩnh vực nghiên cứu hấp dẫn đƣợc nhiều ngƣời quan tâm trong vài năm gần đây. Có rất nhiều hƣớng tiếp cận trƣớc đây đã thực hiện liên quan đến vấn đề nhận dạng mặt ngƣời. Theo Ming-Hsuan Yang [22], có thể phân loại thành bốn hƣớng tiếp cận chính: dựa trên tri thức (knowledge-based), đặc trƣng bất biến (feature invariant), đối sánh mẫu (template matching), và dựa vào diện mạo (appearance-based) phƣơng pháp này thƣờng dùng một mô hình học máy nên còn đƣợc gọi là phƣơng pháp dựa trên học máy (machine learning-based). Các kết quả nghiên cứu về nhận dạng mặt ngƣời cho đến nay đã cho thấy phƣơng pháp dựa trên học máy là cách tiếp cận tối ƣu và hiệu quả nhất. Về cơ bản, phƣơng pháp dựa trên học máy sử dụng những mẫu đƣợc rút trích qua một quá trình học. Nói cách khác, các thuật toán dựa trên học máy dùng các kỹ thuật phân tích thống kê và học máy để xấp xĩ một hàm phân lớp tuyến tính. Có nhiều mô hình học máy đƣợc áp dụng trong hƣớng tiếp cận này: Eigenface (M. Turk và A. Pentland 1991 [23]), Mạng Nơ-ron (H. Rowley 1998 [28]), Support Vector Machine (E. Osuna et al 1997 [24]), Phân lớp Bayes (H. Schneiderman và T. Kanade 1998 [22]), Mô hình Markov ẩn (A. Rajagopalan et al 1998 [23]), và các mô hình tăng cƣờng (AdaBoost của P. Viola và M. Jones 2001 [25][26]; FloatBoost do Stan Z. Li và Zhen Qiu Zhang 2004 [23][24]). Phƣơng pháp nhận dạng mặt ngƣời dùng mạng nơron là một phƣơng pháp không mới, có thể coi là phƣơng pháp phổ biến nhất trong các phƣơng pháp dựa trên học máy. Các kết quả nghiên cứu đã có cho thấy phƣơng pháp này vẫn là phƣơng Số hóa bởi Trung tâm Học liệu – Đại học Thái 1 Nguyên http://www.lrc-tnu.edu.vn pháp hiệu quả, ổn định và có nhiều khả năng ứng dụng. Một trong những nghiên cứu đầu tiên dùng NN trong nhận dạng ảnh mặt ngƣời trong [72] đã sử dụng mạng Kohonen nhận dạng ảnh trong một tập mẫu nhỏ các ảnh mặt ngƣời và cho kết quả tốt ngay cả khi ảnh bị nhiễu hay mất một phần ảnh. Tỷ lệ nhận dạng đúng đƣợc công bố là 92.5% với ảnh test đã đƣợc huấn luyện và 87.5% với ảnh test chƣa đƣợc huấn luyện. Trong nhiều nghiên cứu nhận dạng ảnh mặt ngƣời dùng mạng NN sau đó, loại mạng NN đƣợc cho là hiệu quả nhất là mạng NN perception đa lớp lan truyền ngƣợc (backpropagation MLP). Trong [N. Jamil and Iqbal [34] ] hệ thống nhận dạng ảnh mặt ngƣời dùng mạng MLP lan truyền ngƣợc sử dụng cơ sở dữ liệu gồm 100 ảnh của 10 ngƣời khác nhau tự thu thập, tỷ lệ nhận dạng đúng đƣợc công bố là 95.6%. Các nghiên cứu nhận dạng ảnh mặt ngƣời dùng mạng NN cho tới hiện nay chỉ ra rằng việc dùng mạng MLP đã cho các kết quả rất tốt cả về độ chính xác. Tuy nhiên vấn đề chi phí tính toán trong thao tác huấn luyện và nhận dạng dẫn tới chi phí huấn luyện và nhận dạng khá lớn là vấn đề then chốt cần xử lý của các hệ thống dùng mạng NN. Do đó, các nghiên cứu nhận dạng mặt ngƣời dùng mạng NN vẫn cần đƣợc cải tiến phát triển để giảm khối lƣợng tính toán, giảm thời gian, chi phí huấn luyện. Một giải pháp đã đƣợc đề xuất là áp dụng phƣơng pháp trích đặc trƣng vector thành phần PCA để giảm số chiều vector đặc trƣng, do đó giảm chi phí tính toán cho mạng NN [19, 20]. Một giải pháp khác gần đây đƣợc một số nhà nghiên cứu gần đây quan tâm là áp dụng giải thuật di truyền GA tính toán trọng số tối ƣu đầu vào cho mạng NN để có để tối ƣu hệ thống. Luận văn này đi theo cách kết hợp hai hƣớng tiếp cận này, đó là phát triển một hệ thống nhận dạng mặt ngƣời sử dụng kết hợp các phƣơng pháp MLP-PCA-GA. Các kết quả đánh giá về hiệu quả nhận dạng bao gồm tỷ lệ nhận dạng đúng, chi phí huấn luyện, thời gian nhận dạng đều cho thấy phƣơng pháp sử dụng trong đề tài cho các kết quả tƣơng đƣơng và tốt hơn trong một số điều kiện so với các phƣơng pháp truyền thống khác. Các kết quả thực nghiệm cho thấy phƣơng pháp sử dụng là một phƣơng pháp tốt cần đầu tƣ nghiên cứu, phát triển thêm. Để minh họa cho tính ứng dụng của luận văn, tôi cũng trình bày một hệ thống ứng dụng minh họa việc tìm kiếm thông tin hành khách tại sân bay bằng nhận dạng Số hóa bởi Trung tâm Học liệu – Đại học Thái 2 Nguyên http://www.lrc-tnu.edu.vn mặt ngƣời. Chƣơng trình cho tính năng minh họa cho một hệ thống thực và có thể phát triển thành một ứng dụng thực tế nếu đƣợc tích hợp với hệ thống camera bắt hình trực tiếp và cơ sở dữ liệu hành khách thực. Nội dung đề tài gồm những vấn đề sau: MỞ ĐẦU Chƣơng 1 : Đặt vấn đề Chƣơng 2 : Các cơ sở lý thuyết liên quan: - Mạng nơron - Giải thuật di truyền - Vector đặc trƣng thành phần PCA Chƣơng 3 : Phƣơng pháp nhận dạng mặt ngƣời MLP-PCA-GA Chƣơng 4 : Hệ thống ứng dụng minh họa KẾT LUẬN VÀ KIẾN NGHỊ Do hạn chế về khả năng, thời gian cũng nhƣ tài liệu, đề tài không tránh khỏi những sai sót nhất định. Rất mong đƣợc sự chỉ bảo của các thầy cô và các ý kiến góp ý quan tâm của các đồng nghiệp. Số hóa bởi Trung tâm Học liệu – Đại học Thái 3 Nguyên http://www.lrc-tnu.edu.vn Chƣơng 1 TỔNG QUAN 1.1 BÀI TOÁN NHẬN DẠNG MẶT NGƢỜI VÀ NHỮNG KHÓ KHĂN 1.1.1 Bài toán nhận dạng mặt ngƣời Hệ thống nhận dạng mặt ngƣời là một hệ thống nhận vào là một ảnh hoặc một đoạn video (một chuỗi các ảnh). Qua xử lý tính toán hệ thống xác định đƣợc vị trí mặt ngƣời trong ảnh (nếu có) và xác định là ngƣời nào trong số những ngƣời hệ thống đã đƣợc biết (qua quá trình học) hoặc là ngƣời lạ. Hình 1.1 Ví dụ về hệ thống nhận dạng mặt ngƣời 1.1.2 Những khó khăn của nhận dạng khuôn mặt Bài toán nhận dạng mặt ngƣời là bài toán đã đƣợc nghiên cứu từ những năm 70. Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chƣa đạt đƣợc kết quả mong muốn. Chính vì thế vấn đề này vẫn đang đƣợc nhiều nhóm trên thế giới quan tâm nghiên cứu. Khó khăn của bài toán nhận dạng mặt ngƣời có thể kể nhƣ sau: a. Tƣ thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp giữa camera và khuôn mặt. Chẳng hạn nhƣ: chụp thẳng, chụp xéo bên trái 450 Số hóa bởi Trung tâm Học liệu – Đại học Thái 4 Nguyên http://www.lrc-tnu.edu.vn hay xéo bên phải 450, chụp từ trên xuống, chụp từ dƣới lên, v.v...). Với các tƣ thế khác nhau, các thành phần trên khuôn mặt nhƣ mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuất hết. b. Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc trƣng nhƣ: râu mép, râu hàm, mắt kính, v.v... có thể xuất hiện hoặc không. Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều. c. Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt ngƣời có thể làm ảnh hƣởng đáng kể lên các thông số của khuôn mặt. Chẳng hạn, cùng một khuôn mặt một ngƣời, nhƣng có thể sẽ rất khác khi họ cƣời hoặc sợ hãi,v.v... d. Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tƣợng khác hoặc các khuôn mặt khác. e. Hƣớng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các góc quay khác nhau của trục camera. Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh. f. Điều kiện của ảnh: Ảnh đƣợc chụp trong các điều kiện khác nhau về: chiếu sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v...) ảnh hƣởng rất nhiều đến chất lƣợng ảnh khuôn mặt. 1.2 CÁC ỨNG DỤNG LIÊN QUAN ĐẾN NHẬN DẠNG MẶT NGƢỜI Bài toán nhận dạng mặt ngƣời có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau. Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài. Các ứng dụng liên quan đến nhận dạng mặt ngƣời có thể kể nhƣ: - Hệ thống phát hiện tội phạm: camera đƣợc đặt tại một số điểm công cộng nhƣ: siêu thị, nhà sách, trạm xe buýt, sân bay,v.v... Khi phát hiện đƣợc sự xuất hiện của các đối tƣợng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý. - Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công. - Hệ thống giao tiếp ngƣời máy: thay thế việc tƣơng tác giữa ngƣời và máy theo những cách truyền thống nhƣ: bàn phím, chuột,v.v...Thay vào đó là sử dung các giao Số hóa bởi Trung tâm Học liệu – Đại học Thái 5 Nguyên http://www.lrc-tnu.edu.vn tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay (visual input, visual interaction). - Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo ngƣời). Chẳng hạn nhƣ: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có G. Bush hoặc Bin Laden. - Các thệ thống bảo mật dựa trên thông tin trắc sinh học: mặt ngƣời, vân tay,v.v... thay vì xác nhận mật khẩu, khóa,v.v... 1.3 TỔNG QUAN KIẾN TRÚC CỦA MỘT HỆ THỐNG NHẬN DẠNG MẶT NGƢỜI Một hệ thống nhận dạng mặt ngƣời thông thƣờng bao gồm bốn bƣớc xử lý sau: phát hiện khuôn mặt (face detection), phân đoạn khuôn mặt (face alignment hay segmentation), rút trích đặc trưng (feature extraction), và phân lớp khuôn mặt (face classification). Hình 1.2 Các bƣớc chính trong một hệ thống nhận dạng mặt ngƣời Phát hiện khuôn mặt dò tìm và định vị những vị trí khuông mặt xuất hiện trong ảnh hoặc trên các frame video. Phân đoạn khuôn mặt sẽ xác định vị trí mắt mũi, miệng, và các thành phần khác của khuôn mặt và chuyển kết quả này cho bƣớc rút trích đặc trưng. Từ những thông tin về các thành phần trên khuôn mặt, chúng ta có thể dễ dàng tính đƣợc véc-tơ đặc trƣng trong bƣớc rút trích đặc trƣng. Những véc-tơ đặc trƣng này sẽ là dữ liệu đầu vào cho một mô hình đã đƣợc huấn luyện trƣớc để phân loại khuôn mặt. Bên cạnh những bƣớc chính nêu trên, chúng ta còn có thể áp dụng thêm một số bƣớc khác nhƣ tiền xử lý, hậu xử lý nhằm làm tăng độ chính xác Số hóa bởi Trung tâm Học liệu – Đại học Thái 6 Nguyên http://www.lrc-tnu.edu.vn cho hệ thống. Trong luận văn này, tôi tập trung chủ yếu vào bƣớc phân loại khuôn mặt. 1.4. GIỚI HẠN PHẠM VI ĐỀ TÀI Trong đề tài này, tôi tập trung vào một thuật toán hiệu quả cho việc nhận dạng (phân loại) ảnh mặt ngƣời. Do các điều kiện khó khăn của bài toán và để tập trung sâu vào một phần của hệ thống nhận dạng là khối phân lớp, nhận dạng, tôi đƣa ra những giả định và ràng buộc sau nhằm giảm độ phức tạp của bài toán nhận dạng mặt ngƣời: - Thuật toán giải quyết cho ảnh đơn; ảnh khuôn mặt đƣợc chụp thẳng hay góc nghiêng không đáng kể; ảnh đƣợc chụp trong điều kiện ánh sáng bình thƣờng; ảnh đƣợc tiền xử lý trƣớc để cắy lại chỉ còn phần khuôn mặt trong ảnh, do vậy có thể bỏ qua bƣớc phát hiện khuôn mặt (face detection). Với cơ sở dữ liệu thử nghiệm đƣợc lọc một phần từ CSDL của Yale dùng trong luận văn này thì các điều kiện trên đƣợc thỏa mãn. - Luận văn thừa kế các kết quả nghiên cứu nhận dạng mặt ngƣời dùng mạng NN perception đa lớp MLP với thủ tục huấn luyện lan truyền ngƣợc, sử dụng vector đặc trƣng PCA đầu vào, thực nghiệm một thuật toán kết hợp mạng NN và giải thuật di truyền GA để tối ƣu trọng số mạng NN trong bài toán nhận dạng ảnh mặt ngƣời. Việc kết hợp GA và NN nhằm mục đích giảm chi phí huấn luyện và tối ƣu hệ thống. - Luận văn xây dựng một ứng dụng demo cho việc phát hiện thông tin hành khách tại sân bay bằng nhận dạng ảnh tự động. Hệ thống chỉ có tính chất demo, minh họa chứ chƣa có khả năng áp dụng ngay trong thực tiễn. 1.5 CÁC HƢỚNG TIẾP CẬN LIÊN QUAN ĐẾN PHÁT HIỆN VÀ NHẬN DẠNG KHUÂN MẶT Có rất nhiều hƣớng tiếp cận trƣớc đây đã thực hiện liên quan đến vấn đề phát hiện mặt ngƣời. Theo Ming-Hsuan Yang [22], có thể phân loại thành bốn hƣớng tiếp cận chính: dựa trên tri thức (knowledge-based), đặc trƣng bất biến (feature invariant), đối sánh mẫu (template matching), và dựa vào diện mạo (appearance-based) phƣơng pháp này thƣờng dùng một mô hình máy học nên còn đƣợc gọi là phƣơng pháp dựa Số hóa bởi Trung tâm Học liệu – Đại học Thái 7 Nguyên http://www.lrc-tnu.edu.vn trên máy học (machine learning-based). Các phƣơng pháp dựa trên tri thức: Hƣớng tiếp cân này chủ yếu dựa trên những luật đƣợc định nghĩa trƣớc về khuôn mặt ngƣời. Những luật này thƣờng là các mối quan hệ giữa các thành phần trên khuôn mặt. Có một số nghiên cứu từ rất sớm đã áp dụng phƣơng pháp này nhƣ của Kanade 1973 [23], và Kotropoulos 1997 [24]. Hƣớng tiếp cận dựa trên các đặc trƣng bất biến: Hƣớng tiếp cận này cố gắng tìm kiếm những đặc trƣng độc lập – những đặc trƣng không phụ thuộc vào tƣ thế khuôn mặt, điều kiện chiếu sáng, và các khó khăn khác. Các đặc trƣng nhƣ thế đƣợc gọi là bất biến và đƣợc sử dụng để phát hiện khuôn mặt. Những công trình sử dụng hƣớng tiếp cận này có thể kể nhƣ: K. C. Yow và R. Cipolla 1997 [25], T. K. Leung 1995 [26]. Phƣơng pháp đối sánh mẫu: Trong hƣớng tiếp cận này, một mẫu khuôn mặt chuẩn đƣợc định nghĩa bằng tay trƣớc hoặc đƣợc tham số hóa bằng một hàm số. Mẫu này đƣợc sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá trị tƣơng đồng cho mỗi vị trí. Việc xuất hiện một khuôn mặt tại một vị trí nào đó trong ảnh phụ thuộc vào giá trị tƣơng đồng của điểm đó so với mẫu chuẩn. I. Craw 1992 [27] đã áp dụng một mẫu cứng trong khi A. Lanitis 1995 [28] sử dụng một mẫu có thể biến dạng trong bƣớc phát hiện khuôn mặt. Phƣơng pháp dựa trên máy học: Ngƣợc với phƣơng pháp đối sánh mẫu sử dụng các mẫu đƣợc các chuyên gia định nghĩa trƣớc, phƣơng pháp này sử dụng những mẫu đƣợc rút trích qua một quá trình học. Nói cách khác, các thuật toán dựa trên máy học dùng các kỹ thuật phân tích thống kê và máy học để xấp xĩ một hàm phân lớp tuyến tính. Có nhiều mô hình máy học đƣợc áp dụng trong hƣớng tiếp cận này: Eigenface (M. Turk và A. Pentland 1991 [22]), Mô hình dựa trên phân phối (K. K. Sung and T. Poggio 1998 [23]), Mạng Nơ-ron (H. Rowley 1998 [24]), Support Vector Machine (E. Osuna et al 1997 [25]), Phân lớp Bayes (H. Schneiderman và T. Kanade 1998 [26]), Mô hình Markov ẩn (A. Rajagopalan et al 1998 [27]), và các mô hình tăng cƣờng (AdaBoost của P. Viola và M. Jones 2001 [28]; FloatBoost do Stan Z. Li và Zhen Qiu Zhang 2004 [22]). Số hóa bởi Trung tâm Học liệu – Đại học Thái 8 Nguyên http://www.lrc-tnu.edu.vn 1.6 CÁC TIẾP CẬN DÙNG MẠNG NƠRON Mạng nơ ron (NN) đã và đang đƣợc sử dụng trong nhận dạng ảnh mặt ngƣời. Một trong những nghiên cứu đầu tiên dùng NN trong nhận dạng ảnh mặt ngƣời trong [25] đã sử dụng mạng Kohonen nhận dạng ảnh trong một tập mẫu nhỏ các ảnh mặt ngƣời và cho kết quả tốt ngay cả khi ảnh bị nhiễu hay mất một phần ảnh. Mạng NN cũng đƣợc hiện thực dùng phần cứng để nhận dạng ảnh mặt ngƣời trong [23]. Trong [24], mạng NN đƣợc sử dụng để phân loại giới tính dùng vector có 16 thuộc tính nhƣ độ dày của lông mày, độ rộng của mũi và miệng, … Đầu ra của 2 mạng NN đƣợc so sánh, giới tính của ngƣời trong ảnh nhận dạng thử đƣợc xác định bởi mạng có đầu ra lớn hơn. Tỷ lệ nhận dạng đúng đƣợc công bố là 92.5% với ảnh test đã đƣợc huấn luyện và 87.5% với ảnh test chƣa đƣợc huấn luyện. Trong nhiều nghiên cứu nhận dạng ảnh mặt ngƣời dùng mạng NN, loại mạng NN đƣợc cho là hiệu quả nhất là mạng NN perception đa lớp lan truyền ngƣợc (backpropagation MLP) (hình 1.3). Trong [26] hệ thống nhận dạng ảnh mặt ngƣời dùng mạng MLP lan truyền ngƣợc sử dụng cơ sở dữ liệu gồm 100 ảnh của 10 ngƣời khác nhau tự thu thập, tỷ lệ nhận dạng đúng đƣợc công bố là 95.6%. Để giảm số chiều của vector ảnh đầu vào làm giảm khối lƣợng tính toán của mạng NN. Nhiều nghiên cứu gần đây đề xuất dùng đầu vào của mạng NN là vector PCA (vector phân tích các thành phân cơ bản – Principal Component Analysis). Trong [27] hệ thống nhận dạng ảnh mặt ngƣời đƣợc xây dựng dùng vector PCA và mạng NN lan truyền ngƣợc. Cơ sở dữ liệu gồm 200 ảnh đƣợc trích từ cơ sở dữ liệu ảnh công cộng của Yale, hệ thống không chỉ cho kết quả nhận dạng tốt hơn mà còn giảm thời gian huấn luyện, nhận dạng so với các nghiên cứu trƣớc đó. Mặc dù các nghiên cứu nhận dạng ảnh mặt ngƣời dùng mạng NN cho tới hiện nay về cơ bản đã cho các kết quả rất tốt cả về độ chính xác và thời gian, chi phí huấn luyện, các nghiên cứu này vẫn cần đƣợc cải tiến phát triển để tăng tỷ lệ nhận dạng, đặc biệt là giảm khối lƣợng tính toán và giảm thời gian, chi phí huấn luyện. Ngoài giải pháp kết hợp dùng PCA và NN, một giải pháp khác đƣợc một số nhà nghiên cứu gần đây quan tâm là áp dụng giải thuật di truyền GA kết hợp với hệ thống nhận dạng Số hóa bởi Trung tâm Học liệu – Đại học Thái 9 Nguyên http://www.lrc-tnu.edu.vn dùng mạng NN đã có để tối ƣu hệ thống. Luận văn này đi theo hƣớng tiếp cận này. Thuật toán và phƣơng pháp kết hợp MLP-PCA-GA trong hệ thống nhận dạng sẽ đƣợc trình bày chi tiết trong các chƣơng tiếp theo. Hình 1.3. Sơ đồ khối mạng MLP lan truyền ngƣợc Số hóa bởi Trung tâm Học liệu – Đại học Thái 10Nguyên http://www.lrc-tnu.edu.vn Chƣơng 2 CƠ SỞ LÝ THUYẾT 2.1. CƠ SỞ LÝ THUYẾT MẠNG NƠRON NHÂN TẠO 2.1.1. Khái niệm mạng nơron nhân tạo 2.1.1.1.Nơron nhân tạo Nơron nhân tạo (Artificial Neural ) là sự rút gọn hết sức đơn giản của nơron sinh học. Nó có thể thực hiện nhờ chƣơng trình máy tính hoặc bằng mạch phần cứng.Mỗi nơron thực hiện hai chức năng là chức năng đầu vào và chức năng kích hoạt đầu ra. Do đó ta có thể coi mỗi nơron nhƣ là một đơn vị xử lý (PE: processing element). Nó đƣợc xây dựng mô phỏng theo cấu trúc của các nơron sinh học. Mỗi nơron có một số đầu vào giống nhƣ các dây thần kinh tiếp nhận. Các đầu vào này làm nhiệm vụ tiếp nhận thông tin từ các nơron khác hoặc từ tập số liệu gốc vào. Tƣơng tự nhƣ nơron sinh học, mỗi đầu vào của nơron nhân tạo có ảnh hƣởng khác nhau đối với tín hiệu ra của nơron (còn gọi là kết xuất của nơron ). Điều này đƣợc thực hiện nhờ các hệ số đƣợc gán cho từng đầu vào-wi: trọng số của đầu vào thứ i. Giá trị của wi có thể dƣơng hay âm tƣơng tự nhƣ việc có hai loại khớp nối trong mạng nơron sinh học. Nếu wi có giá trị dƣơng thì tƣơng đƣơng với khớp nối kích thích còn nếu wi âm thì tƣơng đƣơng với khớp nối ức chế. Thân nơron sẽ làm nhiệm vụ tổng hợp các tín hiệu đầu vào xử lý để đƣa một tín hiệu ra đầu ra của nơron. Quá trình xử lý, tính toán này sẽ đƣợc đề cập cụ thể ở phần sau. Đầu ra của nơron nhân tạo tƣơng tự nhƣ sợi trục axon của nơron sinh học. Tín hiệu ra cũng có thể tách ra thành nhiều nhánh theo cấu trúc hình cây để đƣa đến đầu vào của các nơron khác. x1 x2 xm    w1 w2 wm bias  Out Hình 2.1. Nơron nhân tạo Số hóa bởi Trung tâm Học liệu – Đại học Thái 11Nguyên http://www.lrc-tnu.edu.vn 2.1.1.2. Mạng nơron nhân tạo Các nơron nhân tạo đƣợc tổ chức thành mạng nơron nhân tạo (Artificial Neural Network). Các nơron thƣờng đƣợc sắp xếp trong mạng thành từng lớp. Đầu ra của mỗi nơron sẽ đƣợc nối đến đầu vào của một số nơron khác theo một cấu trúc phù hợp. Tuy nhiên cấu trúc mạng nơron nhân tạo chƣa thể đạt đƣợc độ phức tạp nhƣ mạng nơron sinh học. Mạng nơron nhân tạo hiện chỉ mới là sự mô phỏng hết sức đơn giản cấu trúc của mạng nơron sinh học. Giữa mạng nơron nhân tạo và mạng nơron sinh học có 3 điểm chung là - Mạng đƣợc xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau một cách phức tạp và hoạt động theo nguyên tắc song song. - Chức năng của mạng đƣợc xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết giữa các phần tử. - Mức độ liên kết giữa các phần tử đƣợc xác định thông qua quá trình học của mạng ( hay còn gọi là quá trình huấn luyện mạng: training). Điểm khác nhau về căn bản giữa Mạng nơron nhân tạo và mạng nơron sinh học là ở tốc độ tính toán, độ phức tạp và tính song song.Tuy xét về tốc độ xử lý của các máy tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con ngƣời nhƣng bộ não lại có thể đồng thời kích hoạt toàn bộ các nơron để làm nhiều công việc khác nhau. Điều này mạng nơron nhân tạo không thể thực hiện đƣợc. Với sự phát triển nhanh chóng của khoa học nhƣ hiện nay thì ta có thể hi vọng sẽ có những bƣớc đột phá mới trong lĩnh vực mô phỏng mạng nơron sinh học. 2.1.1.3.Các ứng dụng của mạng nơron Mạng nơron thích hợp với các ứng dụng so sánh và phân loại mẫu (patern matching and classification), dự báo (prediction) và điều khiển (control). 2.1.2.Mô hình toán học và kiến trúc mạng nơron nhân tạo 2.1.2.1.Mô hình toán học của mạng nơron a. Mô hình toán học của một nơron nhân tạo Dựa trên những kiến thức cơ bản về nơron nhân tạo nhƣ đã trình bày ở phần trên, ta có thể xây dựng một mô hình toán học của nơron nhân tạo nhƣ hình vẽ 2.2 dƣới đây Số hóa bởi Trung tâm Học liệu – Đại học Thái 12Nguyên http://www.lrc-tnu.edu.vn p1 p2 p3 wS,1 wS,2  nnet f a wS,R b (bias) Hình 2.2: Mô hình toán học mạng nơron nhân tạo Các tín hiệu vào (còn gọi là mẫu vào) pi (i=1..R) đƣợc đƣa tới đầu vào của nơron S tạo thành ma trận tín hiệu vào P. Mỗi đầu vào của nơron S sẽ có một trọng số kí hiệu là ws,i (i=1..R) và các trọng số này tạo thành một ma trận trọng số đầu vào W của nơron. Mức ngƣỡng  của nơron có thể đƣợc biễu diễn trong mô hình toán học bằng hệ số bias b ( gọi là thế hiệu dịch). Ta có b=-. Hàm PSP (Post Synaptic Potential function ) khi các đại lƣợng là vô hƣớng là tổng của các tín hiệu vào có trọng số và hệ số bias (khi ở dạng vectơ thì là hàm radial). Nhƣ vậy tín hiệu vào là nnet sẽ đƣợc tính theo công thức sau: nnet  ws ,1 p1  ws , 2 p2  ......  ws , R p R  b (2.1) Viết dƣới dạng ma trận sẽ là: n net  WP  b (2.2) Xem các biểu thức trên thì ta có thể coi hệ số bias nhƣ trọng số của một đầu vào với tín hiệu bằng 1. Có một số loại nơron có thể bỏ qua hệ số bias này. Hàm hoạt hoá activation function (hay còn gọi là hàm truyền đạt transfer function) đƣợc kí hiệu là f sẽ biến đổi tín hiệu đầu vào net thành tín hiệu đầu ra nơron a.Ta có biểu thức: a=f(nnet)=f(WP+b) (2.3) Thông thƣờng thì hàm đầu ra sẽ đƣợc chọn bởi ngƣời thiết kế tuỳ theo mục đích của mạng. Các trọng số và hệ số bias là các thông số điều chỉnh đƣợc của mạng nơron. Chúng đƣợc điều chỉnh bởi một số luật học( learning rule). Nhƣ vậy Số hóa bởi Trung tâm Học liệu – Đại học Thái 13Nguyên http://www.lrc-tnu.edu.vn quan hệ giữa đầu ra và các đầu vào của nơron sẽ tuỳ thuộc vào việc nơron đó đƣợc dùng cho các mụch đích cụ thể nào. b. Cấu trúc mạng nhân tạo Mạng nơron thƣờng đƣợc cấu tạo thành các lớp gồm lớp vào (input layer) ,lớp ra (output layer) và các lớp ẩn (hidden layer). Các nơron trong một lớp chỉ nối với các nơron lớp tiếp theo, không cho phép có các liên kết giữa các nơron trong cùng một lớp Lớp vào là lớp nhận thông tin từ số liệu gốc. Thông tin này đƣợc đƣa đến đầu vào của một số hay toàn bộ các nơron của lớp tiếp theo (lớp ẩn). Nhƣ vậy mỗi nút của lớp ẩn sẽ nhận đƣợc tín hiệu của một số các nút lớp vào. Các giá trị này sẽ đƣợc nhân với hệ số nhân (trọng số) của các nút ẩn và đƣa vào hàm thế sau khớp nối-PSP (Post Synaptic Potential function) thực hiện chức năng đầu vào để tạo tín hiệu duy nhất net. Chức năng kích hoạt đầu ra đƣợc thực hiện bằng hàm hoạt hoá a(.) (activation function) hay còn gọi là hàm truyền f(.) (transfer function). Hàm này sẽ nhận tín hiệu đầu vào net để tạo ra tín hiệu đầu ra của nơron (kết xuất của nơron lớp ẩn). Tín hiệu ra của các nút ẩn lại đƣợc đƣa đến các nút của lớp tiếp theo. Quá trình xử lý tƣơng tự cho đến khi tín hiệu đƣợc đƣa ra tại các nút lớp ra. Đây chính là tín hiệu đầu ra của mạng. Nó chính là giá trị của các biến cần tìm. Mạng nơron có thể tổ chức theo kiểu liên kết đầy đủ (fully connected) tức là đầu ra của các nơron lớp trƣớc sẽ có liên kết với tất cả các nơron ở lớp tiếp theo hoặc ngƣợc lại theo kiểu không đầy đủ-mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo tuỳ theo chức năng của mạng. c. Hàm truyền (Hàm hoạt hoá) Hàm hoạt hoá (activation function) có thể là một hầm tuyến tính hoặc phi tuyến của tín hiệu đầu vào net-nnet ,nó đƣợc chọn để thoả mãn một số đặc điểm kỹ thuật của bài toán mà mạng nơron cần giải quyết. 2.1.2.2. Kiến trúc mạng Mạng nơron nhân tạo nhƣ đã giới thiệu ở trên là sự liên kết của các nơron nhân tạo. Sự xắp xếp bố trí các nơron và cách thức liên hệ giữa chúng tạo nên kiến trúc Số hóa bởi Trung tâm Học liệu – Đại học Thái 14Nguyên http://www.lrc-tnu.edu.vn mạng nơron .Theo cách sắp xếp nơron thì có kiểu kiến trúc một lớp (single layer) và kiến trúc đa lớp (Multiple layer), còn theo cách liên hệ giữa các nơron thì ta có kiến trúc mạng truyền thẳng (feedforward) và kiến trúc mạng hồi qui (recurrent). Ngoài ra còn một loại liên kết theo sự phân bố của các nơron trong không gian hai chiều trong một lớp, gọi là liên kết bên (lateral connection). Với loại liên kết bên này, Kohonel đã tạo ra loại mạng tự tổ chức (Self-Organizing Neural Network). - Theo số lớp: Nếu xét về số lớp thì mạng có cấu trúc là mạng nơron một lớp và mạng nơron nhiều lớp - Mạng nơron một lớp là mạng chỉ có các lớp vào và lớp ra. Đầu vào đƣợc đƣa trực tiếp đến lớp ra. Mạng này có cấu trúc tƣơng đối đơn giản, nó chủ yếu dùng cho các mạng làm chức năng phân loại và thực hiện các hàm đơn giản. - Mạng nơron nhiều lớp là các mạng nơron có thêm một hoặc vài lớp ẩn. Do đó cấu trúc mạng vì vậy mà phức tạp hơn rất nhiều. Tuy nhiên các mạng nơron này lại có khả năng thực hiện các công việc phức tạp hơn. Nó có thể thực hiện đƣợc các hàm phân bố ngẫu nhiên với điều kiện thu thập đƣợc một tập mẫu tin cậy và đủ lớn. - Theo kiểu liên kết của các nơron: Xét theo kiểu liên kết của các nơron thì có cấu trúc mạng nơron truyền thẳng và mạng nơron quy hồi - Mạng nơron truyền thẳng (feedforward Neural Network) là mạng có cấu trúc mà ở đó các liên kết nơron đi theo một hƣớng nhất định, không tạo thành đồ thị có chu trình (Directed Acrylic Graph) với các đỉnh là các nơron và các cung là các liên kết giữa chúng. - Mạng quy hồi (Recurent Neural Network) cho phép các liên kết nơron tạo thành chu trình tức là tồn tại những liên kết từ các nơron lớp sau quay trở lai các nơron lớp trƣớc. Trong chu trình này, các tín hiệu ra của nơron lại đƣợc truyền ngƣợc lại cho các nơron đã kích hoạt chúng do đó mà mạng hồ quy có khả năng lƣu giữ trạng thái trong dƣới dạng các ngƣỡng kích hoạt ngoài các trọng số liên kết nơron. Mạng hồi quy có thể là hồi quy một lớp hoặc hồi quy nhiều lớp. - Kiến trúc mạng tự tổ chức: Loại liên kết bên (lateral connection) thực hiện trên một lớp đƣợc gọi là lớp cạnh tranh (competitive layer). Lớp cạnh tranh thƣờng Số hóa bởi Trung tâm Học liệu – Đại học Thái 15Nguyên http://www.lrc-tnu.edu.vn đƣợc tổ chức nhƣ một lƣới nơron hai chiều, và một tập tín hiệu vào sẽ đồng thời đƣợc đƣa đến tất cả các nơron của lớp. Mỗi nơron của lớp cạnh tranh có một liên kết kích thích (excitatory và có trọng số là dƣơng) với chính nó và có các liên kết ức chế (inhibitory và có trọng số là âm) với các nơron lân cận cùng lớp. Chúng ta có thể tƣởng tƣợng kiểu liên kết này nhƣ một cụm các nơron “cạnh tranh nhau” (competition), mỗi nơron sẽ kích hoạt chính nó đồng thời lại ức chế các nơron khác kế cận. Sau một chu kỳ số trao đổi tín hiệu trong mạng sẽ có các nơron với giá trị đầu vào net lớn hơn so với các nơron khác. Chúng sẽ đƣợc coi là các “nơron chiến thắng” (winning neural) và đƣợc kích hoạt lên giá trị đầu ra lớn nhất, trong khi những nơron khác bị ức chế (giá trị đầu ra giảm xuống 0). Chính vì vậy đôi khi mạng này còn đƣợc gọi là “winner-takes-all”. Quá trình kích hoạt cạnh tranh này gọi là sự tiến hoá (evolution). Thuật toán sắp xếp tự tổ chức (Self Organizing Map Algorthm) còn gọi là sự sắp xếp đặc trƣng tôpô tự tổ chức (Self Organizing Topographic Feature Map) do Kohonel phát triển vào những năm 80, nó đƣợc thực hiện trên mạng nơron với một lớp vào là một mảng một chiều và một lớp cạnh tranh( mảng hai chiều). Kohonel đã tạo ra một kiến trúc mạng khá nổi tiếng trong số các mạng nơron cạnh tranh, đó là mạng SOM (Self Organizing Neural Network) hay còn đƣợc gọi theo tên tác giả là mạng Kohonel. Mạng SOM đƣợc tạo ra xuất phát từ cách thức mà theo đó cảm giác của các giác quan khác nhau của con ngƣời đƣợc sắp xếp theo tổ chức lôgic của các nơron trong bộ não. Hình 2.3: Kiến trúc mạng Kohonen Số hóa bởi Trung tâm Học liệu – Đại học Thái 16Nguyên http://www.lrc-tnu.edu.vn 2.1.3. Huấn luyện mạng 2.1.3.1.Hoạt động của mạng Hoạt động của mạng nơron có thể đƣợc xem nhƣ hoạt động của một hệ thống xử lý thông tin đƣợc cấu thành từ nhiều phần tử hoạt động song song. Nhƣ đã giới thiệu ở mục trƣớc, chức năng của mạng đƣợc xác định bởi cấu trúc ,các liên kết có trọng số và hàm hoạt hoá của các nơron trong mạng. Khi mạng nơron hoạt động, các thành phần của vec tơ tín hiệu vào P=(p1, p2,... pR) đƣợc đƣa vào R nơron của lớp vào, tiếp theo đó các nơron của lớp ẩn và lớp ra sẽ đƣợc kích hoạt dẫn dần. Sau một quá trình tính toán tại các nơron( tổng trọng số đàu vào kết hợp hệ số bias, hàm hoạt hoá), mạng sẽ đƣợc kích hoạt hoàn toàn và cho ra vectơ tín hiệu đầu ra A=(a1,a2,...,aS) tại S nơron ở lớp ra. Với cách mô tả hoạt động nhƣ vậy, ta có thể coi nhƣ mạng nơron nhƣ là một bảng tra cứu giữa P và A, mà không cần biết hàm quan hệ tƣờng minh của A theo P. Nhƣng sự khác biệt với các hệ thống xử lý thông thƣờng là khả năng thích nghi với dữ liệu vào. Điều này là do việc các trọng số và các hệ số bias của mạng có thể hiệu chỉnh đƣợc để thích nghi với bài toán đặt ra. Quá trình hiệu chỉnh các trọng số và hệ số bias của mạng đƣợc gọi là quá trình huấn luyện mạng (training), và mạng sẽ đƣợc huấn luyện theo các thuật toán học (learning algorithm) thích hợp. 2.1.3.2. Huấn luyện mạng a. Học có giám sát Với học có giám sát, mạng đƣợc cung cấp một tập K mẫu học { (PK,TK)} với PK là vectơ tín hiệu vào sẽ đƣợc đƣa vào mạng và theo yêu cầu thì vectơ tín hiệu ra tƣơng ứng sẽ phải là TK (P-Patern input và T-Target output). Thực tế thì vectơ đầu ra lại là ZK và sẽ có một sai số (error) so với TK . Sai số này đƣợc giám sát và truyền trở lại hệ thống để hiệu chỉnh các trọng số liên kết và các hệ số bias của mạng. Quá trình đƣa các mẫu học vào mạng đƣợc lặp đi lặp lại và mỗi lần nhƣ vậy các trọng số và hệ số bias luôn đƣợc hiệu chỉnh , cho đến khi mạng đạt một tiêu chuẩn nào đó thì dừng lại. Số hóa bởi Trung tâm Học liệu – Đại học Thái 17Nguyên http://www.lrc-tnu.edu.vn Mạng ANN Đầu ra thực tế Tạo tín hiệu lỗi tín hiệu lỗi Đầu ra mong muốn Hình 2.4 : Học có giám sát b. Học không có giám sát: Khác với kiểu huấn luyện có giám sát, ở đây tập huấn luyện chỉ bao gồm các vectơ tín hiệu đầu vào { PK}. Huấn luyện là quá trình hệ thống tự tìm ra các nhóm họp ( cluster) của số liệu vào. Điều này thƣờng đƣợc gọi là sự tự tổ chức (selforganizing) hay sự thích ứng (adaption) đầu vào Đầu ra thực tế Mạng ANN Hình 2.5: Học không có giám sát Huấn luyện không đƣợc giám sát khá phức tạp. Việc huấn luyện cho mạng Kohonel là một ví dụ. Các tín hiệu đầu ra không đƣợc biết chính xác và việc hiệu chỉnh trọng số ứng với một mẫu tín hiệu vào để đầu ra của nơron “chiến thắng” lớn hơn hoặc gần giá trị mong muốn, còn tín hiệu đầu ra của các nơron lân cận sẽ đƣợc giảm đi. c. Học tăng cường Mạng ANN tín hiệu phê bình Đầu ra thực tế Tạo tín hiệu phê bình tín hiệu tăng cƣờng Hình 2.6: Học tăng cƣờng Số hóa bởi Trung tâm Học liệu – Đại học Thái 18Nguyên http://www.lrc-tnu.edu.vn
- Xem thêm -