



















Preview text:
10/28/2024
MỘT SỐ KỸ THUẬT TTNT TIÊN TIẾN Nguyễn Thị Huyền Nội dung môn học
Ch. 01: Nhập môn Trí tuệ nhân tạo
Ch. 02: Giải quyết vấn đề bằng tìm kiếm
Ch. 03: Biểu diễn và xử lý tri thức
Ch. 04: Một số kỹ thuật TTNT tiên tiến 2 1 10/28/2024
Một số kỹ thuật TTNT tiên tiến Mạng nơ-ron nhân tạo Giải thuật di truyền 3
Một số kỹ thuật TTNT tiên tiến Mạng nơ-ron nhân tạo
Tổng quan về mạng nơ-ron nhân tạo
Kiến trúc của mạng nơ-ron nhân tạo
Các giải thuật huấn luyện Tài liệu:
Bài giảng mạng nơ-ron nhân tạo, TS. Nguyễn Chí Ngôn. nnet toolbox matlab Giải thuật di truyền 4 2 10/28/2024
1. Tổng quan về mạng nơ-ron nhân tạo
Mô hình hóa nơ-ron sinh học
Cấu trúc nơ-ron nhân tạo
Nơ-ron nhân tạo một ngõ vào
Nơ-ron nhân tạo nhiều ngõ vào 5
1. Tổng quan về mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo được dịch từ Artificial Neural Network (ANN) – còn gọi là mạng nơ-ron.
ANN là một mô hình mạng chứa nhiều đơn vị xử lý, giả lập quá trình học tập và tính
toán của bộ não con người.
ANN được ứng dụng trong nhiều lĩnh vực 6 3 10/28/2024
Mạng nơ ron sinh học
� Bộ não con người chứa khoảng 1011 nơ-ron, với hơn 1014
liên kết, tạo thành một mạng tế bào thần kinh khổng lồ.
� Mỗi nơ-ron có hàng ngàn kết nối: Thu nhận tín hiệu Lan truyền thông tin 7 Nơ-ron sinh học
Một nơ-ron gồm 4 thành phần cơ bản:
Các nhánh và rễ (dendrite): là các bộ phận nhận thông tin.
Thân thần kinh (soma): chứa nhân và cơ quan tổng hợp protetin. Các ion vào được tổng hợp và
biến đổi. Khi nồng độ ion đạt đến một giá trị nhất định, xảy ra quá trình phát xung (hay kích
thích). Xung đó được phát ở các đầu ra của nơ-ron.
Dây thần kinh (axon) là đầu ra, đó là phương tiện truyền dẫn tín hiệu, đầu ra này có thể truyền tín
hiệu đến các nơ-ron khác.
Khớp thần kinh (synape): là bộ phận tiếp xúc của các đầu ra nơ-ron với rễ, nhánh của các nơ-ron khác. 8 4 10/28/2024 Nơ-ron sinh học
� Mỗi nơ-ron: phần thân (soma), một trục thần kinh ra (axon) và một
hệ thống dạng cây chứa các dây thần kinh vào (dendrite).
� Hoạt động: Khi điện thế ở dây thần kinh vào vượt quá 1 ngưỡng nào
đó, nơ-ron bắt đầu giật (firing), tạo nên một xung điện truyền trên
trục thần kinh ra và giải phóng năng lượng cho dây thần kinh vào
của các nơ-ron khác qua các khớp nối (synapse)
Có thể mô hình hóa nơ-ron sinh học 9
Mô hình nơ ron nhân tạo 10 5 10/28/2024 ANN là gì? (1)
� ANN là một mô hình mạng chứa nhiều đơn vị xử lý, giả lập quá trình học tập và tính
toán của bộ não con người.
� Mỗi đơn vị xử lý gọi là một nơ-ron nhân tạo
� Mỗi nơ-ron nhân tạo giả lập một nơ-ron sinh học, gồm một ngưỡng kích hoạt (bias) và
một hàm kích hoạt (hay hàm truyền – transfer function), đặc trưng cho tính chất của nơ-ron.
� Các nơ-ron nhân tạo được liên kết với nhau bằng các kết nối. Mỗi kết nối có một độ
lợi, gọi là trọng số kết nối (weight), đặc trưng cho khả năng nhớ của ANN.
� Quá trình huấn luyện ANN là 1 quá trình điều chỉnh các ngưỡng kích hoạt và các trọng
số kết nối, dựa trên dữ liệu học.
Nhiệm vụ: Xây dựng một cấu trúc ANN và huấn luyện nó dựa trên dữ liệu thu thập
được (gọi là tập dữ liệu học). 11 ANN là gì? (2)
Quá trình huấn luyện ANN có thể mô tả như sau:
Error = Target - Output
Dựa trên sự khác biệt (Error) giữa ngõ ra mong muốn (Target) và ngõ ra thực tế
của ANN (Output), giải thuật huấn luyện sẽ điều chỉnh các trọng số kết nối của
ANN, sao cho: min{Error} 12 6 10/28/2024
Hoạt động của ANN?
� Xét bài toán: Cho 2 vector x và y. Xác định y=f(x)=? Cho x = 7 y = 14 � Thay đổi dữ liệu:
Cho x = 7 y = ? khó xác định y
� Ứng dụng ANN xác định y = f(x):
Thu thập dữ liệu 2 vectors x và y (dữ liệu nhiều, độ chính xác lớn)
Xây dựng mạng nơ-ron và huấn luyện mạng dựa trên dữ liệu thu thập
Khi đó ANN hoạt động như 1 hàm: y = fANN(x)
Với 1 giá trị xn ta có yn = fANN(xn) ~ f(xn)
ANN có thể được huấn luyện để xấp xỉ một quan hệ phi tuyến bất kỳ 13
Mô hình nơ-ron 1 ngõ vào (1)
Ngõ vào p; Trọng số kết nối w
Ngưỡng kích hoạt b; Hàm kích hoạt f; Ngõ ra a Tính toán trê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 và phi tuyến
4 hàm thông dụng: Purelin, Logsig, Tansig, hardlim 14 7 10/28/2024 0 otherwise 15 = 16 8 10/28/2024
Các hàm truyền của nơ-ron Neural network toolbox 17
Mô hình nơ-ron 1 ngõ vào (2) Ví dụ 1: Cho p=0.5, w = 0.2, b=0.9 và f là hàm Logsig Tìm a?
Ta có: a = f(wp +b) = f(0.2*0.5+0.9) = f(1) Ví dụ 2:
Cho p=0.5, w = 0.2, b=0.9 và f là hàm Tansig Tìm a?
Ta có: a = f(wp +b) = f(0.2*0.5+0.9) = f(1)
Quá trình huấn luyện nơ-ron là quá trình điều chỉnh các giá trị trọng số kết
nối w và giá trị ngưỡng b, sao cho ngõ ra a gần nhất với giá trị mong muốn. 18 9 10/28/2024
Mô hình nơ-ron nhiều ngõ vào (1)
� Khi ngõ vào của nơ-ron là một vector có R phần tử: p = [p1, p2, ..., pR]T � 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õ ra a 19
Mô hình nơ-ron nhiều ngõ vào (2) Tính toán trên nơ-ron 20 10 10/28/2024
Mô hình nơ-ron nhiều ngõ vào (3)
� Ví dụ về tính toán trên nơ-ron nhiều ngõ vào:
Cho mô hình nơ-ron như hình vẽ, với:
p = [2, 1, 4, 0.5, 10]T
W = [0.3, 0.5, 0.2, 0.1, 0.8] b = 0.05 f : Logsig Xác định ngõ ra a: 21 Bài tập 1
Cho nơ-ron như hình vẽ, với: P = [1 2 3 4 5]T; W = [1 .5 .25 1 2];
Tính ngõ ra a của nơ-ron.
f là hàm logsig. f là hàm purelin
f là hàm hardlim
f là hàm tansig. Newp, newlin 22 11 10/28/2024
Mô phỏng nơ-ron bằng MATLAB (1) 23
Mô phỏng nơ-ron bằng MATLAB (2) 24 12 10/28/2024 2. Kiến trúc ANN
� Mạng nơ-ron một lớp
� Mạng nơ-ron nhiều lớp 25
2. Kiến trúc ANN (1)
Mạng nơ-ron là một hệ thống gồm nhiều nơ-ron đơn lẻ kết nối với nhau, để
thực hiện một chức năng tính toán nào đó.
Tính năng của mạng phục thuộc vào: Cấu trúc, các trọng số kết nối và quá
trình tính toán tại các nơ-ron đơn lẻ (hàm truyền).
Mạng nơ-ron có thể học từ dữ liệu mẫu và tổng quát hóa dựa trên các mẫu đã
học (mạng có khả năng nhớ). 26 13 10/28/2024
2. Kiến trúc ANN (2)
� Kiến trúc của một ANN được xác định bởi:
Số lượng các tín hiệu đầu vào và đầu ra
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 nơ-ron nào nhận các tín hiệu điều chỉnh lỗi. � Một ANN phải có
Một tầng đầu vào (input layer)
Một tầng đầu ra (output layer)
Không, một, hoặc nhiều tầng ẩn (hidden layer) 27
2. Kiến trúc ANN (3)
Một tầng (layer) chứa một nhóm các nơ-ron
Tầng ẩn (hidden layer) là một tầng nằm ở giữa tầng đầu vào (input layer) và tầng đầu ra (output layer).
Các nút ở tầng ẩn không tương tác trực tiếp với môi trường bên ngoài (của mạng nơ-ron)
Một ANN được gọi là liên kết đầy đủ (fully connected) nếu mọi đầu ra từ một tầng liên
kết với mọi nơ-ron của tầng kế tiếp. 28 14 10/28/2024
Mạng truyền thẳng
� Một ANN được gọi là mạng truyền thẳng (feedforward network) nếu không
có bất kỳ đầu ra của một nút là đầu vào của một nút khác thuộc cùng tầng
(hoặc thuộc một tầng phía trước) 29 Mạng phản hồi
Khi các đầu ra của một nút liên kết ngượ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), 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) Mạng hồi qui 30 15 10/28/2024
Mạng nơ-ron 1 lớp (2)
� R đầu vào và S nơ-ron ở lớp ra
� Lưu ý: lớp vào, chỉ dùng tiếp nhận
thông tin, không tham gia quá trình tính
toán nên không được kể là 1 lớp mạng.
� Thông thường, để đơn giản, các nơ-ron
trên cùng lớp sẽ có hàm kích hoạt giống nhau.
� Kí hiệu wi,j là trọng số kết nối từ nơ-ron
thứ j đến nơ-ron thứ i 3 1 Mạng nơ-ron 1 lớp
Tính toán tại ngõ ra thứ i (i=1,S): 32 16 10/28/2024
Mạng nơ-ron 1 lớp (4)
� Ví dụ 1: Cho mạng 1 lớp, có: 0.6]T; 2 nơ-ron tuyến tính; 33
Mạng Perceptron 1 lớp (1)
Cấu trúc: 1 lớp với S nơ-ron, được kết nối với R ngõ vào thông qua ma trận trọng
số W. Hàm truyền của các nơ-ron trong ví dụ này là hàm Hardlim. 34 17 10/28/2024 Bài tập 2
� Cho mạng Perceptron 1 lớp như hình vẽ, với:
P = [1, 2, 0.2, 0.1]T;
b = [0.1, 0.3, 0.5]T;
W = [0.2, 0.1, 0.2, 0.1 0.1, 0.3, 0.5, 0.1 0.6, 0.4, 0.2, 0.4]; � Xác định:
Số nơ-ron trên lớp vào và lớp Perceptron. Vector ngõ ra a. 35
Mạng nơ-ron nhiều lớp
Mạng nơ-ron có thể được tổ chức thành nhiều lớp, với ngõ ra của lớp
Quá trình tính toán trên mạng, được thực hiện lần lượt trên từng lớp.
Tính toán trên mỗi lớp hoàn toàn giống như tính toán trên mạng 1 lớp. 36 18 10/28/2024
Mạng nơ-ron nhiều lớp 37
Mạng nơ-ron nhiều lớp Biểu diễn gọn: 38 19 10/28/2024
Mạng nơ-ron nhiều lớp: vd
� Cho mạng 3 lớp như hình vẽ, tính giá trị ngõ ra, với: Lớp vào: p = [2, 1.5, 3]T Lớp ẩn 1: b1 = [0.5, 0.6]T W1 = [0.1, 0.2, 0.3; 0.5, 0.4, 0.6] f1: hàm purelin Lớp ẩn 2: b2 = [0.5, 0.6]T W2 = [0.5, 0.2; 0.1, 0.6]; f2: hàm Logsig Lớp ra:
b3 = 0.2; W3 = [0.4, 0.2]; f3: hàm Tangsig 39
Mạng nơ-ron nhiều lớp: vd 40 20