Máy học và mạng neural - Bài 04: Mạng nơron nhân tạo Artificial Neural Networks
Nhiều chức năng mục tiêu có thể học từ dữ liệu ảnh
– Đinh 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
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)
41 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 1873 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Máy học và mạng neural - Bài 04: Mạng nơron nhân tạo Artificial Neural Networks, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
07/08/2013
1
Bài 04 – Mạng nơron nhân tạo
Artificial Neural Networks
1
Nội dung
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
2
07/08/2013
2
Đị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)
ANN khác với hệ thống nơron thần kinh:
– 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.
Giới thiệu
3
Giới thiệu
Bộ não người được ước tính có chứa:
– 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ọ.
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.
4
07/08/2013
3
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
trong các sinh vật.
5
6
W1
X1
W2
X2
W3
X3
.K KW X
1
Z
Z Y
Não
Cấu trúc của các neurons (tế bào thần kinh)
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
Trọng
số
Hàm x.định g.trị
ngưỡng
Tín hiệu
truyền đi các
thành phần
khác
Giá trị nhập
Giá trị xuất
Giới thiệu - Mô hình hóa mạng NN
07/08/2013
4
1
0
1
0
0
0
0
1
0
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ị nhập Lớp nhập Lớp ẩn Lớp xuất Giá trị xuất Giá trị mong
muốn
So sánh
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 - Cơ chế học của mạng
7
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.
Một số ứng dụng của mạng nơron (mạng lan truyền ngược):
– 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
07/08/2013
5
VD: Autonomous Land Vehicle In a Neural
Network
Một ví dụ điển hình về mô hình học
của mạng nơron là hệ thống
ALVINN (Autonomous Land
Vehicle In a Neural Network) của
Pomerleau (1993).
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.
9
Các bài toán phù hợp với ANN
Bài toán phân loại (classification):
quyết định một giá trị đưa vào thuộc loại hay nhóm nào,
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.
Bài toán dự đoán (prediction):
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 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):
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
07/08/2013
6
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
07/08/2013
7
Cấu tạo một neural
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)
13
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.
14
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.
07/08/2013
8
Các hàm ngưỡng
15
A hard limiting and bipolar linear threshold
Kiến trúc NN
16
07/08/2013
9
Kiến trúc NN
17
Kiến trúc NN
18
07/08/2013
10
Các qui tắc học
19
20
Các trọng
số
So sánh
Điều chỉnh
trọng số
Đích
(Target)
Đầu vào
(Input)
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á.
Điều chỉnh tham số
07/08/2013
11
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ế)
Có thể tính toán bất cứ hàm logic nào,
21
Perceptrons
22
07/08/2013
12
Perceptrons
23
Perceptron
x1
x2
xn
.
.
.
w1
w2
wn
w0
x0=1
1 if i=0n wi xi >0
o(xi)= -1 otherwise
o
{
07/08/2013
13
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.
Chú ý là x0 = 1 và x1, x2 nhận giá trị 0 hoặc 1
25
Luật Học Perceptron
26
07/08/2013
14
Luật Học Perceptron
27
Ví dụ perceptron
Tập dữ liệu huấn luyện
28
Perceptron dùng để phân loại bài toán
07/08/2013
15
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.
Bảng chân trị
Đồ thị các điểm dữ liệu
của bài toán Ex-Or
29
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.
Là cơ sở cho giải thuật BACKPROPAGATION
30
07/08/2013
16
31
Phương pháp hạ dốc và luật delta
Trực Quan Hóa Không Gian Giả Thuyết
32
07/08/2013
17
Đạo Hàm Của Luật Hạ Dốc
33
Đạo Hàm Của Luật Hạ Dốc
34
07/08/2013
18
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.
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.
36
07/08/2013
19
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
07/08/2013
20
Giải thuật lan truyền ngược
39
Cấu trúc mạng
40
07/08/2013
21
Giai đoạn lan truyền tiến (1)
41
Giai đoạn lan truyền tiến (2)
42
07/08/2013
22
Giai đoạn lan truyền ngược (1)
43
Giai đoạn lan truyền ngược (2)
44
07/08/2013
23
Giai đoạn lan truyền ngược (3)
45
Giai đoạn lan truyền ngược (4)
46
07/08/2013
24
Giai đoạn lan truyền ngược (5)
47
Giai đoạn lan truyền ngược (6)
48
07/08/2013
25
Lan truyền thẳng
49
Mô hình hóa thuật toán BP
Lan truyền thẳng
50
Mô hình hóa thuật toán BP
07/08/2013
26
Lan truyền thẳng
51
Mô hình hóa thuật toán BP
Lan truyền thẳng
52
Mô hình hóa thuật toán BP
07/08/2013
27
Lan truyền thẳng
53
Mô hình hóa thuật toán BP
Lan truyền thẳng
54
Mô hình hóa thuật toán BP
07/08/2013
28
Lan truyền thẳng
55
Mô hình hóa thuật toán BP
Cập nhật lỗi
56
Mô hình hóa thuật toán BP
07/08/2013
29
Cập nhật lỗi
57
Mô hình hóa thuật toán BP
Cập nhật lỗi
58
Mô hình hóa thuật toán BP
07/08/2013
30
Cập nhật lỗi
59
Mô hình hóa thuật toán BP
Cập nhật lỗi
60
Mô hình hóa thuật toán BP
07/08/2013
31
Cập nhật lỗi
61
Mô hình hóa thuật toán BP
Cập nhật trọng số mạng
62
Mô hình hóa thuật toán BP
07/08/2013
32
Cập nhật trọng số mạng
63
Mô hình hóa thuật toán BP
Cập nhật trọng số mạng
64
Mô hình hóa thuật toán BP
07/08/2013
33
Cập nhật trọng số mạng
65
Mô hình hóa thuật toán BP
Cập nhật trọng số mạng
66
Mô hình hóa thuật toán BP
07/08/2013
34
Cập nhật trọng số mạng
67
Mô hình hóa thuật toán BP
BP – Khởi tạo giá trị các trọng số
68
07/08/2013
35
BP – Tốc độ học (Learning rate)
69
Hội tụ và cực tiểu cục bộ
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á.
70
07/08/2013
36
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.
Mạng gồm:
Các đơn vị sigmoid ở lớp ẩn
Các đơn vị tuyến tính ở lớp xuất.
72
07/08/2013
37
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ị sigmoid ở hai lớp ẩn
Các đơn vị tuyến tính ở lớp xuất.
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ộ.
73
Ưu nhược điểm
74
07/08/2013
38
Khi nào dùng ANNs
75
Ví dụ minh họa mạng nơron
76
07/08/2013
39
Ví dụ minh họa ANNs
Nhiều chức năng mục tiêu có thể học từ dữ liệu ảnh
– Đị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
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)
77
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)
Cơ sở dữ liệu ảnh
– 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
07/08/2013
40
79
Đọ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
80
07/08/2013
41
Câu hỏi và bài tập
81
Các file đính kèm theo tài liệu này:
- lecture04_neuralnetwork_0536.pdf