07/08/2013
Bài 04 – Mạng nơron nhân tạo Artificial Neural Networks
1
Nội dung
2
Giới thiệu Các bài toán phù hợp với ANNs Cấu tạo ANNs Các hàm ngưỡng Kiến trúc ANNs Các qui tắc học Mạng neuron McCulloch-Pitts Perceptrons ANNs nhiều tầng và giải thuật lan truyền ngược Các vấn đề liên quan
1
07/08/2013
Giới thiệu
Định nghĩa: mạng nơ-ron là một tập hợp các dây thần kinh kết nối với nhau
Mạng nơ-ron sinh học: là một mạng lưới các nơ-ron có kết nối hoặc có liên quan về mặt chức năng trực thuộc hệ thần kinh. Mạng nơ-ron nhân tạo: được thiết kế để mô hình một số tính
chất của mạng nơ-ron sinh học (Bắt chước cách học của các hệ thần kinh sinh vật)
– Nhiều vấn đề phức tạp trong hệ thống neural thần kinh mà không được
mô tả bởi ANN.
– Nhiều đặc trưng của ANN không phù hợp với những hệ thống nơron
sinh vật.
3
ANN khác với hệ thống nơron thần kinh:
Giới thiệu
– Khoảng 1011 nơron thần kinh. – Mỗi kết nối sẽ có104 nơron. – Thời gian trao đổi thông tin giữa các nơron là10-3 giây (chậm hơn nhiều
so với máy tính là 10-10 giây).
– Tuy nhiên con người có thể đưa ra những quyết định phức tạp và nhanh chóng một cách đáng ngạc nhiên. Ví dụ, một người cần khoảng 10-1 giây để nhận ra mẹ của họ.
Bộ não người được ước tính có chứa:
4
Khả năng xử lý thông tin của hệ thần kinh phải xử lý song song tốc độ cao và hoạt động trên những nơron tiêu biểu.
2
07/08/2013
Giới thiệu
Mạng nơron nhân tạo được bắt nguồn từ mạng nơron thần kinh
5
trong các sinh vật.
Giới thiệu - Mô hình hóa mạng NN
Cấu trúc của các neurons (tế bào thần kinh)
Não
Tín hiệu nhận từ các neurons khác Tín hiệu truyền đi các neurons khác
Phần thân tế bào với các cấu trúc tế bào kết hợp
Mô hình hóa
Mô hình các thành phần của hệ thần kinh
Neurocomputer
Tín hiệu nhận từ các thành phần khác
X1
W1
X2
Z
1
Tín hiệu truyền đi các thành phần khác Y
W2
Z
X3
Giá trị xuất
Giá trị nhập
Hàm x.định g.trị ngưỡng
6
W3 Trọng số
3
07/08/2013
Giới thiệu - Cơ chế học của mạng
Lặp nhiều lần việc biểu diễn mạng với các dữ liệu mẫu bao gồm các mối liên kết giữa các giá trị nhập và các giá trị đích (ví dụ, các giá trị này gần giống như kết xuất)
Các nút sẽ tự điều chỉnh trọng số của chúng cho đến khi đạt được giá trị xuất mong muốn với một bộ dữ liệu đầu vào cho trước (ví dụ: cho đến khi biên lỗi giữa giá trị xuất và giá trị mong muốn đạt bằng nhau và bằng không)
Xây dựng cơ chế giải quyết bài toán bằng mạng neuron
Giá trị xuất
Giá trị nhập Lớp nhập
Lớp ẩn
Lớp xuất
Giá trị mong muốn
1
0
0
0
1
0
1
So sánh
0
0
7
Thay đổi trọng số cho đến khi giá trị lỗi đầu xuất đạt bằng không (phương pháp Lan Truyền Ngược)
Giới thiệu
Mô hình học của mạng nơron là một phương pháp tốt để giải
quyết các vấn đề như: – Tính xấp xỉ các hàm có giá trị dạng số thực, số rời rạc, vector. – Các dạng dữ liệu cảm biến phức tạp.
– Nhận dạng chữ viết tay. – Nhận dạng giọng nói. – Nhận dạng mặt người.
8
Một số ứng dụng của mạng nơron (mạng lan truyền ngược):
4
07/08/2013
VD: Autonomous Land Vehicle In a Neural Network
Một ví dụ điển hình về mô hình học thống là hệ của mạng nơron ALVINN (Autonomous Land Vehicle In a Neural Network) của Pomerleau (1993).
9
Camera thu ảnh 30x32 pixel. Hệ thống học 5 phút. Hệ thống điều khiển xe với tốc độ 70 dặm/giờ trên đoạn đường 90 dặm.
Các bài toán phù hợp với ANN
quyết định một giá trị đưa vào thuộc loại hay nhóm nào,
Bài toán phân loại (classification):
Bài toán nhận dạng mẫu (pattern recognition): nhận dạng cấu trúc trong các dữ liệu có thể là bị nhiễu.
chẳng hạn như nhận dạng bệnh từ các triệu chứng, nhận dạng tác nhân từ các
hiệu ứng,…
Bài toán dự đoán (prediction):
hay phân biệt các tín hiệu với nền, tìm ra các thành phần không quan trọng
trong một tín hiệu.
10
Bài toán tối ưu (optimization): tìm một tổ chức ràng buộc tốt nhất Bài toán lọc nhiễu (Noise filtering):
5
07/08/2013
Các bài toán phù hợp với ANN
11
Các bài toán phù hợp với ANN
12
6
07/08/2013
Cấu tạo một neural
13
Các tính hiệu đầu vào Tập các trọng số Một mức kích hoạt Một hàm ngưỡng (hàm truyền, hàm thích nghi)
Các hàm ngưỡng
Hàm Harlimit ánh xạ giá trị bất kỳ từ (-,+) vào tập {0,1} nên thích
hợp cho các mạng thực hiện chức năng phân loại.
Các hàm nén sigmoid và tansigmoid ánh xạ giá trị bất kỳ từ (-,+)
vào các khoảng [0,1] và [-1,1] tương ứng.
Hàm purelinear trả về bất kỳ giá trị thực nào và thường được sử
dụng ở các Nơrons trong lớp xuất. Theo Thuyết Cybenko về xấp xỉ hàm phi tuyến tính, bất kỳ một hàm nào đều có thể được xấp xỉ với một độ chính xác tùy ý bởi một mạng với 3 lớp Nơron có các hàm truyền tuyến tính trong lớp xuất và các hàm truyền nén trong hai lớp ẩn còn lại.
14
7
07/08/2013
Các hàm ngưỡng
15
A hard limiting and bipolar linear threshold
Kiến trúc NN
16
8
07/08/2013
Kiến trúc NN
17
Kiến trúc NN
18
9
07/08/2013
Các qui tắc học
19
Điều chỉnh tham số
Đích (Target)
So sánh
Đầu vào (Input)
Các trọng số
Điều chỉnh trọng số
Sơ đồ huấn luyện Mạng Nơron, học có giám sát
Mạng được điều chỉnh trọng số dựa trên tập huấn luyện (training set).
- Ý tưởng: mạng sẽ được điều chỉnh theo một cách nào đó sao cho nó có thể học được các mẫu (pattern) hiện hữu trong tập huấn luyện. Sau khi hoàn tất điều chỉnh, mạng được trang bị khả năng tổng quát hóa từ các mẫu đã học để dự báo các giá trị trong tương lai.
- Cơ chế điều chỉnh trọng số: sử dụng hàm sai số hay hàm đánh giá.
20
10
07/08/2013
Mạng neuron McCulloch-Pitts
Đầu vào của một neuron McCulloch-Pitts là +1 (kích thích) hoặc –1 (ức chế)
21
Có thể tính toán bất cứ hàm logic nào,
Perceptrons
22
11
07/08/2013
Perceptrons
23
Perceptron
x0=1
w1
x1
w0
w2
o
wn
x2 . . . xn
n wi xi >0
1 if i=0 { o(xi)= -1 otherwise
12
07/08/2013
Perceptrons
Một percetron đơn chỉ có thể phân tách được những tập mẫu có thể phân tách chuyến tính (có thể dùng một siêu phẳng để chia tập mẫu thành n -1 phần nếu giá trị nhập có n chiều).
Một ứng dụng đơn giản của Percetron là dùng để mô tả các hàm logic như AND, OR, NAND, NOR.
Ví dụ Với w0 = -0.8 và w1 = w2 = 0.5 ta có hàm AND. Với w0 = -0.3 và w1 = w2 = 0.5 ta có hàm OR.
25
Chú ý là x0 = 1 và x1, x2 nhận giá trị 0 hoặc 1
Luật Học Perceptron
26
13
07/08/2013
Luật Học Perceptron
27
Ví dụ perceptron
Perceptron dùng để phân loại bài toán
28
Tập dữ liệu huấn luyện
14
07/08/2013
Giới hạn của perceptron – tính tách rời tuyến tính của bài toán
bài toán phân loại không tuyến tính đó là phép toán ex-or.
29
Bảng chân trị Đồ thị các điểm dữ liệu của bài toán Ex-Or
Phương pháp hạ dốc và luật delta
Đây là luật để huấn luyện perceptron mà không cần ngưỡng.
Tập dữ liệu huấn luyện không nhất thiết phải phân tách tuyến
tính. Vì luật huấn luyện này tìm ra một xấp xỉ tốt nhất với các
mẫu huấn luyện.
Ý tưởng chính là sử dụng việc hạ dốc để tìm kiếm trong không
gian H một vector trọng số phù hợp với mẫu huấn luyện nhất.
30
Là cơ sở cho giải thuật BACKPROPAGATION
15
07/08/2013
Phương pháp hạ dốc và luật delta
31
Trực Quan Hóa Không Gian Giả Thuyết
32
16
07/08/2013
Đạo Hàm Của Luật Hạ Dốc
33
Đạo Hàm Của Luật Hạ Dốc
34
17
07/08/2013
Giải Thuật Hạ Dốc
35
Nhận xét
Hạ dốc là một mô hình tổng quát quan trọng cho việc học. Việc tìm kiếm được thực hiện trên toàn bộ không gian giả thuyết – không gian này có thể rất lớn hoặc vô hạn.
Do đó có thể phải cần tới hàng ngàn lần lặp mới hội tụ. Nếu mặt phẳng sai số có nhiều cực tiểu địa phương thì giải thuật này không đảm bảo tìm ra được giá trị nhỏ nhất.
36
Một biến thể của giảm độ dốc nhằm giảm bớt số lần điều chỉnh trọng số là hạ dốc ngẫu nhiên.
18
07/08/2013
ANNs nhiều tầng và giải thuật lan truyền ngược
37
Giải thuật lan truyền ngược
38
19
07/08/2013
Giải thuật lan truyền ngược
39
Cấu trúc mạng
40
20
07/08/2013
Giai đoạn lan truyền tiến (1)
41
Giai đoạn lan truyền tiến (2)
42
21
07/08/2013
Giai đoạn lan truyền ngược (1)
43
Giai đoạn lan truyền ngược (2)
44
22
07/08/2013
Giai đoạn lan truyền ngược (3)
45
Giai đoạn lan truyền ngược (4)
46
23
07/08/2013
Giai đoạn lan truyền ngược (5)
47
Giai đoạn lan truyền ngược (6)
48
24
07/08/2013
Mô hình hóa thuật toán BP
49
Lan truyền thẳng
Mô hình hóa thuật toán BP
50
Lan truyền thẳng
25
07/08/2013
Mô hình hóa thuật toán BP
51
Lan truyền thẳng
Mô hình hóa thuật toán BP
52
Lan truyền thẳng
26
07/08/2013
Mô hình hóa thuật toán BP
53
Lan truyền thẳng
Mô hình hóa thuật toán BP
54
Lan truyền thẳng
27
07/08/2013
Mô hình hóa thuật toán BP
55
Lan truyền thẳng
Mô hình hóa thuật toán BP
56
Cập nhật lỗi
28
07/08/2013
Mô hình hóa thuật toán BP
57
Cập nhật lỗi
Mô hình hóa thuật toán BP
58
Cập nhật lỗi
29
07/08/2013
Mô hình hóa thuật toán BP
59
Cập nhật lỗi
Mô hình hóa thuật toán BP
60
Cập nhật lỗi
30
07/08/2013
Mô hình hóa thuật toán BP
61
Cập nhật lỗi
Mô hình hóa thuật toán BP
62
Cập nhật trọng số mạng
31
07/08/2013
Mô hình hóa thuật toán BP
63
Cập nhật trọng số mạng
Mô hình hóa thuật toán BP
64
Cập nhật trọng số mạng
32
07/08/2013
Mô hình hóa thuật toán BP
65
Cập nhật trọng số mạng
Mô hình hóa thuật toán BP
66
Cập nhật trọng số mạng
33
07/08/2013
Mô hình hóa thuật toán BP
67
Cập nhật trọng số mạng
BP – Khởi tạo giá trị các trọng số
68
34
07/08/2013
BP – Tốc độ học (Learning rate)
69
Hội tụ và cực tiểu cục bộ
70
Không có cách nào để dự đoán một cách chắc chắn khi nào các cực tiểu cục bộ phát sinh trở ngại. Một số cách giảm vấn đề cực tiểu cục bộ: Thêm số hạng đà cho luật cập nhật trọng số Sử dụng hạ dốc ngẫu nhiên hơn là hạ dốc thực sự Huấn luyện nhiều mạng với cùng dữ liệu, nhưng khởi gán mỗi mạng với các trọng số ngẫu nhiên khác nhau. Nếu vẫn dẫn đến những cực tiểu cục bộ khác nhau thì chọn mạng có hiệu suất tốt nhất trên tập dữ liệu đánh giá.
35
07/08/2013
Số lượng các nơron ở tầng ẩn?
71
Khả năng biểu diễn của các mạng truyền thẳng
Các hàm liên tục:
Mọi hàm liên tục bị chặn đều có thể được xấp xỉ với sai số nhỏ tùy ý (theo tiêu chuẩn hữu hạn) bởi mạng hai lớp.
Các đơn vị sigmoid ở lớp ẩn
Mạng gồm:
72
Các đơn vị tuyến tính ở lớp xuất.
36
07/08/2013
Khả năng biểu diễn của các mạng truyền thẳng
Các hàm tùy ý:
Một hàm bất kỳ có thể được xấp xỉ với độ chính xác tùy ý bởi mạng ba lớp (Cybenko 1988).
Mạng gồm:
Các đơn vị tuyến tính ở lớp xuất.
Các đơn vị sigmoid ở hai lớp ẩn
73
Vì một hàm bất kỳ đều có thể được xấp xỉ bằng kết hợp tuyến tính nhiều hàm cục bộ hóa và hai lớp đơn vị sigmoid đủ để biểu diễn tốt xấp xỉ cục bộ.
Ưu nhược điểm
74
37
07/08/2013
Khi nào dùng ANNs
75
Ví dụ minh họa mạng nơron
76
38
07/08/2013
Ví dụ minh họa ANNs
– Định danh của người – Hướng nhìn của người: left, right, straight, up – Với các trạng thái: vui, buồn, giận dữ, trung lập – Đeo kính hoặc không đeo kính
Nhiều chức năng mục tiêu có thể học từ dữ liệu ảnh
77
Trong phần này chương trình minh họa cho việc học hướng mà người đang nhìn (left, right, straight, up)
Ví dụ minh họa ANNs
Thiết kế mạng dựa trên việc áp dụng thuật toán lan truyền ngược.
Tác vụ học: phân lớp hình ảnh của máy ảnh (left, right, straight, up)
– 624 ảnh xám của 20 người khác nhau; với 32 ảnh/ một người – Độ phân giải 120 x 128 (chuyển sang 30 x 32)
78
Cơ sở dữ liệu ảnh
39
79
07/08/2013
Đọc thêm
Giáo trình - chương 4. Ethem Alpaydın. Introduction to Machine Learning.
Second Edition. The MIT Press Cambridge, Massachusetts London, England
Joone : a Java framework to build and run AI
applications based on neural networks
http://www.joone.org/
80
40
07/08/2013
Câu hỏi và bài tập
81
41