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

Lựa chọn tốc độ huấn luyện hợp lý khi sử dụng thuật toán lan truyền ngược giải bài toán dự báo

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 (1.27 MB, 87 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
---    ---

CAO THỊ KIM NGÂN

LỰA CHỌN TỐC ĐỘ HUẤN LUYỆN HỢP LÝ
KHI SỬ DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC
GIẢI BÀI TOÁN DỰ BÁO

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

Thái Nguyên – 2015


i
LỜI CAM ĐOAN
Em xin cam đoan: Luận văn thạc sĩ Khoa học máy tính “Lựa chọn tốc độ
huấn luyện hợp lý khi sử dụng thuật toán lan truyền ngược giải bài toán dự báo”
này là công trình nghiên cứu thực sự của cá nhân em, được thực hiện trên cơ sở
nghiên cứu lý thuyết và dưới sự hướng dẫn khoa học của Phó giáo sư, Tiến sỹ
Nguyễn Tân Ân.
Em xin chịu trách nhiệm về lời cam đoan này.

Ngày 02 tháng 10 năm 2015
Tác giả

Cao Thị Kim Ngân


ii


LỜI CẢM ƠN
Để hoàn thành luận văn, em xin chân thành cảm ơn Trường Đại học
Công nghệ Thông tin và Truyền thông Thái Nguyên, Phòng Đào tạo, các thầy,
cô giáo giảng dạy lớp cao học Khoa học máy tính K12E đã quan tâm, tạo điều
kiện thuận lợi, tận tình giảng dạy và giúp đỡ em trong thời gian theo học tại
trường.
Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến PGS. TS. Nguyễn Tân
Ân, người đã dành nhiều thời gian, tâm huyết hướng dẫn em trong suốt quá
trình nghiên cứu và hoàn thành luận văn.
Em cũng xin cảm ơn các cán bộ, giảng viên đồng nghiệp ở Trường Đại
học Hùng Vương đã tạo điều kiện về thời gian để em có thể học tập và hoàn
thành luận văn.
Mặc dù đã cố gắng hết sức hoàn thiện luận văn, nhưng chắc chắn vẫn còn
nhiều thiếu sót, rất mong sự có góp ý của các thầy cô giáo và các bạn để luận văn
này được hoàn thiện hơn.
Xin trân trọng cảm ơn.
Ngày 02 tháng 10 năm 2015
Tác giả

Cao Thị Kim Ngân


iii
MỤC LỤC

LỜI CAM ĐOAN..................................................................................... i
LỜI CẢM ƠN ......................................................................................... ii
MỤC LỤC .............................................................................................. iii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ............................ v
DANH MỤC HÌNH VẼ ......................................................................... vi

DANH MỤC BẢNG BIỂU .................................................................. viii
MỞ ĐẦU ................................................................................................. 1
CHƯƠNG I: MẠNG NƠRON NHÂN TẠO ......................................... 4
1.1. Giới thiệu về mạng nơron nhân tạo.........................................................4
1.1.1. Khái niệm cơ bản.............................................................................4
1.1.2. Quá trình phát triển mạng nơron ......................................................4
1.1.3. Mô hình mạng nơron .......................................................................7
1.2. Các phương pháp học ........................................................................... 14
1.2.1. Học có giám sát ............................................................................. 14
1.2.2. Học không có giám sát.................................................................. 16
1.2.3. Học tăng cường.............................................................................. 17
1.3. Kết luận chương 1 ................................................................................ 17

CHƯƠNG II: MẠNG NƠRON TRUYỀN THẲNG VÀ THUẬT
TOÁN LAN TRUYỀN NGƯỢC.......................................................... 18
2.1. Cấu trúc mạng nơron truyền thẳng........................................................ 18
2.1.1. Mạng nơron truyền thẳng một lớp.................................................. 18
2.1.2. Mạng nơron truyền thẳng nhiều lớp ............................................... 22
2.2. Khả năng thể hiện của mạng................................................................. 23
2.3. Thuật toán lan truyền ngược (Back – Propagation)............................... 24
2.3.1. Mô tả thuật toán............................................................................. 28
2.3.2. Một số biến thể của thuật toán lan truyền ngược ............................ 31
2.3.3. Nhận xét ........................................................................................ 33
2.4. Kết luận chương 2 ................................................................................ 35


iv

CHƯƠNG III: CHƯƠNG TRÌNH THỬ NGHIỆM THUẬT TOÁN
LAN TRUYỀN NGƯỢC TRONG BÀI TOÁN DỰ BÁO THỜI TIẾT

................................................................................................................ 36
3.1. Giới thiệu về bài toán dự báo................................................................ 36
3.1.1. Giới thiệu....................................................................................... 36
3.1.2. Các phương pháp giải bài toán dự báo thời tiết phổ biến............... 38
3.1.3. Quy trình thực hiện dự báo ............................................................ 39
3.2. Phân tích và đánh giá các trọng số của bài toán .................................... 42
3.2.1. Phân tích bài toán .......................................................................... 42
3.2.2. Đánh giá các trong số của bài toán................................................. 46
3.3. Chương trình thử nghiệm...................................................................... 50
3.3.1. Mô hình mạng nơron của bài toán.................................................. 50
3.3.2. Xây dựng chương trình dự báo thời tiết ......................................... 51
3.4. Kết quả thử nghiệm .............................................................................. 59
3.4.1. Thử nghiệm 1 ................................................................................ 59
3.4.2. Thử nghiệm 2 ................................................................................ 60
3.4.3. Thử nghiệm 3 ................................................................................ 62
3.4.4. Thử nghiệm 4 ................................................................................ 63
3.5. Kết luận chương 3 ................................................................................ 64

KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO.................... 65
TÀI LIỆU THAM KHẢO .................................................................... 67
PHỤ LỤC ................................................................................................ 1


v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

ANN

Artificial Neural Network


MLP

Multi Layer Perceptron

ADALINE

ADAptive LINear Elements

MADALINE

Multiple ADAptive LINear Elements

LMS

Least-Mean-Squares

Perceptron

Mạng nơron truyền thẳng một lớp


vi
DANH MỤC HÌNH VẼ

Hình 1.1

Cấu trúc của một nơron sinh học điển hình ................................8

Hình 1.2


Nơron nhân tạo ..........................................................................9

Hình 1.3

Hàm đồng nhất (Indentity function).........................................11

Hình 1.4

Hàm bước nhị phân (Binary step function) ..............................12

Hình 1.5

Hàm Sigmoid...........................................................................12

Hình 1.6

Hàm sigmoid lưỡng cực...........................................................13

Hình 1.7

Một cách phân loại mạng nơron...............................................14

Hình 1.8

Sơ đồ học tham số có giám sát1...............................................16

Hình 1.9

Sơ đồ học không giám sát ........................................................16


Hình 1.10

Sơ đồ học tăng cường ..............................................................17

Hình 2.1

Mạng truyền thẳng...................................................................18

Hình 2.2

Perceptron................................................................................19

Hình 2.3

Lớp vào và lớp ra của mạng noron...........................................19

Hình 2.4

Mạng MLP tổng quát...............................................................22

Hình 2.5

Sơ đồ thuật toán lan truyền ngược............................................30

Hình 3.1

Quy trình dự báo......................................................................40

Hình 3.2


Kiến trúc hệ dự báo thời tiết ....................................................42

Hình 3.3

Đồ thị biểu diễn mức độ mưa...................................................43

Hình 3.4

Đồ thị biểu diễn mức độ mây...................................................44

Hình 3.5

Minh họa vấn đề cực tiểu địa phương ......................................47


vii
Hình 3.6

Mô hình mạng nơron dùng trong bài toán dự báo thời tiết .......50

Hình 3.7

Giao diện chương trình dự báo thời tiết...................................52

Hình 3.8

Giao diện thiết lập mạng noron ................................................52

Hình 3.9


Giao diện huấn luyện mạng nơron ...........................................54

Hình 3.10

Giao diện dự báo thời tiết.........................................................55

Hình 3.11

Các biểu đồ so sánh dữ liệu dự báo và dữ liệu thực tế........................58


viii
DANH MỤC BẢNG BIỂU

Bảng 3.1

Độ hội tụ với các tốc độ huấn luyện khác nhau ..........................59

Bảng 3.2

Độ hội tụ của mạng với các giá trị trọng số khởi tạo khác nhau..60

Bảng 3.3

Độ hội tụ của mạng với các số nơron lớp ẩn khác nhau..............62

Bảng 3.4

Đánh giá kết quả dự báo.............................................................64



1
MỞ ĐẦU
Trong quá trình phát triển con người luôn ước muốn biết trước về tương
lai. Họ đã thực hiện ước muốn này theo nhiều cách khác nhau bằng rất nhiều
cách có cả tính khoa học và không khoa học như: bói toán, tiên tri, các công cụ
dự báo… Dù là cách này hay cách khác cũng đều thể hiện ham muốn của con
người là biết được những điều chưa xảy ra, hay những việc có thể xảy ra trong
tương lai. Chính vì thế, từ xa xưa dự báo đã đóng một vai trò cần thiết trong
cuộc sống của con người.
Mạng nơron nhân tạo là một mô hình tính toán dựa trên mô phỏng quá
trình tư duy, hay “học” của con người để giải quyết các vấn đề. Mạng Nơron
nhân tạo được ứng dụng rộng rãi trong nhiều lĩnh vực và đã thu được nhiều kết
quả khả quan như: nhận dạng mẫu, phân loại mẫu, nhận dạng tiếng nói, … Với
khả năng xấp xỉ với độ chính xác tùy ý các hàm phi tuyến, và với khả năng
thích hợp cho các hệ thống mờ nên mạng nơron rất thích hợp cho bài toán dự
báo, đặc biệt là trong môi trường khí quyển. Trên thế giới, người đầu tiên thử
nghiệm phương pháp dự báo thời tiết số là Vilhelm Bjerknes vào năm 1904,
đến nay rất nhiều các công trình dự báo số đã được phát triển với kết quả có độ
chính xác rất cao, trong đó có cả những mô hính sử dụng hệ mờ nơron.
Mạng nơron đã và đang được áp dụng trong nhiều lĩnh vực trong đó có
khí tượng thủy văn từ nhiều năm trước và đã có nhiều kết quả cụ thể. Tháng 4
năm 2006, Ricardo A. Guarnieri [12] cùng đồng nghiệp đã ứng dụng mạng
nơron nhân tạo hiệu chỉnh dự báo tổng xạ của mô hình khí hậu khu vực Eta;
trước đó năm 2002, luận văn thạc sỹ của Bin Li [11] (Đại học Georgia, Hy Lạp)
đã ứng dụng mạng nơron nhân tạo là công cụ nội suy trường khí tượng về trạm
thay cho các phương pháp nội suy truyền thống,…và nhiều công trình nghiên
cứu chuyên biệt về lĩnh vực nơron nhân tạo đáng chú ý khác như công trình của
Ajith Abraham [8], Chin-Teng Lin [9], Jacek M. Zurada [10],…



2
Ở Việt Nam nhiều mô hình dự báo thời tiết số ứng dụng mạng noron
cũng đang được triển khai ứng dụng như các hệ cho dự báo giá chứng khoán,
phụ tải,… tuy nhiên trong các ứng dụng vấn đề chọn tốc độ huấn luyện vẫn là
một vấn đề được các nhà khoa học quan tâm. Nếu chọn tốc độ huấn luyện quá
nhỏ, quá trình huấn luyện sẽ rất lâu và có khi chỉ đạt đến cực trị địa phương.
Nếu chọn tốc độ huấn luyện lớn, quá trình huấn luyện nhanh nhưng có khi
không hội tụ. Để nâng cao hiệu quả của các chương trình dự báo ứng dụng
mạng nơron, tôi chọn đề tài: “LỰA CHỌN TỐC ĐỘ HUẤN LUYỆN HỢP LÝ KHI SỬ
DỤNG THUẬT TOÁN LAN TRUYỀN NGƯỢC GIẢI BÀI TOÁN DỰ BÁO” nhằm

nghiên cứu cách tìm tốc độ huấn luyện mạng theo từng bước huấn luyện nhằm
tiêt kiệm thời gian huấn luyện và nâng cao chất lượng của các hệ thống dự báo
ứng dụng mạng nơron nhân tạo.
Bố cục của luận văn bao gồm các chương sau:
Luận văn được trình bày thành 3 phần bao gồm: phần mở đầu, phần nội
dung và phần kết luận
Phần mở đầu: Giới thiệu khái quát về đề tài, mục tiêu, ý nghĩa khoa học
và xã hội mang lại thông qua việc giải quyết các vấn đề được nêu trong đề tài.
Phần nội dung:
Chương 1: Mạng nơron nhân tạo: Giới thiệu về mạng nơron nhân tạo và
mô hình mạng nơron. Các phương pháp học trong mạng nơron nhân tạo.
Chương 2. Mạng nơron truyền thẳng và thuật toán lan truyền ngược:
Tìm hiểu cấu trúc mạng nơron truyền thẳng và thuật toán lan truyền ngược
Chương 3. Chương trình thử nghiệm thuật toán lan truyền ngược
trong bài toán dự báo thời tiết. Xây dựng chương trình dự báo thời tiết và thử
nghiệm huấn luyện mạng lan truyền ngược trong bài toán dự báo thời tiết với
các tốc độ huấn luyện khác nhau.



3
Phần kết luận: Trình bày kết quả mà luận văn đạt được và hướng phát triển
cho mô hình mà luận văn đã đề xuất.


4
CHƯƠNG I: MẠNG NƠRON NHÂN TẠO
1.1. Giới thiệu về mạng nơron nhân tạo
1.1.1. Khái niệm cơ bản
Định nghĩa: Mạng nơron nhân tạo, Artificial Neural Network (ANN) gọi
tắt là mạng nơron, neural network, là một mô hình xử lý thông tin phỏng theo
cách thức xử lý thông tin của các hệ nơron sinh học. Nó được tạo lên từ một số
lượng lớn các phần tử (gọi là phần tử xử lý hay nơron) kết nối với nhau thông
qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để
giải quyết một vấn đề cụ thể nào đó. [1]
Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận
dạng mẫu, phân loại dữ liệu, ...) thông qua một quá trình học từ tập các mẫu
huấn luyện. Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa
các nơron.
1.1.2. Quá trình phát triển mạng nơron
Các nghiên cứu về bộ não con người đã được tiến hành từ hàng nghìn
năm nay. Cùng với sự phát triển của khoa học kĩ thuật đặc biệt là những tiến bộ
trong ngành điện tử hiện đại, việc con người bắt đầu nghiên cứu các nơron nhân
tạo là hoàn toàn tự nhiên. Sự kiện đầu tiên đánh dấu sự ra đời của mạng nơron
nhân tạo diễn ra vào năm 1943 khi nhà thần kinh học Warren McCulloch và
nhà toán học Walter Pitts viết bài báo mô tả cách thức các nơron hoạt động. Họ
cũng đã tiến hành xây dựng một mạng nơron đơn giản bằng các mạch điện. Các
nơron của họ được xem như là các thiết bị nhị phân với ngưỡng cố định. Kết
quả của các mô hình này là các hàm logic đơn giản chẳng hạn như “ a OR b”

hay “a AND b”.


5
Tiếp bước các nghiên cứu này, năm 1949 Donald Hebb cho xuất bản
cuốn sách Organization of Behavior. Cuốn sách đã chỉ ra rằng các nơron nhân
tạo sẽ trở lên hiệu quả hơn sau mỗi lần chúng được sử dụng.
Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc mô hình
hóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suy
nghĩ đã trở thành hiện thực. Nathanial Rochester sau nhiều năm làm việc tại các
phòng thí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để mô
phỏng một mạng nơron. Trong thời kì này tính toán truyền thống đã đạt được
những thành công rực rỡ trong khi đó những nghiên cứu về nơron còn ở giai
đoạn sơ khai. Mặc dù vậy những người ủng hộ triết lý “thinking machines” (các
máy biết suy nghĩ) vẫn tiếp tục bảo vệ cho lập trường của mình.
Năm 1956 dự án Dartmouth nghiên cứu về trí tuệ nhân tạo (Artificial
Intelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo
lẫn mạng nơron. Tác động tích cực của nó là thúc đẩy hơn nữa sự quan tâm của
các nhà khoa học về trí tuệ nhân tạo và quá trình xử lý ở mức đơn giản của
mạng nơron trong bộ não con người.
Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề
xuất việc mô phỏng các nơron đơn giản bằng cách sử dụng rơle điện áp hoặc
đèn chân không. Nhà sinh học chuyên nghiên cứu về nơron Frank Rosenblatt
cũng bắt đầu nghiên cứu về Perceptron. Sau thời gian nghiên cứu này
Perceptron đã được cài đặt trong phần cứng máy tính và được xem như là mạng
nơron lâu đời nhất còn được sử dụng đến ngày nay. Perceptron một tầng rất hữu
ích trong việc phân loại một tập các đầu vào có giá trị liên tục vào một trong hai
lớp. Perceptron tính tổng có trọng số các đầu vào, rồi trừ tổng này cho một
ngưỡng và cho ra một trong hai giá trị mong muốn có thể. Tuy nhiên
Perceptron còn rất nhiều hạn chế, những hạn chế này đã được chỉ ra trong cuốn

sách về Perceptron của Marvin Minsky và Seymour Papert viết năm 1969.


6
Năm 1959, Bernard Widrow và Marcian Hoff thuộc trường đại học
Stanford đã xây dựng mô hình ADALINE (ADAptive LINear Elements) và
MADALINE. (Multiple ADAptive LINear Elements). Các mô hình này sử
dụng quy tắc học Least-Mean-Squares (LMS: Tối thiểu bình phương trung
bình). MADALINE là mạng nơron đầu tiên được áp dụng để giải quyết một bài
toán thực tế. Nó là một bộ lọc thích ứng có khả năng loại bỏ tín hiệu dội lại trên
đường dây điện thoại. Ngày nay mạng nơron này vẫn được sử dụng trong các
ứng dụng thương mại.
Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan
truyền ngược ( back-propagation). Tuy nhiên phải mất một vài năm thì phương
pháp này mới trở lên phổ biến. Các mạng lan truyền ngược được biết đến nhiều
nhất và được áp dụng rộng dãi nhất nhất cho đến ngày nay.
Thật không may, những thành công ban đầu này khiến cho con người
nghĩ quá lên về khả năng của các mạng nơron. Chính sự cường điệu quá mức đã
có những tác động không tốt đến sự phát triển của khoa học và kỹ thuật thời
bấy giờ khi người ta lo sợ rằng đã đến lúc máy móc có thể làm mọi việc của con
người. Những lo lắng này khiến người ta bắt đầu phản đối các nghiên cứu về
mạng neuron. Thời kì tạm lắng này kéo dài đến năm 1981.
Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfield
bằng sự phân tích toán học rõ ràng, mạch lạc, ông đã chỉ ra cách thức các mạng
nơron làm việc và những công việc chúng có thể thực hiện được. Cống hiến của
Hopfield không chỉ ở giá trị của những nghiên cứu khoa học mà còn ở sự thúc
đẩy trở lại các nghiên cứu về mạng neuron.
Cũng trong thời gian này, một hội nghị với sự tham gia của Hoa Kỳ và
Nhật Bản bàn về việc hợp tác/cạnh tranh trong lĩnh vực mạng nơron đã được tổ
chức tại Kyoto, Nhật Bản. Sau hội nghị, Nhật Bản đã công bố những nỗ lực của

họ trong việc tạo ra máy tính thế hệ thứ 5. Tiếp nhận điều đó, các tạp chí định


7
kỳ của Hoa Kỳ bày tỏ sự lo lắng rằng nước nhà có thể bị tụt hậu trong lĩnh vực
này. Vì thế, ngay sau đó, Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho các
nghiên cứu và ứng dụng mạng neuron.
Năm 1985, viện vật lý Hoa Kỳ bắt đầu tổ chức các cuộc họp hàng năm về
mạng neuron ứng dụng trong tin học (Neural Networks for Computing).
Năm 1987, hội thảo quốc tế đầu tiên về mạng neuron của Viện các kỹ sư
điện và điện tử IEEE (Institute of Electrical and Electronic Engineer) đã thu hút
hơn 1800 người tham gia.
Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên
cứu ứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở
khắp mọi nơi. Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng
hoàn thiện hơn. Điển hình là các ứng dụng: xử lý ngôn ngữ (Language
Processing), nhận dạng kí tự (Character Recognition), nhận dạng tiếng nói
(Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu
(Signal Processing), Lọc dữ liệu (Data Filtering),…..
1.1.3. Mô hình mạng nơron
1.1.3.1. Nơron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con
người bao gồm khoảng 1011 nơron tham gia vào khoảng 1015 kết nối trên các
đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có
nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có
những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý
và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này
tạo nên hệ thống giao tiếp của bộ não. [3]



8

Hình 1.1. Cấu trúc của một nơron sinh học điển hình
Mỗi nơron sinh học có 3 thành phần cơ bản:
• Các nhánh vào hình cây ( dendrites)
• Thân tế bào (cell body)
• Sợi trục ra (axon)
Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng
hợp và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này
sang nơron khác. Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây
của nơron khác gọi là synapse. Liên kết giữa các nơron và độ nhạy của mỗi
synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu trúc của
nơron được xác định trước lúc sinh ra. Một số cấu trúc được phát triển thông
qua quá trình học. Trong cuộc đời cá thể, một số liên kết mới được hình thành,
một số khác bị hủy bỏ.
Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu
vào, xử lý các tín hiệu này và cho ra một tín hiệu output. Tín hiệu output này
sau đó được truyền đi làm tín hiệu đầu vào cho các nơron khác.


9
Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron
nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não.
1.1.3.2. Nơron nhân tạo
Một nơron là một đơn vị xử lý thông tin và là thành phần cơ bản của một
mạng nơron. Cấu trúc của một nơron được mô tả hình 1.2:

Hình 1.2. Nơron nhân tạo
Đơn vị xử lý
Các thành phần cơ bản của một nơron nhân tạo bao gồm:

♦ Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín
hiệu này thường được đưa vào dưới dạng một vector N chiều.
♦ Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là
trọng số liên kết – Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j
với nơron k thường được kí hiệu là wkj. Thông thường, các trọng số này được
khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên
tục trong quá trình học mạng.


10
♦ Bộ tổng (Summing function): Thường dùng để tính tổng của tích các
đầu vào với trọng số liên kết của nó.
Bộ tổng hợp các liên kết đầu vào của một phần tử nơron có thể mô tả như
sau:
m

v(t) 

w

k

x k (t) - 

k =1

Trong đó:
v(t): tổng tất cả các đầu vào mô tả toàn bộ thế năng tác động ở thân
nơron.
xk(t): các đầu vào ngoài; k = 1, 2,… m; m là số lượng đầu vào mô tả tín

hiệu vào từ các đầu nhạy thần kinh hoặc từ các nơron khác đưa vào.
wk: trọng số liên kết vào ngoài, là hệ số mô tả mức độ liên kết giữa các
đầu vào ngoài tới nơron hiện tại; k = 1,... m; m là số đầu vào.
y(t): đầu ra nơron mô tả tín hiệu đưa ra.
θ: hằng số, còn gọi là ngưỡng, xác định ngưỡng kích thích hay ức chế.
♦ Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa
vào như một thành phần của hàm truyền.
♦ Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn
phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và
ngưỡng đã cho. Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn
trong đoạn [0,1] hoặc [-1, 1]. Các hàm truyền rất đa dạng, có thể là các hàm
tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng
bài toán và kinh nghiệm của người thiết kế mạng.


11
♦ Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là
một đầu ra.
Như vậy tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín
hiệu đầu vào, xử lý ( nhân các tín hiệu này với trọng số liên kết, tính tổng các
tích thu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu đầu ra ( là kết
quả của hàm truyền).
Một số hàm truyền thông dụng:
1) Hàm đồng nhất (Linear function, Identity function ) 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 đồng nhất.
g(x)
1
-1


0

1

-1

Hình 1.3. Hàm đồng nhất (Indentity function)
2) Hàm bước nhị phân (Binary step function, Hard limit function)
Hàm này cũng được biết đến với tên "Hàm ngưỡng" (Threshold function hay
Heaviside function). Đầu ra của hàm này được giới hạn vào một trong hai giá
trị:
1 nÕu x  
g( x )  
0 nÕu x < 


12
Dạng hàm này được sử dụng trong các mạng chỉ có một lớp. Trong hình
vẽ sau, θ được chọn bằng 1.
g(x)
1
-2

-1

0

1

x


2

Hình 1.4. Hàm bước nhị phân (Binary step function)
3) Hàm sigmoid (Sigmoid function (logsig)) g ( x ) 

1
1  e x

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
(trained) bởi thuật toán Lan truyền ngược (back-propagation), 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. Hàm
này được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn
rơi vào khoảng [0,1].
g(x)
1
x
-6

-4

-2

0

2

4

6


Hình 1.5. Hàm Sigmoid
4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tansig)

1 ex
g ( x) 
1 ex
Hàm này có các thuộc tính tương tự hàm sigmoid. Nó làm việc tốt đối
với các ứng dụng có đầu ra yêu cầu trong khoảng [-1,1].


13

g(x)
1
-6

-4

-2

0

x
2

4

6


Hình 1.6. Hàm sigmoid lưỡng cực
Các hàm truyền của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn
sự phi tuyến vào trong mạng. Lý do là hợp thành của các hàm đồng nhất là một
hàm đồng nhất. Mặc dù vậy nhưng nó mang tính chất phi tuyến (nghĩa là, khả
năng biểu diễn các hàm phi tuyến) làm cho các mạng nhiều tầng có khả năng
rất tốt trong biểu diễn các ánh xạ phi tuyến. Tuy nhiên, đối với luật học lan
truyền ngược, hàm phải khả vi (differentiable) và sẽ có ích nếu như hàm được
gắn trong một khoảng nào đó. Do vậy, hàm sigmoid là lựa chọn thông dụng
nhất. Đối với các đơn vị đầu ra (output units), các hàm chuyển cần đượ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. Chúng ta đã
thấy rằng đối với các giá trị ra trong khoảng [0,1], hàm sigmoid là có ích; đối
với các giá trị đích mong muốn là liên tục trong khoảng đó thì hàm này cũng
vẫn có ích, nó có thể cho ta các giá trị ra hay giá trị đích được căn trong một
khoảng của hàm kích hoạt đầu ra. Nhưng nếu các giá trị đích không được biết
trước khoảng xác định thì hàm hay được sửdụng nhất là hàm đồng nhất
(identity function). Nếu giá trị mong muốn là dương nhưng không biết cận trên
thì nên sử dụng một hàm kích hoạt dạng mũ(exponential output activation
function).


14
* Một kiểu phân loại điển hình mạng nơron nhân tạo:

MẠNG NƠRON NHÂN TẠO

Truyền thẳng

Nhiều
lớp


Backproparation

Tự tổ chức

Phản hồi

Một
lớp

Perceptron

Brain
State in Box

Adaline

Máy
Boltzmann

Cohen
Grossberg

Hopfield

Ánh
xạ đặc
trưng

ART


Mc
Culloc
h Pitts

Hình 1.7. Một cách phân loại mạng nơron

1.2. Các phương pháp học
Khái niệm: Học là quá trình thay đổi hành vi của các vật theo một cách
nào đó làm cho chúng có thể thực hiện tốt hơn trong tương lai.
1.2.1. Học có giám sát
Học có giám sát có thể được xem như việc xấp xỉ một ánh xạ: X→ Y,
trong đó X là tập các vấn đề và Y là tập các lời giải tương ứng cho vấn đề đó.


15
Các mẫu (x, y) với x = (x1, x2, . . ., xn) ∈ X, y = (yl, y2, . . ., ym) ∈ Y được cho
trước.
Học có giám sát trong các mạng nơron thường được thực hiện theo các
bước sau:
♦ B1: Xây dựng cấu trúc thích hợp cho mạng nơron, chẳng hạn có (n + 1)
nơron vào (n nơron cho biến vào và 1 nơron cho ngưỡng x0), m nơron đầu ra,
và khởi tạo các trọng số liên kết của mạng.
♦ B2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng
♦ B3: Tính vector đầu ra o của mạng
♦ B4: So sánh vector đầu ra mong muốn y (là kết quả được cho trong tập
huấn luyện) với vector đầu ra o do mạng tạo ra; nếu có thể thì đánh giá lỗi.
♦ B5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho ở lần
tiếp theo khi đưa vector x vào mạng, vector đầu ra o sẽ giống với y hơn.
♦ B6: Nếu cần, lặp lại các bước từ 2 đến 5 cho tới khi mạng đạt tới trạng
thái hội tụ. Việc đánh giá lỗi có thể thực hiện theo nhiều cách, cách dùng nhiều

nhất là sử dụng lỗi tức thời: Err = (o - y), hoặc Err = |o - y|; lỗi trung bình bình
phương (MSE: mean-square error): Err = (o- y)2/2;
Có hai loại lỗi trong đánh giá một mạng nơron. Thứ nhất, gọi là lỗi rõ
ràng (apparent error), đánh giá khả năng xấp xỉ các mẫu huấn luyện của một
mạng đã được huấn luyện. Thứ hai, gọi là lỗi kiểm tra (test error), đánh giá khả
năng tổng quá hóa của một mạng đã được huấn luyện, tức khả năng phản ứng
với các vector đầu vào mới. Để đánh giá lỗi kiểm tra chúng ta phải biết đầu ra
mong muốn cho các mẫu kiểm tra.
Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có
nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết


16
được thay đổi trong suốt thời gian học. Trong đó tiêu biểu nhất là thuật toán lan
truyền ngược.

Hình 1.8. Sơ đồ học có giám sát
1.2.2. Học không có giám sát
Là việc học không cần có bất kỳ một sự giám sát nào. Trong bài toán học
không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x1, x2, ...,
xN)}, với (x1, x2, ..., xN) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ của
thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa
các vector đầu vào có đặc trưng giống nhau.
Như vậy với học không giám sát, số lớp phân loại chưa được biết trước,
và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các
lớp phân loại khác nhau.

Hình 1.9. Sơ đồ học không có giám sát



×