1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chapter 1_Cau Truc Ann.pdf

12 4 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 840,46 KB

Nội dung

7/10/2020 1 1©PGS TS Nguyễn Chí Ngôn, Đại học Cần Thơ PGS TS Nguyễn Chí Ngôn Khoa Công nghệ Đại học Cần Thơ ncngon@ctu edu vn ĐẠI HỌC CẦN THƠ MẠNG NƠ RON NHÂN TẠO 2©PGS TS Nguyễn Chí Ngôn, Đại học Cần[.]

7/10/2020 ĐẠI HỌC CẦN THƠ MẠNG NƠ-RON NHÂN TẠO PGS TS Nguyễn Chí Ngơn Khoa Cơng nghệ Đại học Cần Thơ ncngon@ctu.edu.vn ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Nội Dung      Chương 1: Cấu trúc ANN Chương 2: Các giải thuật huấn luyện Chương 3: Một số ứng dụng (MATLAB) Chương 4: Định hướng nghiên cứu (Case Studies) Tiểu luận môn học ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 7/10/2020 Chương Cấu trúc ANN Giới thiệu Cấu trúc mạng lớp Cấu trúc mạng nhiều lớp Mô MATLAB Bài tập ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Giới thiệu (1)    Mạng nơ-ron nhân tạo dịch từ cụm Artificial Neural Network (ANN) Khả học, nhớ ứng dụng Được phát triển ứng dụng nhiều lĩnh vực p1 a1 p2 p3 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ a2 7/10/2020 Giới thiệu (2)    Cho vector x y Xác định y=f(x)=? x y = f(x) = 2x y 10 Cho x =  y = 14 y = f(x) = ? Thay đổi liệu: x y 2.5 4.1 8.33 10.1 Cho x =  y = ?  khó xác định Ứng dụng ANN xác định y=f(x):     Thu thập liệu vectors x y (dữ liệu nhiều, độ xác lớn) Xây dựng mạng nơ-ron huấn luyện mạng dựa liệu thu thập Khi ANN hoạt động hàm: y=fNN(x) Với giá trị xn ta có yn = fNN(xn) ~ f(xn)  ANN huấn luyện để xấp xỉ quan hệ phi tuyến ©PGS.TS Nguyễn Chí Ngôn, Đại học Cần Thơ Giới thiệu (3) Du bao Covid-2019 Viet Nam 300 250 200 150 100 50 6/3 16/3 26/3 5/4 15/4 25/4 5/5 15/5 ANN dự báo diễn biến từ liệu có? ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 7/10/2020 Giới thiệu (4) Lớp vào Dữ liệu p1-p12 làm ngõ vào w1 p1 lớp ẩn lớp ẩn lớp 1,1 w31,1 p w31,2 p12 b11 b3 b12 1 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ a3 Dữ liệu thời tiết (0, 0.5, 1) làm ngõ Huấn luyện dự báo Giới thiệu (5) • Dự báo lỗi chạm đất đường dõy ã D bỏo ph ti âPGS.TS Nguyn Chớ Ngụn, Đại học Cần Thơ 7/10/2020 Nơ-ron sinh học    Bộ não người chứa khoảng 1011 nơ-ron, với 1014 liên kết, tạo thành mạng tế bào thần kinh khổng lồ Mỗi nơ-ron: phần thân (soma), trục thần kinh (axon) hệ thống dạng chứa dây thần kinh vào (dendrite) Hoạt động: Khi điện dây thần kinh vào vượt ngưỡng đó, nơ-ron bắt đầu giật (firing), tạo nên xung điện truyền trục thần kinh giải phóng lượng cho dây thần kinh vào nơ-ron khác qua khớp nối (synapse)  Có thể mơ hình hóa nơ-ron sinh học ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Mơ hình nơ-ron ngõ vào (1)  Cấu tạo nơ-ron gồm: - Ngõ vào p; Ngõ a - Trọng số kết nối w - Ngưỡng kích hoạt b; - Hàm kích hoạt f;  Tính tốn nơ-ron: a  f ( wp  b)  Hàm kích hoạt (hàm truyền):   Có nhiều dạng hàm truyền: Tuyến tính phi tuyến hàm thơng dụng: Purelin, Logsig Tansig f(n) = n ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ f (n )  1  e n f (n )   e 2 n  e 2n 10 7/10/2020 Mơ hình nơ-ron ngõ vào (2)  Ví dụ tính toán nơ-ron (1): Cho p=0.5, w = 0.2, b=0.9 f hàm Logsig Ta có: a = f(wp +b) = f(0.2*0.5+0.9)=f(1)=   0.7311  e 1  Ví dụ tính tốn nơ-ron (2): Cho p=0.5, w = 0.2, b=0.9 f hàm Tansig Ta có: a = f(wp +b) = f(0.2*0.5+0.9)=f(1)=  e 2  0.7616  e 2  Quá trình huấn luyện nơ-ron trình điều chỉnh giá trị trọng số kết nối w giá trị ngưỡng b, cho ngõ a gần với giá trị mong muốn  ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 11 Các hàm truyền nơ-ron  Học viên tự tham khảo: MATLAB - Neural network toolbox hàm thường sử dụng ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 12 7/10/2020 Mơ hình nơ-ron nhiều ngõ vào (1)   Khi ngõ vào nơ-ron vector có R phần tử: p = [p1, p2, , pR]‘ Cấu trúc:       R ngõ vào R trọng số kết nối W=[w1,1, , w1,R] Ngưỡng kích hoạt b Hàm kích hoạt f Ngõ a Tính tốn nơ-ron: 13 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Mơ hình nơ-ron nhiều ngõ vào (2)  Ví dụ tính tốn nơ-ron nhiều ngõ vào Cho mơ hình nơ-ron hình vẽ, với: p  2 , 1, , 0.5 , 10T W  0.3 , 0.5 , 0.2 , 0.1, 0.8  p  2, 1, 4, 0.5, 10 ' W  0.3, 0.5, 0.2, 0.1, 0.8 b  0.05 f : Logsig b  0.05 f : Logsig Xác định ngõ a: n  Wp  b  0.3, 0.5, 0.2, 0.1, 0.8* 2, 1, 4, 0.5, 10  0.05 n  0.3 *  0.5 *1  0.2 *  0.1* 0.5  0.8 *10  0.05  10 T a  f (Wp  b)  f (n)  ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ  0.9999546  e 10 14 7/10/2020 Mơ hình mạng nơ-ron     Mạng nơ-ron hệ thống gồm nhiều nơ-ron đơn lẻ kết nối với nhau, để thực chức tính tốn Tính mạng phục thuộc vào: Cấu trúc, trọng số kết nối q trình tính tốn nơ-ron đơn lẻ (hàm truyền) Mạng nơ-ron học từ liệu mẫu tổng quát hóa dựa mẫu học (mạng có khả nhớ) Ví dụ cấu trúc mạng: Mạng truyền thẳng Mạng hồi qui 15 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Phân loại mạng nơ-ron  Dựa theo kiểu kết nối nơ-ron: có loại   Mạng truyền thẳng (feedforward NN): Kết nối khơng tạo thành chu trình Mạng hồi qui (recurrent NN): Kết nối tạo thành chu trình Mạng truyền thẳng  Mạng hồi qui Dựa vào số lớp: có loại   Mạng lớp Mạng nhiều lớp: Gồm lớp vào, lớp ẩn lớp Lớp vào khơng tính số lớp Khơng kết nối lớp; không nhảy lớp; không kết nối từ lớp lên lớp ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 16 7/10/2020 Mạng nơ-ron lớp (1)  Mơ hình mạng lớp với R nơ-ron lớp vào S nơ-ron lớp hình vẽ Lưu ý: lớp vào, dùng tiếp nhận thơng tin, khơng tham gia q trình tính tốn nên khơng kể lớp mạng  Tính toán ngõ thứ i (i=1,s): R ni   wi , j p j  bi j 1  f ni  với f hàm kích hoạt nơ-ron   Thông thường, để đơn giản, nơ-ron lớp có hàm kích hoạt giống Kí hiệu wi,j trọng số kết nối từ nơ-ron thứ j đến nơ-ron thứ i Mạng nơ-ron lớp 17 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Mạng nơ-ron lớp (2)  Biểu diễn ngõ mạng: a = f(Wp + b) p = [p1, p2, , pR]T: vectơ ngõ vào a = [a1, a2, , aS]: vectơ ngõ ra; b = [b1, b2, , bS ]T: vectơ ngưỡng kích hoạt : Ma trận trọng số kết nối Lưu ý: Kí hiệu wi,j trọng số kết nối từ nơ-ron thứ j đến nơ-ron thứ i p1  Ví dụ 1: Cho mạng lớp, có: p=[2, 1.5, nơ-ron tuyến tính; ma trận trọng số: w w12 w13 W  11  w21 w22 w23 Ta có: Wp+b = 3]T; b=[0.5, 0.6]T; w1,1 p2 p3 a1 b1 w2,3 a2 b2 2 1.9 ; f(n)=n  a=f(Wp+b) = [1.9, 4.0]T 1.5   6 4.0 hay a1= 1.9 a2=4.0 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 18 7/10/2020 Mạng nơ-ron nhiều lớp (1)    Mạng nơ-ron tổ chức thành nhiều lớp, với ngõ lớp trước ngõ vào lớp sau Q trình tính tốn mạng, thực lớp Tính tốn lớp hồn tồn giống tính tốn mạng lớp Các số 1,2,3: kí hiệu thứ tự lớp 19 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ Mạng nơ-ron nhiều lớp (2)  Ví dụ 2: Cho mạng lớp hình vẽ, tính giá trị ngõ ra, với:     Lớp vào lớp ẩn lớp ẩn lớp Lớp vào: p = [2, 1.5, 3]T Lớp ẩn 1: w 1,1 w 1,1 a1 a1 p1 b1 = [0.5, 0.6]T 2 w 2,1 b w31,1 b11 W1 = [0.1, 0.2, 0.3; 0.5, 0.4, 0.6] p 1 f1: hàm purelin w31,2 w21,2 b3 a a 2 p3 Lớp ẩn 2: w 2,2 w 2,3 b2 = [0.5, 0.6]T b12 b22 W2 = [0.5, 0.2; 0.1, 0.6]; f2: hàm Logsig 1 Lớp ra: b3 = 0.2; W3 = [0.4, 0.2]; f3: hàm Tangsig a3 Giải:   Ngõ lớp ẩn 1: Giống Ví dụ phần mạng nơ-ron lớp Ta có a11=1.9 a12=4 Ngõ lớp ẩn 2: ngõ vào lớp ngõ lớp W2p2 + b2 = [0.5, 0.2; 0.1, 0.6]*[1.9, 4]T + [0.5, 0.6]T=[2.25, 3.19]T a2=f2(W2p2+b2)=[f2(2.25), f2(3.19)]T= hay: a21= 0.9047 a22= 0.9605 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ  1  e  2.25 T  = [.9047, 9605]T  e 3.19  20 10 7/10/2020 Mạng nơ-ron nhiều lớp (3)  Ngõ lớp ẩn 3: ngõ vào lớp ngõ lớp 2, ta có: W3p3 + b3= [0.4, 0.2]*[0.9047, 0.9605]T + 0.2 = 0.7540  e 2*0.754 = 0.6375  e  2*0754 a3=f3(W3p3 + b3)=f3(0.7540)=  Một dạng biểu diễn khác mạng trên: Lớp vào lớp ẩn lớp ẩn lớp w11,1 p1 w31,1 p2 w31,2 p3 b11 a3 b3 b12 1 Mạng gọi mạng truyền thẳng nhiều lớp (Multilayer feedforward neural network) - Học phần tập trung vào mạng ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 21 Các hàm tạo ANN MATLAB ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 22 11 7/10/2020 Covid-2019 VN (1) 300 Du lieu Covid-2019 VN 6/3-10/4/2020 250 200 150 100 50 6/3 11/3 16/3 21/3 26/3 31/3 5/4 9/4 14/4 Ngày ANN Số ca nhiễm (đã huấn luyện) Dự báo số ca nhiễm tương lai ANN (đơn giản) 23 ©PGS.TS Nguyễn Chí Ngôn, Đại học Cần Thơ Covid-2019 VN (2) % Load ANN da huan luyen load net_covid % Du bao date=65; nhiem=sim(net,date); nhiem=round(nhiem); Du bao Covid-2019 Viet Nam 300 250 estimation real data 200 150 % Hien thi ket qua disp(['ngay thu:', num2str(date),'so ca nhiem du doan la:’, num2str(nhiem)]) 100 50 6/3 >> covidVN_ANNdubao thu: 65 so ca nhiem du doan la: 283 ©PGS.TS Nguyễn Chí Ngơn, Đại học Cần Thơ 16/3 26/3 5/4 15/4 25/4 5/5 15/5 Link file MATLAB 24 12

Ngày đăng: 04/04/2023, 20:47