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

Một số quy trình huấn luyện mạng nơron và ứng dụng xấp xỉ hàm số

96 2K 3

Đ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 96
Dung lượng 1,36 MB

Nội dung

Trong khuôn khổ bản luận văn tốt nhiệp này, chúng tôi sẽ trình bày một số vấn đề về mạng nơron bao gồm luyện tham số, luyện cấu trúc và ứng dụng vào một bài toán xấp xỉ hàm... Hình 1.2-

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

KHOA CÔNG NGHỆ

DƯƠNG THĂNG LONG

MỘT SỐ QUY TRÌNH HUẤN LUYỆN MẠNG NƠRON

VÀ ỨNG DỤNG XẤP XỈ HÀM SỐ

LUẬN VĂN THẠC SỸ

Người hướng dẫn: PGS.TSKH Bùi Công Cường

Hà nội - 2004

Trang 2

MỤC LỤC

Chương 1- Giới thiệu mạng nơron nhân tạo 1

1.1 Giới thiệu mạng nron nhân tạo 1

1.1.1 Giới thiệu nron sinh học 1

1.1.2 Mô hình nron một đầu vào 2

1.1.3 Mô hình nron nhiều đầu vào 4

1.2- Kiến trúc mạng nron nhân tạo 5

1.2.1 Mô hình một lớp nron (Layer) 5

1.2.2 Mô hình nhiều lớp nron (Multiple Layer) 6

1.2.3 Mô hình mạng nron có phn hồi (reccurent networks) 8

1.3- Ứng dụng của mạng nron nhân tạo 10

1.4- Một số vấn đề liên quan 11

1.4.1 Đầu vào và đầu ra của mạng 11

1.4.2 Tập dữ liệu huấn luyện và kiểm tra 12

1.4.3 Ưu nhược điểm của mạng nron 12

Chương 2- Đảm bảo toán học cho luyện mạng 14

2.1- Các mặt hiệu suất và điểm tối ưu 14

2.1.1 Chuỗi Taylor 15

2.1.2 Trường hợp véct 16

2.1.3 Hướng của đạo hàm 17

2.1.4 Các điểm cực tiểu 19

2.1.5 Các điều kiện cần cho sự tối ưu 21

2.1.6 Hàm bậc hai 23

2.2 Tìm kiếm điểm tối ưu 27

2.2.1 Phương pháp xuống dốc từng bước 28

2.2.2 Phương pháp Newton 33

2.2.3 Phương pháp liên hợp gradient 34

Chương 3- Một số phương pháp huấn luyện mạng nron 39

3.1 Mạng Perceptron và quy tắc học Perceptron 39

3.1.1 Kiến trúc perceptron 39

3.1.2 Quy tắc học perceptron 40

3.1.3 Xét sự hội tụ của thuật toán học 41

3.1.4 Minh hoạ 44

3.1.5 Những hạn chế của luật học perceptron 45

3.2 Thuật toán học Widrow-Hoff 46

3.2.1 Mạng ADALINE 47

3.2.2 Sai số bình phưng trung bình 48

3.2.3 Thuật toán LMS 51

3.2.4 Phân tích sự hội tụ 53

3.2.5 Minh hoạ 54

3.3 Thuật toán lan truyền ngược (the back propagation algorithms) 57

3.3.1 Giới thiệu mạng perceptron nhiều lớp 58

3.3.2 Bài toán phân lớp các đối tượng 59

3.3.3 Bài toán xấp xỉ hàm 60

3.3.4 Thuật toán lan truyền ngược 62

3.3.5 Sự thay đổi tốc độ học 68

3.4 Học liên hợp ( associative learning ) 69

3.4.1 Mô hình nron liên hợp đn gin 70

Trang 3

3.4.2 Luật học Hebb 72

3.4.3 Luật học Kohonen 72

3.5 Học cạnh tranh ( competitive learning ) 73

2.5.1 Mô hình một lớp nơron cạnh tranh 73

3.5.2 Học cạnh tranh 73

3.6 Kết luận 73

Chương 4- Xây dựng mạng nơron để xấp xỉ hàm phi tuyến 75

4.1 Xây dựng mạng nron theo hướng loại bỏ - Destructive learning 76

4.1.1 Giới thiệu 76

4.1.2 Thuật toán huấn luyện mạng và loại bỏ dư thừa 77

4.2 Xây dựng mạng nron theo hướng thêm vào - Constructive learning 80

4.2.1 Không gian trạng thái 81

4.2.2 Trạng thái xuất phát 82

4.2.3 Trạng thái kết thúc 82

4.2.4 Chiến lược tìm kiếm 83

4.2.5 Thuật toán xây dựng mạng theo phưng pháp constructive 87

4.3 Một thuật toán kết hợp giữa hai phưng pháp trên 88

4.4 Kết qu thử nghiệm 91

4.4.1 Thử nghiệm đối với hàm F1 92

4.4.2 Thử nghiệm đối với hàm F2 94

4.4.3 Thử nghiệm đối với hàm F3 96

4.5 Phụ lục - đoạn chưng trình chính của thuật toán TT2 98

4.5.1 Thuật toán TT1 98

4.5.2 Thuật toán TT2 102

Trang 4

LỜI MỞ ĐẦU

Sự phát triển và ứng dụng Công nghệ tin học vào trong cuộc sống ngày càng rộng rãi và đem lại những lợi ích to lớn cho xã hội Các nghiên cứu và tìm kiếm công nghệ mới nhằm nổ lực hơn nữa đem lại các kết quả tốt đẹp hơn Một trong những nghiên cứu và ứng dụng công nghệ mới đó là cố gắng bắt chước cách làm việc của bộ não người, tức là xây dựng các chương trình cho máy tính làm việc giống với khả năng (tuy nhiên một phần nào đó) của con người

Khái niệm về mạng nơron đầu tiên được đề xuất bởi Warren McCulloch và Walter Pitts vào những năm 1940 Năm 1950, mạng nơron nhân tạo đầu tiên là perceptron được đề xuất bởi Frank Rosenblatt, sau đó Bernard Widrow và Ted Hoff giới thiệu một thuật toán học sử dụng để luyện mạng nơron tuyến tính thích nghi (có cấu trúc và khả năng tương tự perceptron) Năm 1970 Teuvo Kohonen

và James Anderson đã phát triển các mạng nơron mới thực hiện như những bộ nhớ, Stephen Grossberg cũng đã đề xuất mạng nơron tự tổ chức Đặc biệt là kết quả công bố của David Rumelhart và James McClelland về thuật toán lan truyền ngược để luyện mạng nơron perceptron nhiều lớp, được phát triển vào những năm 1980, đã đem lại nhiều kết quả mới trong nghiên cứu và ứng dụng mạng nơron Đến nay mạng nơron đã tìm thấy được rất nhiều ứng dụng, như phân lớp mẫu, nhận dạng, xấp xỉ hàm, hồi quy,…

Để ứng dụng mạng nơron chúng ta cần thực hiện: thứ nhất xây dựng một cấu trúc mạng thật hợp lý để giải quyết vấn đề đặt ra, thứ hai chọn một giải pháp luyện mạng thích hợp Tuy nhiên trong thực tế có nhiều vấn đề khó có thể thu thập được các thông tin cho việc xây dựng một cấu trúc mạng nơron hợp lý, cũng như bộ não con người, chủ yếu được hình thành quá trình học, do đó việc xây dựng một cấu trúc mạng cũng phải được thông qua việc huấn luyện

Trong khuôn khổ bản luận văn tốt nhiệp này, chúng tôi sẽ trình bày một số vấn đề về mạng nơron bao gồm luyện tham số, luyện cấu trúc và ứng dụng vào một bài toán xấp xỉ hàm

Trang 5

chương 1

Giới thiệu mạng nơron nhân tạo

1.1 Giới thiệu mạng nơron nhân tạo

Mạng nơron nhân tạo được xây dựng trên cơ sở thừa kế mạng nơron sinh học bao gồm cấu trúc và sự hoạt động, sau đây chúng ta sẽ xem xét tổng quan về cấu trúc và sự hoạt động của mạng nơron sinh học

1.1.1 Giới thiệu nơron sinh học

Chúng ta đ• biết bộ n•o người chứa đựng khoảng 1011 các nơron liên kết với nhau ở mức cao,

khoảng 104 liên kết tới một nơron Mỗi nơron có ba thành phần chính gồm: dendrites (vòi thu nhận tín hiệu), cell body (nhân nơron), axon (trục chuyển tín hiệu) Vòi nhận tín hiệu có hình cây để nhận các tín hiệu đưa vào trong nhân của nơron Nhân có nhiệm vụ tổng hợp các tín hiệu được thu nhận từ các vòi

và kích hoạt nó, nếu vượt một ngưỡng nào đó thì tín hiệu sẽ được chuyển tới axon và truyền đến các nơron khác Khớp nối giữa axon của một nơron với vòi của nơron khác gọi là synapse

Trang 6

Hình 1.1- Sơ đồ mạng nơron sinh học

Khi mới sinh ra bộ n•o người có cấu trúc đơn giản, và ngày càng được hoàn thiện bởi việc học của con người Đó là việc thiết lập các liên giữa các nơron lại với nhau để biểu diễn tri thức của con người có được, từ đó xử lý các thông tin khác

Mạng nơron nhân tạo không tiếp cận theo cách liên kết phức tạp của n•o người Tuy nhiên có 2 điểm chính tương tự nhau đó là: xây dựng các khối đều là những phần tính toán đơn giản được kết nối với nhau ở mức cao; liên kết giữa các nơron xác định chức năng của mạng

1.1.2 Mô hình nơron một đầu vào

Nơron có một đầu vào được biểu diễn như hình 1.2, đầu vào p sẽ nhân với trọng số liên kết w đưa vào

bộ tổng, thêm một đầu vào bằng 1 nhân với độ lệch b đưa vào bộ tổng Kết quả đầu ra là z sẽ qua hàm kích hoạt f để cho đầu ra của nơron đó là a

Hình 1.2- Nơron một đầu vào

Trong đó:

p - tín hiệu đầu vào của nơron

w - trọng số liên kết giữa đầu vào p tới nơron

b - độ hiệu chỉnh (độ lệch) đóng vai trò ngưỡng trong nơron sinh học

Trang 7

z - tổng tín hiệu đầu vào cùng với độ lệch b

f - hàm kích hoạt của nơron

a - tín hiệu ra của nơron

Kết quả đầu ra của nơron được tính như sau:

Tên hàm Diễn giải: a=f(z) Ký hiệu

Trang 8

Hyperbolic Tangent Sigmoid

1.1.3 Mô hình nơron nhiều đầu vào

Một nơron thực chất sẽ có nhiều đầu vào qua các liên kết, với một nơron có R đầu vào p1, p2, , pR, mỗi đầu vào sẽ qua một liên kết có trọng số là w1,1, w1,2, , w1,R của ma trận trọng số W

Hình 1.5- Nơron nhiều đầu vào

Nơron có độ lệch b do đó tổng đầu vào (net) của nó sẽ là z:

Hay viết dưới dạng ma trận ta có:

Trang 9

Trong đó ma trận trọng số W cho một nơron nên nó chỉ có một dòng Kết quả đầu ra của mạng được tính là:

Chúng ta đánh chỉ số liên kết của ma trận trọng số theo cách thông thường, chỉ số đầu là liên kết đích, chỉ số sau là liên kết nguồn Ví dụ ta viết w1,3 có nghĩa là trọng số liên kết tới nơron thứ 1 từ nơron thứ 3

Chúng ta có thể minh hoạ nơron nhiều đầu vào bằng hình vẽ sau:

Hình 1.9- Nơron nhiều đầu vào

1.2- Kiến trúc mạng nơron nhân tạo

Mạng nơron sinh học có kiến trúc rất phức tạp, các liến kết giữa các nơron rất nhiều (mỗi nơron có khoảng 104 liến kết tới các nơron khác) Đối với mạng nơron nhân tạo ta chỉ xét loại mạng truyền thẳng là chủ yếu, tức là các nơron được chia thành lớp và xếp theo thứ tự mỗi lớp, các nơron ở lớp trước kết nối trực tiếp tới các nơron ở lớp kề sau

1.2.1 Mô hình một lớp nơron (Layer)

Trang 10

Một lớp có S nơron được biểu diễn như hình 1.10, mỗi nơron sẽ liên kết đầy đủ với các đầu vào pi vì thế ma trận trọng số liên kết sẽ có kích thước S x R

Trang 11

Ma trận trọng số liên kết của một lớp nơron được biểu diễn như sau:

Một lớp có S nơron và R đầu vào có thể được minh hoạ bởi hình sau:

Hình 1.12- Một lớp S nơron

1.2.2 Mô hình nhiều lớp nơron (Multiple Layer)

Bằng cách liên kết nhiều lớp nơron lại với nhau để tạo thành một mạng nơron nhân tạo Lớp đầu tiên

ta gọi là lớp vào - Input layer, lớp cuối cùng gọi là lớp ra - Output layer, các lớp trong gọi là lớp ẩn - Hidden layer Các nơron ở lớp sau sẽ liên liên kết với các nơron ở lớp kề trước, trừ lớp vào

Trang 12

Hình 1.13- Mạng nơron truyền thẳng nhiều lớp

Kết quả đầu ra chi tiết như sau :

Quá sớm để nói đến việc lựa chọn cấu trúc cho mạng nơron Số nút vào, số nút ra được lựa chọn dựa vào cấn đề cần thực hiện Ví thế nếu số biến vào là 3 thì số nút vào của mạng là 3, nếu số biến ra là 7 thì số nút ra của mạng phải là 7 Cuối cùng các đặc trưng mong muốn ở đầu ra giúp chúng ta lựa chọn hàm kích hoạt cho kết quả ra Nếu đầu ra là -1 hoặc 1 thì sử dụng hàm symmetrical hard limit Vì vậy kiến trúc của mạng một lớp xác định hoàn toàn đặc tả vấn đề, bao gồm số nút vào, số nút ra và các đặc trưng đầu ra

Đối với mạng nhiều hơn 2 lớp chúng ta sẽ không xác định được trực tiếp số nơron cần trong lớp ẩn từ vấn đề Thực tế có 3 vấn đề có thể dự đoán số nơron ẩn thích hợp cần trong lớp ẩn Đây là một mảng được nghiên cứu rất sôi động hiện nay

Trang 13

Cũng như vấn đề số lớp, hầu hết các mạng được sử dụng chỉ có 3 lớp Từ 4 lớp trở lên ít khi được sử dụng

Chúng ta có thể chọn mạng có độ lệch (bias) hoặc không Độ lệch đưa lại cho mạng nhiều biến đổi và chúng ta sẽ thấy mạng có độ lệch sẽ hoạt động mạnh và hiệu quả hơn Ví dụ một nơron không có độ lệch khi một đầu vào p là 0 thì tổng tín hiệu của nơron sẽ là 0 Điều này không mong muốn và có thể tránh được bằng việc sử dụng độ lệch

1.2.3 Mô hình mạng nơron có phản hồi (reccurent networks)

Trước hết chúng ta xét một số khối đơn giản Khối thứ nhất là bộ trễ được giới thiệu trong hình sau

Trang 14

Hình 1.16- Bộ tích hợp

Một mạng hồi quy là mạng có tín hiệu phản hồi, một số nút ra được nối tới nút vào Đây là sự khác biệt đáng kể mà chúng ta phải xem xét so với mạng hoàn toàn truyền tới, không có liên kết ngược Một mạng hồi quy với thời gian rời rạc sẽ được biểu diễn như hình sau

Hình 1.17- Mạng nơron hồi quy

Trong mạng này véctơ p cung cấp điều kiện khởi tạo (a(0) = p) Sau đó đầu ra của mạng được tính từ đầu ra trước đó

Trang 15

a(1) = satlins(W.a(0)+b) , a(2) = satlins(W.a(1)+b) ,

Mạng nơron hồi quy có tiềm năng mạnh hơn mạng truyền tới và có thể đưa ra các ứng xử thời gian 1.3- ứng dụng của mạng nơron nhân tạo

Mạng nơron nhân tạo đ• được ứng dụng thành công và rộng r•i trong nhiều lĩnh vực như điều khiển, viễn thông, chẩn đoán y học, thăm dò dầu khí, tài chính và một số lĩnh vực khác Các ứng dụng này có thể chia thành các nhóm chính sau: thứ nhất là các bài toán phân lớp (classification) trong đó đầu vào được ấn định tới một trong các lớp hoặc nhóm phân biệt, thứ hai là các vấn đề xấp xỉ và hồi quy (regression) trong đó có một ánh xạ liên tục từ các đầu vào tới một hoặc nhiều đầu ra; thứ ba là các bài toán tối ưu hóa; thứ tư là các bài toán đối sánh mẫu; và cuối cùng là bộ nhớ liên hợp

Một số ví dụ cho vấn đề phân lớp bao gồm nhận dạng chữ, nhận dạng người nói, cân bằng kênh tính hiệu số và nhận dạng đối tượng Trong trường hợp này mạng nơron có một hoặc nhiều nút ra rời rạc

và thường là giá trị nhị phân Ví dụ để cân bằng kênh tín hiệu số sử dụng mạng nơron (loại bỏ nhiễu và tiếng ồn trên kênh truyền) các đầu ra nhị phân trở thành các bít trong việc cấu trúc lại m• tín hiệu số Mặt khác nhiều ứng dụng bao gồm cả thiết lập một ánh xạ hàm phi tuyến giữa các nút vào và nút ra Ví

dụ trong các hệ điều khiển như là điều khiển rô bốt, ước lượng rủi ro trong bảo hiểm, điều khiển các phần kính thiên văn sử dụng thích nghi của mắt, dự báo tỷ giá hối đoái tiền tệ, …

Các vấn đề phân lớp và hồi quy thường sử dụng kiến trúc mạng nơron nhiều lớp Để huấn luyện mạng nơron thường chúng ta sử dụng thuật toán lan truyền ngược và lựa chọn các mạng hàm cơ sở xuyên tâm RBF (Radial Basic Function) cho các vấn đề trên Thuật toán lan truyền ngược xác định được các trọng số và độ lệch của mỗi nút bằng cách sử dụng thủ tục xuống dốc những kiến trúc của mạng không thay đổi Thông thường mạng được huấn luyện với một số các nút ẩn được chọn và hiệu quả được đánh giá đối với một tập thẩm định để xác định số lượng nút ẩn tối ưu Việc này cần nhiều sự tính toán do đó chỉ một phần nhỏ không gian các mạng có thể được đánh giá Với mạng RBF để tìm các lựa chọn tối ưu của các hàm cơ sở cho việc phủ và phân bố dày đặc trên dữ liệu vào cũng quan trọng tương tự

1.4- Một số vấn đề liên quan

1.4.1 Đầu vào và đầu ra của mạng

Các ứng dụng mạng nơron trải rộng từ những trường hợp mà các đầu vào tới các nơron là riêng biệt, cho đến các trường hợp sử dụng các nhóm nơron để biểu diễn các giá trị của những đặc trưng chắc chắn của một đối tượng

Việc lựa chọn các đầu vào cho mạng nơron thông thường là phán đoán Các đầu vào có thể được tiền

xử lý, như là lượng hóa và lọc các dữ liệu Trong một số trường hợp có các công cụ toán học trợ giúp lựa chọn đầu vào Tuy nhiên cũng có thể thêm vào các giả thiết để lựa chọn các đầu vào cho phù hợp

Rõ ràng những hạn chế trong các hệ thống đo lường đối với một ứng dụng cụ thể sẽ hạn chế tập các đầu vào có thể Hơn nữa số lượng tiền xử lý cần thiết sẽ ảnh hưởng đến lựa chọn đầu vào

Trang 16

Ví dụ trong việc nhận dạng các chữ số, một lựa chọn có thể là mỗi chữ số được m• hóa trong ma trận nhị phân 11x8, hoặc chuyển nó thành véctơ nhị phân 88x1

Thông thường sự ánh xạ đầu vào tới đầu ra của mạng nơron là không đổi khi có một số thay đổi hoặc chênh lệch trong các yêu cầu đầu vào Vì thế mạng nơron cho thấy sự bất biến khi một số đầu vào thay đổi Một cách nhìn khác đó là sự phản ứng giống nhau được mong muốn đối với một lớp hoặc tập các tác nhân đầu vào Những sự thay đổi này chịu nhiều nguyên nhân, trong đó có nhiễu Ví dụ con người có thể nhận ra chữ in hoặc chữ viết tay với các kích thước và hướng khác nhau Chúng ta không thể thiết lập một cái máy làm việc chính xác như thế được

Lựa chọn đầu ra song song với việc lựa chọn đầu vào và hầu như phụ thuộc vào từng ứng dụng cụ thể 1.4.2 Tập dữ liệu huấn luyện và kiểm tra

Giả sử rằng một lượng thông tin chắc chắn đ• biết trước, như là tập các ánh xạ mẫu vào/ra hoặc chỉ

có các mầu vào, và đó là tập dữ liệu huấn luyện và tập dữ liệu kiểm tra, định nghĩa hành vi một hệ thống mong muốn cho việc xây dựng mạng nơron Xuất phát từ một mạng nơron đ• được xác định cấu trúc theo những dự đoán kinh nghiệm chuyên gia, hoặc một cấu trúc bất kz, sử dụng tập huấn luyện (training set) để huấn luyện mạng nơron thực hiện được yêu cầu đặt ra Sau khi huấn luyện xong hoặc trong quá trình chúng ta sử dụng tập kiểm tra (test set) để đánh giá kiểm tra sự họat động hiệu quả của mạng nơron

1.4.3 Ưu nhược điểm của mạng nơron

Xét dưới góc độ tính toán chúng ta thấy mạng nơron là một mô hình tính toán mới, nó có những thuận lợi và khó khăn riêng so với việc tính toán truyền thống

Ưu điểm

- Thừa kế việc tính toán song song

- Có thể loại bỏ các khuyết điểm sai bởi vì cơ chế song song

- Có thể được thiết kế để thích nghi

- Cần ít đặc điểm mô tả vấn đề

- Khả năng xấp xỉ rất tốt các hàm phức tạp

Nhược điểm

- Không có các quy tắc hoặc nguyên tắc thiết kế rõ ràng cho mọi ứng dụng

- Không có cách tổng quát để đánh giá sự hoạt động bên trong mạng

- Việc huấn luyện có thể rất khó hoặc không thực hiện được

- Khó dự đoán hiệu quả tương lai của mạng nơron

Trang 17

Tóm lại, việc lựa chọn và xây dựng một mạng nơron ứng dụng để giải quyết các vấn đề trong thực tiễn

là một công việc rất quan trọng Có thể xác định kiến trúc mạng trước, sau đó sử dụng tập dữ liệu huấn luyện mạng để sao cho mạng nơron thu được hoạt động đúng và hiệu quả Cũng có thể trong quá trình huấn luyện chúng ta xác định cấu trúc mạng cho hợp l{ Sau đây chúng tôi sẽ trình bày một số phương pháp huấn luyện mạng nơron

chương 2

đảm bảo toán học cho luyện mạng

2.1- Các mặt hiệu suất và điểm tối ưu

Trong phần này trình bày một số cơ sở cho kỹ thuật huấn luyện mạng nơron gọi là học hiệu suất (performance learning) Có một số lớp các luật học mạng khác nhau, bao gồm học liên hợp và học cạnh tranh Học hiệu suất là một lớp quan trọng, trong đó các tham số mạng được điều chỉnh để tối ưu hiệu suất họat động của mạng Hiệu suất này được đánh giá qua một hàm đặc trưng thực hiện

(performance index function), ta gọi tắt là hàm hiệu suất Sau đó sẽ trình bày cơ sở cho việc phát triển của việc học hiệu suất mạng Mục tiêu chính của phần này là nghiên cứu các bề mặt của hàm hiệu suất, ta gọi tắt là mặt hiệu suất, và để xác định các điều kiện cho việc tồn tại điểm cựu tiểu và cực đại của bề mặt hiệu suất đó Phần sau sẽ xem xét các thủ tục để xác định điểm cực tiểu và cực đại

Có hai bước trong tiến trình tối ưu này Bước đầu phải xác định hàm hiệu suất là như thế nào, tức là xác định độ đo định lượng của hiệu suất mạng, được gọi là chỉ số hiệu suất, độ đo này sẽ càng nhỏ khi mạng hoạt động tốt và càng lớn khi mạng hoạt động tồi Trong phần này xem như đ• có chỉ số hiệu suất, còn việc lựa chọn nó sẽ xem xét ở phần sau

Bước thứ hai là tìm kiếm không gian tham số (điều chỉnh trọng số và độ lệch) để giảm chỉ số hiệu suất Trong phần này sẽ xem xét các đặc tính của các mặt hiệu suất và một số điều kiện để đảm bảo sẽ có một điểm cực tiểu

2.1.1 Chuỗi Taylor

Ta nói rằng chỉ số hiệu suất mà chúng ta muốn cực tiểu được đưa ra bằng F(x), trong đó x là tham số

vô hướng chúng ta cần điều chỉnh Giả sử chỉ số hiệu suất là một hàm giải tích, vì thế tất cả đạo hàm của nó đều tồn tại Nó có thể được biểu diễn bởi sự mở rộng chuỗi Taylor xung quanh điểm x* như sau:

Trang 18

Chúng ta sẽ sử dụng chuỗi Taylor mở rộng để xấp xỉ chỉ số hiệu suất bằng việc giới hạn sự mở rộng tới một số hữu hạn các số hạng Ví dụ, xét hàm sau:

Hình vẽ sau cho thấy sự xấp xỉ này

Hình 2.7- Hàm cos(x) và chuỗi Taylor mở rộng

Trang 19

Từ hình vẽ trên chúng ta thấy tất cả các xấp xỉ là chính xác nếu x là rất gần với x* = 0 Tuy nhiên khi x dịch ra xa so với x* thì chỉ những xấp xỉ tới số hạng cao mới chính xác Xấp xỉ tới số hạng thứ 2 có khoảng chính xác lớn hơn thứ 0, và xấp xỉ tới số hạng thứ 4 có khoảng chính xác lớn hơn thứ 2 Công thức (2.1) cho chúng ta thấy điều này

Chúng ta sử dụng xấp xỉ chuỗi Taylor của hàm đặc trưng thực hiện để xem xét hình dạng của hàm đặc trưng thực hiện trong lân cận điểm tối ưu có thể

2.1.2 Trường hợp véctơ

Tuy nhiên hàm đặc trưng thực hiện của mạng nơron không phải là một giá trị vô hướng x Nó sẽ là một hàm của tất cả các trọng số, độ lệch của mạng Vì vậy chúng ta cần mở rộng chuỗi Taylor tới các hàm nhiều biến Xét hàm n biến sau

2.1.3 Hướng của đạo hàm

Thành phần thứ i của gradient, , là đạo hàm bậc nhất của hàm đặc trưng thực hiện F theo trục xi Thành phần thứ i trên đường chéo chính của ma trận Hessian, , là đạo hàm bậc 2 của hàm đặc trưng thực hiện F theo trục xi Chúng ta đặt p là véctơ theo hướng đạo hàm của F, theo hướng đạo hàm p này ta có thể tính đạo hàm bậc nhất bởi công thức sau:

Đạo hàm bậc 2 theo p có thể được tính bởi công thứ sau:

Trang 20

Ví dụ min hoạ: xét hàm sau

Hệ số lớn nhất xẩy ra khi tích trong của véctơ hướng và gradient là lớn nhất Điều này xẩy ra khi véctơ hướng giống với véctơ gradient Chúng ta thấy điều này trong hình vẽ sau, ở hình các đường đồng mức có 5 véctơ bắt đầu từ điểm x* và tới các hướng khác nhau, tại điểm cuối của mỗi véctơ hiển thị hướng đạo hàm bậc nhất Đạo hàm bậc nhất lớn nhất theo hướng của gradient Đạo hàm bằng 0 theo hướng trực giao với gradient

Trang 21

Hình 2.17- Hàm bậc 2 và các hướng đạo hàm của ví dụ

2.1.4 Các điểm cực tiểu

Mục đích của việc học hiệu suất là tối thiểu hoá đặc trưng thực hiện của mạng nơron Trong phần này chúng ta sẽ xác định điểm tối ưu Giả sử rằng điểm tối ưu là điểm cực tiểu của hàm đặc trưng thực hiện Ta định nghĩa dựa trên các điểm cực đại

Định nghĩa 1: Điểm cực tiểu mạnh

Điểm x* là điểm cực tiểu mạnh của hàm F(x) nếu tồn tại một giá trị vô hướng có với mọi và Nói cách khác, nếu chúng ta chuyển từ một điểm cực tiểu mạnh đi một khoảng theo bất kz hướng nào thì hàm sẽ tăng

Định nghĩa 2: Điểm cực tiểu toàn cục

Điểm x* là điểm cực tiểu toàn cục duy nhất của hàm F(x) nếu với mọi

Với một điểm cực tiểu x*, hàm có thể nhỏ hơn F(x*) ở một số điểm lân cận ngoài x* Và ta gọi đó là điểm cực tiểu địa phương Tại điểm cực tiểu toàn cục hàm sẽ luôn nhỏ hơn ở tất cả các điểm khác trong không gian tham số

Định nghĩa 3: Điểm cực tiểu yếu

Điểm x* là điểm cực tiểu yếu của hàm F(x) nếu nó không phải là một cực tiểu mạnh và tồn tại một giá trị vô hướng có với mọi và

Khi chuyển từ một điểm cực tiểu yếu theo các hướng thì hàm có thể không tăng, có thể là không thay đổi

Ví dụ xét hàm hai biến sau:

và được hiển thị trên hình vẽ sau:

Trang 23

2.1.5 Các điều kiện cần cho sự tối ưu

Chúng ta đ• xác định được điểm tối ưu đó là điểm cực tiểu toàn cục, bây giờ ta sẽ xem xét một số điều kiện thoả m•n cho điểm như vậy Một lần nữa sử dụng chuổi Taylor mở rộng để đưa ra các điều kiện này

Trang 24

(2.30)

Như đ• trình bày, chúng ta chỉ xem xét các điểm này trong một lân cận nhỏ của điểm x*, do đó là nhỏ

và F(x) có thể được xấp xỉ bởi 2 số hạng đầu trong công thức (2.30) Vì vậy một điểm cực tiểu mạnh sẽ tồn tại tại điểm x* nếu

Một ma trận Hessian xác định dương là điều kiện thứ 2 đủ để tồn tại một điểm cực tiểu mạnh Nó không phải là một điều kiện cần Một cực tiểu vẩn có thể mạnh nếu số hạng thứ 2 của chuổi Taylor bằng 0, nhưng số hạng thứ 3 là dương Vì thế điều kiện cần thứ 2 cho một cực tiểu mạnh là ma trận Hessian nửa xác định dương

Vậy có thể kết luận điều kiện cần cho x* là cực tiểu mạnh hoặc yếu của F(x) là:

Trang 25

Để tìm gradient của hàm này, chúng ta sẽ sử dụng các đặc trưng sau của gradient:

cả các hàm toán học có ứng xử bậc hai trong một lân cận nhỏ

Chúng ta sẽ xem xét dạng tổng quát của hàm bậc 2 Chúng ta có thể nói nhiều về dạng của hàm bằng cách quan sát các trị riêng và véctơ tơ riêng của ma trận Hessian Xét một hàm bậc 2 có một điểm ổn định ở gốc và giá trị của nó bằng 0:

Dạng của hàm bậc 2 này có thể thấy rõ hơn nếu chúng ta thực hiện một thay đổi cơ sở Chúng ta muốn sử dụng véctơ riêng của ma trận Hessian A như là các véctơ cơ sở mới Khi A là đối xứng, các véctơ riêng của nó sẽ là trực giao lẫn nhau Điều này có nghĩa nếu chúng ta tạo một ma trận với các véctơ riêng tương ứng là các cột, sẽ là

nghich đảo của ma trận sẽ giống với ma trận chuyển vị, đó là

(giả sử rằng chúng ta đ• chuẩn hóa các véctơ riêng)

Nếu chúng ta thực hiện một thay đổi cơ sở, các véctơ riêng là các véctơ cơ sở, ma trận A mới sẽ là

Trang 26

Theo công thức (2.14) đạo hàm bậc 2 của một hàm F(x) trong hướng của véctơ p là:

Sau đây chúng tôi đưa ra một số đặc trưng của hàm bậc 2 từ những phân tích ở trên:

1 Nếu tất cả các trị riêng của ma trận Hessian đều dương thì hàm sẽ có một cực tiểu mạnh

2 Nếu tất cả các trị riêng đều âm thì hàm sẽ có một cực đại mạnh

3 Nếu có một số trị riêng là dương, còn lại là âm thì hàm có một điểm ổn định

4 Nếu tất cả các trị riêng đều không âm nhưng có một số bằng 0 thì hàm sẽ hoặc có một cực tiểu yếu hoặc không có điểm ổn định

Trang 27

5 Nếu tất cả các trị riêng đều không dương nhưng có một số bằng 0 thì hàm sẽ hoặc có một cực đại yếu hoặc không có điểm ổn định

Để đơn giản, trong phần này chúng ta giả định rằng điểm ổn định của hàm bậc 2 là ở gốc, và nó có một giá trị 0 ở đó Điều này đòi hỏi các số hạng d và c trong công thức (2.35) đều bằng 0 Nếu c là khác 0 thì hàm sẽ tăng theo c tại mọi điểm Khi d là khác 0 và A có nghịch đảo thì hình dạng của đường mức không thay đổi, nhưng điểm ổn định của hàm chuyển tới

Nếu ma trận A không có nghịch đảo (có một số trị riêng bằng 0) và d khác 0 thì sẽ không tồn tại điểm

ổn định

2.2 Tìm kiếm điểm tối ưu

Trong phần trước chúng tôi đ• xem xét bề mặt của hàm đặc trưng thực hiện Trong phần này chúng tôi vẩn sử dụng chuỗi Taylor mở rộng để phát triển thuật toán tìm kiếm trong không gian tham số để tìm điểm tối ưu Chúng tôi sẽ trình bày ba phương pháp cho thuật toán này: xuống dốc từng bước,

phương pháp Newton và kết hợp gradient

Mục tiêu là phát triển thuật toán tối ưu một hàm đặc trưng thực hiện F(x), sự tối ưu ở đây là tìm một giá trị của x sao cho hàm F(x) là tối thiểu Chúng ta h•y bắt đầu từ điểm xuất phát x0, và sẽ được thay đổi theo cách sau:

2.2.1 Phương pháp xuống dốc từng bước

Khi chúng ta cập nhật điểm tối ưu ban đầu bằng công thức (2.53), chúng ta mong muốn hàm đặc trưng

sẽ giảm tại mỗi bước lặp, hay:

Ta sẽ chọn một hướng pk sao cho với tốc độ học đủ nhỏ, và có thể thực hiện "xuống đồi" (downhill) Xét chuỗi Taylor mở rộng ở công thức (2.10) của hàm F(x) theo giá trị xk:

Trang 28

âm khi véctơ hướng là trái dấu với gradient Vì vậy một véctơ là một hướng sao trong thực hiện xuống dốc từng bước là:

Trang 29

Nếu chúng ta tiếp tục các bước lặp ta sẽ được quỹ đạo tìm kiếm như hình vẽ sau

Hình 2.63- Quỹ đạo tìm kiếm với =0.01

Ô tròn thể hiện các điểm tìm kiếm tại mỗi bước lặp Tuy nhiên nếu chúng ta thay đổi tốc độ học thì quỹ đạo này sẽ thay đổi, ví dụ ta chọn =0.035 thì ta có hình vẽ sau thể hiện điều này

Trang 30

Hình 2.64- Quỹ đạo tìm kiếm với =0.035

Chúng ta muốn chọn tốc độ học lớn với hi vọng thuật toán hội tụ nhanh hơn (việc tìm kiếm cần ít bước lặp hơn) Tuy nhiên qua ví dụ này ta thấy tốc độ học lớn quá thì thuật toán sẽ trở nên không ổn định Sẽ không có một lựa chọn tốc độ học tối đa cho phép đối với mọi hàm, nhưng đối với hàm bậc 2 chúng ta có thể đặt giới hạn trên cho tốc độ học

Vì thế các véctơ riêng của giống với các véctơ riêng của A, và các trị riêng của là Điều kiện cho sự

ổn định của thuật toán xuống dốc từng bước sẽ là:

Trang 31

Xét ví dụ ở trên ta có ma trận Hessian của hàm bậc hai là

Kết quá này sẽ được minh họa trong hình sau với 2 tốc độ học khác nhau là và

Hình 2.73- Quỹ đạo tìm kiếm với ?=0.039 và ?=0.041

Cực tiểu theo một đường thẳng

Một cách tiếp cận khác cho việc chọn tốc độ học để cực tiểu hàm đặc trưng thực hiện với các khác nhau tại mỗi bước lặp Nói một cách khác, chọn để cực tiểu

Trang 32

Đối với hàm bậc 2 chúng ta có thể thực hiện cực tiểu tuyến tính theo giải tích Đạo hàm riêng của hàm (2.74) đối với các được tính như sau:

Nguyên l{ đằng sau phương pháp Newton là tìm điểm ổn định của xấp xỉ bậc 2 tới hàm F(x) Nếu chúng

ta sử dụng công thức (2.38) tính gradient của hàm bậc hai với các riêng biệt và đặt nó bằng 0, ta được:

2.2.3 Phương pháp liên hợp gradient

Trong phương pháp xuống dốc từng bước thực hiện tìm kiếm tuyến tính tại mỗi bước lặp Các hướng tìm kiếm ở các bước lặp liên tục là trực giao nhau Hàm bậc hai với các đường đồng mức elíp sẽ cho ta một quỹ đạo tìm kiếm zig-zag trên đó Có lẽ các hướng tìm kiếm bậc hai không phải là sự lựa chọn tốt nhất, có một phương pháp có thể đó là liên hợp gradient sẽ được trình bày sau đây

Giả định rằng chúng ta mong muốn tìm điểm cực tiểu của hàm bậc hai:

Trang 33

Một tập các véctơ gọi là liên hợp lẫn nhau đối với một ma trận Hessian A xác định dương nếu và chỉ nếu

Chúng ta thấy rằng nếu làm một thứ tự chính xác các tìm kiếm tuyến tính theo bất kz một tập các hướng liên hợp , thì cực tiểu chính xác của bất kz một hàm bậc hai, với n tham số, sẽ đạt được trong nhiều nhất n lần tìm kiếm Tuy nhiên bằng cách nào chúng ta có thể xây dựng được các hướng tìm kiếm liên hợp? Đầu tiên chúng tôi muốn trình bày lại điều kiện liên hợp, đ• được đưa ra trong công thức (2.83), nhưng không sử dụng ma trận Hessian

Chúng ta có đạo hàm bậc nhất của hàm bậc hai là:

và được chọn để cực tiểu F(x) trong hướng pk

Chúng ta có thể phát biểu lại điều kiện liên hợp ở công thức (2.83):

Trang 34

Điều kiện liên hợp ở đây chúng ta không cần ma trận Hessian, nhưng theo sự thay đổi gradient tại các bước lặp liên tiếp của thuật toán Các hướng tìm kiếm sẽ liên hợp nếu chúng là trực giao với sự thay đổi trong gradient

Hướng tìm kiếm đầu tiên p0 là tùy ý và p1 là một véctơ bất kz trực giao với Vì thế có một số hữu hạn các tập các véctơ liên hợp Thông thường bắt đầu tìm kiếm trong hướng của phương pháp xuống dốc từng bước:

Phương pháp liên hợp có thể được trình bày bởi các bước sau đây:

1 Chọn hướng tìm kiếm ban đầu trái dấu với gradient, như trong công thức (2.90)

2 Thực hiện một bước theo công thức (2.88), chọn tốc độ học để cực tiểu hàm theo hướng tìm kiếm Đối với hàm bậc hai chúng ta sử dụng công thức (2.76)

3 Chọn hướng tìm kiếm tiếp theo theo công thức (2.92), công thức (2.93) hoặc (2.94) để tính

4 Nếu thuật toán chưa hội tụ, ta quay lại bước 2

Xét ví dụ minh họa cho thuật toán này, sử dụng phương pháp xuống dốc từng bước với cực tiểu tuyến tính:

Trang 36

Hình 2.95- Quỹ đạo thể hiện tìm kiếm theo 2 phương pháp

chương 3

một số phương pháp huấn luyện mạng nơron

Trong chương này chúng tôi sẽ trình bày một số lớp khác nhau các phương pháp học mạng nơron, bao gồm học liên hợp – Associative learning, học cạnh tranh – Competitive learning và học hiệu suất – Performance learing, cùng với thuật toán lan truyền ngược - Back propagation

3.1 Mạng Perceptron và quy tắc học Perceptron

Năm 1943, Warren McCulloch và Walter Pitts giới thiệu một nơron nhân tạo đầu tiên Đặc trưng của

mô hình nơron này là tổng trọng số các đầu vào được so sánh với một độ lệch để xác định đầu ra của nơron theo cách: nếu tổng đó lớn hơn độ lệch thì đầu ra sẽ là 1, ngược lại sẽ là 0

Sau đó, những năm 50 được Frank Rosenblatt và các nhà nghiên cứu phát triển thành một mạng nơron được gọi là mạng perceptron Trong mạng này mô hình nơron vẩn giữ nguyên, đóng góp chính của Rosenblatt là giới thiệu quy tắc học cho mạng để giải quyết vấn đề nhận dạng mẫu Ông đ• chứng minh rằng quy tắc học này sẽ luôn luôn hội tụ tới đích nếu có nghiệm

Tuy nhiên mạng perceptron có những hạn chế nhất định Dẫn chứng là nó không có khả năng thực hiện xấp xỉ các hàm đơn giản Cho đến những năm 1980 những hạn chế này được phát triển bằng việc

sử dụng nhiều lớp, kết hợp với thuật toán học

Hiện nay mạng perceptron vẩn được xem như một mạng quan trọng Nó giữ được đặc tính nhanh và tin cậy của mạng cho việc phân lớp mà nó có thể Hơn nữa việc hiểu sự hoạt động của mạng dễ hơn những mạng phức tạp khác

3.1.1 Kiến trúc perceptron

Mạng perceptron được thể hiện như hình vẽ 3.1, và đầu ra được tính như sau:

a = hardlim(Wp+b)

Trang 37

Quy tắc học perceptron là học có giám sát (suppervisor learning) Giả sử tập dữ liệu học là , trong đó

pq là đầu vào của một mẫu học thứ q và tq là đầu ra mong muốn Khi đầu vào pq được đưa vào mạng,

ta tính kết quả đầu ra aq và so sánh với đầu ra mong muốn tq Học tức là điều chỉnh trọng số liên kết

và độ lệch để đưa mạng dần tới đầu ra mong muốn

Điều chỉnh trọng số liên kết theo công thức:

Điều chỉnh độ lệch bằng biểu thức:

3.1.3 Xét sự hội tụ của thuật toán học

Mặc dù quy tắc học perceptron là đơn giản nhưng nó khá mạnh Trong thực tế, nó cho thấy sự hội tụ tới trọng số mà ở đó mạng đạt được yêu cầu phân lớp

ở đây chúng tôi xem xét sự hội tụ của một nơron như hình sau

Trang 38

Hình 3.7- Nơron perceptron đơn

Các ký hiệu sử dụng biểu diễn dưới dạng véctơ

Trang 39

với q=1,2, ,Q (3.13)

Để đảm bảo cho sự hội tụ của thuật toán chúng ta đưa ra ba tiêu chuẩn sau:

1 Bài toán có lời giải, tức là công thức 3.16 trong phần chứng minh được đảm bảo

2 Véctơ trọng số chỉ được cập nhật khi véctơ vào chưa được phân đúng lớp, vì vậy công thức 3.22 được thoả m•n

3 Có tồn tại giới hạn trên của độ dài của các véctơ vào, đó là ?

x(k) = y’(0) + y’(1) + + y’(k-1) theo (3.10) (3.14)

Nhân véctơ trọng số sau k lần lặp với véctơ trọng số của lời giải x* ta được:

x*T.x(k) = x*T.y’(0) + x*T.y’(1) + + x*T.y’(k-1) (3.15)

Trang 40

Chúng ta xét giới hạn trên của độ dài véctơ trọng số bắt đầu bằng việc tìm sự thay đổi độ dài tại bước lặp thứ k:

Số bước lặp k trong quá trình học có giới hạn trên do vậy véctơ trọng số sẽ được thay đổi trong một

số giới hạn lần Kết luận thuật toán học perceptron sẽ hội tụ trong một số hữu hạn bước lặp

Số bước lặp tối đa của véctơ trọng số tỷ lệ nghịch với bình phương của ? Điều này có nghĩa nếu các lớp vào là khó tách thì thuật toán cần nhiều bước lặp để hội tụ

Ngày đăng: 25/03/2015, 09:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Bùi Công Cường, Nguyễn Doãn Phước (2001), Hệ mờ, mạng nơron và ứng dụng, Nhà xuất bản Khoa học kỹ thuật Sách, tạp chí
Tiêu đề: Hệ mờ, mạng nơron và ứng dụng
Tác giả: Bùi Công Cường, Nguyễn Doãn Phước
Nhà XB: Nhà xuất bản Khoa học kỹ thuật
Năm: 2001
2. Bùi Công Cường, Dương Thăng Long, Lê Quang Phúc (2003), Mấy quy trình phân lớp và rút tỉa các luật bằng công cụ mạng nơron, Báo cáo hội thảo "Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin" tháng 10/2003.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin
Tác giả: Bùi Công Cường, Dương Thăng Long, Lê Quang Phúc
Năm: 2003
3. Martin T.Hagan, Howard B. Demuth, Mark Beale (1996), Neural Network Design, PWS Publishing Company Sách, tạp chí
Tiêu đề: Neural Network Design
Tác giả: Martin T.Hagan, Howard B. Demuth, Mark Beale
Năm: 1996
4. Chin-Teng Lin, C.S. George Lee, Neural Fuzzy Systems, Prentice- Hall International, Inc Sách, tạp chí
Tiêu đề: Neural Fuzzy Systems
5. James C.Bezdek, Didier Dubois, Henri Prade (1999), Fuzzy sets in approximate reasoning and information systems, Kluwer Academic Publishers Sách, tạp chí
Tiêu đề: Fuzzy sets in approximate reasoning and information systems
Tác giả: James C.Bezdek, Didier Dubois, Henri Prade
Năm: 1999
6. Nguyen Hoang Phuong, Koichi Yamada (2001), Proceedings of the Second Vietnam-Japan Sysposium on Fuzzy Systems and Applications, Institute of Information Technology (IOIT) Sách, tạp chí
Tiêu đề: Proceedings of the Second Vietnam-Japan Sysposium on Fuzzy Systems and Applications
Tác giả: Nguyen Hoang Phuong, Koichi Yamada
Năm: 2001
7. Robert J. Schalkoff (1997), Artifical Neural Networks, McGraw-hill International Editions Sách, tạp chí
Tiêu đề: Artifical Neural Networks
Tác giả: Robert J. Schalkoff
Năm: 1997
9. Proceedings of the Ninteenth Annual SAS Users Group International Conference (1994), Neural Networks and Statistical Models, Warren S.Sarle, SAS Institute Inc Sách, tạp chí
Tiêu đề: Neural Networks and Statistical Models
Tác giả: Proceedings of the Ninteenth Annual SAS Users Group International Conference
Năm: 1994
10. Pero J. Radonja (2001), Neural network based model of a highly nonlinear process, Telekomunikacioni Forum Telfor'2001 Sách, tạp chí
Tiêu đề: Neural network based model of a highly nonlinear process
Tác giả: Pero J. Radonja
Năm: 2001
11. Kar-Ann Toh, Juwei Lu, Wei-Yun Yau, Global Feedforward Neural Network Learning for Classification and Regression, Centre for Signal Processing School of Electrical & Electronic Engineering Nanvang Technological Univertsity Sách, tạp chí
Tiêu đề: Global Feedforward Neural Network Learning for Classification and Regression
12. Tin-Yau Kwok, Dit-Yan Yeung (1997), Consructive Algortihms for Structure Learning in Feedforward Neural Networks for Regression Problems, IEEE Transaction on Neural Network Sách, tạp chí
Tiêu đề: Consructive Algortihms for Structure Learning in Feedforward Neural Networks for Regression Problems
Tác giả: Tin-Yau Kwok, Dit-Yan Yeung
Năm: 1997
13. Clin Campell, Constructive Learing Techniques for Designing Neural Network Systems, Advanced Computing Research Centre -University of Bristol, England Sách, tạp chí
Tiêu đề: Constructive Learing Techniques for Designing Neural Network Systems

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w