Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
770,16 KB
Nội dung
Học Máy (IT 4862) Nguyễn ễ Nhật hậ Quang quangnn-fit@mail.hut.edu.vn Trường Đại học Bách Khoa Hà Nội Viện Công nghệ thông tin truyền thông Năm học 2011-2012 Nội dung d môn ô học: h Giới thiệu chung g Đánh giá hiệu hệ thống học máy Các phương pháp học dựa xác suất Các phương pháp học có giám sát Học mạng nơron nhân tạo (Artificial neural network) Các phương pháp học không giám sát L cộng Lọc ộ tác tá Học tăng cường Học Máy – IT 4862 Mạng nơ-ron nhân tạo – Giới thiệu (1) Mạng nơ-ron nhân tạo (Artificial neural network – ANN) Mô hệ thống nơ-ron sinh học (các não người) ANN cấu trúc (structure/network) tạo nên số lượng nơ-ron (artificial neurons) liên kết với Mỗi nơ-ron Có đặc tính vào/ra Th hiệ Thực ột tính tí h toán t cục ((một ột hàm hà cục bộ) Giá trị đầu nơ-ron xác định Đặc tính vào/ra Các liên kết với nơ-ron khác (Có thể) đầu vào bổ sung Học Máy – IT 4862 Mạng nơ-ron nhân tạo – Giới thiệu (2) ANN xem cấu trúc xử lý thông tin cách p phân tán song g song g mức cao ANN có khả học (learn), nhớ lại (recall), khái quát hóa (generalize) từ liệu học –bằng cách gán điều chỉnh (thích nghi) giá trị trọng số ố (mức độ quan trọng) liên kết nơ-ron Chứ Chức ă (hà (hàm mục tiê tiêu)) ủ ột ANN đ xác đị định h Kiến trúc (topology) mạng nơ-ron Đặc tính vào/ra nơ nơ-ron ron Chiến lược học (huấn luyện) Dữ liệu ệ học ọ Học Máy – IT 4862 ANN – Các ứng dụng điển hình (1) Xử lý ảnh Computer vision Xử lý tín hiệu Ví dụ: d Phâ Phân tí tích h tí tín hiệu hiệ hì hình h thái đị địa chấn, hấ động độ đất Nhận dạng mẫu Ví dụ: So khớp, khớp tiền xử lý, lý phân đoạn phân tích ảnh, ảnh computer vision, vision nén ảnh, xử lý hiểu ảnh thay đổi theo thời gian Ví dụ: Trích chọn thuộc tính, phân loại phân tích tín hiệu ra-đa, đa, nhận dạng hiểu giọng nói, nhận dạng dấu vân tay, nhận dạng ký tự (chữ số), nhận dạng mặt người, phân tích chữ viết tay Y tế Ví dụ: Phân tích hiểu tín hiệu điện tim, chẩn đoán loại bệnh, xử lý ảnh lĩnh vực y tế Học Máy – IT 4862 ANN – Các ứng dụng điển hình (2) Các hệ thống quân Các hệ thống tài Ví dụ: Cài đặt song song toán thỏa mãn ràng buộc, tìm lời giải cho h toán t người ời đưa đ hà hàng, điề khiển điều khiể khoa kh học h nghiên hiê cứu ứ ề người máy (robotics) Các hệ thống lượng Ví dụ: Phân tích thị trường chứng khoán, đánh giá giá trị bất động sản, kiểm tra truy cập thẻ tín dụng, dụng kinh doanh cổ phiếu Lập kế hoạch, điều khiển, tìm kiếm Ví dụ: Phát thủy lôi, lôi phân loại nhiễu ra-đa đa Ví dụ: Đánh giá trạng thái hệ thống, phát khắc phục cố, dự đoán tải (khối lượng) công việc, đánh giá mức độ an toàn .(và ( nhiều ều lĩnh vực ực bà toá toán khác!) ác ) Học Máy – IT 4862 Cấu trúc hoạt động nơ-ron Các tín hiệu đầu vào (input signals) nơ-ron (xi, i=1 m) i=1 m) Mỗi tín hiệu đầu vào xi gắn với trọng số wi Trọng ọ g số điều chỉnh ((bias)) w0 (với x0=1) Đầu vào tổng thể (Net input) hàm tích hợp ủ tí tín hiệu hiệ đầu đầ vào – Net(w,x) x0=1 x1 x2 … xm Hàm tác động/truyền (Activation/transfer function) tính giá trị đầu nơ-ron – f(Net(w,x)) w0 w1 w2 Σ wm Các tín hiệu đầu vào nơ-ron Giá trị đầu (Output) ( ) (x) nơ-ron: Out=f(Net(w,x)) Học Máy – IT 4862 Giá trị đầ đầu nơ-ron (Out) Đầu vào tổng thể (Net) Hàm tác động (truyền) ((f)) Đầu vào tổngg thể dịch chuyển y Đầu vào tổng thể (net input) thường tính toán hàm tuyến tính m m i =1 i =0 Net = w0 + w1 x1 + w2 x2 + + wm xm = w0 + ∑ wi xi = ∑ wi xi Ý nghĩa tín hiệu dịch chuyển (bias) w0 → Họ hàm phân tách Net=w N t 1x1 phân tách đ ợc ví dụ thành lớp (two classes) → Nhưng: họ hàm Net=w1x1+w0 có thể! Net Net = w1x1 Net Net = w1x1 + w0 x1 Học Máy – IT 4862 x1 Hàm tác động: Giới hạn cứng (Hard-limiter) Còn gọi hàm ngưỡng (threshold function) Giá trị đầu ầ lấy ấ giá trị θ giá trị ngưỡng ⎧1, nêu Net ≥ θ Out ( Net ) = hl1( Net , θ ) = ⎨ nêu nguoc lai ⎩0, Nhược ợ điểm: không g liên tục, ụ , đạo hàm không liên tục Out ( Net ) = hl 2( Net , θ ) = sign( Net , θ ) Out Binary hard-limiter Bipolar hard-limiter θ Out Net θ Net -1 Học Máy – IT 4862 Hàm tác động: Logic ngưỡng (Threshold logic) ⎧ ⎪ 0, if Net < −θ ⎪⎪ Out ( Net ) = tl ( Net , α , θ ) = ⎨α ( Net + θ ), ) if − θ ≤ Net ≤ − θ α ⎪ ⎪ 1, if Net > − θ ⎪⎩ α O t Out = max(0, min(1, α ( Net + θ ))) Còn gọi hàm tuyến tính bã hò bão hòa ((saturating t ti linear li ffunction) ti ) Kết hợp hàm tác động: tuyến tính giới hạn chặt α xác định độ dốc ố khoảng tuyến tính ((α >0)) -θ (1/α)-θ Net 1/α Nhược điểm: Liên tục – đ hàm đạo hà khô không liên liê ttục Học Máy – IT 4862 10 Giải thuật BP – Lan truyền ngược (4) f(Net1) x1 δ4 w42 δ2 f(Net2) w52 x2 f(Net4) δ5 f(Net6) Out6 f(Net5) f(Net3) Học Máy – IT 4862 δ2 = f '(Net )(w42 δ4 + w52 δ5 ) 54 Giải thuật BP – Lan truyền ngược (5) f(Net1) δ4 x1 f(Net4) f(Net2) x2 δ3 w43 w53 f(Net3) Học Máy – IT 4862 δ5 f(Net6) Out6 f(Net5) δ3 = f '(Net3 )(w43δ4 + w53δ5 ) 55 Giải thuật BP – Cập nhật trọng số (1) w1x 1 x1 f(Net1) δ1 w1x2 f(Net4) f(Net6) f(Net ( 2) x2 Out6 f(Net5) f(Net3) Học Máy – IT 4862 w1 x1 = w1 x1 + ηδ x1 w1 x = w1 x + ηδ x 56 Giải thuật BP – Cập nhật trọng số (2) f(Net1) x1 w2 x1 δ2 f(Net4) f(Net6) f(Net2) x2 w2 x2 Out6 f(Net5) f(Net3) Học Máy – IT 4862 w x1 = w x1 + ηδ x1 w x = w x + ηδ x 57 Giải thuật BP – Cập nhật trọng số (3) f(Net1) x1 f(Net4) f(Net6) f(Net2) x2 w3x1 w3x2 Out6 f(Net5) δ3 f(Net3) Học Máy – IT 4862 w3 x1 = w3 x1 + ηδ x1 w3 x = w3 x + ηδ x 58 Giải thuật BP – Cập nhật trọng số (4) f(Net1) x1 δ4 w41 w42 f(Net2) x2 f(Net4) w43 f(Net6) Out6 f(Net5) w41 = w41 + ηδ 4Out1 f(Net3) w42 = w42 + ηδ 4Out2 w43 = w43 + ηδ 4Out3 Học Máy – IT 4862 59 Giải thuật BP – Cập nhật trọng số (5) f(Net1) x1 f(Net4) f(Net2) w 51 w52 x2 f(Net3) w53 δ5 f(Net6) Out6 f(Net5) w51 = w51 + ηδ 5Out1 w52 = w52 + ηδ 5Out2 w53 = w53 + ηδ 5Out3 Học Máy – IT 4862 60 Giải thuật BP – Cập nhật trọng số (6) f(Net1) x1 f(Net4) f(Net6) f(Net2) x2 f(Net5) f(Net3) Học Máy – IT 4862 δ6 w64 Out6 w65 w64 = w64 + ηδ6Out w65 = w65 + ηδ6Out 61 BP: Khởi tạo giá trị trọng số Thông thường, trọng số khởi tạo với giá trị nhỏ ngẫu nhiên Nếu trọng số có giá trị ban đầu lớn Các hàm xích-ma (sigmoid functions) đạt trạng thái bão hòa sớm Hệ thống tắc điểm cực tiểu cục (local minimum) trạng thái không đổi (very flat plateau) gần điểm bắt đầu Các gợi ý cho w0abb (liên kết từ nơ nơ-ron ron b tới nơ nơ-ron ron a) Ký hiệu na số lượng nơ-ron tầng với nơ-ron a w0ab ∈ [−1/na, 1/na] Ký hiệu ka số lượng nơ-ron có liên kết (tiến) đến nơ-ron a (=số lượng liên kết đầu vào nơ-ron a) w ab ∈ [ − / k a ,3 / k a ] Học Máy – IT 4862 62 BP: Tốc độ học ((Learningg rate)) Ảnh hưởng quan trọng đến hiệu khả hội tụ giải thuật học BP Một giá iá trị t ị η lớn lớ có ó thể đẩy đẩ nhanh h h hội tụ t ủ trình t ì h học, h h có ó thể làm cho hệ thống bỏ qua điểm tối ưu toàn cục rơi vào điểm tối ưu cục Một giá trị η nhỏ làm cho trình học kéo dài lâu Thường chọn theo thực nghiệm (experimentally) toán Các giá trị tốt tốc độ học lúc bắt đầu (quá trình học) không tốt ộ thời điểm sau đấyy Nên sử dụng tốc độ học thích nghi (động) Sau cập nhật trọng số, kiểm tra xem việc cập nhật trọng số có giúp làm giảm giá trị lỗi a Δη = , if ΔE < consistently -bη , if ΔE > 0 , otherwise Học Máy – IT 4862 (a, b > 0) 63 BP: Momentum Phương pháp Gradient descent chậm η nhỏ, d động dao độ mạnh h ế η lớn lớ αΔw(t’) -η∇E(t’+1) η∇E(t +1) + αΔw(t αΔw(t’)) Δw(t’)) Δw(t A’ Để giảm mức độ dao động, cần đưa vào thành phần momentum Δw(t) = -η∇E(t) + αΔw(t-1) α (∈[0,1]) tham số momentum (thường lấy =0.9) Một quy tắc, dựa thí nghiệm để chọn giá trị hợp lý nghiệm, cho tốc độ học momentum là: (η+α) >≈ 1; α>η để tránh dao động Học Máy – IT 4862 -η∇E(t’+1) B Δw(t) A B’ -η∇E(t+1) αΔw(t) -η∇E(t+1) ∇E(t+1) + αΔw(t) Δ (t) Gradient descent hàm lỗi bậc đơn giản Quỹ đạo bên trái không sử dụng momentum Quỹ đạo bên phải có sử dụng momentum 64 BP: Số lượng nơ-ron tầng ẩn Kích thước (số nơ-ron) tầng ẩn câu hỏi quan trọng việc áp dụng mạng nơ-ron lan truyền tiến nhiều tầng để ể giải ế toán thực tế ế Trong thực tế, khó để xác định xác số lượng nơron cần thiết để đạt độ xác mong muốn hệ thống Kích thước tầng ẩn thường xác định qua thí nghiệm (experimentally/trial and test) Gợi ý Bắt đầu với số lượng ợ g nhỏ nơ-ron tầng g ẩn ((=tỷ ỷ lệ ệ nhỏ so với số lượng tín hiệu đầu vào) Nếu mạng hội tụ, bổ sung thêm nơ-ron vào tầng ẩn Nếu mạng hội tụ, tụ xem xét sử dụng nơ-ron tầng ẩn Học Máy – IT 4862 65 ANNs – Giới hạn học Các hàm nhị phân (Boolean functions) Bất ấ kỳ hàm nhị phân ể học ANN sử dụng tầng ẩn Cá hà Các hàm liê liên ttục (C (Continuous ti ffunctions) ti ) Bất kỳ hàm liên tục bị giới hạn (bounded continuous function) g học ọ ợ (xấp ( p xỉ)) ộ ANN sử dụng ụ g tầng g ẩn [Cybenko, 1989; Hornik et al., 1989] Bất kỳ hàm mục tiêu học (xấp xỉ) ANN sử dụng tầng ẩn [Cybenko [Cybenko, 1988] Học Máy – IT 4862 66 ANNs – Ưu điểm, Nhược điểm Các ưu điểm Bản chất (về cấu trúc) hỗ trợ tính toán song song mức (rất) cao Khả chịu nhiễu/lỗi, nhờ kiến trúc tính toán song song Có thể thiết kế để tự thích nghi (các trọng số, cấu trúc mạng) Các nhược điểm Không có quy tắc tổng quát để xác định cấu trúc mạng th tham số ốh học tối ưu cho h ột (lớp) (lớ ) ttoán hất định đị h Không có phương pháp tổng quát để đánh giá hoạt động bên ANN (vì vậy, hệ thống ANN bị xem “hộp đen”) Rất khó (không thể) đưa giải thích cho người dùng Rất khó để dự đoán hiệu hệ thống tương lai (khả g khái q quát hóa hệ thống g học)) Học Máy – IT 4862 67 ANNs – Khi nào? Mỗi ví dụ biểu diễn tập gồm (rất) nhiều thuộc tính kiểu rời rạc kiểu số Miền giá trị đầu hàm mục tiêu có kiểu số thực, kiểu rời rạc, kiểu vectơ Tập liệu chứa nhiễu/lỗi Dạng hàm mục tiêu không xác định (biết) trước Không cần thiết (hoặc không quan trọng) phải đưa giải thích cho người g dùng g kết q Chấp nhận thời gian (khá) lâu cho trình huấn luyện Yêu cầu thời gian (khá) nhanh cho việc phân loại/dự đoán Học Máy – IT 4862 68 [...]... nó Mạng hồi quy một tầng Mạng lan truyền tiến nhiều tầng Mạng hồi quy nhiều tầng Học Máy – IT 4862 16 ANN – Các quy tắc học 2 kiểu học trong các mạng nơ-ron nhân tạo Học tham số (Parameter learning) → Mục tiêu là thay đổi thích nghi các trọng số (weights) của các liên kết trong mạng nơ-ron Học cấu trúc (Structure learning) → Mục tiêu là thay đổi thích nghi cấu trúc mạng, bao gồm số lượng các. .. lại làm các đầu vào của một nút thuộc cùng tầng (hoặc thuộc một tầng phía trước), trước) thì đó là một mạng phản hồi (feedback network) Nếu phản hồi là liên kết đầu vào đối với các nút thuộc cùng tầng, thì đó là phản hồi bên (lateral feedback) Các mạng phản hồi có các vòng lặp kín (closed loops) được gọi là các mạng hồi quy (recurrent networks) Học Máy – IT 4862 15 Kiến trúc mạngg – Ví dụ Mạng lan... các nơ-ron và các kiểu liên kết giữa chúng 2 kiểu học này có thể được thực hiện đồng thời hoặc riêng rẽ Phần ầ lớn các quy tắc ắ học trong ANN thuộc kiểu ể học tham số Trong bài học này, chúng ta sẽ chỉ xét việc học tham số ố Học Máy – IT 4862 17 Quyy tắc học trọngg số tổngg quát Q q Tại bước học (t), mức độ điều chỉnh vec vec-tơ tơ trọng số w tỷ lệ thuận với tích của tín hiệu học r(t) và đầu... ANN – Kiến trúc mạng (1) Kiến Số lượng các tín hiệu đầu vào và đầu ra Số lượng các tầng Số lượng các nơ-ron trong mỗi tầng Số lượng các trọng số (các liên kết) đối với mỗi ỗ nơ-ron Cách thức các nơ-ron (trong một tầng, hoặc giữa các tầng) liên kết với nhau Những Nhữ nơ-ron nào à nhận hậ các á tí tín hiệu hiệ điều chỉnh lỗi Một bias trúc của một ANN được x/đ bởi: ANN phải có Một tầng ầ... function) Giải thuật học BP được sử dụng để học các trọng số của một mạng nơ-ron nơ ron nhiều tầng Cấu trúc mạng cố định (các nơ-ron và các liên kết giữa chúng là cố định) Đối với mỗi nơ-ron, hàm tác động phải có đạo hàm liên tục Giải th thuật ật BP áp á dụng d chiến hiế lược l gradient di t d descentt trong t quy tắc tắ cập ậ nhật các trọng số Để cực tiểu hóa lỗi (khác biệt) giữa các giá trị đầu... minh là hội tụ (converge) nếu: Các ví dụ học là có thể phân tách tuyến tính (linearly separable) Sử dụng một tốc độ học η đủ nhỏ Giải thuật học perceptron có thể không hội tụ nếu như các ví dụ học không thể phân tách tuyến tính (not linearly separable) Khi đó, áp dụng quy tắc delta (delta rule) Một ộ perceptron p p không g thể phân lớp chính xác đối với tập học này! Đảm bảo hội tụ về một xấp... ra thực tế và các giá trị đầu ra mong muốn muốn, đối với các ví dụ học Học Máy – IT 4862 29 Giải thuật học lan truyền y ngược g ((1)) Giải thuật học lan truyền ngược tìm kiếm một vectơ các trọng số (weights vector) giúp cực tiểu hóa lỗi tổng thể của hệ thố đối với thống ới tập tậ học h Giải thuật BP bao gồm 2 giai đoạn (bước) Giai đoạn lan truyền tiến tín hiệu (Signal forward) Các tín hiệu đầu... trong không gian giả thiết (các vectơ trọng số) một vectơ trọng số ố phù hợp nhất ấ với các ví dụ học Học Máy – IT 4862 24 Hàm đánh ggiá lỗi ((Error function)) Xét một ANN có n nơ-ron đầu ra Đối với ới một ột víí dụ d học h (x,d), ( d) giá iá ttrịị lỗi học h (training (t i i error)) gây ra bởi vectơ trọng số (hiện tại) w: 2 n 1 Ex (w ) = ∑ (d i − Outi ) 2 i =1 Lỗi học h gây â ra bởi vectơ t trọng... toán (một cách truy hồi) giá trị gradient cục bộ của mỗi nơ-ron nơ ron Học Máy – IT 4862 30 Giải thuật học lan truyền ngược (2) Giai đoạn lan truyền tiến tín hiệu: • Kích hoạt (truyền tín hiệu qua) mạng Giai đoạn lan truyền ngược lỗi: • Tính toán lỗi ở đầu ra • Lan truyền (ngược) lỗi Học Máy – IT 4862 31 Giải thuật BP – Cấu trúc mạng Xét mạng nơ-ron 3 tầng (trong hình vẽ) để minh họa giải thuật học BP... (steepest decrease) là giá trị phủ định của gradient của E Δw = -η.∇E(w); ∂E Δwi = −η , ∀i = 1 N ∂wi Yêu cầu: Các hàm tác động được sử dụng trong mạng phải là các hàm liên tục đối với các trọng số, số và có đạo hàm liên tục Học Máy – IT 4862 26 Gradient descent – Minh họa Không gian một chiều E(w) Học Máy – IT 4862 Không gg gian 2 chiều E(w1,w2) 27 Gradient_descent_incremental (D, η) Initialize w (wi ← ... học: h Giới thiệu chung g Đánh giá hiệu hệ thống học máy Các phương pháp học dựa xác suất Các phương pháp học có giám sát Học mạng nơron nhân tạo (Artificial neural network) Các phương. .. neural network) Các phương pháp học không giám sát L cộng Lọc ộ tác tá Học tăng cường Học Máy – IT 4862 Mạng nơ-ron nhân tạo – Giới thiệu (1) Mạng nơ-ron nhân tạo (Artificial neural network... 4862 16 ANN – Các quy tắc học kiểu học mạng nơ-ron nhân tạo Học tham số (Parameter learning) → Mục tiêu thay đổi thích nghi trọng số (weights) liên kết mạng nơ-ron Học cấu trúc (Structure