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.35 MB, 125 trang )
Header Page 25 of 166.
24
vì đặc điểm này mà mạng nơron đang đợc phát triển rất mạnh mẽ và đang
đợc ứng dụng rất nhiều trong thực tế, đặc biệt là trong lĩnh vực dự báo, nhận
dạng, điều khiển Con ngời bắt đầu nghiên cứu mạng nơron vào cuối thập
kỷ 1800 khi ngời ta cố gắng mô tả hoạt động của trí tuệ con ngời, ý tởng
này bắt đầu đợc áp dụng cho các mô hình tính toán từ mạng Perceptron.
Đầu thập kỷ 1950 Friedrich Hayek là ngời đầu tiên khẳng định ý
tởng về trật tự tự phát trong não xuất phát từ các mạng phân tán gồm các đơn
vị đơn giản (nơron). Cuối thập kỷ 1940, Donnald Hebb đa ra giả thuyết đầu
tiên về một cơ chế thần kinh mềm dẻo (neural plasticity). Hebbian learning
đợc coi là một quy tắc 'điển hình' của học không có giám sát. Nó (và các biến
thể) là mô hình thời kỳ đầu của long term potentiation. (tạo tiềm lực dài hạn).
Perceptron là một bộ phân loại tuyến tính dành cho việc phân loại dữ
liệu
xác định bằng các tham số
và một hàm đầu ra g
= w'x + b. Các tham số của nó đợc thích nghi với một quy tắc tùy biến (adhoc) tơng tự với xuống dốc ngẫu nhiên (stochastic steepest gradient descent).
Perceptron chỉ có thể phân loại hoàn hảo một tập dữ liệu mà các lớp khác
nhau là (linearly separable) trong không gian đầu vào. Nó thờng thất bại
hoàn toàn đối với dữ liệu không chia tách đợc. Sự phát triển của thuật toán
này ban đầu đã tạo ra một số hứng khởi, phần vì mối quan hệ của nó đối với
các cơ chế sinh học. Sau này, phát hiện về điểm yếu này đã làm cho các mô
hình Perceptron bị bỏ mặc cho đến khi các mô hình phi tuyến đợc đa ra.
Cognitron (1975) là một mạng nơron đa tầng thời kỳ đầu với một thuật
toán huấn luyện. Các chiến lợc thần kinh khác nhau sẽ khác nhau về cấu trúc
thực sự của mạng và các phơng pháp thiết lập trọng số cho các kết nối. Mỗi
dạng có các u điểm và nhợc điểm riêng. Mạng có thể lan truyền thông tin
chỉ theo một hớng, hoặc thông tin có thể đợc đẩy đi đẩy lại cho đến khi tại
một nút xuất hiện sự tự kích hoạt và mạng sẽ dừng tại một trạng thái kết thúc.
Footer Page 25 of 166.
Header Page 26 of 166.
25
Mạng nơron nhiều lớp lan truyền ngợc sai số đã đợc Rosenblatt và
một số tác giả khác mô tả từ những năm 50, nhng họ chủ yếu chỉ nghiên cứu
sâu về mạng Perceptron một lớp. Sở dĩ nh vậy là do không tìm đợc cách
thay đổi trọng số liên kết tại các lớp ẩn. Ngay cả khi đã biết đợc sai số tại các
đầu ra, nhng ngời ta vẫn cha hình dung đợc các sai số đó đợc phân bố
nh thế nào tại các nơron ẩn. Minsky và Papert đã chỉ ra rằng khó có thể tổng
quát hoá luật học đối với mạng một lớp sang mạng nhiều lớp, có hai lý giải
chính cho vấn đề này. Thứ nhất, thuật giải học của mạng nhiều lớp có thể
không hiệu quả, hoặc không hội tụ về điểm cực trị tổng thể trong không gian
véctơ trọng số. Mặt khác, các nghiên cứu trong lý thuyết tính toán đã chỉ ra
rằng trong trờng hợp tồi nhất quá trình học các hàm tổng quát từ mẫu học
không phải lúc nào cũng giải quyết đợc. Các nguyên tắc cơ bản trong luật
học đối với mạng nhiều lớp đã đợc Bryson và Ho đề xuất từ năm 1969,
nhng phải tới giữa năm 1980 vấn đề này mới đợc quan tâm trở lại bởi công
trình nghiên cứu của Rumelhart năm 1986.
Mạng truyền ngợc (backpropagation) có lẽ đã là nguyên nhân chính
của sự tái xuất của mạng nơron từ khi công trình "Learning Internal
Representations by Error Propagation" (học các biểu diễn bên trong bằng
cách lan truyền lỗi) đợc xuất bản năm 1986. Mạng truyền ngợc ban đầu sử
dụng nhiều tầng, mỗi tầng gồm các đơn vị tổng trọng số có dạng g = f(w'x +
b), trong đó f là một hàm sigmoid. Huấn luyện đợc thực hiện theo kiểu
xuống dốc ngẫu nhiên. Việc sử dụng quy tắc tính nguyên hàm cho hàm hợp
(chain rule) khi tính toán các thay đổi thích hợp cho các tham số dẫn đến một
thuật toán có vẻ truyền ngợc lỗi, đó là nguồn gốc của thuật ngữ truyền
ngợc. Tuy nhiên, về bản chất đây chỉ là một dạng xuống dốc, việc xác định
các tham số tối u cho một mô hình thuộc dạng này không đơn giản, không
thể dựa vào các phơng pháp xuống dốc để có đợc lời giải tốt mà không cần
một xuất phát điểm tốt. Ngày nay, các mạng có cùng kiến trúc với mạng
Footer Page 26 of 166.
Header Page 27 of 166.
26
truyền ngợc đợc gọi là các mạng Perceptron đa tầng. Thuật ngữ này không
hàm ý bất cứ giới hạn nào đối với loại thuật toán dùng cho việc học.
Mạng truyền ngợc đã tạo ra nhiều hứng khởi và đã có nhiều tranh cãi
về quy trình học đó có thể đợc thực hiện trong bộ não hay không. Một phần
vì khi đó cha tìm ra cơ chế truyền tín hiệu ngợc. Nhng lý do quan trọng
nhất là cha có một nguồn tín hiệu 'dạy' hay tín hiệu 'đích' đáng tin cậy.
2.2. Cơ sở lý thuyết mạng nơron
Mạng nơron nhân tạo là một lĩnh vực nghiên cứu rộng lớn và chỉ mới
phát triển mạnh khoảng 20 năm gần đây. Nó đợc nghiên cứu và phát triển
dựa trên nhiều lĩnh vực khoa học khác nhau bao gồm: Sinh học, sinh lý học,
toán học, tin học.
- Nơron sinh lý học: Các nơron nhân tạo đều có cấu trúc dựa các mô hình
nơron sinh vật. Các nhà nghiên cứu đã chọn phơng pháp nghiên cứu
đặc tính đáp ứng nơron với các xung kích thích từ thấp đến cao, từ một
đơn thể đến một mạng nhiều lớp, từ các khu thần kinh trung ơng đến
các cơ cấu thần kinh chấp hành.
- Sinh lý học nơron: Các nhà sinh lý học nơron nghiên cứu cách nhận
thức, các hành vi, cách tổ chức của não ngời để giải quyết những bài
toán phức tạp, đòi hỏi sáng tạo. Rất nhiều các thuật học đợc bắt nguồn
từ những nghiên cứu về sinh lý học.
- Cơ sở toán học: Toán học là một công cụ không thể thiếu trong quá
trình nghiên cứu khoa học nói chung và mạng nơron nói riêng.
- Công nghệ thông tin: Biễu diễn và xử lý nhanh các vấn đề đã đợc
nghiên cứu, là yếu tố thúc đẩy các ứng dụng và kỹ thuật mạng nơron
nhân tạo phát triển nhanh chóng.
Footer Page 27 of 166.
Header Page 28 of 166.
27
2.3. Bộ não và nơron sinh học
Các nhà nghiên cứu sinh học cho ta thấy rằng các nơron (tế bào thần
kinh) là đơn vị cơ sở đảm nhiệm những chức năng xử lý nhất định trong hệ
thần kinh, bao gồm não, tuỷ sống và các dây thần kinh. Mỗi nơron có một
phần thân với nhân bên trong (gọi là soma), một đầu thần kinh ra (gọi là sợi
trục axon) và một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite).
Các dây thần kinh vào tạo thành một lới dày xung quanh thân tế bào, chiếm
diện tích khoảng 0.25 mm2, còn dây thần kinh tạo thành trục dài có thể từ 1
cm đến hàng mét. Đờng kính của thân tế bào thờng chỉ là 10-4m. Trục dây
thần kinh ra cũng có thể phân nhánh các dây thần kinh theo dạng cây để nối
với các dây thần kinh vào hoặc trực tiếp với nhân tế bào các nơron khác thông
qua các khớp nối (gọi là synapse). Thông thờng, mỗi nơron có thể gồm vài
chục cho tới vài trăm ngàn khớp nối để nối với các nơron khác. Ngời ta ớc
lợng rằng lới các dây thần kinh ra cùng với các khớp nối bao phủ diện tích
khoảng 90% bề mặt nơron (hình 2.1)
Hình 2.1. Cấu tạo nơron sinh học
Footer Page 28 of 166.
Header Page 29 of 166.
28
Các tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của
các nơron là tín hiệu điện và đợc thực hiện thông qua các quá trình phản ứng
và giải phóng các chất hữu cơ. Các chất này đợc phát ra từ các khớp nối dẫn
tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào. Khi
điện thế này đạt tới một ngỡng nào đó, sẽ tạo ra một xung điện dẫn tới trục
dây thần kinh ra. Xung này đợc truyền theo trục, tới các nhánh rẽ khi chạm
tới các khớp nối có các nơron khác sẽ giải phóng các chất truyền điện, có hai
loại khớp nối: khớp nối kích thích (excitatory) hoặc khớp nối ức chế
(inhibitory).
Phát hiện quan trọng nhất trong ngành nghiên cứu về bộ não là các liên kết
khớp thần kinh khá mềm dẻo, có thể biến động và chỉnh đổi theo thời gian tuỳ
thuộc vào dạng kích thích. Hơn nữa, các nơron có thể sản sinh các liên kết
mới với các nơron khác và đôi khi lới các nơron có thể di chuyển từ vùng này
sang vùng khác trong bộ não. Các nhà khoa học cho rằng đây chính là cơ sở
quan trọng để giải thích cơ chế học của bộ não con ngời.
Phần lớn các quá trình xử lý thông tin đều xảy ra trên vỏ não. Toàn bộ vỏ
não đợc bao phủ bởi mạng các tổ chức cơ sở có dạng hình thùng tròn với
đờng kính khoảng 0.5mm, độ cao 4mm. Mỗi đơn vị cơ sở này chứa khoảng
2000 nơron. Ngời ta chỉ ra rằng mỗi vùng não có những chức năng nhất định.
Điều rất đáng ngạc nhiên là các nơron rất đơn giản trong cơ chế làm việc,
nhng mạng nơron liên kết với nhau lại có khả năng tính toán, suy nghĩ, tính
toán nghi nhớ, và điều khiển. Có thể điểm qua những chức năng cơ bản của bộ
não nh sau:
-
Bộ nhớ đợc tổ chức theo các bó thông tin và truy nhập theo nội dung
(có thể truy xuất thông tin dựa theo giá trị các thuộc tính của đối tợng);
Footer Page 29 of 166.
Header Page 30 of 166.
29
-
Bộ não có khả năng tổng quát hoá, có thể truy xuất các tri thức hay
các mối liên kết chung của các đối tợng tơng ứng với một khái niệm chung
nào đó;
-
Bộ não có khả năng dung thứ lỗi theo nghĩa có thể điều chỉnh hoặc
tiếp tục thực hiện ngay khi có những sai lệch do thông tin bị thiếu hoặc không
chính xác. Ngoài ra, bộ não còn có thể phát hiện và phục hồi các thông tin mất
dựa trên sự tơng tự giữa các đối tợng;
-
Bộ não có khả năng xuống cấp và thay thế dần, khi có trục trặc tại các
vùng não (do bệnh, chấn thơng) hoặc bắt gặp những thông tin hoàn toàn mới
lạ, bộ não vẫn có thể tiếp tục làm việc;
-
Bộ não có khả năng học.
Dễ dàng thấy rằng bộ não con ngời có thể lu giữ nhiều thông tin hơn
các máy tính hiện đại; Tuy rằng điều này không phải đúng mãi mãi, vì bộ não
tiến hoá chậm, trong khi đó nhờ những tiến bộ trong công nghệ vi điện tử, bộ
nhớ máy tính đợc nâng cấp rất nhanh. Hơn nữa, sự hơn kém về bộ nhớ trở
nên hoàn toàn thứ yếu so với sự khác biệt về tốc độ tính toán và khả năng tính
toán song song. Các bộ vi xử lý có thể tính 108 lệnh trong một giây, trong khi
đó mạng nơron xử lý chậm hơn, cần khoảng vài miligây để kích hoạt. Tuy
nhiên, bộ não có thể kích hoạt hầu nh cùng một lúc tại rất nhiều nơron khớp
nối, trong khi đó ngay cả máy tính hiện đại cũng chỉ có một số hạn chế các bộ
vi xử lý song song. Nếu chạy một mạng nơron nhân tạo trên máy tính, phải
tốn hàng trăm lệnh máy để kiểm tra một nơron có đợc kích hoạt hay không
(tiêu phí khoảng10-8 x 10 giây trên nột nơron). Do đó, cho dù bộ vi xử lý có
thể tính toán nhanh hơn hàng triệu lần so với các nơron bộ não, nhng xét
tổng thể bộ não lại tính toán nhanh hơn hàng tỷ lần.
Cách tiếp cận mạng nơron nhân tạo có ý nghĩa thực tiễn rất lớn cho phép
tạo ra các thiết bị có thể kết hợp khả năng song song cao của bộ não và tốc độ
Footer Page 30 of 166.
Header Page 31 of 166.
30
tính toán cao của máy tính. Tuy vậy, cần phải có một khoảng thời gian dài nữa
để các mạng nơron nhân tạo có thể mô phỏng các hành vi sáng tạo của bộ não
con ngời. Chẳng hạn, bộ não có thể thực hiện một nhiệm vụ khá phức tạp nh
nhận ra khuôn mặt ngời quen sau không quá một giây, trong khi đó một máy
tính tuần tự phải thực hiện hàng tỷ phép tính (khoảng10 giây) để thực hiện
cùng một thao tác đó, nhng với chất lợng kém hơn nhiều, đặc biệt trong
trờng hợp thông tin không chính xác, đầy đủ.
2.4 Mô hình mạng nơron nhân tạo
Mạng nơron nhân tạo (Artificial Neural Network) bao gồm các nút (đơn
vị xử lý, nơron) đợc nối với nhau bởi liên kết nơron. Mỗi liên kết kèm theo
một trọng số nào đó, đặc trng cho đặc tính kích hoạt/ ức chế giữa các nơron.
Có thể xem các trọng số là phơng tiện để lu thông tin dài hạn trong mạng
nơron và nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các trọng
số khi có thêm các thông tin về các mẫu học, hay nói một cách khác, các
trọng số đợc điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn
phù hợp môi trờng đang xem xét.
Trong mạng, một số nơron đợc nối với môi trờng bên ngoài nh các đầu
ra, đầu vào.
2.4.1 Mô hình một nơron nhân tạo
xi
wi
Các liên kết vo
a=
f
Z
Cỏc liờn kt ra
Hm vo
Hm kớch
hot
u ra
Hình 2.2. Mạng nơron nhân tạo
Footer Page 31 of 166.
Header Page 32 of 166.
31
Mỗi nơron nhân tạo (nút) đợc nối với các nơron khác và nhận các tín
hiệu xi từ chúng với các trọng số wi, tổng các thông tin vào có trọng số là
n
a = wi xi
i =1
a là thành phần tuyến tính của nơron. Hàm kích hoạt f (hàm chuyển)
đóng vai trò biến đổi từ a sang tín hiệu đầu ra z.
z =f(a)
Trong đó:
xi: Các tín hiệu đầu vào.
wi: Các trọng số tơng ứng với các đầu vào
n: số đầu vào của nơron.
a: Tổng trọng số của mỗi nơron.
f: hàm kích hoạt
z: là đầu ra của nơron, đây là thành phần phi tuyến của nơron.
Hàm kích hoạt f thờng có 3 dạng hay dùng trong thực tế.
Hàm dạng bớc:
1 nếu x 0
f(x)=
0 nếu x < 0
1
0
hoặc
1 nếu x
f(x)=
0 nếu x <
Footer Page 32 of 166.
Header Page 33 of 166.
32
Hàm dấu
1 nếu x 0
f(x)=
1
-1 nếu x < 0
-1
hoặc
1 nếu x
f(x)=
0 nếu x <
Hàm singmoid
f(x) =
1
1 + e x
ở đây ngỡng đóng vai trò làm tăng tính thích nghi và khả năng tính toán
của mạng nơron. Sử dụng ký pháp véctơ, X = (x1, x2, ,xn) véctơ tín hiệu vào,
W = (w1,w2, ,wn) véctơ trọng số, khi đó ta có.
Z = f(a),
a =WS
Trờng hợp xét ngỡng, ta biểu diễn véctơ mới X = (x1,x2, ,xn, ), W
= (w1,w2, ,wn, -1)
Footer Page 33 of 166.
Header Page 34 of 166.
33
3.4.2. Mô hình mạng nơron nhân tạo
Mạng nơron là hệ thống bao gồm nhiều phần tử xử lý đơn giản (nơron)
hoạt động song song. Tính năng của hệ thống này tuỳ thuộc vào cấu trúc của
hệ các trọng số liên kết nơron và quá trình tính toán các nơron đơn lẻ. Mạng
nơron có thể học từ dữ liệu mẫu và tổng quát hoá dựa trên các dữ liệu mẫu
học. Trong mạng nơron, các nơron đón nhận tín hiệu vào gọi là nơron vào và
các nơron đa thông tin ra gọi là nơron ra.
3.4.2.1. Phân loại các mạng nơron
Theo kiểu liên kết nơron: Ta có mạng nơron truyền thẳng (feelforward Neural Network) và mạng nơron qui hồi (recurrent NN). Trong mạng
nơron truyền thẳng, các liên kết nơron đi theo một hớng nhất định, không tạo
thành đồ thị có chu trình (Directed Acyclic Graph) với các đỉnh là các nơron,
các cung là các liên kết giữa chúng. Ngợc lại, các mạng qui hồi cho phép các
liên kết nơron tạo thành chu trình. Vì các thông tin ra của các nơron đợc
truyền lại cho các nơron đã góp phần kích hoạt chúng, nên mạng qui hồi còn
có khả năng lu giữ trạng thái trong của nó dới dạng ngỡng kích hoạt ngoài
các trọng số liên kết nơron.
Nơron vo
Lớp vo
Lớp ẩn
Lp ra
Nơron ra
a) Mạng nơron nhiều lớp
b) Mạng nơron truyền thẳng
Hình 2.3. Mạng truyền thẳng và nhiều lớp
Footer Page 34 of 166.
Header Page 35 of 166.
34
Hình 2.4. Mạng nơron hồi qui.
Theo số lớp: Các nơron có thể tổ chức lại thành các lớp sao cho mỗi
nơron của lớp này chỉ đợc nối với các nơron ở lớp tiếp theo, không cho phép
các liên kết giữa các nơron trong cùng một lớp, hoặc từ nơron lớp dới lên
nơron lớp trên. ở đây cũng không cho phép các liên kết nơron nhảy qua một
lớp.
Dễ dàng nhận thấy rằng các nơron trong cùng một lớp nhận đợc tín
hiệu từ lớp trên cùng một lúc, do vậy về nguyên tắc chúng có thể xử lý song
song. Thông thờng lớp nơron vào chỉ chịu trách nhiệm truyền đa tín hiệu
vào, không thực hiện một tính toán nào nên khi tính số lớp của mạng, ngời ta
không tính lớp vào. Ví dụ, mạng nơron ở hình 2.6 có hai lớp: một lớp ẩn và
một lớp ra.
Đầu vào
w1,1
Lớp nơron
a1
Y1
a2
Y2
an
Yn
s1
s2
s3
sm
wm,n
Hình 2.5. Mạng nơron một lớp
Footer Page 35 of 166.