3.2.3. Huấn luyện mạng MLP
Đối với mạng MLP nhận dạng khuôn mặt các neural lớp ẩn đóng vai trò tính ra các giá trị đặc trƣng đại diện cho khuôn mặt để đƣa đến các lớp phía saụ Mạng đƣợc huấn lƣyện bằng ảnh trong tập train image lấy từ cơ sở dữ liệụ
Sau khi đã tạo xong mạng nơron, việc rất quan trọng là phải huấn luyện mạng để mạng có thể nhận dạng đƣợc. Ta sẽ chuẩn bị một tập các ảnh mẫu cho mỗi ngƣờị Cho các ảnh mẫu này qua tất cả các mạng. có 4 khả năng xảy ra:
1. Ảnh mặt có đầu ra tại chính mạng của đầu đấy là cao hơn so với đầu ra trên các mạng khác. Trƣờng hợp này không phải thực hiện gì.
2. Ảnh mặt có đầu ra cao tại chính mạng của ngƣời đấy và một số mạng khác. Ta sẽ lấy ảnh này làm mãu tiêu cực cho các mạng khác.
3. Ảnh mặt có đầu ra thấp tại chính mạng của ngƣời đấỵ Ta sẽ lấy ảnh này làm mẫu tích cực cho chính mạng đó và mẫu tiêu cực cho các mạng khác.
4. Ảnh mặt có đầu ra thấp tại chính mạng của ngƣời đấy và có đầu ra tại các mạng khác. Ta sẽ lấy ảnh này làm mẫu tiêu cực cho các mạng khác hoặc có thể loại bỏ ảnh mẫu nàỵ
Sau khi đã luyện song ta sẽ lƣu các trọng số của mạng nơron để phục vụ nhận dạng sau nàỵ Khi cần nhận dạng mặt mới, ta đƣa tập ảnh mẫu vào tập mẫu và luyện lại các mạng. Sau khi luyện song ta có thể thực hiện nhận dạng.
Quá trình huấn luyện nhƣ trên thực chất là đào tạo (train) cho mạng có khả nặng nhận biết các đối tƣợng cần nhận dạng. Việc làm này cũng tƣơng tự việc đƣa ra M ảnh của một ngƣời rồi cho mạng học để ghi nhớ ngƣời này vào CSDL sau đó lấy ảnh khác để kiểm tra khả năng học của mạng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 47
3.3 TỐI ƢU VIỆC HUẤN LUYỆN MẠNG MLP BẰNG GA
Mặc dù mạng NN đƣợc cho là công cụ rất tốt với các hệ thống nhận dạng ảnh nói chung và nhận dạng ảnh mặt ngƣời nói riêng, chi phí huấn luyện đối dùng mạng NN đƣợc xem là rất tốn kém.
Cho dù đặc trƣng PCA đã giảm số chiều của vector đặc trƣng thì chi phí tính toán đối với NN vẫn là lớn. Vấn đề tối ƣu mạng NN do đó là một vấn đề quan trọng.
Trong mục cơ sở lý thuyết về GA đã trình bày, một trong các ứng dụng quan trọng của GA là đƣợc dùng để tối ƣu hóa mạng NN. Vì vậy, gần đây một số tác giả đã đề xuất giải pháp kết hợp NN và GA để tối ƣu thao tác huấn luyện cho hệ thống. Luận văn này đi theo cách tiếp cận nàỵ Ý tuởng cơ bản của việc sử dụng GA ở đây là tìm kiếm trọng số tối ƣu để đƣa vào mạng MLP, ở đây gọi là thuật toán MLP-GẠ.
Thuật toán huấn luyện mẫu sử dụng trong luận văn này đƣợc tham khảo từ thuật toán đề xuất trong [28]. Trong đó, GA đƣợc sử dụng kết hợp để tối ƣu quá trình huấn luyện bằng cách tìm trọng số tối ƣu cho mạng MLP.
Thuật toán đƣợc mô tả nhƣ trong hình 3.1 bao gồm 02 giai đoạn học. Giai đoạn học thứ nhất sử dụng thuật toán GA với bƣớc truyền thẳng để tăng tốc cả quá trình học. Thuật toán GA thực hiện tìm kiếm toàn cục và tìm kiếm điểm khởi tạo gần tối ƣu (vector trọng số) cho giai đoạn học thứ haị Ở đó, mỗi cá thể đƣợc sử dụng để mã hóa các trọng số của mạng nơ ron.
Hàm gán thang điểm ƣớc lƣợng (hàm mục tiêu fitness) cho GA đƣợc định nghĩa là tổng bình phƣơng lỗi (TSSE – Total Sum Squared Error) của mạng nơ ron tƣơng ứng.
Do vậy, nó trở thành một bài toán tối ƣu không giám sát để tìm ra một tập các tham số quyết định bằng cách tối thiểu hóa hàm mục tiêụ
Giá trị tốt nhất của hàm mục tiêu fitness cho GA trong một quần thể đƣợc định nghĩa là giá trị nhỏ nhất của mục tiêu trong quần thể hiện tạị
Thuật toán GA-MLP bao gồm 02 giai đoạn học đƣợc mô tả bằng mã giả nhƣ sau:
/* Giai đoạn học thứ nhất dùng thuật toán GAs */
Khởi tạo ngẫu nhiên các cá thể trong thế hệ hiện tại, khởi tạo các tham số, đặt cá thể đầu tiên là cá thể tốt nhất best_chromosome
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 48
sub_total_fitness = 0;
sub_best_chromosome = null;
b – For j = 1 to length_of_chromosomes, -thực hiện thủ tục truyền thẳng của mạng MLP -tính toán hàm mục tiêu (lỗi hệ thống của mạng NN) Next j
-Tính giá trị total_fitness bằng cách cộng dồn giá trị sub_total_fitness c – Lƣu giá trị best_chromosome bằng sub_best_chromosome
Next i
d – So sánh các giá trị biến sub_best_chromosome và đặt giá trị sub_best_chromosome tốt nhất bằng best_chromosome
e – For i = 0 to population_size/2,
-sub_total_fitness = 0; sub_best_chromosome = null; -For j = 1 to length_of_chromosome,
o Chọn cá thể cha
oÁp dụng phƣơng pháp 2 điểm, đa điểm, đơn điểm chéo cho các cá thể cha -For k = 1 to length_of_chromosome,
o thực hiện thủ tục lan truyền thẳng của mạng MLP cho các cá thể cha
o Tính toán hàm mục tiêu cho các cá thể cha Next k
-Tính toán sub_total_fitness bằng cách cộng dồn giá trị hàm mục tiêu của các cá thể
-Lƣu biến best_chromosome bằng giá trị sub_best_chromosome Next j
g – Thay thế hệ cũ bằng thế hệ mới trong khi tiêu chuẩn dừng chƣa thỏa mãn
/* Giai đoạn học thứ hai dùng mạng MLP */
-Đặt best_chromosome làm giá trị khởi tạo của vector trọng số của mạng MLP, khởi tạo cấu trúc mạng MLP.
-Tính đầu ra thực sự của mạng MLP truyền thẳng -Tính lỗi giữa đầu ra mong muốn và đầu ra thực sự
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 49
3.4 CƠ SỞ DỮ LIỆU ĐỂ ĐÁNH GIÁ THỬ NGHIỆM
Để đánh giá, so sánh hiệu quả của các phƣơng pháp MLP dùng đặc trƣng PCA và phƣơng pháp kết hợp với GA, chúng ta cần một cơ sở dữ liệu ảnh để đánh giá thực nghiệm.