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