Bài viết trình bày phương pháp tích hợp giải thuật di truyền (Genetic Algorithm: GA) và mạng nơron (Neural Network: NN) lan truyền ngược (Back Propagation: BP) để tránh cực tiểu cục bộ trong kỹ thuật học theo phương pháp hạ Graddient cho lớp bài toán nhận mẫu hoặc dự báo.
ISSN 2354-0575 KẾT HỢP MẠNG NƠ RON VÀ GIẢI THUẬT DI TRUYỀN ỨNG DỤNG CHO LỚP BÀI TOÁN NHẬN MẪU Nguyễn Quang Hoan1, Nguyễn Thị Trang2, Nguyễn Thị Huyền1, Trương Quốc Khánh3, Nguyễn Thị Hoa4 Trường Đại học Sư phạm Kỹ thuật Hưng Yên Trường Đại học Công nghệ Đông Á Trường Trung Cấp nghề số Hà Nội Trường Cao đẳng Nghề Công nghệ Cao, Hà Nội Ngày nhận: 15/06/2016 Ngày sửa chữa: 10/08/2016 Ngày xét duyệt: 19/09/2016 Tóm tắt: Bài báo trình bày phương pháp tích hợp giải thuật di truyền (Genetic Algorithm: GA) mạng nơron (Neural Network: NN) lan truyền ngược (Back Propagation: BP) để tránh cực tiểu cục kỹ thuật học theo phương pháp hạ Graddient cho lớp toán nhận mẫu dự báo Thực vấn đề đó, q trình học NN chia thành hai pha: pha đầu sử dụng GA để xác định tập trọng số (weights) khởi đầu mạng nơron nằm vùng tối ưu; pha hai: dùng thuật toán lan truyền ngược để thu tập trọng số tối ưu toàn cục cuối Các thử nghiệm phương pháp cho nhận mẫu vân tay thực Kết học cách tích hợp GA mạng nơ ron so sánh với việc học mạng nơ ron khơng tích hợp định hướng nghiên cứu tiếp đề xuất Từ khóa: Mạng nơron, thuật tốn lan truyền ngược, giải thuật di truyền, nhận mẫu, dự báo Giới thiệu Có nhiều phương pháp công cụ khác để giải toán dự báo nhận mẫu [4, 5, 13, 14, 15] Để giải trường hợp phi tuyến tốt, tránh rơi vào tối ưu cục bộ, dùng NN lai với GA [6, 7, 8, 9, 10, 11, 15] NN có nhiều cấu trúc khác nhau, thường dùng mạng BP [2, 4, 5] hội tụ nhanh Hạn chế kết học tìm tập trọng tối ưu cục [8]; đó, biện pháp dùng GA để xác định giá trị trọng số khởi đầu thuộc vùng tối ưu toàn cục, đảm bảo mạng có trọng số tối ưu tồn cục Nội dung báo thử nghiệm kết hợp NN GA để giải lớp toán nhận mẫu lớp toán dự báo Giải thuật di truyền GA đề xuất trình tìm kiếm dựa luật chọn lọc tự nhiên di truyền học Thuật tốn sử dụng để tìm giá trị trọng số ban đầu quanh vùng tối ưu mạng nơ ron Hình mơ tả q trình hoạt động của GA [6] với bước: Khởi tạo ngẫu nhiên tạo quần thể ban đầu (thế hệ 0): P0 = (w110, w120,…, w1j0) w ij0 : tập NST (trọng số) hệ Tính giá trị từ hàm thích nghi f(wijt) NST wijt quần thể Pt Dựa vào giá trị thích nghi, tạo NST cách chọn lọc NST cha mẹ, áp dụng Khoa học & Công nghệ - Số 11/Tháng - 2016 thuật toán lai đột biến Loại NST có độ thích nghi kém,thay NST vào quần thể Hình Chu trình hoạt động GA Tính giá trị thích nghi cho NST f(wij’t) chèn vào quần thể Tăng số lượng hệ t chưa đạt điều kiện dừng lặp lại từ bước Khi đạt điều kiện kết thúc dừng cho NST tốt (là trọng số cần tìm) Kết hợp mạng nơron với GA Cho cấu trúc NN Dùng GA tìm tập trọng Journal of Science and Technology 57 ISSN 2354-0575 số nằm miền dẫn chúng tới tối ưu toàn cục cho NN Một quần thể gồm N chuỗi trọng số mạng khởi tạo ngẫu nhiên Sau G hệ tiến hoá, cá thể tốt G hệ giữ lại Các cá thể này, sau đó, giải mã đưa vào NN để học tiếp Trong hệ tích hợp này, q trình học phân thành hai giai đoạn huấn luyện Giai đoạn đầu sử dụng GA với hàm thích nghi (hàm mục tiêu) xác định theo: n n m 1 E = / _ di - yi i = / (di - f ( / (wij x j - w0 ))) i=1 i=1 j=1 (1) đó: di yi tương ứng đầu mong muốn thực tế nơron thứ i; xj đầu vào thứ j; wij trọng số liên kết đầu vào thứ j đến đầu thứ i Giai đoạn hai sử dụng thuật tốn lan truyền ngược để tìm trọng số tối ưu toàn cục từ kết giai đoạn Giai đoạn 1: Pha học dùng GA Thuật toán: Bước Khởi tạo NST ngẫu nhiên (trọng số khởi đầu) cho hệ tham số làm việc Đặt NST tốt best_chromosome Bước Lặp từ i=1 đến kích thước quần thể n Khởi tạo sub_total_fitness sub_best_ chromosome rỗng Bước Lặp từ j=1 đến độ dài NST m - Thực thủ tục truyền thẳng cho mạng lớp sử dụng hàm tương tác dạng sigmoid: (ui) = ; ui = + e - m.ui Giai đoạn 2: Pha học dùng thuật toán lan truyền ngược Bước (Khởi tạo) Chọn ngưỡng lỗi Ethreshold=0 Khởi tạo giá trị trọng số: lấy kết thu từ pha Bước (Bắt đầu chu kỳ học) Áp dụng véc tơ vào lớp vào k NN (k=1): kyi = kOuti = 1Outi = xi , i; Bước (Lan truyền tiến) Lan truyền tiến tín hiệu vào qua mạng, nhận giá trị mạng (ở lớp đầu ra) KOuti Bước (Tính tốn lỗi đầu ra) Tính sai số mạng tín hiệu lỗi kδi nơ ron lớp i n E = / `di(k) - kOuti j i=1 d i = `di(k) - kOuti j f'` Netij 2f đây, f, / 2w ; kui = kNeti ij j=1 k k (4) Bước (Lan truyền ngược lỗi) Lan truyền ngược sai số để cập nhật trọng số tính tín hiệu sai số k-1δi cho lớp trước kWij = h _ kd i i ` k - 1Out j j; k m / wij x j - w0 (2) - Tính hàm mục tiêu (1) - Tính tổng sai số total_fitness cách tích lũy sub_total_fitness Bước Lưu best_chromosome vào sub_ best_chromosome Bước So sánh sub_best_chromosome Đặt sub_best_chromosome lớn best_chromosome Bước Lặp từ i=0 đến kích thước quần thể n - Khởi tạo sub_total_fitness sub_ best_chromosome rỗng; - Lặp từ j=1 tới độ dài NST m * Chọn NSTcha mẹ sử dụng phương pháp chọn theo bánh xe Roulette * Áp dụng phép lai đột biến - Lặp từ k=1 đến độ dài nhiễm sắc thể: * Thực thủ tục truyền thẳng cho mạng * Tính giá trị hàm mục tiêu cho NST cha mẹ - Tính sub_total_fitness cách tích lũy giá trị hàm mục tiêu nhiễm sắc thể - Lưu best_chromosome vào sub_best_ chromosome 58 Bước Thay hệ cũ hệ chưa thỏa mãn điều kiện dừng Wij _t + i = Wij _ t i + Wij _ t i k-1 k d i = f'` k-1 Neti j/ j kWji kd ij (5) k ; Bước Kiểm tra tập học sử dụng Nếu tập liệu học dùng, chuyển đến Bước 6; ngược lại, chuyển đến Bước Bước (Kiểm tra lỗi tổng thể) Nếu lỗi tổng thể E đạt ngưỡng lỗi chấp nhận (Ethreshold), trình học kết thúc trả trọng số tối ưu Ngược lại, gán lại lỗi 0, bắt đầu chu kỳ học (quay Bước 1) Ứng dụng Trong báo, chúng tơi thử nghiệm phương pháp tích hơp nêu cho nhận mẫu vân tay theo đặc trưng mức hai Bài tốn dự báo dùng GA tương tự để tính trọng ban đầu 4.1 Các đặc trưng vân tay Dấu vân tay thể đường vân đầu ngón tay người Có thể chia đặc trưng vân tay (hình a, b, c) thành ba mức độ (level): level 1: mẫu – Pattern); level 2:các điểm đầu, kết thúc, chạc ba – Minutaie; level 3: lỗ chân lông kiểu vân – Pores and Ridge Shape Hầu hết hệ thống nhận mẫu vân tay sử dụng đặc trưng mức mức [5, 6, 11, 12] Khoa học & Công nghệ - Số 11/Tháng - 2016 Journal of Science and Technology ISSN 2354-0575 Chọn 1000 nơron cho lớp ẩn qua thực nghiệm từ kết tối ưu giá trị lỗi trình huấn luyện c Lớp ra: chọn hàm tương tác đầu lớp giống lớp khác (2), đó: neti = / wiq zq = / wiq f e / vqj x j o l l m q=1 q=1 j=1 (9) yi = f _ neti i = f e / wiq zq o = f f / wiq f e / vqj x j o p Hình Các mức độ đặc trưng vân tay Bài báo sử dụng mức hai Mức hai có nhiều kỹ thuật trích chọn đặc trưng khác Trong phạm vi thử nghiệm máy tính xách tay, chúng tơi chọn Core Delta (Hình 2.d) làm gốc tọa độ, chia vân ngón tay thành góc phần tư, góc phần tư mặt phẳng hai chiều; tìm điểm trung bình giá trị kết thúc, bắt đầu chạc ba vân tay Điểm trung bình có giá trị theo tọa độ trục (xi, yi), góc phần tư có giá trị đặc trưng trở thành đặc trưng đầu vào x = [x1 , x2 , …, x8 ] cho NN l l m q=1 q=1 j=1 Trong đó: i nơ ron thứ i n nơ ron đầu chọn tuỳ thuộc vào cách mã hoá đặc trưng đầu Trong toán, chọn số nơ ron lớp n = 10, 2n = 210 lớn số mẫu thử 4.2.2 Nhận mẫu vân tay kết hợp NN GA Nhận mẫu thực thao tác: a) Tải hình ảnh vân tay cần nhận dạng từ tập sở liệu ảnh thu thập chuẩn hóa 4.2 Nhận dạng vân tay 4.2.1 Thiết kế mạng nơron nhân tạo Chọn BP NN ba lớp-đủ khả nhận biết mẫu đầu vào với hàm tương tác đầu liên tục, khả vi, bị chặn [4, 14, 15] (2) Hình Cửa sổ tải hình ảnh vân tay b) Học theo GA: (Hình Chọn Nút: “Thuật tốn GA”): gọi chương trình học theo GA: - Cho trọng số khởi đầu (xem Hình 5, cột bên phải “Kết khởi tạo” - “Kết huấn luyện” Hình cột trái Hình Cấu trúc NN ba lớp lan truyền ngược a Lớp vào (Input Layer) Với tập mẫu đầu vào x, nơron thứ q lớp ẩn xác định: netq = m / v jq x j j=1 j = 1, 2,…, m ; q = 1, 2,…, l (6) m số nơ ron lớp vào, q số nơ ron thứ q l nơ ron lớp ẩn b Lớp ẩn Đầu lớp ẩn zq = f(netq) = f e / vqj x j o m j=1 đó, f(.) hàm tương tác đầu (2) f(netq) = + e - mnetq (7) (8) Khoa học & Công nghệ - Số 11/Tháng - 2016 Hình Thực thuật tốn GA: pha học Journal of Science and Technology 59 ISSN 2354-0575 Kết học dùng thuật tốn GA1 (Hình 6) Hình Kết khởi tạo trọng số thực GA Kết dùng làm khởi tạo cho pha 2: học dùng thuật toán lan truyền ngược NN Trên Hình 6, số lần học tiến hành hiển thị hình tương tác Tỷ lệ lai thử với 25% đột biến 1% NST [11] c) Huấn luyện NN: pha học Nhấn nút “Huấn luyện với ANN”, ta có kết thử nghiêm lần học Hình 4.2.3 Thực nghiệm nhận mẫu Để áp dụng thực nghiệm nhận mẫu vân tay sử dụng phương pháp (Hình 8), chúng tơi áp dụng hệ thống cho Trường Đại học Công nghệ Đông Á, sở liệu vân tay nhân viên Nhà trường 40 nhân viên gần 400 mẫu vân tay Các thông tin nhân viên mẫu vân tay lưu trữ sở liệu hệ thống Trong 400 mẫu, 300 mẫu (75%) vân tay dùng cho việc học 100 (chiếm 25%) mẫu dùng để thử (Test) Mẫu thử chứa mẫu học mẫu chưa học để xem xét khả suy diễn NN Các mẫu tiến hành tiến xử lý kỹ thuật xử lý ảnh, chuẩn hóa độ tương phản, khuôn dạng [1, 3] 4.3 Kết đạt Thử nghiệm tiến hành máy tính có cấu hình: Intel® Core™i5–6500U CPU 2.3 GHz a) Thời gian thực hiện: Phương pháp tích hợp mạng nơron giải thuật di truyền GA–NN có thời gian thực nhanh phương pháp nhận mẫu NN (Bảng 1) Điều dễ giải thích GA–NN đưa vùng tối ưu trước Trong số trường hợp GA– NN cho tập trọng tối ưu, nên thời gian học pha hai nhanh Tuy nhiên, thời gian học giai đoạn với GA dài Có thể đề xuất chiến lược học: cho pha hoc GA học lần đầu (có thể kéo dài), mẫu vân tay cập nhật bỏ qua giai đoạn này, tránh thời gian kéo dài Bảng Thời gian nhận mẫu ANN, GA-NN Mẫu Hình Học thuật tốn lan truyền ngược d) Nhận dạng Mẫu nhận dạng đưa vào NN học Mẫu gán tên người, giới tính (Nam/nữ), ngày sinh, số chứng minh thư, địa chỉ… Hình Nhận mẫu vân tay mạng nơ ron với GA 60 Mẫu Mẫu Mẫu Mẫu Mẫu Thời gian thực nhận dạng (s) ANN 17 33 23 36 42 GA - NN 10 15 12 16 17 Hình So sánh thời gian thực nhận mẫu ANN GA-NN Khoa học & Công nghệ - Số 11/Tháng - 2016 Journal of Science and Technology ISSN 2354-0575 b) Tốc độ nhận mẫu (%): Tốc độ nhận mẫu phương pháp GA-NN cao so với phương pháp ANN Bảng Tốc độ nhận mẫu ANN GA-NN Mẫu Mẫu Mẫu Mẫu Mẫu Mẫu Tốc độ nhận dạng (%) ANN GA - NN 86 98 82 98.22 90 99.21 92 99.33 89 98.85 Kết luận NN tích hợp với GA có khả tối ưu q trình học tồn cục, giúp ta xác định tốt trọng số ứng với lỗi nhỏ NN tích hợp có kết tốt so với khơng tích hợp, nhiên, thời gian học giai đoạn (với GA lớn) Mỗi lần dùng GA, cho kết khác phụ thuộc vào điểm lai, quần thể lai đột biến Mỗi lần học pha1 GA cho kết quả, thời gian học, số vòng lặp khác Trong thực nghiệm lai GA-NN, chúng tơi giải tốn nhận mẫu hồn tồn sử dụng cho lớp tốn dự báo toán khác kiểu tương tự Hướng tiếp theo, nghiên cứu cải tiến để chạy máy tình cấu hình lớn với nhiều tham số cấp độ vân tay mức ba Các thử nghiệm cố gắng phong phú số mẫu, chi tiết Các kết thông báo cơng bố Hình 10 Tốc độ nhận mẫu ANN GA-NN Tài liệu tham khảo [1] Nguyễn Quang Hoan, Xử lý ảnh, Học viện Công nghệ Bưu Viễn thơng, 2013 [2] Nguyễn Quang Hoan, Vũ Thị Giang Mạng nơron Kohonen khả ứng dụng Tạp chí Khoa học Cơng nghệ Qn sự, 2013 [3] Lương Mạnh Bá, Nguyễn Thanh Thuỷ, Nhập môn xử lý ảnh số, NXB Khoa học Kỹ thuật, 2003 [4] Nguyễn Quang Hoan, Nguyễn Thị Thảo, Vũ Thành Vinh, Nhận mẫu ký tự sử dụng mạng nơron lan truyền ngược, Tạp chí Khoa học Cơng nghệ, Trường Đại học Sư phạm Kỹ thuật Hưng Yên, số 7/9/2015 [5] Đỗ Thanh Long, Nguyễn Quang Hoan, Nguyễn Thị Hoa, Hệ thống nhận mẫu vân tay sử dụng mạng nơron nhân tạo, Tạp chí Khoa học Cơng nghệ, Trường Đại học Sư phạm Kỹ thuật Hưng Yên, số 7/9/2015 [6] Le Hoai Bac, Le Hoang Thai, Neural Network & Genetic Algorithm Application Handwritten Character Recognition, Tạp chí Tin học Điều khiển học, T 17, S 4, 2001 [7] Sowmya Ravi, Neeraja Ganesan, Vandita Raju, Search Engines Using Evolutionary Algorithms, International Journal of Communication Network Security ISSN: 2231 – 1882, Volume-1, Issue-4, 2012 [8] David J Montana, Neural Network Weight Selection Using Genetic Algorithms, Bolt Beranek and Newman Inc 70 Fawcett Street, Cambridge, MA 02138, 2013 [9] Liu Han-li, Li Lin, Zhu Hai-hong, Genetic Neural Network Based Data Mining and Application in Case Analysis of Police Office, School of Resource and Environment Science, Wuhan University, 129 Luoyu Road, Wuhan, P.R.China, 430079, 2011 [10] David J Montana and Lawrence Davis, Training Feedforward Neural Networks Using Genetic Algorithms, BBN Systems and Technologies Corp.10 Mouiton St.Cambridge, MA 02138, 2012 [11] Dhia A Alzubaydi, Thikra M Abed, Genetic Algorithm and Probabilistic Neural Networks for Fingerprint Identification, International Journal of Computer Applications (0975 – 8887), Volume 101– No.11, September 2014 Khoa học & Công nghệ - Số 11/Tháng - 2016 Journal of Science and Technology 61 ISSN 2354-0575 [12] Roli, Priti Shgal and Punam Bedi, Minutiae Extraction from Fingerprint Images - a Review, IJCSI International Journal of Computer Science Issues, Vol 8, Issue 5, No 3, 2011 [13] Tu Le Anh, Hoan Nguyen Quang, Thai Le Son, Hierarchy Supervised SOM Neural Network Applied for Classification Problem, Journal of Computer Science and Cybernetics, V.24, N.3 (2014), pp 278-290 [14] Hoan Nguyen Quang, Tu Le Anh, Clustering Hierarchical Data Using SOM Neural Network, ICCASA 2012, LNICST 109, pp 282–289, 2013 [15] Rajendra Arvind Akerkar and Priti Srinivas Sajja, Knowledge-Based Systems, Jones and Bartlett Publisher, 2010 NEURAL NETWORKS AND GENETIC ALGORITHM FOR FINGERPRINT PATTERN RECOGNITION Abstract: In this paper, we integrate Genetic Algorithm (GA) with Backpopagation Neural Network (BP NN to remove local minimums when using Gradient Recent technique for some problems such as pattern recognitions or forecasting With this method, learning process can be divided in two phases: first phase using GA to define initial NN weighs; second phase using traditional BP Algorithm to receive global optimization weights We to make some experiments using the intergrated technique on Fingerprint Recognition and to compare the results of the technique with the non-ingterated NN Keywords: Backpropagation, Genetic Algorithm, Pattern Fingerprint Recognition, Forecasting 62 Khoa học & Công nghệ - Số 11/Tháng - 2016 Journal of Science and Technology ... j=1 Trong đó: i nơ ron thứ i n nơ ron đầu chọn tuỳ thuộc vào cách mã hoá đặc trưng đầu Trong toán, chọn số nơ ron lớp n = 10, 2n = 210 lớn số mẫu thử 4.2.2 Nhận mẫu vân tay kết hợp NN GA Nhận mẫu. .. Lớp vào (Input Layer) Với tập mẫu đầu vào x, n? ?ron thứ q lớp ẩn xác định: netq = m / v jq x j j=1 j = 1, 2,…, m ; q = 1, 2,…, l (6) m số nơ ron lớp vào, q số nơ ron thứ q l nơ ron lớp ẩn b Lớp. .. ngược d) Nhận dạng Mẫu nhận dạng đưa vào NN học Mẫu gán tên người, giới tính (Nam/nữ), ngày sinh, số chứng minh thư, địa chỉ… Hình Nhận mẫu vân tay mạng nơ ron với GA 60 Mẫu Mẫu Mẫu Mẫu Mẫu Thời