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

Mạng nơ ron truyền thẳng và ứng dụng trong dự báo lũ lụt

74 16 0

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong số các loại mạng tương đối phổ biến thì các mạng nơron truyền thẳng nhiều lớp, được huấn luyện bằng thuật toán lan truyền ngược được sử dụng nhiều nhất.. Luận văn này được thực hiệ

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN XUÂN HÒA

MẠNG NƠ RON TRUYỀN THẲNG VÀ ỨNG

DỤNG TRONG DỰ BÁO LŨ LỤT

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Trang 2

MỤC LỤC

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN XUÂN HÒA

MẠNG NƠ RON TRUYỀN THẲNG VÀ ỨNG

DỤNG TRONG DỰ BÁO LŨ LỤT Chuyên Ngành: Khoa học máy tính

Trang 3

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC 1

DANH SÁCH BẢNG 5

DANH SÁCH HÌNH VẼ 6

MỞ ĐẦU 7

Chương 1 CÁC KHÁI NIỆM CƠ BẢN VỀ MẠNG NƠRON 9

1.1 Lịch sử phát triển 9

1.2 Nơron sinh học và mạng nơron sinh học 10

1.3 Nơron nhân tạo 10

1.4 Mạng nơron nhân tạo 13

1.4.1 Khái niệm 13

1.4.2 Cấu trúc 13

1.4.3 Các đặc trưng của mạng nơron 15

1.5 Thủ tục học của mạng nơron 15

1.5.1 Học tham số 15

1.5.2 Học cấu trúc 17

1.6 Một số ứng dụng của mạng nơron 17

Chương 2 MẠNG NƠRON TRUYỀN THẲNG VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC 19

2.1 Kiến trúc cơ bản của mạng nơron truyền thẳng 19

2.2 Khả năng thể hiện của mạng nơron truyền thẳng 20

2.3 Cơ chế học của mạng nơron truyền thẳng 21

2.4 Thuật toán lan truyền ngược của sai số (Back-Propagation) 22

2.4.1 Mô tả thuật toán BP 22

2.4.2 Sử dụng thuật toán BP 27

2.4.3 Một số cải tiến của thuật toán BP 32

2.4.4 Nhận xét chung về thuật toán BP 37

2.5 Một số thuật toán tối ưu khác 39

2.5.1 Thuật toán giả luyện kim (Simulated annealing) 39

Trang 4

2.5.2 Thuật giải di truyền 40

Chương 3 ỨNG DỤNG MẠNG NƠRON TRUYỀN THẲNG TRONG DỰ BÁO DỮ LIỆU 42

3.1 Sơ lược về ứng dụng mạng nơron trong dự báo dữ liệu 42

3.2 Thu thập, phân tích và xử lý dữ liệu 42

3.2.1 Kiểu của các biến 43

3.2.2 Thu thập dữ liệu 44

3.2.3 Phân tích dữ liệu 45

3.2.4 Xử lý dữ liệu 45

3.2.5 Tổng hợp 47

3.3 Chương trình dự báo dữ liệu 48

3.3.1 Các bước chính trong quá trình thiết kế và xây dựng 48

3.3.2 Ứng dụng mạng nơron truyền thẳng nhiều lớp trong dự báo đỉnh lũ sông Trà Khúc trạm Sơn Giang 53

3.3.3 Chương trình dự báo dữ liệu 56

3.4 Một số nhận xét 60

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 64

PHỤ LỤC 66

Trang 5

DANH SÁCH BẢNG

Bảng 2.1 Thuật toán lan truyền ngƣợc của sai số (Thuật toán BP) 27 Bảng 2.2 Các hàm kích hoạt 29

Trang 6

DANH SÁCH HÌNH VẼ

Hình 1.1 Đơn vị xử lý thứ j 11

Hình 1.2 Hàm tuyến tính (Identity Function) 12

Hình 1.3 Hàm bước nhị phân (Binary Step Function) 12

Hình 1.4 Hàm Sigmoid 13

Hình 1.5 Mạng nơron truyền thẳng nhiều lớp (Feed-Forward Neural Network) 14

Hình 1.6 Mạng hồi quy (Recurrent Neural Network) 14

Hình 1.7 Sơ đồ học có thầy 16

Hình 2.1 Mạng nơron truyền thẳng 2 lớp 19

Trang 7

MỞ ĐẦU

Dự báo dữ liệu là một trong những bài toán quan trọng trong khai phá dữ liệu

và học máy nhằm tìm ra các quy luật của dữ liệu Dự báo dữ liệu mang lại nhiều lợi ích thiết thực phụ vụ con người, nó giúp con người nắm bắt được các quy luật vận động trong tự nhiên và trong đời sống kinh tế xã hội Nguyên lý của dự báo dữ liệu

là dựa vào dữ liệu lịch sử để xây dựng mô hình nhằm dự báo các dữ liệu trong tương lai Có rất nhiều các phương pháp dự báo dữ liệu khác nhau tùy thuộc vào từng đặc thù của các bài toán cụ thể và các nhiệm vụ khai phá dữ liệu, điển hình là các phương pháp thống kê và học máy, hệ chuyên gia, hệ hỗ trợ quyết định Ngày nay, các kho dữ liệu ngày càng lớn, ngày càng phức tạp và đa dạng Để xây dựng các mô hình dự báo hiệu quả trên những dữ liệu khổng lồ và phức tạp này, các nhà khoa học đã và đang nỗ lực nghiên cứu các phương pháp mô phỏng tư duy của bộ

óc của con người nhằm xây dựng các mô hình dự báo hiệu quả nhất, đặc biệt là các

phương pháp “học có thầy”, trong đó mạng nơron nhân tạo là công cụ điển hình

Mạng nơ ron nhân tạo là một lớp các mô hình tính toán mô phỏng hoạt động

bộ não con người Các mô hình đó đều sử dụng một cấu trúc mạng trong đó các đỉnh được gọi là các nơ ron Các nơ ron này xử lý tín hiệu số từ môi trường bên ngoài hoặc các nơ ron khác trong mạng gửi tới qua các kết nối và sau đó gửi tín hiệu đến các nơ ron khác hoặc ra môi trường Mạng nơron truyền thẳng là một lớp các mạng nơron nhân tạo được thực tiễn chứng minh là khá mạnh và hiệu quả trong các bài toán dự báo, phân tích dữ liệu Chúng có thể được huấn luyện và ánh xạ từ các dữ liệu vào tới các dữ liệu ra mà không yêu cầu các dữ liệu đó phải đầy đủ Trong số các loại mạng tương đối phổ biến thì các mạng nơron truyền thẳng nhiều lớp, được huấn luyện bằng thuật toán lan truyền ngược được sử dụng nhiều nhất Các mạng nơron này có khả năng biểu diễn các ánh xạ phi tuyến giữa đầu vào và đầu ra, chúng được coi như là các “bộ xấp xỉ đa năng” Việc ứng dụng của loại mạng này chủ yếu là cho việc phân tích, dự báo, phân loại các số liệu thực tế Đặc biệt đối với việc dự báo khuynh hướng thay đổi của các dữ liệu tác nghiệp trong các

cơ quan, tổ chức kinh tế, xã hội, Nếu có thể dự báo được khuynh hướng thay đổi của dữ liệu với một độ tin cậy nhất định, các nhà lãnh đạo có thể đưa ra được các quyết sách đúng đắn cho cơ quan, tổ chức của mình

Luận văn này được thực hiện với mục đích tìm hiểu và làm sáng tỏ một số khía cạnh về mạng nơron truyền thẳng nhiều lớp, thuật toán lan truyền ngược và ứng dụng chúng để xây dựng mô hình dự báo dữ liệu và thử nghiệm mô hình với bài toán dự báo đỉnh lũ sông Trà Khúc tại trạm khí tượng Sơn Giang

Trang 8

Đối tượng nghiên cứu của luận văn là các tập (bảng) dữ liệu mẫu của lĩnh vực

dự báo lũ lụt, bao gồm tập dữ liệu huấn luyện (training), tập dữ liệu kiểm tra (test)

và tập dữ liệu xác nhận (validation) Mỗi bảng dữ liệu bao gồm các giá trị thuộc tính đầu vào (thuộc tính điều kiện) và giá trị thuộc tính mong muốn (thuộc tính quyết định)

Phạm vi nghiên cứu lý thuyết là mạng nơron truyền thẳng ba lớp, phạm vi

nghiên cứu thực nghiệm là xây dựng chương trình dự báo đỉnh lũ sông Trà Khúc tại trạm khí tượng Sơn Giang bằng cách áp dụng mô hình mạng nơron truyền thẳng ba lớp

Phương pháp nghiên cứu của luận văn là nghiên cứu lý thuyết và nghiên cứu

thực nghiệm Về nghiên cứu lý thuyết: luận văn thực hiện tổng hợp các khái niệm

và các kết quả nghiên cứu về mạng nơron truyền thẳng nhiều lớp và các vấn đề liên quan đến thuật toán lan truyền ngược Về nghiên cứu thực nghiệm: luận văn thực hiện xây dựng mô hình dự báo sử dụng mạng nơron truyền thẳng và thử nghiệm mô hình với bài toán cụ thể nhằm sáng tỏ các vấn đề về lý thuyết

Bố cục của luận văn gồm phần mở đầu và ba chương nội dung, phần kết luận

và danh mục các tài liệu tham khảo

Chương 1 trình bày các khái niệm cơ bản về mạng nơron nhân tạo Chương 2 trình bày mô hình mạng nơron truyền thẳng nhiều lớp và thuật toán lan truyền ngược của sai số (Back-Propagation), gọi tắt là thuật toán BP Chương 3 trình bày các vấn

đề về mô hình mạng nơron dự báo và xây dựng chương trình dự báo đỉnh lũ sông Trà Khúc tại trạm khí tượng Sơn Giang Cuối cùng, phần kết luận nêu những đóng góp của luận văn, hướng phát triển tiếp theo

Trang 9

Chương 1 CÁC KHÁI NIỆM CƠ BẢN VỀ MẠNG NƠRON 1.1 Lịch sử phát triển

Dưới đây đưa ra các mốc đáng chú ý trong lịch sử phát triển của mạng nơron nhân tạo

Cuối thế kỷ 19, sự phát triển chủ yếu là những công việc có sự tham gia của cả ba ngành: Vật lý học, Tâm lý học, Thần kinh học bởi các nhà khoa học như: Hermann von Hemholtz, Ernst Mach, Ivan Pavlov Các công trình nghiên cứu này chủ yếu đi sâu vào các lý thuyết tổng quát về Học (Learning), Nhìn (vision) và Điều kiện (conditioning) và không đưa ra những mô hình toán học cụ thể nào để mô tả hoạt động của các Nơron Bắt đầu vào những năm 1940 với công trình của Warrem McCulloch và Walter Pitts Họ chỉ ra rằng về nguyên tắc, mạng của các nơron nhân tạo

có thể tính toán bất kỳ một hàm số học hay logic nào

Tiếp theo là Donald Hebb, ông đã phát biểu rằng việc thuyết phản xạ cổ điển (classical conditioning) là hiện thực bởi vì do các thuộc tính của từng nơron riêng biệt Ông cũng nêu ra một phương pháp học của các nơron nhân tạo

Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có được vào cuối những năm 50 cùng với phát minh của mạng perceptron và luật học tương ứng bởi Frank Rosenblatt Mạng này có khả năng nhận dạng các mẫu Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu mạng nơron Tuy nhiên nó chỉ có thể giải quyết một số lớp hữu hạn các bài toán

Cùng thời gian đó, Bernard Widrow và Ted Hoff đưa ra một thuật toán học mới và sử dụng nó để dạy cho các mạng nơron tuyến tính thích nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt Luật học Widrow-Hoff vẫn còn được sử dụng cho đến nay

Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề

do Marvin Minsky và Seymour Papert phát hiện ra Họ cố gắng cải tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành công trong việc cải tiến luật học để có thể dạy được các mạng có cấu trúc phức tạp hơn

Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơron

Trang 10

gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được các máy tính đủ mạnh để có thể thực nghiệm

Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70 Năm 1972, Teuvo Kohonen và James Anderson độc lập cùng phát triển một loại mạng mới có thể hoạt động như một bộ nhớ Stephen Grossberg cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self_organizing networks)

Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh mẽ cùng với sự ra đời của PC Hai khái niệm mới có liên quan đến sự hồi sinh này đó là: 1) Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ liên hợp (associative memory) trong công trình của nhà vật lý học Johh Hopfield

2) Sự ra đời của thuật toán lan truyền ngược (back-propagation) để luyện các mạng nhiều lớp được tìm ra bởi một vài nhà nghiên cứu một cách độc lập như: David Rumelhart, James McCelland, Đó cũng là câu trả lời cho Minsky-Papert

1.2 Nơron sinh học và mạng nơron sinh học

Hệ thần kinh ở người có khoảng 1010 tế bào thần kinh được gọi là các nơron Mỗi nơron gồm có ba phần: thân nơron với nhân ở bên trong, một đầu thần kinh ra

và một hệ thống hình cây các đầu thần kinh vào Độ lớn của các tín hiệu vào có thể

bị thay đổi khi được truyền qua các khớp thần kinh có trên các nhánh thần kinh vào

Tỷ lệ biến đổi tín hiệu ở khớp thần kinh được gọi là độ khuyếch đại khớp và được gọi là các trọng số trong các nơron Theo các nghiên cứu về sinh học, chức năng

của hệ thần kinh không phụ thuộc nhiều vào vai trò của từng nơron đơn lẻ mà phụ

thuộc vào cách mà toàn bộ các nơ ron được nối với nhau, gọi là mạng nơron sinh

học

1.3 Nơron nhân tạo

Nơ ron nhân tạo là mô hình toán học mô phỏng nơron sinh học Mỗi nơron

nhân tạo được gọi là một đơn vị xử lý với chức năng: nhận tín hiệu vào từ các đơn vị

phía trước (hay một nguồn bên ngoài), tính tín hiệu ra từ các tín hiệu vào và lan truyền tín hiệu ra sang các đơn vị khác[4]

Trang 11

i i ji

j w x a

1

) ( j

j g a z

Mỗi tín hiệu đầu vào nơron thứ j được ký hiệu là x i với trọng số tương ứng là

w ji Đại lượng đo tín hiệu tổng cộng đi vào nơron thứ j, ký hiệu là a j, được xác định một cách đơn giản như sau :

a j là hàm của các tín hiệu x i và các trọng số w ji , gọi là Hàm kết hợp

Hàm kết hợp là tổng các tích của tín hiệu x i và trọng số tương ứng w j :

j n

i i ji

j w x a

1

Trong đó là một tham số được gọi là ngưỡng của nơ ron Nếu w ji>0, nơ ron

được coi là ở trong trạng thái kích thích Nếu w ji < 0, nơ ron ở trạng thái kiềm chế

Quá trình biến đổi giá trị a j thành tín hiệu đầu ra z j được thực hiện bởi hàm

kích hoạt (hàm chuyển) phi tuyến z j = g(a j ) Hàm kích hoạt phải thoả mãn các điều

kiện sau:

Tín hiệu đầu ra z j là không âm với bất kể giá trị nào của a j

g là hàm liên tục và bị chặn trong khoảng [0,1]

Những hàm thỏa mãn điều kiện trên còn được gọi là các hàm nén theo nghĩa

chúng nén tín hiệu đầu ra vào một khoảng nhỏ Có khá nhiều hàm thoả mãn các điều kiện trên, song trong thực tế chỉ có một số hàm thường được sử dụng trong các mạng nơ ron như sau [4]

1) Hàm tuyến tính (Linear) : g(x) x

Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này Đôi khi một hằng số được nhân với net-input để tạo ra một hàm tuyến tính

Trang 12

-1 0 1

Hình 1.2 Hàm tuyến tính (Identity Function)

2) Hàm ranh giới cứng (Hard-Limiter) : Hàm này chỉ có hai giá trị là 0 và 1,

ngoài ra hàm còn có một giá trị ngưỡng Tín hiệu đầu ra phụ thuộc tổng

tín hiệu đầu vào và giá trị ngưỡng

)if(

) if(

0

1)(

x

x x

g

Vì hàm này rất thuận tiện khi đưa câu trả lời có hay không nên nó thường xuyên được sử dụng cho các tín hiệu ra cuối cùng của mạng Dạng hàm này được sử dụng trong các mạng chỉ có một lớp

g(x )

0 1

x

Hình 1.3 Hàm bước nhị phân (Binary Step Function)

3) Hàm sigmoid (Sigmoid function (logsig))

x

e x

g

1

1)(

Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện bằng thuật toán BP, bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện Mặt khác, hàm này được ứng dụng cho các bài toán mà đầu ra mong muốn rơi vào khoảng [0,1]

Trang 13

0 1

1.4.2 Cấu trúc

Mạng nơ ron nhân tạo được biểu diễn bằng một đồ thị gồm một tập các nút và các cung có hướng, mỗi nút tương ứng với một nơ ron, các cung biểu diễn các liên

kết giữa các nơ ron Cấu trúc mạng nơ ron gồm cơ cấu tổ chức và sơ đồ kết nối

Cơ cấu tổ chức thường được xác định bởi số lớp mạng và số nơ ron trong mỗi

lớp:

Lớp vào: Các nơron trong lớp vào gọi là các nơron vào, chúng không xử lý

thông tin mà chỉ mã hóa mẫu đưa vào mạng để xử lý Thông thường, số thuộc tính của mẫu đưa vào mạng bằng số nơron vào, chính là số đầu vào của mạng

Lớp ẩn: Các nơron trong lớp này gọi là các nơron ẩn vì chúng không thể

quan sát trực tiếp được Mạng có thể có một hay nhiều lớp ẩn Chúng cung cấp các mô hình toán học phi tuyến cho mạng

Lớp ra: Các nơron ở lớp này gọi là các nơron ra, các nơron này mã hoá giá

trị hay khái niệm của các mẫu đưa vào mạng Ví dụ, trong bài toán phân lớp, mỗi đầu ra là đại diện cho một lớp các đối tượng

Sơ đồ kết nối xác định bởi phương thức kết nối giữa các nơ ron trong mạng [4]:

Trang 14

Mạng truyền thẳng: Luồng dữ liệu đi từ các nơ ron vào đến các nơ ron ra

chỉ được truyền thẳng Không có các liên kết từ các nơ ron ra tới các nơ ron vào trong cùng một lớp hay của các lớp trước đó

ji

w w kj(2)

Hình 1.5 Mạng nơron truyền thẳng nhiều lớp (Feed-Forward Neural Network)

Mạng hồi quy: Có chứa các liên kết ngược, nghĩa là các liên kết từ nơ ron

lớp ra tới nơ ron lớp vào trong cùng một lớp hoặc các lớp trước đó

Hình 1.6 Mạng hồi quy (Recurrent Neural Network)

Các thông số cấu trúc của mạng nơ ron nhân tạo:

Sơ đồ kết nối (mạng truyền thẳng hay hồi quy)

Số tìn hiệu vào và số tín hiệu ra

Số lớp mạng

Số nơ ron trên mỗi lớp

Số lượng các trọng số của mỗi lớp

Trang 15

1.4.3 Các đặc trưng của mạng nơron

Mạng nơron, đôi khi được xem như là các mô hình liên kết (connectionist models), là các mô hình phân bố song song (parallel-distributed models) có các đặc trưng phân biệt sau:

Tập các đơn vị xử lý;

Trạng thái kích hoạt hay là đầu ra của đơn vị xử lý;

Liên kết giữa các đơn vị Xét tổng quát, mỗi liên kết được định nghĩa bởi

một trọng số w jk cho ta biết hiệu ứng mà tín hiệu của đơn vị j có trên đơn

Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn vị;

Phương pháp thu thập thông tin (luật học - learning rule);

Môi trường hệ thống có thể hoạt động

1.5 Thủ tục học của mạng nơron

Thành phần quan trọng nhất và không thể thiếu của các mạng nơ ron là các thủ tục học (thuật toán huấn luyện mạng) Có thể chia các thủ tục này thành hai

nhóm chính là học tham số và học cấu trúc Cả hai thủ tục học này có thể được thực

hiện đồng thời hoặc tách biệt Các thủ tục học tham số lại có thể được chia thành ba

lớp nhỏ hơn là học có thầy, học tăng cường và học không có thầy [4]

1.5.1 Học tham số

Với một cấu trúc mạng cho trước, các trọng số của mạng (gọi là các tham số của mạng) phải được xác định trước khi sử dụng mạng để thực thi một nhiệm vụ cụ thể Ngoại trừ trường hợp các mạng nơ ron một lớp Hopfield (các trọng số được tính toán một cách giải tích), thông thường, các trọng số của mạng được khởi tạo ngẫu nhiên trong một khoảng nhất định Học tham số là quá trình điều chỉnh các trọng số để mạng nhận biết được mối quan hệ giữa đầu vào và đầu ra mong muốn Rất nhiều các thuật toán học được đề xuất để tìm tập trọng số tối ưu đối với mỗi bài

Trang 16

toán, các thuật toán đó có thể chia thành hai nhóm chính : Học có thầy (Supervised learning) và Học không có thầy (Unsupervised Learning)

1) Học có thầy

Mạng được học bằng cách cung cấp cho nó các cặp mẫu đầu vào và đầu ra mong muốn Sai số giữa các đầu ra thực tế so với các đầu ra mong muốn được thuật toán sử dụng để hiệu chỉnh các trọng số trong mạng

Tập mẫu là tập các cặp véc tơ vào/ra mong muốn M = {(x i ,y i )} được sử dụng

để luyện mạng nơron Đối với mỗi véc tơ tín hiệu vào x i, mạng nơron tính toán tín

hiệu ra out và so sánh tín hiệu này với tín hiệu ra mong muốn y i để tạo ra tín hiệu sai

số Tín hiệu sai số này xác định bề mặt sai số là hàm của các trọng số, có thể dùng như hàm mục tiêu để hiệu chỉnh các trọng số Các thuật toán tìm kiếm được áp dụng trong thủ tục học để hiệu chỉnh các trọng số sao cho mạng nơ ron có thể sản sinh ra các tín hiệu ra out với một sai số chấp nhận được so với tín hiệu ra mong muốn

Hình 1.7 Sơ đồ học có thầy 2) Học không có thầy

Với phương pháp học không có thầy, không có thông tin phản hồi từ môi

trường bên ngoài để chỉ ra rằng đầu ra out của mạng là đúng hay sai Mạng nơron

phải tự khám phá các đặc trưng, các mối tương quan, tính cân xứng của các mẫu học một cách tự động Đối với phần lớn các biến thể của học không có thầy, các đích trùng với đầu vào Nói một cách khác, học không có thầy luôn thực hiện một công việc tương tự như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào

Giải thuật luyện (Phương pháp tối ưu)

Hàm mục tiêu

Dữ liệu huấn luyện

Mạng

Ra

Đích Sai số

Trang 17

1.5.2 Học cấu trúc

Trong phần học tham số, giả định là đã có một cấu trúc mạng Thủ tục học tham số tinh chỉnh các giá trị trọng số sao cho mạng hoạt động như mong muốn Thủ tục học cấu trúc tìm kiếm các tham số cấu trúc của mạng để tạo ra một mạng hoạt động tốt nhất Thực chất, học cấu trúc là việc tìm ra số lớp ẩn và số nơron trên mỗi lớp ẩn vì số đầu vào và số đầu ra của mạng là xác định đối với một bài toán cụ thể

Kết quả học cấu trúc phụ thuộc nhiều vào kết quả học tham số Do đó, việc xây dựng một thuật toán tìm kiếm cho thủ tục học tham số là cần thiết Thuật toán tìm kiếm này phải có khả năng tìm kiếm lời giải toàn cục, tìm kiếm hiệu quả trong không gian nhiều chiều và có thể sử dụng cho nhiều cấu trúc mạng khác nhau Trong những năm gần đây, một số thuật toán tối ưu toàn cục mang tính tất định và một số thuật toán mang tính xác suất đã được đề xuất Các thuật toán mang tính xác suất bao gồm các thuật toán tiến hóa [3] mà thuật toán di truyền (GA - Genetic Algorithms) là một ví dụ điển hình

Mô hình hóa

Hệ thống phân loại thường đưa ra câu trả lời rời rạc như có, không hoặc một

số nguyên định danh đối tượng đầu vào thuộc lớp nào Tuy nhiên, việc mô hình hóa yêu cầu hệ thống phải sản sinh ra các câu trả lời mang tính liên tục Một số lượng nhỏ các số liệu thực nghiệm được sử dụng để xây dựng mô hình, mô hình này có thể đưa ra các dự báo cho tất cả các đối tượng đầu vào có thể Việc tìm ra đường cong phù hợp với các số liệu thực nghiệm là một ví dụ ứng dụng thuộc dạng này

Trang 18

Các ứng dụng thuộc dạng này phần lớn là thủ tục của một biến vào và một biến ra như sau:

, , , ,

Hàm f chứa một tập các tham số a, b,…, p Các tham số này phải được xác

định bằng việc tối thiểu hóa độ chênh lệch giữa số liệu thực nghiệm và giá trị tính toán từ mô hình Mô hình hóa cũng có thể mở rộng cho bài toán nhiều biến vào / một biến ra hoặc nhiều biến vào / nhiều biến ra

Việc mô hình hóa thường được sử dụng cho các đối tượng có ít biến, khoảng

từ 1 đến 10 Điều này có nghĩa là thường sử dụng các mạng nhỏ, thời gian tính cũng như tài nguyên máy tính ít hơn so với các mạng dùng cho việc phân loại

Biến đổi

Việc biến đổi nhằm mục đích nén các đối tượng từ không gian m chiều vào

không gian có số chiều nhỏ, khoảng hai hoặc ba Qua việc nén các đối tượng này, chúng sẽ bộc lộ những đặc điểm mà chúng ta không nhận thấy khi chúng ở trong không gian nhiều chiều Việc biến đổi tương tự như việc nhóm các đối tượng hay phân loại Sự khác biệt không lớn lằm nằm ở phương pháp biểu diễn các kết quả Những câu hỏi mà việc biến đổi có thể trả lời là bàn đồ của toàn bộ đối tượng như thế nào, có bao nhiêu vùng trên bản đồ có thể phân biệt được, hình dáng các vùng

đó như thế nào…

Một trong những ứng dụng của biến đổi là tiền xử lý số liệu Thông qua tiền

xử lý, các đối tượng điển hình được chọn từ tập vô số các đối tượng ngẫu nhiên nhận được, loại trừ được các đối tượng dư thừa hay trùng lặp Điều này rất quan trọng khi chọn các đối tượng làm mẫu học cho mạng truyền thẳng huấn luyện bằng thuật toán lan truyền ngược của sai số được trình bày ở Chương 2

Dự báo các sự kiện phụ thuộc thời gian

Lĩnh vực nghiên cứu các quá trình phụ thuộc thời gian là một trong những lĩnh vực chính trong nghiên cứu điều khiển quá trình ở đây, mô hình dự báo được xây dựng dựa trên một chuỗi số liệu được ghi nhận theo thời gian Trong mô hình này, các biến của tín hiệu vào và tín hiệu ra về cơ bản là giống nhau Chỉ một điều khác biệt là, tín hiệu vào là các giá trị hiện tại và quá khứ của các biến quá trình, tín hiệu

ra là giá trị dự báo trong tương lai của các biến quá trình đó

Trang 19

Chương 2 MẠNG NƠRON TRUYỀN THẲNG VÀ THUẬT

TOÁN LAN TRUYỀN NGƯỢC 2.1 Kiến trúc cơ bản của mạng nơron truyền thẳng

Để đơn giản và tránh hiểu nhầm, mạng truyền thẳng xét trong chương này là các mạng truyền thẳng có nhiều lớp Kiến trúc mạng truyền thẳng nhiều lớp (Multi-layer Feed Forward (MLFF)) là kiến trúc chủ đạo của các mạng nơron hiện tại Một mạng nơron truyền thẳng nhiều lớp gồm một lớp vào, một lớp ra và một hoặc nhiều các lớp ẩn Các nơron đầu vào thực chất không phải các nơron theo đúng nghĩa, bởi lẽ chúng không thực hiện bất kỳ một tính toán nào trên dữ liệu vào Các nơron ở lớp ẩn và lớp ra mới thực sự thực hiện các tính toán Cụm từ “truyền thẳng” có nghĩa là tất cả các nơron chỉ có thể được kết nối với nhau theo một hướng tới một hay nhiều các nơron khác trong lớp kế tiếp (loại trừ các nơ ron ở lớp ra) Mỗi liên kết gắn với một trọng số, trọng số này được thêm vào trong quá trình tín hiệu đi qua liên kết đó Các trọng số có thể dương (kích thích) hay âm (kiềm chế) Mỗi nơron tính toán mức kích hoạt của chúng bằng cách cộng tổng các đầu vào và đưa ra hàm chuyển (hàm kích hoạt) Một khi đầu ra của tất cả các nơron trong một lớp mạng cụ thể đã thực hiện tính toán thì lớp kế tiếp có thể bắt đầu thực hiện tính toán của mình bởi vì đầu ra của lớp hiện tại là đầu vào của lớp kế tiếp Khi tất cả các nơron đã thực hiện tính toán thì các nơron đầu ra thể hiện kết quả của chúng

Hình 2.1 Mạng nơron truyền thẳng 2 lớp

Hình 2.1 là sơ đồ mạng nơron truyền thẳng hai lớp, trong đó:

P: Vector đầu vào (vector cột)

W 1: Ma trận trọng số của các nơ ron lớp thứ 1 có kích thước S1xR1

Trang 20

W 2: Ma trận trọng số của các nơ ron lớp thứ 2 có kích thước S2xR2

b 1 , b 2 : Vector độ lệch (bias) của lớp thứ 1 và 2 (kích thước S1x1 và S2x1)

n 1 , n 2 : Vector vào của lớp thứ 1 và thứ 2 (kích thước S1x1 và S2x1)

f 1 , f 2 : Hàm chuyển (hàm kích hoạt) của lớp thứ 1 và 2

a 1 , a 2 : Đầu ra của lớp thứ 1 và 2 (kích thước S1x1 và S2x1)

: Hàm tổng thông thường (Sum)

Số nơ ron ở lớp thứ nhất và lớp thứ hai là S 1 và S 2 tương ứng với ma trận

trọng số là W 1 và W 2 Véc tơ đầu vào ở lớp thứ hai chính là véc tơ đầu ra của lớp thứ nhất, công thức tính toán cho đầu ra của lớp thứ hai như sau:

a 2 = f 2 (W 2 (f 1 (W 1 P + b 1 )) + b 2 )

trong đó, ý nghĩa của các ký hiệu như đã nêu trong hình vẽ

2.2 Khả năng thể hiện của mạng nơron truyền thẳng

Các mạng truyền thẳng cho ta một kiến trúc tổng quát thể hiện khả năng ánh

xạ hàm phi tuyến tính giữa một tập các biến đầu vào và tập các đầu ra Khả năng thể hiện của một mạng có thể được định nghĩa là khoảng mà nó có thể thực hiện ánh xạ khi mà các trọng số biến thiên [15]

1) Các mạng một lớp chỉ có khả năng thể hiện các hàm khả phân tuyến tính hay các miền phân chia được

2) Các mạng có 2 lớp ẩn có khả năng thể hiện một đường biên phân chia tùy

ý với một độ chính xác bất kỳ với các hàm chuyển phân ngưỡng và có thể xấp xỉ bất kỳ ánh xạ mịn nào với độ chính xác bất kỳ với các hàm chuyển

có dạng sigmoid

3) Một mạng có một lớp ẩn có thể xấp xỉ tốt bất kỳ một ánh xạ hàm liên tục nào từ một không gian hữu hạn sang một không gian hữu hạn khác, chỉ cần cung cấp số nơron đủ lớn cho lớp ẩn Chính xác hơn, các mạng truyền thẳng với một lớp ẩn được luyện bởi các phương pháp bình phương tối thiểu (least-squares) là các bộ xấp xỉ chính xác cho các hàm hồi quy nếu như các giả thiết về các mẫu, độ nhiễu, số đơn vị trong lớp ẩn và các nhân

tố khác thỏa mãn Các mạng nơron truyền thẳng với một lớp ẩn sử dụng các hàm chuyển hay hàm phân ngưỡng là các bộ xấp xỉ đa năng cho bài toán phân lớp nhị phân với các giả thiết tương tự

Trang 21

2.3 Cơ chế học của mạng nơron truyền thẳng

Mạng nơ ron truyền thẳng nhiều lớp thường được huấn luyện bằng thuật toán lan tryền ngược của sai số (Back-Propagation), viết tắt là thuật toán BP [4] Thuật toán này được sử dụng thường xuyên và thông dụng tới mức nhiều tác giả đã đồng khái niệm mạng nơron với mạng nơron nhiều lớp lan truyền ngược của sai số

Thuật toán BP là thuật toán học có thầy, do đó nó cần một tập mẫu gồm các cặp véc tơ X Y i, i , với X i là véc tơ vào, Y i là véc tơ ra mong muốn Đối với một cặp véc tơ vào và véc tơ ra mong muốn, thuật toán BP thực hiện hai giai đoạn theo dòng chảy số liệu :

Tín hiệu vào X i được lan truyền qua mạng từ lớp vào đến lớp ra Kết quả của việc lan truyền là sản sinh véc tơ tín hiệu ra last

i

Out

Tín hiệu sai số là kết quả của việc so sánh giữa véc tơ ra mong muốn và véc tơ tín hiệu ra Sai số được lan truyền ngược từ lớp ra tới các lớp phía trước để hiệu chỉnh các trọng số

Hình 2.2: Sơ đồ hiệu chỉnh các trọng số của thuật toán BP

Đối với mỗi cặp tín hiệu vào ra này, hàm giá được xây dựng như sau:

n

k

last ik

ik Out y

w E

1

2 2

1 ) ( (2.1)

Trong đó n là số nơ ron trên lớp ra; y ik là thành phần thứ k của véc tơ ra mong muốn y i , out ik là thành phần thứ k của véc tơ ra out i do lan truyền véc tơ vào X i

W 1

W 2

W 3

Véc tơ ra Lời giải

Sai số Hiệu chỉnh

Hiệu chỉnh W 3 Hiệu chỉnh W 2 Hiệu chỉnh W 1

Véc tơ vào

Trang 22

Việc học của thuật toán thực chất là việc tìm kiếm một tập trọng số W trong

không gian R M (M là số trọng số của mạng) để lần lượt tối thiểu hoá hàm giá nêu trên Giá trị hàm sai số E i đối với một mẫu được tính toán dựa trên giá trị các trọng

số hiện tại Các giá trị trọng số này sau đó được hiệu chỉnh và trở thành các giá trị

trọng số hiện tại để tính giá trị hàm sai số tiếp theo E i+1 Dễ nhận thấy, cách làm này

có khả năng tạo ra sự dao động trong quá trình hiệu chỉnh các trọng số Kết quả hiệu chỉnh hiện tại có thể làm hỏng kết quả hiệu chỉnh ở các lần trước đó

2.4 Thuật toán lan truyền ngược của sai số (Back-Propagation)

Về cơ bản, thuật toán BP là dạng tổng quát của thuật toán bình phương lỗi nhỏ nhất (Least Means Square), viết tắt là LMS Thuật toán LMS thuộc dạng thuật toán xấp xỉ để tìm các điểm mà tại đó, hiệu năng của mạng là tối ưu Chỉ số tối ưu (performance index) thường được xác định bởi một hàm số của ma trận trọng số và các đầu vào nào đó trong quá trình tìm hiểu bài toán đặt ra

2.4.1 Mô tả thuật toán BP

Thuật toán áp dụng cho dạng tổng quát của mạng nơ ron truyền thẳng nhiều lớp Khi đó, đầu ra của một lớp trở thành đầu vào của lớp kế tiếp Phương trình thể hiện hoạt động này như sau:

Chỉ số hiệu năng (performance index)

Tương tự thuật toán LMS, thuật toán BP sử dụng chỉ số hiệu năng là trung bình bình phương lỗi của đầu ra so với giá trị đích Đầu vào của thuật toán chính là tập các cặp mô tả hoạt động đúng của mạng (các mẫu dùng để huấn luyện mạng):

1, 1 , , Q, Q

trong đó p i là một đầu vào và t i là đầu ra mong muốn tương ứng, với i 1, ,Q Mỗi đầu vào đưa vào mạng, đầu ra của mạng đối với nó được đem so sánh với đầu ra mong muốn Thuật toán sẽ điều chỉnh các tham số của mạng để tối thiểu hóa trung bình bình phương lỗi:

Trang 23

2 2

trong đó x là biến được tạo thành bởi các trọng số và độ lệch, e là ký hiệu kỳ vọng

toán học Nếu như mạng có nhiều đầu ra, phương trình trên có thể được viết lại dưới dạng ma trận:

T T

Tương tự như thuật toán LMS, xấp xỉ của trung bình bình phương lỗi như sau:

),()()()()()

1

(*) ,

1

, ,

,

m i

m i m

i

m j

m j m

j

b

F k

b k

b

w

F k

w k

w

trong đó là hệ số học

Như vậy, mọi chuyện đến đây đều giống như thuật toán trung bình bình phương tối thiểu, tiếp theo sẽ đi vào phần khó nhất của thuật toán: tính các đạo hàm từng phần

Luật xích (Chain Rule)

Đối với các mạng nơ ron truyền thẳng nhiều lớp, lỗi không phải là một hàm của chỉ các trọng số trong các lớp ẩn, do vậy việc tính các đạo hàm từng phần này là không đơn giản Chính vì lý do đó mà phải sử dụng luật xích để tính Luật này được

mô tả như sau: giả sử có một hàm f là một hàm của biến n, muốn tính đạo hàm của f

có liên quan đến một biến w khác Luật xích này như sau:

dw

w dn dn

n df dw

w n df

xPhương pháp này được dùng để tính các đạo hàm trong (*) và (**) ở phần trước

Trang 24

, , ,

m i

m i m i m i

m j

m i m i m j

b

n x n

F b

F

w

n x n

F w

F

trong đó hạng thức thứ 2 của các phương trình trên có thể dễ dàng tính toán bởi vì

đầu vào của mạng tới lớp m là một hàm của trọng số và độ lệch:

j

m i m j m j m

n

trong đó S m-1 là số đầu ra của lớp (m – 1) Do vậy :

.1,

1

,

m i

m i m j m j

m i

b

n a w n

Ký hiệu

m i

m i

n

F s

được gọi là độ nhậy cảm của F đối với các thay đổi của phần tử thứ i của đầu vào của mạng tại lớp thứ m Khi đó:

.

1

, ,

m i m i

m i m i m i

m j m i m j

m i m i m j

s b

n x n

F b

F

a s w

n x n

F w

F

Bây giờ, thuật toán giảm nhanh nhất xấp xỉ được phát biểu như sau:

m i m

i

m j m i m

j m

j

s k b k

b

a s k w k

m

T m m m

m

k k

k k

s b

b

a s W

Trang 25

m S

m 2

m 1

m m

m

F F

F

F

n n

n

n s

Lan truyền ngược độ nhậy cảm

Vấn đề là tính nốt ma trận độ nhậy cảm sm Để thực hiện điều này cần sử dụng một áp dụng khác của luật xích Quá trình này cho khái niệm về sự “lan truyền ngƣợc” bởi vì nó mô tả mối quan hệ hồi quy trong đó độ nhậy cảm sm đƣợc tính qua

độ nhậy cảm sm+1 của lớp m + 1

Để dẫn đến quan hệ đó, ma trận Jacobian đƣợc sử dụng nhƣ sau:

m S

m S m

m S m

m S

m S

m

m m

m m

m S

m

m m

m m

m m

m

m m

m

m m

n

n n

n n

n

n

n n

n n

n

n

n n

n n

n

n n

1

2 1

1 1

1 2

2

1 2

1

1 2

1 1

2

1 1

1

1 1

1

1 1

m m j m

j

m j m m j

m j

m i m j m

j

S

l

m i m i m l

m j

m i

n f w n

n f w

n

a w n

b a w

n n

m

1 , 1

,

1 , 1

1 1

, 1

trong đó:

m j

m j m m

j m

n

n f n

Nhƣ vậy, ma trận Jacobian có thể viết lại nhƣ sau:

Trang 26

1

m m 1 m m

m

n F W n

n

trong đó:

m S m

m m m m

m m

m

n f

n f

n f

0 0

0 0

2 1

n F

Bây giờ viết lại quan hệ hồi quy cho độ nhậy cảm dưới dạng ma trận:

.1 1

1 1

1 1

m T m m m

m

T m m m

m T

m m

m

s W n F

n W

n F n

n

n n

s

Đến đây ta có thể thấy độ nhậy cảm được lan truyền ngược qua mạng từ lớp cuối cùng trở về lớp đầu tiên:

sM sM - 1 (s1 Cần nhấn mạnh rằng ở đây thuật toán lan truyền ngược lỗi sử dụng cùng một

kỹ thuật giảm theo hướng như thuật toán LMS Sự phức tạp duy nhất ở chỗ để tính gradient cần phải lan truyền ngược độ nhậy cảm từ các lớp sau về các lớp trước như

đã nêu trên

Bây giờ cần phải biết điểm bắt đầu lan truyền ngược, xét độ nhậy cảm sM tại lớp cuối cùng:

M i

i i i M

i

S

l

l l

M i

T

M i

M i

n

a a t n

a t n

a t a t n

F s

M

21

2

Bởi vì:

M i M

M i

M i M

M i

M i M i

i

n f n

n f n

a n

a

nên ta có thể viết:

M i M

i i M

Trang 27

ở dạng ma trận sẽ là:

a t n F

M M

Tóm lại, thuật toán lan truyền ngược có thể phát biểu như sau:

Bảng 2.1 Thuật toán lan truyền ngược của sai số (Thuật toán BP)

Bước 1: Lan truyền xuôi đầu vào qua mạng:

a0 = p

am+1 = fm+1 (Wm+1 am + bm+1) với m = 0, 1, , M – 1

a = aM Bước 2: Lan truyền độ nhậy cảm (lỗi) ngược lại qua mạng:

a t n F

M M

2

.1

1 T m m m m m

s W n F

s với m = M – 1, , 2, 1

Bước 3: Cuối cùng, các trọng số và độ lệch được cập nhật bởi công thức sau:

m m

m

T m m m

m

k k

k k

s b

b

a s W

Trên đây là thuật toán BP dạng tổng quát Phần tiếp theo sẽ trình bày các vấn

đề về khía cạnh ứng dụng của thuật toán BP trong việc huấn luyện mạng nơron truyền thẳng nhiều lớp Các vấn đề bao gồm: chọn lựa cấu trúc mạng, các hàm kích hoạt, các hàm giá, khởi động các trọng số ban đầu, tập mẫu học, sự hội tụ…

1) Chọn lựa cấu trúc mạng

Vấn đề đầu tiên cần quan tâm là lựa chọn cấu trúc mạng Như đã trình bày ở Chương 1, mạng nơron truyền thẳng nhiều lớp luôn có một lớp vào và một lớp ra, số lớp ẩn có thể từ 0 đến vài lớp Đối với một bài toán cụ thể, số nơron trên lớp vào cố định bằng số biến của véc tơ vào, số nơron trên lớp ra cố định bằng số biến của véc

tơ đích Vì vậy, vấn đề thiết kế cấu trúc mạng là vấn đề chọn số lớp ẩn và số nơron

trên mỗi lớp ẩn

Trang 28

ii) Số các cực trị địa phương tăng lên rất lớn khi có nhiều lớp ẩn Phần lớn các thuật toán tối ưu dựa trên gradient chỉ có thể tìm ra các cực trị địa phương, do vậy chúng không thể tìm ra cực trị toàn cục Mặc dù thuật toán luyện mạng có thể tìm ra cực trị toàn cục, nhưng xác suất bị tắc trong một cực trị địa phương là khá cao, và khi

đó, ta phải bắt đầu luyện mạng lại

iii) Dĩ nhiên, có thể đối với một bài toán cụ thể, sử dụng nhiều hơn một lớp ẩn với chỉ một vài nơron thì tốt hơn là sử dụng ít lớp ẩn với số nơron là lớn, đặc biệt đối với các mạng cần phải học các hàm không liên tục Về tổng thể, người ta khuyên rằng nên xem xét khả năng sử dụng mạng có một lớp ẩn đầu tiên trong khi thiết kế các mạng truyền thẳng trong thực tế Nếu dùng một lớp ẩn với một số lượng lớn các nơron mà không có hiệu quả thì nên sử dụng thêm một lớp ẩn với một số ít các nơron

Tóm lại, mạng nơron truyền thẳng thường sử dụng một lớp ẩn để giải quyết

các bài toán trong thực tế Vấn đề thiết cấu trúc mạng quy về việc tìm ra số nơ ron

trong lớp ẩn

Số nơ ron trong lớp ẩn

Mạng nơron truyền thẳng có khả năng tổng quát hóa từ những dữ liệu mà nó

đã học, nói cách khác, mạng nơron truyền thẳng có khả năng dự báo tốt Khả năng

dự báo phụ thuộc nhiều vào số nơron trong lớp ẩn, hay phụ thuộc nhiều vào số lượng các trọng số của mạng

Một mạng có số lượng các trọng số lớn với một số lượng nhỏ các mẫu học có

thể học rất tốt, song việc dự báo có thể không tốt, hiện tượng này thường gọi là học

quá (overfiting) Nói cách khác, khi số lượng trọng số lớn hơn số mẫu học, kết quả

luyện tham số không phản ánh đúng hoạt động của mạng Để tránh trường hợp học

quá, số trọng số trong các mạng nơ ron phải nhỏ hơn hoặc tương đương với số mẫu

Trang 29

Nếu số lượng các trọng số quá nhỏ, mạng nơron có thể không nhận dạng được đầy đủ các tín hiệu trong một tập dữ liệu phức tạp, còn gọi là hiện tượng thiếu

ăn khớp (underfitting)

Số lượng tốt nhất của các nơron ẩn phụ thuộc vào rất nhiều yếu tố, đó là số đầu vào, số đầu ra của mạng, số các mẫu khác nhau trong tập mẫu, độ nhiễu của dữ liệu đích, độ phức tạp của hàm lỗi, kiến trúc mạng, và thuật toán huấn luyện mạng…

Có rất nhiều “luật” để lựa chọn số nơron trong các lớp ẩn [8, 22]:

],

[ n l

m - nằm giữa khoảng kích thước lớp vào, lớp ra

3

)(

m - căn bậc hai của tích kich thước lớp vào, lớp ra

Các luật này chỉ mang tính lý thuyết mà không phản ánh được thực tế bởi vì, chúng chỉ xem xét đến nhân tố kích thước đầu vào, đầu ra mà bỏ qua các nhân tố quan trọng khác như số lượng mẫu đưa vào huấn luyện, độ nhiễu ở các đầu ra, độ phức tạp của hàm lỗi [22]…

2) Các hàm kích hoạt

Như đã trình bày ở Chương 1, các hàm kích hoạt của lớp ẩn dùng trong mạng nơron truyền thẳng nhiều lớp thông dụng nhất là hàm sigmoid Ngoài ra, một số hàm kích hoạt ở bảng dưới đây có tính chất tương tự như hàm sigmoid có thể được

21

2

x x

e e

2 1

Trang 30

Đối với lớp ra, các hàm kích hoạt phải được chọn sao cho phù hợp với sự phân phối của các giá trị đích mong muốn Ta thấy rằng, đối với các giá trị đích trong khoảng [0,1], hàm sigmoid là có ích, đối với các giá trị đích mong muốn liên tục trong khoảng đó thì hàm này vẫn có nghĩa Nhưng nếu giá trị đích không biết trước khoảng xác định thì hàm hay được sử dụng nhất là hàm tuyến tính Nếu giá trị đích mong muốn là dương nhưng không biết cận trên thì một hàm kích hoạt dạng mũ có thể được sử dụng

thay thế bằng bất cứ hàm có khả năng đạo hàm nào khác F(y ik , out jk ), với điều kiện

là các hàm này sẽ đạt cực tiểu khi hai đối số y ik và out jk bằng nhau Dựa vào dạng của hàm giá mới có thể thu nhận được các phương trình khác nhau cho việc hiệu chỉnh các trọng số Một điều dễ nhận thấy là chỉ có phương trình hiệu chỉnh trọng

số ở lớp ra là thay đổi theo các dạng hàm giá khác nhau, trong khi đó các phương trình khác của thuật toán BP vẫn giữ nguyên

Các hàm giá thường được sử dụng là những hàm dựa trên chuẩn Lp (1 p ) bởi sự lợi thế của dạng phương trình toán học đơn giản Các hàm như vậy có dạng là:

n

k

p last jk

jk Out y

4) Khởi động các trọng số ban đầu

Giá trị các trọng số khởi tạo ban đầu của mạng khi áp dụng thuật toán BP ảnh hưởng rất mạnh tới lời giải cuối cùng Việc khởi tạo tất cả các trọng số bằng nhau sẽ làm cho việc học của mạng trở nên không tốt Các trọng số khởi tạo ban đầu cùng không được quá lớn vì điều này làm cho hàm sigmoid hoặc các hàm dạng này sẽ bị bão hòa (hoặc bằng 0, hoặc bằng 1) ngay từ lúc bắt đầu, làm cho hệ thống bị tắc tại một cực trị địa phương gần điểm xuất phát Do vậy, các trọng số ban đầu thường được khởi tạo bằng những số ngẫu nhiên nhỏ Giá trị khởi động ban đầu của các trọng số trên lớp thứ nhất thường được chọn ngẫu nhiên trong khoảng [-1/n,1/n], trong đó n là tổng trọng số trên lớp thứ nhất [22]

Trang 31

5) Tập mẫu học

Tập mẫu học phải đủ và đúng Tuy nhiên, không có một thủ tục hay một nguyên tắc chọn tập mẫu học phù hợp cho mọi trường hợp Một nguyên tắc theo kinh nghiệm là tập mẫu học phải được chọn sao cho chúng bao phủ toàn bộ không gian của tín hiệu vào Trong quá trình học, các cặp véc tơ vào - lời giải nên được chọn ngẫu nhiên từ tập học Các tập mẫu học sử dụng để huấn luyện mạng phải được tỷ lệ hóa đúng đắn, chi tiết về việc tỷ lệ hóa sẽ được đề cập trong chương 3, phần tổ chức số liệu

6) Sự hội tụ

Trong thuật toán LMS, điểm cực trị toàn cục là luôn tồn tại bởi lẽ hàm trung bình bình phương lỗi của LMS là một hàm bậc hai, hơn nữa, do là hàm bậc hai nên đạo hàm bậc hai của hàm lỗi sẽ là hằng số do vậy mà độ cong của hàm theo một hướng cho trước là không thay đổi Trong khi đó, thuật toán BP áp dụng cho các mạng nhiều lớp sử dụng các hàm chuyển phi tuyến sẽ có nhiều điểm cực trị địa phương và độ cong của hàm lỗi có thể không cố định theo một hướng cho trước, việc thực hiện thuật toán có thể đưa mạng hội tụ về điểm cực trị địa phương, làm cho mạng không trả lại kết quả chính xác

Một nhân tố khác ảnh hưởng tới hiệu lực và độ hội tụ của thuật toán là hệ số học Không có một giá trị duy nhất đủ tốt phù hợp với tất cả các bài toán khác nhau, hệ số học này thường được chọn bằng thực nghiệm cho mỗi bài toán cụ thể bằng phương pháp thử sai Giá trị lớn làm tăng tốc độ hội tụ nhưng không có lợi

vì thủ tục học sẽ kết thúc rất nhanh tại một cực trị địa phương gần nhất Nếu giá trị của quá nhỏ, tốc độ hội tụ của thuật toán lại trở nên chậm Do đó, cần chọn một giá trị thoả hiệp giữa tốc độ học và việc ngăn chặn hội tụ về các cực trị đại phương Các giá trị nằm trong khoảng 10-3 và 10 đã được sử dụng thành công cho rất nhiều bài toán cụ thể Nói chung, giá trị hằng số học nằm trong khoảng [0.3, 0.6] được chứng minh bằng thực nghiệm là khá tốt cho việc chọn hệ số học ban đầu Vấn đề nảy sinh là giá trị tốt của hệ số học tại thời điểm bắt đầu có thể là không tốt cho giai đoạn sau của quá trình học Do đó, một phương pháp cải tiến là sử dụng hệ số học biến đổi sẽ được trình bày ở phần tiếp theo

7) Sự tổng quát hóa

Trong phần lớn trường hợp, mạng nơron truyền thẳng nhiều lớp được luyện bởi một số cố định các mẫu xác định sự hoạt động đúng của mạng:

Trang 32

1,1 , 2, 2 , , Q, Q

Trong đó, p i là các đầu vào, tương ứng với nó là các đầu ra mong muốn t i Tập huấn luyện này thông thường là thể hiện của số lớn nhất các lớp có thể các bộ đôi Một điều rất quan trọng là mạng nơron có khả năng tổng quát hóa được từ những cái nó đã học Nếu có được điều đó, mặc dù dữ liệu có nhiễu thì mạng vẫn có khả năng hoạt động tốt (trả lại kết quả gần với đích mong muốn)

“Để một mạng có khả năng tổng quát hóa tốt, nó cần có số tham số ít hơn số

dữ liệu có trong tập training” [4] Trong các mạng nơron, cũng như các bài toán mô hình hóa, ta thường mong muốn sử dụng một mạng đơn giản nhất có thể cho kết quả tốt trên tập training

Một cách khác đó là dừng luyện mạng trước khi mạng xảy ra tình trạng overfitting Kỹ thuật này liên quan đến việc chia tập dữ liệu thu được thành 3 tập: tập huấn luyện (training) sử dụng để tính toán gradient và cập nhật các trọng số của mạng, tập xác thực (validation) được dùng để kiểm tra điều kiện dừng của mạng và tập kiểm tra (test) được sử dụng để so sánh khả năng tổng quát hóa của mạng đối với các bộ tham số của mạng sau các lần huấn luyện

2.4.3 Một số cải tiến của thuật toán BP

Bản chất của giải thuật BP là giải thuật tìm kiếm sử dụng kỹ thuật tìm kiếm ngược hướng gradient Mặc dù dễ thực thi nhưng giải thuật này bộc lộ một số nhược điểm như sau:

i) Tại các vùng hoặc một số hướng mà bề mặt sai số bằng phẳng, các giá trị gradient nhỏ dẫn đến tốc độ hội tụ của giải thuật chậm

ii) Bề mặt sai số trong đa số các bài toán thường không “lồi” mà có nhiều vùng “lõm” khác nhau, nó phụ thuộc vào quá trình khởi tạo các trọng số ban đầu của mạng, điều đó dẫn đến giải thuật có thể bị tắc tại các cực trị địa phương (tắc tại các vùng “lõm”)

iii) Các hàm kích hoạt của nơron và hàm giá tính tín hiệu sai số phải khả vi [22] Điểu này là điểm bất lợi trong các ứng dụng sử dụng các hàm ngưỡng làm hàm kích hoạt do tính không khả vi của chúng

iv) Hiệu năng tìm kiếm của giải thuật phụ thuộc vào các tham số luyện như

số nơron trên lớp ẩn (tham số cấu trúc), giá trị các trọng số khởi tạo ban đầu, hằng

Trang 33

số học …Việc xác định các giá trị của chúng dễ đưa tới tình thế tiến thoái lưỡng lan giữa tốc độ hội tụ và sự dao động trong quá trình tìm kiếm

Có rất nhiều các nghiên cứu đã đề xuất các cải tiến nhằm khắc phục các nhược điểm trên như sử dụng tham số bước đà, sử dụng hệ số học biến đổi, sử dụng gradient kết hợp, sử dụng thuật toán giả luyện kim, sử dụng giải thuật di truyền

…[3, 9, 11, 12, 20, 22]

1) Phương pháp sử dụng hệ số học biến đổi

Trong thực tế, các hàm hiệu năng có dạng biểu diễn hình học là không đồng đều, có lúc có dạng phẳng (hàm không thay đổi giá trị hoặc thay đổi rất ít) hoặc có dạng phễu (giá trị của hàm thay đổi rất nhanh khi thay đổi tham số đầu vào) Nếu ta chỉ sử dụng hệ số học cố định thì có thể sẽ tốn thời gian tại các vùng phẳng Vì vậy,

ý tưởng của giải thuật BP sử dụng hệ số học biến đổi là khi gặp vùng phẳng thì tăng

hệ số học lên và ngược lại khi gặp vùng dạng phễu thì giảm hệ số học đi

Người ta đã đưa ra rất nhiều phương pháp để thực hiện giải pháp trên, ở đây chỉ xin nêu ra một cách biến đổi hệ số học dựa trên hiệu năng của mạng [9]:

Bước 1: Nếu bình phương lỗi trên toàn bộ tập huấn luyện tăng một số phần

trăm cho trước (thông thường là từ 1% cho đến 5%) sau một lần cập nhật trọng số thì bỏ qua việc cập nhật này, hệ số học được nhân với một số hạng nào đó (với 0

< < 1)

Bước 2: Nếu bình phương lỗi giảm sau một lần cập nhật trọng số, thì cập

nhật đó là chấp nhận được và hệ số học được nhhân với một số hạng nào đó > 1

Bước 3: Nếu bình phương lỗi tăng một lượng < thì cập nhật trọng số là

chấp nhận được nhưng hệ số học không thay đổi

Các thuật toán heuristic luôn cho ta sự hội tụ nhanh hơn trong một số bài toán, tuy nhiên chúng có hai nhược điểm chính sau đây:

Thứ nhất, việc sửa đổi thuật toán lan truyền ngược cần có thêm một số tham

số, trong khi trong thuật toán lan truyền ngược chuẩn chỉ yêu cầu có 1, đó là hệ số học Một số thuật toán sửa đổi cần đến 5 hoặc 6 hệ số trong khi hiệu năng của thuật toán khá nhạy cảm đối với những thay đổi của các tham số này Hơn nữa việc chọn lựa các tham số này lại độc lập với bài toán đặt ra

Thứ hai, các thuật toán sửa đổi này có thể không hội tụ trong một số bài toán

mà thuật toán lan truyền ngược chuẩn có thể hội tụ được

Trang 34

Người ta đã thấy rằng cả hai nhược điểm này thường xảy ra khi sử dụng các thuật toán sửa đổi phức tạp hơn (yêu cầu nhiều tham số hơn)

2) Sử dụng phương pháp gradient kết hợp

Nhắc lại phương pháp gradient kết hợp bao gồm các bước sau:

Chọn hướng bắt đầu ngược với gradient p0 g0

Thực hiện một bước x k x k 1 x k k p k

Chọn k để tối thiểu hàm theo hướng tìm kiếm đã chọn Có thể chọn như sau:

k k T k k T k k

p A p

p g

(phương trình trên được suy ra bằng cách chọn k để tối thiểu hóa hàm

p g

g g

1 - k

T 1 -

k hay

1

k

k k

g g

g g

1 - k

g g

g g

1 - k

T 1 - k

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

Phương pháp này không thể áp dụng trực tiếp trong việc luyện mạng nơron, bởi lẽ hàm chỉ số hiệu năng trong nhiều trường hợp không ở dạng bậc 2 Điều này ảnh hưởng đến thuật toán này như sau: thứ nhất, ta không thể sử dụng phương trình

k k T k k T k k

p A p

p g

để tối thiểu hóa hàm theo đường thẳng x k k p k như trong bước thứ 2 Thứ hai, điểm cực tiểu chính xác sẽ không thể đạt tới được một cách bình thường sau một số hữu hạn bước và do vậy thuật toán sẽ phải được thiết lập lại sau một số hữu hạn bước

Vấn đề tìm kiếm điểm cực tiểu

Ta cần có một thuật toán tổng quát để tìm điểm cực tiểu của một hàm số theo một hướng cụ thể nào đó Việc này liên qua đến 2 thao tác: một là xác định tần số

Trang 35

(interval location) và giảm tần số Mục đích của bước xác định tần số là tìm kiếm tần số khởi đầu có chứa điểm cực tiểu Bước giảm tần số sau đó giảm kích thước của tần số cho đến khi tìm ra điểm cực tiểu với một độ chính xác nào đó

Ta sẽ sử dụng phương pháp so sánh hàm để thực hiện bước xác định tần số Thủ tục này được mô tả trong hình vẽ phía dưới Ta bắt đầu bằng cách tính chỉ số

hiệu năng tại một điểm khởi đầu nào đó (điểm a 1 trong Hình 3.3), điểm này chính là giá trị của chỉ số hiệu năng với các tham số hiện tại của mạng

Bước tiếp theo là tính giá trị hàm chỉ số hiệu năng tại điểm thứ 2, thể hiện

bởi điểm b 1 trong Hình 3.3 cách điểm khởi đầu một đoạn là theo hướng tìm kiếm

p 0

Hình 2.3: Xác định tần số

Sau đó, ta tiếp tục tính giá trị của hàm hiệu năng tại các điểm b i có khoảng cách đến điểm khởi đầu gấp đôi điểm trước Quá trình này sẽ dừng lại nếu như giá

trị của hàm tăng lên so với điểm trước đó (trong Hình 3.3 là điểm b 3 và b 4) Đến

đây, ta biết rằng điểm cực tiểu sẽ rơi vào khoảng giữa [a 5 , b 5] Ta không thể thu hẹp

thêm tần số nữa bởi lẽ điểm cực tiểu có thể rơi vào vùng [a 3 , b 3 ] hoặc [a 4 , b 4]

Bây giờ ta tiếp tục bước thực hiện giảm tần số, ta sẽ lấy ít nhất là 2 điểm c, d trong khoảng [a 5 , b 5] để có thể thực hiện việc này (nếu chỉ lấy 1 điểm thì ta khó có thể xác định được liệu điểm cực tiểu sẽ nằm trong vùng nào) Có nhiều cách để

chọn các điểm trên, ở đây ta sẽ sử dụng phương pháp gọi là: Golden Section Search

Phương pháp này cố gắng thực hiện tìm kiếm sao cho số lần phải tính giá trị của hàm là ít nhất (tại mỗi một bước ta đều cần phải tính giá trị của hàm)

8

Trang 36

Hình 2.4: Giảm kích thước của tần số của sự không chắc chắn

Trong hình vẽ trên, điểm a sẽ được bỏ qua và điểm c sẽ trở thành cận bên trái Sau đó, một điểm c mới sẽ được đặt vào vùng của điểm c và d cũ Mẹo mực ở đây là chọn điểm c sao cho tần số của sự không chắc chắn sẽ được giảm đi càng

nhanh càng tốt

Thuật toán Golden Section Search được mô tả như sau:

Trong đó tol là độ chính xác chấp nhận được do người sử dụng đưa vào

Đặt a k + 1 = c k ; b k + 1 = b k ; c k + 1 = d k;

d k + 1 = b k + 1 - (1 - ) (b k + 1 – a k + 1)

F c = F d ; F d = F (d k + 1)

Kết thúc chừng nào (b k + 1 – a k + 1 ) < tol

Trang 37

Thiết lập lại thuật toán

Thuật toán gradient kết hợp còn cần phải sửa đổi thêm một chút nữa trước khi áp dụng để luyện cho mạng nơron Đối với hàm bậc 2, thuật toán sẽ hội tụ đến

điểm cực tiểu sau nhiều nhất n bước, trong đó n là số các tham số cần tối thiểu hóa

Chỉ số hiệu năng trung bình bình phương lỗi của mạng nơron truyền thẳng nhiều

lớp không phải ở dạng bậc 2, do vậy thuật toán sẽ không hội tụ sau n bước lặp Những phát triển ở phía trên không chỉ ra hướng tìm kiếm tiếp theo sau khi n bước

lặp hoàn thành Có nhiều cách để thực hiện, nhưng ta chỉ cần áp dụng một cách đơn giản nhất đó là đặt lại hướng tìm kiếm trở lại hướng ban đầu của thuật toán giảm

nhanh nhất sau khi n bước lặp đã hoàn thành

2.4.4 Nhận xét chung về thuật toán BP

Thuật ngữ “lan truyền ngược” được sử dụng có vẻ như không phù hợp lắm

đối với thuật ngữ truyền thẳng và thường gây hiểu nhầm Lan truyền ngược thực chất là là một kỹ thuật toán học sử dụng để tính toán lỗi trong các hệ thống toán học phức tạp, chẳng hạn như một mạng nơron Nó là một trong các thuật toán gradient tương tự như là các thuật toán theo gradient theo các cách tiếp cận của Trí tuệ nhân tạo Các thuật toán đó ánh xạ hàm vào bề mặt 3 chiều, với các mặt lồi, lõm Phụ thuộc vào bài toán cụ thể, điểm lõm (cực tiểu) của một bề mặt thể hiện hiệu năng tốt hơn cho đầu ra

Việc luyện mạng theo phương pháp học có thầy liên quan đến cách thức đưa các mẫu học từ miền của bài toán vào mạng, các mẫu này sẽ được phân chia thành các tập training, tập test và tập validation Mạng được khởi tạo các trọng số là các

số ngẫu nhiên, sau đó, các trọng số này sẽ được điều chỉnh cho phù hợp với tập training Tập validation sẽ được dùng để xác định xem liệu mạng có thành công trong việc xác định đầu ra từ đầu vào mà nó chưa được luyện Mạng sẽ được đưa vào một tập con các mẫu, mỗi mẫu một lần, sau khi nó đã được “nhìn” tất cả các mẫu, nó sẽ phải thực hiện điều chỉnh các trọng số bằng cách tính toán các lỗi xảy ra Quá trình này được lặp lại cho đến khi mạng được luyện đủ Kích thước của tập con được giới hạn bởi số lần lặp, có thể là trùng với kích thước của tập mẫu học, nếu không như vậy thì cần phải xác định thứ tự đưa các mẫu vào cho mạng học một cách ngẩu nhiên

Giá trị của lỗi được tính bởi phương pháp trung bình bình phương của giá trị kích hoạt; nghĩa là nó được tính bằng cách bình phương hiệu của giá trị đầu ra mong muốn và đầu ra thực sự, sau đó tính trung bình trong tất cả các nơron đầu ra

Ngày đăng: 25/02/2021, 08:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Dipti Srinivasan, A. C. Liew, John S., P. Chen, Short term forecasting using neural network approach, IEEE 91TH0374-9/91/0000-0012, pp 12-16, 1991 Sách, tạp chí
Tiêu đề: IEEE 91TH0374-9/91/0000-0012
[3]. Drucker H., Cun Y. L., Improving Generalization Performance using Double Backpropagation, IEEE Transactions on neural netwoks, Vol. 3, No. 6, Nov 1992 Sách, tạp chí
Tiêu đề: IEEE Transactions on neural netwoks
[4]. Hagan M. T., Demuth H. B., Beale M., Neural networks design, PWS Publishing Company, Boston, Ma, 1996 Sách, tạp chí
Tiêu đề: Neural networks design
[5]. Haykin, S., Neural networks, a comprehensive foundation, Macmillan New York, Ny 1994 Sách, tạp chí
Tiêu đề: Neural networks, a comprehensive foundation
[6]. Kaastra, I., &amp; Boyd, M. - Designing a neural network for forecasting financial and economic time series - Neurocomputing 10 (1996), pp 215-236 Sách, tạp chí
Tiêu đề: Neurocomputing
Tác giả: Kaastra, I., &amp; Boyd, M. - Designing a neural network for forecasting financial and economic time series - Neurocomputing 10
Năm: 1996
[7]. Kesmir C., Nussbaum A. K., Schild H., Detours V., Brunak S., Prediction of proteasome cleavage motifs by neural networks, Protein engineering, Vol 15-No 4, pp. 287-196, 2002 Sách, tạp chí
Tiêu đề: Protein engineering
[8]. Kolen J. F., Pollack J. B., Back Propagation is Sensitive to Initial Condition, Technical Report, Laboratory for artificial intelligence Research-The ohio State university Sách, tạp chí
Tiêu đề: Technical Report
[9]. Lawrence S., C. L. Giles, a. C. Tsoj, What size Neural Netwwork Gives optimal Generalization? Convergence Properties of Backpropagation, Technical Report, Institute for Advanced Computer Studies - University of Maryland College Park, June 1996 Sách, tạp chí
Tiêu đề: Technical Report
[10]. Morioka Y., Sakurai K., Yokoyama A. Sekine Y., Next day peak load forecasting using a Multilayer neural network with an additional Learning, IEEE, 0- 7803-1217-1/93, 1993 Sách, tạp chí
Tiêu đề: IEEE
[11]. Oh S.H., Lee Yj., A modified error function to improve the error Back- Propagation algorithm for Multi-layer perceptrons, ETRI Journal Vol 17, No 1, April 1995 Sách, tạp chí
Tiêu đề: ETRI Journal Vol 17, No 1
[12]. Ooyen A. V., Nienhuis B., Improving the Convergence of the Back- Propagation Algorithm, Neural Networks, Vol. 5, pp. 465-471, 1992 Sách, tạp chí
Tiêu đề: Neural Networks
[13]. Poh, H. L., Yao, J. T., &amp; Jašic T., Neural Networks for the Analysis and Forecasting of Advertising and Promotion impact - International Journal of intelligent Systems in accounting, Finance &amp; Management. 7 (1998), pp 253-268 Sách, tạp chí
Tiêu đề: nternational Journal of intelligent Systems in accounting, Finance & Management
Tác giả: Poh, H. L., Yao, J. T., &amp; Jašic T., Neural Networks for the Analysis and Forecasting of Advertising and Promotion impact - International Journal of intelligent Systems in accounting, Finance &amp; Management. 7
Năm: 1998
[14]. Rao, Valluru B. and Rao, Hayagriva V., C++ Neural Networks and Fuzzy Logic, MIS Press, 1993 Sách, tạp chí
Tiêu đề: C++ Neural Networks and Fuzzy Logic
[15]. Ripley B.D., Pattern Recognition and Neural Networks, Cambridge university Press,1996 Sách, tạp chí
Tiêu đề: Pattern Recognition and Neural Networks
[16]. Sullivan, R., Timmermann, A. &amp; White, H., Dangers of data-driven inference: the case of calendar effects in stock returns, Discussion Paper, University of California, San Diego, Department of economics, 7/1998 Sách, tạp chí
Tiêu đề: Discussion Paper
[17]. Swingler K., Financial Predictions, Some Pointers, Pitfalls, and Common errors, Technical Report, Center for cognitive and computational neuroscience - Stirling University, July 14, 1994 Sách, tạp chí
Tiêu đề: Technical Report
[18] Takashi O., Next day‟s peak load forecasting using an artificial neural network, IEEE 0-7803-1217-1/93, pp 284-289, 1993 Sách, tạp chí
Tiêu đề: IEEE 0-7803-1217-1/93
[19] T. Masters, Practical Neural Network Recipes in C++. Academic Press, Inc., 1993 Sách, tạp chí
Tiêu đề: Practical Neural Network Recipes in C++
[20]. UdoSeiffert, Michaelis B., On the gradient descent in back-propagation and its substitution by a genetic algorithm, Proceedings of the IASTED International Conference Applied informatics 14-17/02/2000, InnsBruck, Austria Sách, tạp chí
Tiêu đề: Proceedings of the IASTED International Conference Applied informatics 14-17/02/2000
[21]. Vogl. P. T., Mangis J. K., Zigler A. K., Zink W. T. and Alkon D. L., “Accelerating the convergence of the back-propagation method”, Biological Cybernetics, vol.59, pp 256-264, 09/1988 Sách, tạp chí
Tiêu đề: Accelerating the convergence of the back-propagation method”, "Biological Cybernetics

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w