Tải bản đầy đủ (.pdf) (96 trang)

Huấn luyện mạng nơ ron bằng giải thuật levenberg marquardt cho bài toán dự báo dòng chảy trên sông

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.23 MB, 96 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

MAI VĂN TINH

Đề tài:
Huấn luyện mạng nơ ron bằng giải thuật
Levenberg-Marquardt cho bài tốn dự báo dịng
chảy trên sơng.
ChChun ngành: Khoa học máy tính
Mã số: 60.48.01

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 06 năm 2017


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐHQG – HCM
Cán bộ hướng dẫn khoa học: PGS. TS. Dương Tuấn Anh ………………………
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1: TS. Huỳnh Tường Nguyên …………………..
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2: TS. Lê Văn Quốc Anh………………………………
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM
ngày 18 tháng 7 năm 2017.
Thành phần đánh giá hội đồng luận văn thạc sĩ bao gồm:
1. PGS.TS. Quản Thành Thơ (CT)
2. TS. Nguyễn An Khương (TK)


3. TS. Huỳnh Tường Nguyên (PB1)
4. TS. Lê Văn Quốc Anh (PB2)
5. TS.Trần Tuấn Anh (UV)

Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).

CHỦ TỊCH HỘI ĐỒNG
(Họ tên và chữ ký)

TRƯỞNG KHOA KH & KTMT
(Họ tên và chữ ký)


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Mai Văn Tinh........................................MSHV: 13070270
Ngày, tháng, năm sinh: 16/04/1983 .................................Nơi sinh: Thanh Hóa
Ngành: Khoa học máy tính ..............................................Mã số : 60.48.01
I. TÊN ĐỀ TÀI: Huấn luyện mạng nơ ron bằng giải thuật Levenberg Marquardt

cho bài tốn dự báo dịng chảy trên sơng.
II. NHIỆM VỤ VÀ NỘI DUNG:

- Tìm hiểu giải thuật Levenberg Marquardt.

- Tìm hiểu giải thuật huấn luyện mạng nơ-ron dùng giải thuật lan truyền ngược
(backpropagation)
- Hiện thực và chạy thực nghiệm hệ thống dự báo dữ liệu chuỗi thời gian dùng
giải thuật Levenberg-Marquardt.
III. NGÀY GIAO NHIỆM VỤ : 16/01/2017............................................................
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017............................................
V. CÁN BỘ HƯỚNG DẪN: PGS.TS. Dương Tuấn Anh .........................................

CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

Tp. HCM, ngày . . . . tháng .. . . năm 2017.
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)

TRƯỞNG KHOA
(Họ tên và chữ ký)


Lời cảm ơn
Để hoàn thành được luận văn này ngoài việc nỗ lực của bản thân cịn có
một yếu tố rất quan trọng đó là sự giúp đỡ tận tậm của các q thầy cơ, những
người đã dành thời gian và công sức truyền đạt lại kiến thức cho thế hệ sau
qua từng các mơn học, nhân có phần cảm ơn của luận văn này để tơi có cơ hội
xin chân thành gửi lời cảm ơn đến các quí thầy cơ trong khoa Khoa Học và kỹ
thuật Máy Tính trường đại học Bách Khoa, những người Thầy đã tận tâm
truyền đạt lại những những kiến thức chuyên sâu từ các mơn học, giúp tơi có
được nền tảng để tiếp tục học hỏi và nắm tốt hơn những kiến thức sâu hơn cụ
thể là giúp tôi đi đến điểm kết thúc của luận văn.
Đặc biệt tôi xin gửi lời cám ơn chân thành và sâu sắc nhất đến PGS

TS.Dương Tuấn Anh, người Thầy đã dành thời gian và công sức luôn tận
tình, ân cần chỉ bảo và hướng dẫn tơi trong suốt thời gian tôi thực hiện luận
văn này.
Tôi xin cám ơn các q thầy cơ, các bạn những người đã gián tiếp giúp tơi
có động lực để cố gắng tìm hiểu và tiếp tục trong những lúc gặp phải khó
khăn.
Do tầm nhìn của bản thân cịn hạn hẹp, chắc chắn luận văn khó tránh khỏi
những sai sót, rất mong nhận được những ý kiến đóng góp chun mơn bổ ích
đến từ phía Thầy cơ và các bạn để Luận văn có thể hồn thiện hơn.
Tơi xin chân thành cảm ơn.


TĨM TẮT LUẬN VĂN .
Sự lựa chọn giải thuật tốn học trong việc huấn luyện mạng nơ ron
network để cho hiệu quả cao rất quan trọng, giúp chúng ta có được kết quả tốt
hay xấu của q trình phân tích dữ liệu cũng như dự báo trong lĩnh vực khai
phá dữ liệu.
Trong thực tế việc khai thác dữ liệu dữ liệu chuỗi thời gian đã và đang
được quan tâm rất nhiều trong nhiều, trong đề tài này chúng tôi sẽ lựa chọn
dữ liệu dịng chảy trên sơng và mục tiêu của đề tài tìm hiểu và lựa chọn giải
thuật cho hiệu quả cao đối với dữ liệu thu thập được từ thực tế. Giải thuật
Levenberg-Mardquardt (LM) là một giải thuật sử dụng đạo hàm cấp hai để
giúp cho việc huấn luyện mạng nơ ron nhanh chóng tìm được điểm cực tiểu
của hàm mục tiêu và nó sử dụng kỹ thuật vùng tin cậy (Trust-Region) cho
mỗi bước di chuyển. Giải thuật LM khác với các phương pháp đang sử dụng
phổ biến là backpropagation cùng với giảm độ dốc (gradient descent) thuộc
kỹ thuật tìm kiếm tuần tự (Line search). Qua tìm hiểu, chúng tôi nhận thấy
rằng giải thuật Levenberg-Marquardt là giải thuật giúp cho việc huấn luyện đi
tới điểm cực tiểu của hàm mục tiêu, nhanh hơn giải thuật giảm độ dốc và
đồng thời có hiệu quả hơn tức là tìm ra điểm cực tiểu làm cho tổng lỗi nhỏ

hơn so với giải thuật giảm độ dốc.
Kết thúc đề tài luận văn là kết quả thực nghiệm cho thấy hiệu quả của
LM tốt hơn so với giảm độ dốc, có thể là giải thuật dùng thay thế cho giải
thuật giảm độ dốc trong việc huấn luyện mạng nơ ron để đem lại có kết quả
chính xác cao trong dự báo.


Abstract
In recent years, data mining has gained concern among the scientific
community for practical application of neural network, one of the widely
applied techniques, have proven highly effective. There are various methods for
training neural network, the search for highly effective method is imperative.
In this thesis, we study three methods namely Levenberg Maquardt, BFGS
and Conjugate gradient, Levenberg-Marquardt being the main study. Compared
to Backpropagation, Levenberg-Maquardt presents a clear advantage of rapid
convergence . One of the problem to be solved is to prevent being trapped into
local minimum due to quick convergence, Levenberg-Maquardt method helps in
training by avoidance of the current minimum in search for a new minimum
which may be global minimum.
We implemented the LM algorithm and made use of the run-off data sets
collected from Viet Nam rivers to test and compare results between LevenbergMarquardt and Back propagation. Experimental results showed that LevenbergMarquardt algorithm leads to better minimum solutions.


LỜI CAM KẾT
Tôi xin cam đoan rằng ngoại trừ các kết quả tham khảo từ các cơng trình
khác như đã ghi rõ trong luận văn, các cơng việc trình bày trong luận văn này là
do chính tơi thực hiện và chưa có phần nội dung nào của luận văn này được nộp
để lấy một bằng cấp ở trường đại học nào khác.
TP.Hồ Chí Minh, ngày ….. tháng …. năm…….


Ký tên
Mai Văn Tinh


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Mục lục
Chương 1: Giới thiệu vấn đề.

1

1.1 Giới thiệu vấn đề. ............................................................................. 1
1.2 Động cơ nghiên cứu ......................................................................... 1
1.3 Mục tiêu nghiên cứu. ....................................................................... 1
1.4 Những kết quả đạt được. .................................................................. 2
1.5 Cấu trúc luận văn. ............................................................................ 2
Chương 2: Cơ sở lý thuyết.

3

2.1 Giới thiệu mạng Nơ ron nhân tạo. ................................................... 3
2.2 Cấu trúc mạng Nơ ron nhân tạo ....................................................... 3
2.3 Nguyên tắc hoạt động và luật huấn luyện. ....................................... 7
2.3.1 Nguyên tắc hoạt động. ............................................................... 7
2.3.2 Luật huấn luyện. ........................................................................ 9
2.4 Kỹ thuật tìm kiếm sử dụng để tối ưu hóa việc tìm giá trị min của hàm
phi tuyến tính. ...................................................................................... 13
2.4.1 Line search. .............................................................................. 14
2.4.2 Trust region. ............................................................................. 15
2.5.Ứng dụng mạng nơ ron trong công tác dự báo. ............................. 16

2.5.1. Áp dụng mạng nơ ron trong dự báo dữ liệu chuỗi thời gian. . 16
2.5.2 Phân chia tập dữ liệu dùng cho huấn luyện và kiểm tra. ......... 18
2.5.3 Xây dựng cấu trúc mạng. ......................................................... 19
2.5.4 Các tiêu chuẩn đánh giá. .......................................................... 20
2.5.5 Huấn luyện mạng. .................................................................... 20
2.5.6 Dự đoán và cải tiến. ................................................................ 21
Chương 3: Các cơng trình liên quan (các giải thuật huấn luyện).

22

3.1 Giải thuật lan truyền ngược (BPA). ............................................... 22
i


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

3.2 Giải thuật Broyden–Fletcher–Goldfarb–Shanno (BFGS) ............. 28
3.3 Giải thuật độ dốc liên hợp. ............................................................. 29
3.4 Giải Thuật Levenberg – Marquardt. .............................................. 32
3.5 Kết luận chương ............................................................................. 33
Chương 4: Giải thuật huấn luyện Levenberg-Marquardt.

35

4.1 Giải thuật Gauss-Newton. .............................................................. 35
4.1.1. Giới thiệu biểu thức Newton................................................... 35
4.1.2. Giải thuật Gauss-Newton. ....................................................... 38
4.2 Giải thuật giảm độ dốc nhất. .......................................................... 39
4.3 Giải thuật Levenberg – Marquardt................................................ 40
4.3.1 Nguyên lý hoạt động. ............................................................... 40

4.3.2 Mã giả của giải thuật ................................................................ 41
Chương 5: Hiện thực, thử nghiệm và đánh giá giải thuật.

44

5.1 Hiện thực. ....................................................................................... 44
5.2 Thử nghiệm và đánh giá giải thuật. ............................................... 46
5.2.1 Dữ liệu thử nghiệm. ................................................................. 46
5.2.2 Cách đánh giá giải thuật........................................................... 47
5.2.3 Thử nghiệm và đánh giá giải thuật trên bộ dữ liệu thật. .......... 48
5.3 Đánh giá chung. ............................................................................. 68
Chương 6. Tổng kết.

73

6.1 Tổng kết. ........................................................................................ 73
6.2 Những đóng góp của đề tài. ........................................................... 73
6. 3 Mặt hạn chế ................................................................................... 73
6.4 Hướng phát triển của đề tài. ........................................................... 74
Tài liệu tham khảo:

75

Phụ lục A Bảng thuật ngữ Anh-Việt.

A-1
ii


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.


Phụ lục B.

B-1

1. Chương trình thực nghiệm ........................................................... B-1
2. Code của chương trình ................................................................. B-2

iii


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

MỤC LỤC HÌNH
Danh mục hình

Trang

Hình 2.2.1. Hình ảnh của một đơn vị tính tốn trong mạng
thần kinh nhân tạo (ANN).

4

Hình 2.2.2. Mạng truyền thẳng.

5

Hình 2.2.3. Mạng hồi quy.

6


Hình 2.2.4 Mơ hình học có giám sát

6

Hình 2.3.1 Đơn vị mạng nơ ron

7

Hình 2.3.2 Siêu phẳng phân chia các điểm.

8

Hình 2.3.3 khơng tìm được siêu phẳng chia các điểm

8

Hình 2.3.4. Hàm lỗi của một đơn vị tuyến tính.

12

Hình 2.3.5. Các điểm cực tiểu khác nhau của hàm lỗi.

12

Hình 2.5.1 Minh họa dữ liệu chuỗi thời gian được lưu trữ theo tháng
Hình 2.5.2 Huấn luyện mạng nơ ron nhân tạo trên dữ liệu chuỗi thời
gian
Hình 3.1.1. Đồ thị hàm sigmoid


16
18

Hình 3.1.2. Đơn vị xử lý của mạng nơ ron.

22
23

Hình 3.1.3. Minh họa sự dao động của hệ số học.

26

Hình 3.2.1. Hàm số và cực trị của hàm số

28

Hình 3.3.1. Biểu diễn sự giảm độ dốc liên hợp và giảm độ dốc.
Hình 3.3.2. Kết quả của giải thuật CG khi chạy trên dữ liệu thật (dữ
liệu trạm Phước Hịa).
Hình 3.3.3. Kết quả của giải thuật CG và LM khi chạy trên dữ liệu
thật (dữ liệu trạm Phước Hịa).
Hình 3.4.1 Cây danh mục các giải thuật huấn luyện mạng nơ ron.
Hình 4.1.1. Hình minh họa các bước tìm kiếm điểm cực
tiểu của hàm lỗi dùng Biểu thức Newton.
Hình 4.2.1. Biểu diễn từng bước di chuyển của giải
thuật giảm độ dốc nhất.
Hình 4.3.1 Sơ đồ huấn luyện neural network cho giải thuật LM.
Hình 5.1.1. Mơ hình miêu tả cách hoạt động giải thuật LM kết hợp
iv


30
32
32
34
38
40
42
46


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

với mạng nơ ron.
Hình 5.2.3.1 Đồ thị kết quả dự báo trên dữ liệu trạm Phước Hịa của
giải thuật LM và BP.
Hình 5.2.3.2. Đồ thị kết quả dự báo trên dữ liệu trạm Phước Long
của giải thuật LM và BP
Hình 5.2.3.3 Đồ thị kết quả dự báo trên dữ liệu trạm Châu Đốc của
giải thuật LM và BP
Hình 5.2.3.4. Đồ thị kết quả dự báo trên dữ liệu trạm Trị An của giải
thuật LM và BP.
Hình 5.2.3.5. Đồ thị kết quả dự báo trên dữ liệu trạm Chiêm Hóa của
giải thuật LM và BP
Hình 5.2.3.6. Kết quả huấn luyện của 2 giải thuật LM và BP
dùng dữ liệu trạm Ghềnh Ga.
Hình 5.2.3.7a. Kết quả huấn luyện của giải thuật LM dùng dữ liệu
trạm Đức Xuyên.
Hình 5.2.3.7b. Kết quả huấn luyện của giải thuật BP dùng dữ liệu
trạm Đức Xuyên.
Hình 5.2.3.8a. Kết quả huấn luyện của giải thuật LM dùng dữ liệu

trạm Buôn Hồ
Hình 5.2.3.8b. Kết quả huấn luyện của giải thuật BP dùng dữ liệu
trạm Bn Hồ
Hình 5.2.3.9a. Kết quả huấn luyện của giải thuật BP dùng dữ liệu
trạm Cầu 14
Hình 5.2.3.9b. Kết quả huấn luyện của giải thuật BP dùng dữ liệu
trạm Cầu 14
Hình 5.2.3.10: Kết quả huấn luyện của 2 giải thuật LM và BP dùng
dữ liệu chứng khốn.
Hình 5.3.1 Biểu đồ so sánh giá trị MAE trong khi huấn luyện của hai
giải thuật LM và BP với dữ liệu của trạm Phước Hịa.
Hình 5.3.2 Biểu đồ so sánh giá trị MAE trong khi huấn luyện của
hai giải thuật LM và BP với dữ liệu của trạm Phước Long

48
50
52
53
54
56
58
59
61
62
64
65

67
69
69


Hình 5.3.3 Biểu đồ so sánh giá trị MAE trong khi huấn luyện của hai
giải thuật LM và BP với dữ liệu của trạm Đức Xuyên.
Hình 5.3.4 Biểu đồ so sánh giá trị MAE trong khi huấn luyện của hai
giải thuật LM và BP với dữ liệu của trạm Bn Hồ.

70

Hình 5.3.5 So sánh hiệu quả cấu hình trên dữ liệu trạm Phước Hịa

71

Hình 5.3.6 So sánh hiệu quả cấu hình trên dữ liệu trạm Phước Long

71

Hình 5.3.7 So sánh hiệu quả cấu hình trên dữ liệu trạm Châu Đốc

71

v

70


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Hình 5.3.8 So sánh hiệu quả cấu hình trên dữ liệu trạm Đức Xuyên

71


Hình 5.3.9 So sánh hiệu quả cấu hình trên dữ liệu trạm Trạm cầu 14
Hình 5.3.10 So sánh hiệu quả cấu hình trên dữ liệu trạm Trạm
Bn Hồ
Hình B1.1 Phần vùng 1 của chương trình thực nghiệm.

B-1

Hình B1.2 Phần vùng 2 của chương trình thực nghiệ

B-1

Hình B1.3 Giao diện chính

B-2

vi

72
72


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

MỤC LỤC BẢNG
Trang
Bảng 3.1 Các cách tính bước nhảy

31


Bảng 5.2.3.1 Hệ số huấn luyện của giải thuật lan truyền ngược.

48

Bảng 5.2.3.2 Số liệu hàm lỗi của giải thuật LM trạm Phước Hòa.

49

Bảng 5.2.3.3 Số liệu hàm lỗi của giải thuật BP trạm Phước Hòa.

50

Bảng 5.2.3.4 Số liệu hàm lỗi của giải thuật LM trạm Phước Long.

51

Bảng 5.2.3.5 Số liệu hàm lỗi của giải thuật BP trạm Phước Long.

52

Bảng 5.2.3.6 Số liệu hàm lỗi của giải thuật LM ở trạm Châu Đốc.

52

Bảng 5.2.3.7 Số liệu hàm lỗi của giải thuật BP ở trạm Châu Đốc.

53

Bảng 5.2.3.8 Số liệu hàm lỗi của giải thuật LM ở trạm Trị An.


54

Bảng 5.2.3.9 Số liệu hàm lỗi của giải thuật BP ở trạm Trị An.

54

Bảng 5.2.3.10 Số liệu hàm lỗi của giải thuật LM ở trạm Chiêm Hóa.

55

Bảng 5.2.3.11 Số liệu hàm lỗi của giải thuật BP ở trạm Chiêm Hóa.

55

Bảng 5.2.3.12 Số liệu hàm lỗi của giải thuật LM ở trạm Ghềnh Ga.

56

Bảng 5.2.3.13 Số liệu hàm lỗi của giải thuật BP ở trạm Ghềnh Ga.

57

Bảng 5.2.3.14 Số liệu hàm lỗi của giải thuật LM ở trạm Đức Xuyên.

60

Bảng 5.2.3.15 Số liệu hàm lỗi của giải thuật BP ở trạm Đức Xuyên.

60


Bảng 5.2.3.16 Số liệu hàm lỗi của giải thuật LM ở trạm Buôn Hồ.

63

Bảng 5.2.3.17 Số liệu hàm lỗi của giải thuật BP ở trạm Buôn Hồ.

63

Bảng 5.2.3.18 Số liệu hàm lỗi của giải thuật LM ở trạm Cầu 14.

66

Bảng 5.2.3.19 Số liệu hàm lỗi của giải thuật BP ở trạm Cầu 14.

66

Bảng 5.2.3.20 Số liệu hàm lỗi của giải thuật LM ở dữ liệu chứng
khoán.
Bảng 5.2.3.21 Số liệu hàm lỗi của giải thuật BP ở dữ liệu chứng
khoán.
vii

67
68


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Chương 1: Giới thiệu vấn đề.
1.1 Giới thiệu vấn đề.

Việc dự báo dịng chảy của các con sơng là một việc làm dựa trên nền tảng
toán học và khoa học dữ liệu để tìm ra quy luật hoạt động tự nhiên của dòng
chảy, trên thực tế những năm gần đây ở Việt Nam việc dự báo dịng chảy của
các con sơng đã và đang hiện thực rất nhiều ví dụ như ứng dụng mạng nơ ron
nhân tạo vào việc mơ phỏng dịng chảy [1] bởi kết quả dự báo dịng chảy góp
phần vào việc dự đoán các ảnh hưởng tiêu cực để có phương án giải quyết kịp
thời cũng như góp phần nghiên cứu đến những yếu tố gây nên chúng.
1.2 Động cơ nghiên cứu
Việc dự báo dịng chảy trên sơng góp phần vào việc giải quyết các bài toán
thực tế đang gặp phải như:
- Ngăn chặn việc ảnh hưởng tiêu cực đến môi trường.
- Ngăn chặn hậu quả do sông gây ra đối với Hệ Sinh Thái, cây trồng.
- Điều chỉnh phù hợp việc khai thác thủy điện, sự xâm mặn của nước biển,
nguồn nước sinh hoạt và tưới tiêu.
1.3 Mục tiêu nghiên cứu.
Dữ liệu dịng chảy của các con sơng là dữ liệu chuỗi thời gian, có rất nhiều
phương pháp được xây dựng để dự báo chuỗi thời gian ví dụ phương pháp hồi
quy đã được xây dựng từ thế kỷ 19 và phương pháp mạng nơ ron nhân tạo
được phát triển gần đây.
Mạng nơ ron nhân tạo là một mơ hình ứng dụng lý thuyết tốn học và giải
thuật để giải quyết các dạng bài toán khác nhau, các bài tốn về dự báo mực
nước, dự báo dịng chảy… cũng được áp dụng nhiều và có hiệu quả ngày
càng cao.
Trong nước đã có những cơng trình nghiên cứu để thực hiện việc dự đốn
lưu lượng nước của sơng Đồng Nai như bài báo của thầy Lê Văn Dực [1], sử
dụng mạng thần kinh nhân tạo(ANN) và giải thuật lan truyền ngược để dự
đốn mặc dù đã có kết quả tốt nhưng bằng sử dụng những giải thuật huấn
luyện mạng nơ ron khác nữa chúng tơi mong muốn có một giải thuật huấn
luyện cho kết quả dự báo tốt hơn.
1



Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

1.4 Những kết quả đạt được.

- Tìm hiểu và ứng dụng giải thuật Levenberg-Marquardt, giải thuật BFGS,
giải thuật liên hợp độ dốc (Conjugate gradient) vào vấn đề huấn luyện mạng
nơ ron dự báo dữ liệu chuỗi thời gian.
- Hiện thực chương trình chạy thử nghiệm dựa trên giải thuật levenbergMarquardt và dữ liệu chạy thử nghiệm là các dữ liệu dòng chảy trên sông. Kết
quả thực nghiệm cho thấy giải thuật Levenberg-Marquardt đem lại kết quả dự
báo tốt hơn giải thuật lan truyền ngược.
1.5 Cấu trúc luận văn.
Luận văn bao gồm những phần sau:
Chương 1: Giới thiệu vấn đề.
Chương 2: Đề cập đến cơ sở lý thuyết giới thiệu về mạng nơ ron nhân tạo bao
gồm cấu trúc, nguyên lý hoạt động và giải thuật được ứng dụng.
Chương 3: Giới thiệu các cơng trình liên quan và giải thuật áp dụng.
Chương 4: Giới thiệu về giải thuật Levenberg-Marquardt.
Chương 5: Hiện thực, thử nghiệm và đánh giá giải thuật
Chương 6: Tổng kết và báo cáo kết quả đạt được của đề tài.

2


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Chương 2: Cơ sở lý thuyết.
Để có hiệu quả cao trong khi làm việc với dữ liệu chuỗi thời gian sử dụng
mạng nơ ron thì việc quan trọng hiểu được nguyên lý hoạt động của mạng nơ

ron và các kỹ thuật được dùng làm nền tảng để tìm điểm tối thiểu. Trong
chương này sẽ làm rõ về mạng nơ ron và các kỹ thuật tìm kiếm cũng như
những giải thuật đã từng áp dụng để đạt được điểm cực tiểu của hàm lỗi trong
không gian trọng số.
2.1 Giới thiệu mạng Nơ ron nhân tạo.
Mạng Nơ ron nhân tạo (Artificial Neural Network- ANN) là mơ hình xử lý
thơng tin được mơ phỏng dựa trên hoạt động của hệ thống thần kinh của sinh
vật, bao gồm số lượng lớn các Nơ ron được gắn kết để xử lý thông tin. ANN
giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn
luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng
những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data).
Trong quá trình phát triển, mạng nơ ron nhân tạo đã được ứng dụng thành
cơng trong nhiều bài tốn thực tế như nhận dạng chữ viết, nhận dạng tiếng
nói, điều khiển tự động, dự báo chuỗi thời gian, dự báo dòng chảy các con
sông…
2.2 Cấu trúc mạng Nơ ron nhân tạo
Cấu trúc của mạng bao gồm các đơn vị tính tốn đơn giản (tượng trưng
cho các nơ ron) được liên kết với nhau bằng các cạnh có trọng số (tượng
trưng cho các khớp thần kinh) bao gồm:
 Các đơn vị đầu vào, nhận tín hiệu từ bên ngồi.
 Các đơn vị đầu ra, gửi dữ liệu ra bên ngoài.
 Các đơn vị ẩn, tín hiệu vào của nó được truyền từ các đơn vị trước nó và
tín hiệu ra được truyền đến các đơn vị sau nó trong mạng.
 Hàm kích hoạt là hàm tốn học dung đế tính tốn đầu ra cho một đơn vị
(nơ ron). Thường sử dụng các hàm như:
- Hàm đồng nhất: g ( x )  x .
3


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.


- Hàm ngưỡng:

g ( x)  10

- Hàm sigmoid: g ( x) 

-

1
1  e x

Hàm lưỡng cực: g ( x) 

1  e x
1  e x

Hình 2.2.1 minh họa một đơn vị tính tốn trong mạng thần kinh nhân
tạo.

Hình 2.2.1. Hình ảnh của một đơn vị tính tốn trong mạng thần kinh
nhân tạo (ANN) [16].
Các đơn vị liên kết với nhau tạo thành mạng nơ ron nhân tạo. Sự liên kết
giữa hai đơn vị được biểu thị bằng trọng số, giá trị các trọng số cho chúng ta
biết độ mạnh yếu liên kết giữa các đơn vị.
Hình dạng của mạng nơ ron nhân tạo rất khác nhau phụ thuộc vào số
lượng các đơn vị và cách thức liên kết. Có hai dạng mạng cơ bản mạng truyền
thẳng và mạng hồi quy:
Mạng truyền thẳng (Feed-forward neural network): Một đơn vị ở lớp
đứng

trước sẽ kết nối với tất cả các đơn vị ở lớp đứng sau. Tín hiệu chỉ được truyền
theo một hướng từ lớp đầu vào qua các lớp ẩn (nếu có) và đến lớp đầu ra.
Nghĩa là tín hiệu ra của một đơn vị không được phép truyền cho các đơn vị

4


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

trong cùng lớp hay ở lớp trước. Đây là loại mạng rất phổ biến và được dung
nhiều trong việc dự báo dữ liệu chuỗi thời gian (hình 2.2.2).

Hình 2.2.2. Mạng truyền thẳng [4].
Mạng hồi quy (Recurrent neural network): Khác với mạng truyền thẳng,
mạng hồi quy có chứa các liên kết ngược từ một đơn vị đến các đơn vị ở lớp
trước nó (hình 2.2.3). Chức năng của một mạng nơ ron được quyết định bởi
các nhân tố như: hình dạng mạng (số lớp, số đơn vị trên mỗi lớp, cách mà các
lớp được liên kết với nhau) và các trọng số của các liên kết bên trong mạng.
Hình dạng của mạng thường là cố định, và các trọng số được quyết định bởi
một thuật tốn huấn luyện (training algorithm).
Tiến trình điều chỉnh các trọng số để mạng “nhận biết” được quan hệ giữa
đầu vào và đầu ra mong muốn được gọi là học (learning) hay huấn luyện
(training). Rất nhiều thuật toán huấn luyện đã được phát minh để tìm ra tập
trọng số tối ưu làm giải pháp cho các bài toán.
Các thuật tốn đó có thể chia làm hai nhóm chính: Học có giám sát
(Supervised learning) và Học khơng có giám sát (Unsupervised Learning).

5



Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.







Hidden

Input

Output

Hình 2.2.3. Mạng hồi quy [4].
Học có giám sát: Mạng được huấn luyện bằng cách cung cấp cho nó các
mẫu dữ liệu mẫu đầu vào đã được phân lớp đúng cho trước [7]. Các cặp này
có sẵn trong q trình thu nhập dữ liệu. Sự khác biệt giữa các đầu ra theo tính
tốn trên mạng so với các đầu ra mong muốn được thuật toán sử dụng để điều
chỉnh các trọng số trong mạng. Điều này thường được đưa ra như một bài
toán xấp xỉ hàm số - cho dữ liệu huấn luyện bao gồm các cặp mẫu đầu vào x,
và một đích tương ứng t, mục đích là tìm ra hàm f(x) hay đúng hơn là tìm bộ
trọng số phù hợp nhất để thoả mãn tất cả các mẫu học đầu vào [6]. Đây là mơ
hình học rất phổ biến trong việc áp dụng mạng nơ ron vào bài toán dự báo.

Hình 2.2.4 Mơ hình học có giám sát [4].

6



Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Học không có giám sát: với cách học khơng có giám sát, trong giai đoạn
huấn luyện sẽ không dùng bộ dữ liệu có phân lớp đúng cho trước. Mạng sẽ
phải khám phá các đặc trưng, các điều chỉnh, các mối tương quan, hay các lớp
trong dữ liệu vào một cách tự động. Nói một cách khác, học khơng có giám
sát ln 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.
2.3 Nguyên tắc hoạt động và luật huấn luyện.
2.3.1 Nguyên tắc hoạt động.
Mạng nơ ron nhân tạo được thiết kế bằng các trọng số giữa các nơ ron,
hàm chuyển và luật huấn luyện. Mục tiêu của việc huấn luyện là đưa hàm lỗi
đạt được giá trị cựa tiểu, việc này trải qua một q trình hoạt động kết hợp
giữa việc tính tốn tại điểm nốt mạng (đơn vị) gọi là perceptron, thuật toán và
luật huấn luyện.
Perceptron là đơn vị cơ bản của mạng như hình 2.3.1, nhận đầu vào là tổ
hợp tuyến tính và sử dụng hàm tốn học để tính tốn, đầu ra là một giá trị hay
kết quả phân lớp tùy thuộc vào bài toán đang ứng dụng.
Một cách trực quan, perceptron được mơ hình như hình 2.3.1.
w1

w2

Input

O

w3
Net Input
Activation

function



w0
wn

Hình 2.3.1 Đơn vị mạng nơ ron [16].
7


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Perceptron nhận đầu vào là tổ hợp tuyến tính của một vector n chiều w =
n

wx
i 1

i i

và đầu ra là một giá trị o = f ( w) , hay phân thành lớp ví dụ:

1
o( x1 , x2 ..xn )  
1

Nếu

Trường hợp khác


wi là biểu diễn giá trị đóng góp của xi vào giá trị xuất ra của perceptron.
Xét một mạng nơ ron nhân tạo đơn giản bao gồm một đơn vị (perceptron).
Nếu xem các vector nhập ( x0 , x1 ,..., xn ) là các điểm trên không gian n +1 chiều
( x0 ln là 1) thì perceptron biểu diễn một mặt quyết định (decision surface)
xem một điểm có nằm trên một siêu phẳng (hyperplane) có phương trình là
w.x  0 hay không. Perceptron sẽ xuất ra giá trị 1 cho các điểm nằm trên siêu
phẳng này và xuất ra -1 cho các điểm cịn lại.

Hình 2.3.2 Siêu phẳng phân chia các điểm [4].

Hình 2.3.3 khơng tìm được siêu
phẳng chia các điểm [4].

Trong thực tế, ta thường có sẵn một bộ dữ liệu mẫu gồm một tập các điểm
được gán nhãn dương và âm. Bài toán huấn luyện perceptron là bài toán xác
định vector w sau cho siêu phẳng w.x  0 phân chia các điểm trong tập mẫu
một cách chính xác theo các nhãn của nó. Thực tế có một số bộ dữ liệu mà
khơng thể tìm thấy bất kỳ siêu phẳng nào có thể phân chia đúng các điểm của
nó như hình 2.3.3, các bộ dữ liệu đó được gọi là tập dữ liệu khơng khả phân
tuyến tính (not linearly separable). Ngược lại nếu một bộ dữ liệu có thể được
8


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

phân chia đúng bởi một siêu phẳng nào đó thì gọi là khả phân tuyến tính điều
này được trực quan hóa như hình 2.3.2.
Quá trình huấn luyện một perceptron là một quá trình tìm kiếm một vector
w trên một khơng gian thực n + 1 chiều sao cho nó có khả năng phân xuất ra

các giá trị +1, -1 một cách đúng đắn cho một tập dữ liệu nào đó.
2.3.2 Luật huấn luyện.
Có hai luật huấn luyện được dùng trong mạng nơ ron đó là luật: Luật huấn
luyện perceptron và luật delta [4].
a) Luật perceptron:
Để tìm một vector w thích hợp, trước hết ta áp dụng một perceptron với
trọng số w ngẫu nhiên qua từng mẫu của tập dữ liệu huấn luyện và hiệu chỉnh
các trọng số này khi có sự phân loại sai tập mẫu. Quá trình này được lặp đi
lặp lại cho đến khi perceptron đã phân loại đúng tất cả các mẫu của tập huấn
luyện. Các trọng số được cập nhập theo luật:
wi  wi  wi

wi   (t  o) xi .
Ở đây o là giá trị xuất của perceptron, t là giá trị đích của mẫu huấn luyện
hiện thời, xi là giá trị nhập thứ i,  là hệ số học (learning rate) có vai trị điều
tiết mức độ thay đổi của trọng số trong các bước cập nhập. Nó thơng thường
được gán một giá trị dương nhỏ (ví dụ 0.1) và được điều chỉnh giảm khi số
lần cập nhập trọng số tăng lên. Giải thuật học này được chứng minh hội tụ sau
một số hữu hạn lần cập nhập các trọng số đối với các tập dữ liệu mẫu khả
phân tuyến tính và một hệ số học đủ nhỏ nhưng đối với các tập dữ liệu khơng
khả phân tuyến tính thì sự hội tụ là khơng chắc
b) Luật delta:
Luật perceptron khơng đảm bảo tính hội tụ đối với các tập mẫu khơng khả
phân tuyến tính do đó người ta thiết kế giải thuật luật delta (Delta Rule) để
vượt qua khó khăn này. Luật delta sẽ hội tụ về một xấp xỉ tốt nhất cho các tập
khơng khả phân tuyến tính. Ý tưởng chính của luật delta là áp dụng phương
pháp giảm độ dốc (gradient descent) để tìm kiếm vector trọng số đáp ứng tốt
nhất tập huấn luyện. Xét một perceptron thực hiện việc lấy tổ hợp tuyến tính
9



Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

các giá trị nhập nhưng không phân ngưỡng kết quả. Perceptron này gọi là
perceptron khơng phân ngưỡng (unthresholded perceptron) hay cịn gọi là
đơn vị tuyến tính (linear unit). Giá trị xuất của perceptron được tính như sau

o( x)  w.x
Để áp dụng luật delta ta cần định nghĩa một hàm đánh giá, hay cịn gọi là hàm
lỗi (training error function). Có nhiều hàm lỗi được sử dụng nhưng thường
dùng nhất là hàm sau:

E ( w) 

1
(t kd  okd ) 2


2 dD koutputs

Ở đây D là tập dữ liệu huấn luyện,
d là một mẫu trong tập D,
t kd là giá trị đích của mẫu d,

okd là giá trị xuất của perceptron.
Mục đích của luật delta là tìm vector w sao cho E ( w) đạt giá trị cựa tiểu.
Hình 2.3.4 là một biểu diễn hàm lỗi của một đơn vị tuyến tính. Trục thẳng
đứng của đồ thị là giá trị hàm lỗi, hai trục ở mặt phẳng ngang là giá trị của các
trọng số. Phương pháp giảm độ dốc bắt đầu tìm với một vector trọng số ngẫu
nhiên và duyệt qua các mẫu của tập huấn luyện, mỗi lần duyệt qua các trọng

số sẽ được cập nhập theo hướng làm giảm giá trị hàm lỗi. Quá trình này được
lặp đi lặp lại cho đến khi đạt được giá trị cực tiểu của hàm lỗi.
Hướng cập nhập các trọng số để làm giảm giá trị hàm lỗi được xác định
theo vector độ dốc (gradient) của hàm lỗi E theo W, ký hiệu là E ( w)
 E E
E 
E ( w)  
,
,...,

wN 
 w0 w1

Về mặt toán học vector độ dốc biểu diễn hướng làm tăng giá trị hàm E trong
không gian trọng số, do đó - E ( w) sẽ là hướng làm giảm giá trị hàm E.
Trong hình 2.3.4 vector độ dốc được biểu diễn bằng dấu mũi tên. Các trọng
số sẽ được cập nhập theo quy luật sau:
w  w  w
w  E ( w)

10


Huấn luyện mạng nơ ron bằng giải thuật Levenberg-Marquardt.

Luật huấn luyện này có thể được viết lại cho từng trọng số như sau:
wi  wi   wi
E ( w)  

E

wi

(2.1)

Để thực hiện cập nhập các trọng số, ta thực hiện tính đạo hàm riêng phần của
hàm E theo từng trọng số:
E
 1

(t d  od ) 2

wi wi 2 dD



1

(td  od ) 2

2 d D wi



1

2(td  od )
(td  od )

2 dD
wi


  (td  od )
d D


(td  w.xd )
wi

E
  (td  od )( xid ) (2.2)
wi d D

Thay (2.2) vào (2.1) ta được giá trị cập nhập trọng số qua từng bước ta được

wi    (td  od ) xid

(2.3)

dD

Ở đây giá trị xid là giá trị đầu vào thứ i của mẫu d. Phương pháp giảm độ
dốc có hai hạn chế chính là tốc độ hội tụ đơi khi khá chậm và nếu có nhiều
cực tiểu cục bộ (local minimum) trên bề mặt của hàm lỗi thì giải thuật dễ rơi
vào cực tiểu cục bộ mà không đạt được cực tiểu tồn cục (global minimum),
Hình 2.3.5 minh hoạ đường dẫn đến các điểm cực tiểu cục bộ của hàm lỗi .

11



×