Signal processing using multilayer perceptron

39 249 0
Signal processing using multilayer perceptron

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN KHOA HỌC MÁY TÍNH NHÓM VHCC MULTILAYER PERCEPTRON CÁC VẤN ĐỀ TỒN TẠI VÀ HƯỚNG GIẢI QUYẾT BÁO CÁO ĐỀ TÀI MÔN CÁC HỆ CƠ SỞ TRI THỨC GIÁO VIÊN HƢỚNG DẪN TS. LÊ HOÀNG THÁI TP. HCM, 2011 2 Mục lục CHƢƠNG 1 : TỔNG QUAN 4 1.1. PERCEPTRON 4 1.2. THUẬT TOÁN HỌC PERCEPTRON. 5 1.3. THUẬT TOÁN LAN TRUYỀN NGƢỢC. 5 1.4. CÁC VẤN ĐỀ CỦA MẠNG MLP: 6 CHƢƠNG 2 : QUÁ TRÌNH HUẤN LUYỆN CỦA MLP: 8 2.1. GỌI TÊN LẠI CÁC KHÁI NIỆM CƠ BẢN 8 2.2. TIẾP CẬN VẤN ĐỀ: 9 2.2.1. Thuật toán Output Weight Optimization – Back Propagation(OWO-BP) 9 2.2.2. Phƣơng pháp Hidden Weight Optimization (HWO): 9 2.2.3. Cơ sở lý thuyết của phƣơng pháp OWO-HWO: 10 2.2.4. Giải thuật: 11 2.2.5. Một số ví dụ thể hiện tính ƣu việt của thuật toán: 12 CHƢƠNG 3 : THUẬT TOÁN ĐỊNH KÍCH THƢỚC 14 1.1. PIECEWISE LINEAR NETWORK – PLN 14 1.1.1. Cấu trúc: 14 1.1.2. Các khái niệm cơ bản về PLN 15 1.1.3. Cách thức xử lý của PLN: 15 1.1.4. Thuật toán huấn luyện PLN 16 1.1.5. Thuật toán Sequential Leader Clustering 17 1.2. PATTERN STORAGE 18 1.3. SIZING ALGORITHM (THUẬT TOÁN ĐỊNH KÍCH THƢỚC) 18 1.3.1. Những giả thuyết cơ sở. 18 1.3.2. Các bổ đề 19 1.3.3. Thuật toán xác định kích thƣớc (Sizing Algorithm). 19 CHƢƠNG 4 : XÁC ĐỊNH ĐỘ LỖI VÀ CỰC TIỂU CỦA ĐỘ LỖI. 22 4.1. CƠ SỞ TOÁN HỌC 22 4.2. CỰC TIỂU CRAMER-RAO 23 4.3. XÁC ĐỊNH CỰC TIỂU SAI SỐ TRONG MLP. 24 4.4. ỨNG DỤNG TRONG XỬ LÝ TÍN HIỆU SỐ. 27 3 CHƢƠNG 5 : TÌM HIỂU THỰC TẾ VÀ XÂY DỰNG DEMO. 29 5.1. TÌM HIỂU VÀ SỬ DỤNG MLP-BP TRONG LĨNH VỰC NHẬN DẠNG 29 5.1.1. Xây dựng mẫu huấn luyện và mẫu thử: 29 5.1.2. Chọn đặc trƣng (đặc trƣng do nhóm tự nghiên cứu và chọn dựa) 29 5.1.3. Kết quả huấn luyện và thử nghiệm (bằng weka) 34 5.2. DEMO SỬ DỤNG THUẬT TOÁN ĐỊNH KÍCH THƢỚC (SIZING ALGORITHM) 36 CHƢƠNG 6 : KẾT LUẬN 38 THAM KHẢO : 39 4 CHƢƠNG 1 : TỔNG QUAN 1.1. PERCEPTRON Là mạng neural nhân tạo đơn giản nhất gồm một neural với các trọng số có thể điều chỉnh đƣợc và một giới hạn cứng. Perceptron phân loại các input thành hai lớp A1 và A2 bị chia cách bởi một siêu phẳng cho bởi hàm phân biệt tuyến tính  Một perceptron học bằng cách điều chỉnh siêu phẳng phân biệt theo sai số e(p) = Yd(p) – Y(p) với Yd/Y(p) là kết xuất thực/mong muốn tại bƣớc p  Nếu e(p) > 0  tăng Y(p), ngƣợc lại giảm Y(p).  Nếu xi(p) > 0  tăng w i (p) sẽ làm tăng Y(p). Ngƣợc lại nếu x i (p) < 0, tăng w i (p) sẽ làm giảm Y(p).  Do đó, luật học perceptron có thể đƣợc viết là với  là tốc độ học 5 1.2. THUẬT TOÁN HỌC PERCEPTRON.  Khởi tạo: (w1, w2,…, wn, t)  [-0.5, 0.5]  Kích hoạt: tính kết xuất thực sự tại lần lặp p = 1  Cập nhật trọng số:  Lặp: tăng p lên 1 và lặp lại bƣớc 2. 1.3. THUẬT TOÁN LAN TRUYỀN NGƢỢC. Quá trình học gồm hai pha:  Lan truyền các mẫu input từ lớp nhập đến lớp xuất.  Giá trị sai số đƣợc tính đầu tiên cho lớp xuất, kết quả này đƣợc dùng để tính sai số của các neural ở lớp ẩn cao nhất, và lớp ẩn kế tiếp thì tính theo kết quả của lớp ẩn cao hơn nó. Cứ thế lan truyền cho đến lớp nhập. Mô phỏng thuật toán lan truyền ngược 6 Bƣớc 1 : Tạo mạng truyền thẳng có n in Neural đầu vào n hidden Neural trên mỗi lớp ẩn và h lớp ẩn với n out đầu ra Bƣớc 2 : Khởi tạo bộ trọng cho mạng với giá trị nhỏ Bƣớc 3 : Trong khi <điều kiện kết thúc chưa thỏa> làm Với mỗi cặp (x, t) trong không gian mẫu huấn luyện thực hiện: • Xét lớp nhập (*): truyền x qua mạng, tại mỗi lớp xác định đầu ra của mỗi Neural. Quá trình này đƣợc thực hiện đến lớp xuất dựa theo cấu trúc mạng cụ thể. • Xét lớp xuất: đối với đầu ra ok của Neural k trong lớp xuất K, xác định sai số • Chuyển sang lớp ẩn L kế nó, đặt L=K-1 • Xét lớp ẩn (**): với mỗi Neural I trên lớp ẩn thứ L, xác định sai số: • Cập nhật lại trọng số có trong mạng , wij • Nếu L > 1 thì chuyển sang lớp ẩn trên nó: L = L – 1 và quay lại bƣớc (**) • Ngƣợc lại : chọn cặp (x, t) mới trong không gian mẫu học, quay lại bƣớc (*) 1.4. CÁC VẤN ĐỀ CỦA MẠNG MLP: 1. Các thuật toán huấn luyện thƣờng tốn nhiều thời gian và không phải luôn luôn hội tụ. 2. Sự ràng buộc giữa lỗi huấn luyện và cấu trúc mạng không đƣợc biết trƣớc. Việc lựa chọn kiến trúc mạng đƣợc đơn giản hóa thành việc lựa chọn số lƣợng phần tử có trong lớp ẩn N h . Tuy nhiên, để lựa chọn đƣợc N h cho phù hợp thì không dễ dàng…. 7 3. Hiệu suất huấn luyện không biết trƣớc (thời gian huấn luyện, độ lỗi của mạng). 4. Khó xác định độ lỗi của mạng từ tập huấn luyện. 5. Khó xác định độ lớn của tập huấn luyện. Hƣớng giải quyết : – Chƣơng 2 sẽ giải quyết vấn đề 1 bằng cách đƣa ra một thuật toán hiệu quả hơn. – Chƣơng 3 mô tả thuật toán giúp xác định kích thƣớc mạng MLP thông qua mạng PLN có cùng Pattern storage. Sau đó, hiệu năng hoạt động của MLP và PLN đƣợc đánh giá trên tập dữ liệu ngẫu nhiên. Qua đó, mở ra hƣớng giải quyết cho vấn đề 2 và 3. – Chƣơng 4 sẽ giới thiệu cho chúng ta một phƣơng pháp áp dụng bất đẳng thức Cramer-Rao để xác định cực tiểu của độ lỗi : CRMAP - Cramer Rao maximum a posteriori. Giá trị cực tiểu này chính là tiêu chí để có thể đánh giá mức tối ƣu của quá trình huấn luyện, cũng nhƣ giúp chúng ta giải quyết vấn đề 4, 5 đã đề cập ở trên. 8 CHƢƠNG 2 : QUÁ TRÌNH HUẤN LUYỆN CỦA MLP: Nhƣ đã nêu trên, các thuật toán huấn luyện thƣờng tốn nhiều thời gian và không phải luôn luôn hội tụ. Do đó chúng ta cần một thuật toán nhanh hơn và khả năng hội tụ cao hơn trong quá trình huấn luyện. 2.1. GỌI TÊN LẠI CÁC KHÁI NIỆM CƠ BẢN Để tiếp cận vấn đề dễ dàng, chúng ta định nghĩa lại các khái niệm cơ bản sau: - Tập huấn luyện gồm N v mẫu {(x p , t p )}  p là mẫu thứ p  x p là vector đầu vào kích thƣớc N  t p là vector đầu ra mong muốn kích thƣớc M  y p là vector đầu ra thực sự.  Độ đo quan hệ của nơron thứ j: (tƣơng dƣơng với z)                       N h : số lượng nơron ẩn w(j,i) là trọng số giữa node vào thứ i và node ẩn thứ j 9 x p (N+1) = 1 - Z là hệ số học. - Độ lỗi với mẫu thứ p:              - Độ lỗi với node ra thứ k:                    - Phƣơng sai mẫu – MSE (mean square error):                  2.2. TIẾP CẬN VẤN ĐỀ: Các nghiên cứu đã chỉ ra rằng các kỹ thuật huấn luyện nhanh liên quan đến việc giải các hệ phƣơng trình tuyến tính. 2.2.1. Thuật toán Output Weight Optimization – Back Propagation(OWO- BP) - Trọng số đầu ra đƣợc tìm bằng cách giải các phƣơng trình tuyến tính. - Trọng số của lớp ẩn đƣợc tìm bằng phƣơng pháp lan truyền ngƣợc. - Tuy nhiên, Back Propagation không phải là phƣơng pháp hiệu quả để cập nhật trọng số của các lớp ẩn.  Thay thế giải thuật lan truyền ngƣợc bằng một phƣơng pháp hiệu quả hơn. 2.2.2. Phƣơng pháp Hidden Weight Optimization (HWO): - Sử dụng các độ lỗi riêng biệt cho mỗi node ẩn. - Giải các hệ phƣơng trình tuyến tính để tìm ra trọng số tối ƣu cho các node ẩn.  Bằng cách làm nhỏ các độ lỗi đơn giản thay vì một độ lỗi lớn và phức tạp, tốc độ huấn luyện và độ hội tụ sẽ đƣợc cải thiện. Tuy nhiên, phƣơng pháp này đòi hỏi các một đo mong muốn (độ đo lý tƣởng mà thƣờng không tồn tại). Thông thƣờng, các độ đo này sẽ đƣợc xây dựng nhƣ sau:              10 net pd là độ đo mong muốn net p là độ đo thực δ p là hàm delta            2.2.3. Cơ sở lý thuyết của phƣơng pháp OWO-HWO: Trong giải thuật OWO – HWO, trọng số sẽ đƣợc cập nhật nhƣ sau: w(j,i)  w(j,i) + Z.e(j,i) với e(j,i) là độ thay đổi của trọng số Khi đó:                       Suy ra                          Giản lƣợc net p (j) ta đƣợc:                 Bằng cách làm nhỏ giá trị                             ta sẽ tìm đƣợc các giá trị e(j,i) mong muốn. Khi đó các trọng số của node ẩn sẽ đƣợc cộng vào giá trị w(j,i) = Z.e(j,i) Độ thay đổi của phƣơng sai mẫu sẽ đƣợc tính                    Khả năng hội tụ [...]... bổ đề Bổ đề 1 : Pattern storage của mạng multi-layer perceptron có giá trị nhỏ nhất bằng số lƣợng các tham số gắn với một output Nói cách khác, giá trị này sẽ bằng tổng số lƣợng các phần tử trong lớp ẩn, số lƣợng input và ngƣỡng của output SL = N + Nh + 1 N: số neuron ở lớp input Nh: Số phần tử lớp ẩn Bổ đề 2 : Pattern storage của mạng Multilayer- Perceptron đƣợc cho bởi công thức: ( ) ( ) ( ) N: số... DỤNG THUẬT TOÁN ĐỊNH KÍCH THƢỚC (SIZING ALGORITHM) 5.2.1 Giới thiệu sơ lƣợc về Demo Demo mô phỏng lại việc sử dụng thuật toán định kích thƣớc để xác định số lƣợng các phần tử trong lớp ẩn của mạng Multilayer Perceptron (MLP) Qua đó, giúp xây dựng cấu trúc mạng MLP thích hợp và tăng hiệu năng trong quá trình huấn luyện mạng cũng nhƣ trong quá trình xử lí nhận dạng Demo bao gồm 2 phần:  Xây dựng Piecewise... Information Matrix) đƣợc xác định : 25 Eθ[.] : kỳ vọng trên vector tham số θ En[.]: kỳ vọng trên độ nhiễu (noise) Giả sử phần tử thứ k của vector x đƣợc mô hình hóa : x(k) = s(k) + n(k) s : vector tín hiệu (signal vector) n : vector độ nhiễu (noise vector) Từ đó ta có : Đƣợc làm rõ từ phần giới thiệu bất đẳng thức Cramer-Rao Với ( Đặt ( là ma trận hiệp phƣơng sai (kích thƣớc NxN) ) là phần tử của nghịch đảo

Ngày đăng: 03/07/2015, 15:49