Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Nội dung
NGUYÊNLÝMÁYHỌC (Mạng nơ-ron nhân tạo) PhạmNguyênKhang pnkhang@cit.ctu.edu.vn Nội dung trình bày • • • • Giới thiệu Mô hình nơ-ron McCulloch & Pitts Mô hình perceptron đa tầng (MLP) Một số vấn đề cần ý huấn luyện mạng nơ-ron • Bài tập Giới thiệu • Mạng nơ-ron nhân tạo (Artificial neural network - ANN) – Mô hình hoá hoạt động hệ thần kinh người – Được nghiên cứu lần đầu vào năm 1943 (McCulloch Pitts, 1943) – Perceptron: hệ mạng nơ-ron (Rosenblatt, 1958) • Mô trình hoạt động thị giác người Giới thiệu • Lịch sử – 1943, McCulloch & Pitts đưa mô hình nơ-ron – 1982, Mô hình mạng nơ-ron hồi tiếp Hopfield – 1984, Mạng nơ-ron Kohonen hay gọi Mản đồ tự tổ chức (SOM) – 1985, Mạng nơ-ron đa tầng (MLP) • Mô hình mạng nơ-ron khác – Mạng nơ-ron tích chập (Convolutional NN) Yan LeCun Mô hình nơ-ron McCulloch & Pitts • Nơ-ron: đơn vị tính toán bản/đơn mạng nơ-ron: – n đầu vào, tham số, đầu – Hàm mạng/hàm kết hợp – Hàm kích hoạt/hàm truyền x1 w1 x2 w2 u g wn f o u = g(x) = ∑ wi xi + θ i=1 xn θ Mô hình nơ-ron McCulloch & Pitts • wi: trọng số • θ: ngưỡng (threshold), độ lệch (bias) • Đầu ra: o = f (u) = f (g(x)) f (u) = −u/T 1+ e f (u)[1− f (u)] / T Kiến trúc mạng • Mạng truyền thẳng (forward) • Mạng hồi tiếp (feedback) a) b) Mô hình perceptron đa tầng • Mô hình perceptron – Do Rosenblatt đề xuất năm 1958 – Tương tự mô hình nơ-ron McCulloch&Pitts – Perceptron tuyến tính có ngưỡng • n đầu vào, ngưỡng, đầu x1 w1 x2 w2 ϕ u g f o wn xn θ Mô hình perceptron – Perceptron tuyến tính có ngưỡng • n đầu vào, ngưỡng, đầu • Hàm mạng tuyến tính n u = g(x) = θ + ∑ wi xi x1 w1 x2 w2 ϕ u g f o wn xn θ i=1 • Hàm kích hoạt hàm "$ g(x) ≥ ngưỡng o = f (u) = f (g(x)) = # $% g(x) < Mô hình perceptron – Perceptron tuyến tính không ngưỡng • n +1 đầu vào, đầu • Đầu vào giả x0 có giá trị 1, w0 = θ • Hàm mạng tuyến tính n u = g(x) = ∑ wi xi i=0 w0 x1 w1 x2 w2 ϕ g u f o wn xn 10 Mô hình perceptron • Ý nghĩa hình học – Ranh giới hàm kích hoạt u = – Phương trình u = g(x) = phương trình siêu phẳng không gian n chiều n u = g(x) = ∑ wi xi = i=0 x2 Lớp dương (+1) w0 + w1x1 + w2x2 = 0 Lớp âm (–1) x1 11 Huấn luyện perceptron • Huấn luyện: – Dạy cho perceptron – Tìm kiếm n tham số: w0, w1, w2, …, wn cho đầu nơ-ron phù hợp với giá trị mong muốn tất liệu học • Về mặt hình học: – Tìm siêu phẳng tách liệu thành lớp cho lớp phía siêu phẳng • Dữ liệu đầu vào: – Tập mẫu huấn luyện – Mỗi mấu huấn luyện gồm: • véc-tơ đặc trưng x nhãn y • Tham số: – Tốc độ học: η (đọc eta) 12 Huấn luyện perceptron • Trường hợp liệu khả tách tuyến tính – Khởi tạo ngẫu nhiên w – Đưa mẫu học qua perceptron quan sát giá trị đầu – Nếu trị đầu khác với giá trị mong muốn, cập nhật lại trọng số theo công thức: w j = w j + η ⋅ (yi − oi )⋅ xij , ∀j = n – Giải thuật: xem giáo trình trang 29 13 Huấn luyện perceptron • Trường hợp liệu không khả tách tuyến tính – Cố gắng tìm siêu phẳng “tốt” • Tối = lỗi (trên tập học) nhỏ – Định nghĩa hàm lỗi theo E(w) theo trọng số w tất phần tử tập học: m E(w) ≡ E(w0 , w1, , wn ) = ∑ ( yi − ϕ (xi )) i=1 – Bài toán huấn luyện trở thành tìm w cho E(w) nhỏ 14 Huấn luyện perceptron x • Chú ý: – Hàm kích hoạt trường hợp thay hàm tuyến tính f(u) = u hay: n ϕ (xi ) = g(xi ) = ∑ w x j ∂E ∂w j w0 x1 w1 x2 w2 ϕ g u f o wn ij j=0 • Tương tự trường hợp khả tách tuyến tính ta tối ưu E(w) phương pháp gradient descent y xn 15 Huấn luyện perceptron • Giải thuật: – Khởi động ngẫu nhiên w – Lặp điều kiện dừng thoả mãn: • w = w + Δw = w –ηΔE(w) • Gradient E(w): m ∂E = −∑ ( yi − g(xi )).xij ∂w j i=1 # % % % % ∇E(w) = % % % % % $ ∂E & ( ∂w0 ( ∂E ( ( ∂w1 ( ( ( ∂E ( ∂wn (' 16 Huấn luyện perceptron • Luật cập nhật w: – Luật gradient chuẩn: cập nhật sau xem xét tất phần tử tập học, cộng dồn Δw – Luật Delta: cập nhật sau xét phần tử tập học • Giải thuật: trang 36, 37 17 Mạng nơ-ron đa tầng (MLP) • MLP: • Sigmoid • Hyperpolic tangent θ31 x1 x1 – Mạng nơ-ron truyền thẳng – Nơ-ron: hàm mạng tuyến tính, hàm kích hoạt phi tuyến, liên tục khả vi (có thể lấy vi phân được) θ21 θ11 1 o1 N oN θ22 xn M θ3N θ1M L θ2L 18 Mạng nơ-ron đa tầng (MLP) • Huấn luyện mạng MLP: – Giải thuật lan truyền ngược (back propagation) • Định nghĩa hàm lỗi: bình phương sai khác đầu đầu mong muốn • Tính toán lỗi • Lan truyền lỗi từ đầu ngược trở đầu vào để cập nhật trọng số w Trọng số cập nhật dựa gradient hàm lỗi 19 Mạng nơ-ron đa tầng (MLP) • Xét nơ-ron tầng đầu ra: ub = ∑ ( wa→b oa ) ob = fb (ub ) a E = (yb − ob )2 2 b ob ∂E ∂ #1 2& = % (yb − ob ) ( = −(yb − ob ) ' ∂ob ∂ob $ a oa 20 Mạng nơ-ron đa tầng (MLP) • Xét nơ-ron tầng đầu ra: ub = ∑ ( wa→b oa ) ob = f (ub ) a • Để cập nhật trọng số wa→b ta cần tính đạo hàm riêng E theo • Áp dụng quy tắc chuỗi để tính đạo hàm ta (xem giáo trình trang 41, công thức 2.17 – 2.20): ∂E = − ( yb − ob ) fb '(ub ).oa wa→b 21 Mạng nơ-ron đa tầng (MLP) • Xét nơ-ron tầng giữa: ∂E ∂E = fb '(ub ).oa wa→b ∂ob ∂E • Trong tính ∂ob bằng: ob b wa à b a oa wb à k ok k $ ∂E ' ∂E = ∑& ⋅ fk '(uk )⋅ wb→k ) ∂ob k % ∂ok ( 22 Mạng nơ-ron đa tầng (MLP) • Giải thuật: – Khởi tạo ngẫu nhiên w – Lặp điều kiện dừng thoả: • Với mẫu huấn luyện, tính đầu o • Tính đạo hàm riêng E theo trọng số w • Cập nhật trọng số theo đạo hàm riêng (chú ý dấu trừ ngược hướng gradient) • Bài tập trang 48 23 CẢM ƠN 24