Thông tin tài liệu
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.1
2
2
M
M
a
a
ï
ï
n
n
g
g
n
n
e
e
u
u
r
r
o
o
n
n
N
N
h
h
a
a
â
â
n
n
t
t
a
a
ï
ï
o
o
N
N
o
o
ä
ä
i
i
D
D
u
u
n
n
g
g
2.1 Lòch sử phát triển và các ứng dụng của mạng Neuron 2.2
2.2 Bộ não người và Neuron sinh học 2.5
2.3 Mô hình Neuron nhân tạo 2.8
2.3.1 Mô hình neuron 1 ngõ vào 2.8
2.3.2 Mô hình neuron nhiều ngõ vào 2.11
2.4 Mạng Neuron 2.11
2.4.1 Phân loại mạng neuron 2.11
2.4.2 Mạng neuron 1 lớp 2.12
2.4.3 Mạng neuron nhiều lớp 2.13
2.5 Huấn luyện mạng 2.15
2.5.1 Học có giám sát 2.15
2.5.2 Học không giám sát 2.15
2.5.3 Học tăng cường 2.18
2.6 Một số Giải thuật huấn luyện thông dụng 2.20
2.6.1 Giải thuật gradient descent 2.22
2.6.2 Giải thuật gradient descent with momentum 2.24
2.6.3 Giải thuật gradient descent with adaptive learning rate 2.25
2.6.4 Giải thuật gradient descent with momentum & adaptive lr 2.26
2.6.5 Giải thuật truyền ngược Resilient 2.27
2.6.6 Giải thuật BFGS Quasi-Newton 2.28
2.6.7 Giải thuật Levenberg-Marquardt 2.29
2.6.8 So sánh các giải thuật 2.30
2.7 Qui trình thiết kế mạng Neuron ứng dụng 2.32
2.8 Vài kỹ thuật phụ trợ 2.33
2.8.1 Tiền xử lý dữ liệu 2.33
2.8.2 Khả năng tổng quát hóa của mạng 2.35
2.8.3 Kích thước tối ưu của mạng 2.36
2.9 Tóm tắt 2.38
Tài liệu tham khảo chương 2 2.39
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.2
2.1 Lòch sử phát triển và Các ứng dụng của mạng Neuron
Lòch sử phát triển của mạng neuron được tóm tắt như hình 2.1, [1].
Năm 1890, nhà tâm lý học William James đã đưa ra nhận xét: Khi hai
quá trình cơ bản của bộ não tác động lẫn nhau hoặc xảy ra lần lượt thì một
trong chúng sẽ truyền kích thích đến quá trình còn lại.
Năm 1936, Alan Turing là người đầu tiên sử dụng bộ não như một mô
hình xử lý thông tin. Năm 1943, Warren McCulloch và Walter Pitts đã đề xuất
cách thức hoạt động của các neuron, họ đã tạo ra một mạng neuron đơn giản
bằng các mạch điện. Từ đó các nhà khoa học lao vào nghiên cứu chế tạo các
bộ máy thông minh.
Hình 2.1 Lòch sử phát triển của mạng neuron
Năm 1949, Donald Hebb đề xuất một giải thuật huấn luyện mạng neuron
rất nổi tiếng, mà ngày nay nó vẫn còn được sử dụng.
Thập niên 50 là thời kỳ mà mạng neuron phát triển cả phần cứng lẫn
phần mềm. Nathaniel Rochester và một số người khác từ các phòng thí nghiệm
của IBM đã xây dựng phần mềm mô phỏng mạng neuron dựa trên giải thuật
của Hebb.
Cuối 1980s -nay: Ứng dụng trong nhiều lónh vực
1982: Mạng Hopfield 1 lớp, các nghiên cứu được tiếp tục
1970s: Các nghiên cứu đột nhiên lắng dòu
1969: Các bài báo của Minsky & Papert, Perceptrons
Cuối 50s-60s: Nhiều nổ lực, AI & Neural Computing Fields được
thành lập
1956: Dartmouth Summer Research Project
1950s: Phần mềm phát triển mạnh
1949: Giải thuật huấn luyện của Donald Hebb
1943: Mcculloch & Pitts công bố về mô hình neuron đơn giản
1936: Turing dùng bộ não như mô hình xử lý thông tin
1890: Khái niệm của William James.
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.3
Năm 1957, Frank Rosenblatt bắt đầu nghiên cứu về mạng Perceptron và
đã thành công trong việc thiết kế Mark I Perceptron neurocomputer, đó là
mạng neuron cổ điển nhất vẫn còn sử dụng tới ngày nay [11].
Năm 1959, Bernard Widrow và Marcian Hoff đã xây dựng mạng
ADALINE, nó là áp dụng đầu tiên của mạng neuron vào thực tế để dập tiếng
vọng trên đường dây điện thoại. Năm 1967, Avalanche áp dụng các mạng
neuron vào việc nhận dạng giọng nói, điều khiển motor và một số ứng dụng
khác.
Từ năm 1969 đến 1981 mạng neuron rơi vào trạng thái im lặng cả về
nghiên cứu và ứng dụng. Tuy nhiên, có thể kể đến các bài báo của Marvin
Minsky và Seymour Papert bình luận về mạng Perceptron, các nghiên cứu về
quá trình học của mạng nhiều lớp, mạng tự tổ chức (Self Organization) của
Teuvo Kohonen, mạng kiểu bộ nhớ kết hợp (BAM – Bidirectional Associative
Memory) của Anderson và mạng ART (Adaptive Resonance Theory neural
networks) của Capenter [2].
Năm 1982, John Hopfield công bố một công trình về mạng neuron một
lớp trên National Academy of Sciences, nó được coi là một động cơ để lôi kéo
các nhà khoa học quay trở lại nghiên cứu về mạng neuron. Đây là thời kỳ
phục hưng của các nghiên cứu và ứng dụng mạnh mẽ của mạng neuron với các
nghiên cứu về giải thuật lan truyền ngược sai số (backpropagation of error),
mạng Boltzmann, mạng Neocognitron của Fukushima.
Từ cuối thập niên 80, đầu thập niên 90 đến ngày nay, mạng neuron đã
khẳng đònh được vò trí của mình trong nhiều ứng dụng khác nhau. Các lónh vực
ứng dụng của mạng neuron có thể tóm tắt như sau [3]:
♦
Không gian vũ trụ:
Phi thuyền không người lái, mô phỏng đường bay, tăng cường khả
năng điều khiển, mô phỏng các chi tiết trong máy bay, phi thuyền,
dự báo hỏng hóc …
♦
Giao thông:
Hướng dẫn lưu thông tự động, phân tích cảnh báo tình trạng giao
thông, xác đònh đường đi tối ưu.
♦
Ngân hàng:
Kiểm soát các hóa đơn chứng từ và các tài liệu khác, dự báo chứng
khoán, kiểm tra thẻ tín dụng, …
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.4
♦
Quân sự:
Vũ khí tự động, truy tìm mục tiêu, phân biệt đối tượng, nhận dạng
tín hiệu và hình ảnh, các ứng dụng trong tàu ngầm, xử lý tín hiệu
radar, …
♦
Điện tử:
Giải mã, dự báo lỗi chip, tổng hợp âm thanh, mô hình hóa hệ thống.
♦
Giải trí:
Phim hoạt hình, kỹ xảo điện ảnh.
♦
Tài chính:
Đònh giá bất động sản, tư vấn nợ, thế chấp, phân tích khả năng tài
chính của công ty, …
♦
Công nghiệp:
Kiểm soát các lò nung, kiểm soát các qui trình công nghiệp, phân
tích và thiết kế sản phẩm, dự báo chất lượng sản phẩm, …
♦
Y học:
Phân tích tế bào ung thư, thiết kế các bộ phận giả cho cơ thể, …
♦
Dầu khí:
Thăm dò quặng.
♦
Robotics:
Điều khiển tay máy, camera robots, …
♦
Ngôn ngữ:
Nhận dạng giọng nói, tổng hợp âm thanh và chữ viết, nén âm thanh,
phân loại nguyên âm.
♦
Thông tin:
Nén âm thanh và hình ảnh, dòch máy, …
Tóm lại, mạng neuron đã đang và sẽ được nghiên cứu, ứng dụng mạnh
mẽ vào hầu hết các lónh vực công nghiệp và dòch vụ. Một số mạng neuron nổi
tiếng được liệt kê trong bảng 2.1, [1].
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.5
Bảng 2.1 Một số mạng neuron tiêu biểu
Mạng Tác giả Năm Ứng dụng Hạn chế Ghi chú
ART
Gail Carpenter
Stephen Grossberg
1978-86
Nhận dạng (radar, tàu ngầm, âm
thanh)
Nhạy cảm với: thang đo tín hiệu,
nhiễu, quá độ
Chưa được áp dụng nhiều
Avalanche Stephen Grossberg 1967
Nhận dạng âm thanh tương tự, tay
máy
Không nhận được tốc độ âm thanh
khác nhau
Dùng tổ hợp các mạng, không dùng
mạng đơn
Back-
propagation
Paul Werbos, David
Parker, D. Rummelhart
1974-85
Tổng hợp âm thanh từ văn bản, tay
máy, công nợ
Chỉ học có giám sát, cần rất nhiều
mẫu dữ liệu huấn luyện
Phổ biến, hoạt động tốt, dễ huấn luyện
BAM Bart Kosko 1985 Bộ nhớ kết hợp đònh đòa chỉ được
Dung lượng thấp, dữ liệu phải mã hóa
Dễ huấn luyện nhất
Boltzmann &
Cauchy
Jeffrey Hinton, Terry
Sejnowsky, Harold Szu
1985-86
Nhận dạng hình ảnh, radar, tàu
ngầm
Huấn luyện lâu, nhiễu
Đơn giản, dễ vượt qua các cực tiểu cục
bộ
Brain State in a
Box
James Anderson 1977 Trích dữ liệu từ các cơ sở dữ liệu
Quyết đònh một lần, không cho phép
lặp lại
Tương tự BAM
Cerebellatron
David Marr, James Albus,
Andres Pellionez
1969-82
Điều khiển motor của robotic ams Tín hiệu điều khiển phức tạp
Giống Avalanche, có thể kết hợp
nhiều lệnh
Counter-
propagation
Robert Hecht-Nielsen 1986 Nén ảnh, công nợ
Cần nhiều nút ẩn và kết nối mới đạt
độ chính xác cao
Tương tự Back-propagation
Hopfield John Hopfield 1982 Phục hồi dữ liệu
Không huấn luyện, các trọng số phải
được đặt trước
Hoạt động được trên một thang dữ liệu
rộng
MADALINE Bernard Widrow 1960-62
Triệt nhiễu cho radar, modems, lọc
đường dây điện thoại
Cần quan hệ vào ra tuyến tính
Thương mại trên 20 năm, luật học
mạnh
Neocognitron Kunihiko Fukushima 1978-84 Nhận dạng chữ viết tay Đòi hỏi nhiều nút ẩn và kết nối
Phức tạp, nhạy cảm với kích thước và
vò trí của các kí tự
Perceptron Frank Rosenblatt 1957 Nhận dạng chữ đánh máy
Không nhận các ký tự phức tạp, nhạy
cảm với kích thước và nhiễu
Mạng cổ điển nhất, vẫn còn được sử
dụng
SOM Teuvo Kohonen 1980 Bản đồ đòa lý, không quân Huấn luyện lâu
Hiệu quả hơn nhiều giải thuật khác
trong việc tính khí động học
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.6
2.2 Bộ não người và Neuron sinh học
Hệ thần kinh của con người gồm thần kinh trung ương (não), tủy sống và
các dây thần kinh. Thần kinh trung ương được cấu tạo từ 2 lớp tế bào, tế bào
thần kinh (gọi là neuron) và tế bào glia. Trong đó, glia chỉ thực hiện chức năng
hổ trợ, neuron mới trực tiếp tham gia vào quá trình xử lý thông tin. Bộ não
người chứa khoảng 10
11
neuron, với hơn 10
14
liên kết giữa chúng, tạo thành
một mạng tế bào thần kinh khổng lồ. Hình 2.2 cho thấy tổng thể của một bộ
não người [4].
Hình 2.2 Bộ não người
Mỗi neuron có 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). Xem hình 2.3. Trục dây thần kinh ra cũng có thể phân nhánh
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ủa các neuron khác thông qua các khớp nối (gọi là synapse). Thông thường
mỗi neuron có thể có từ vài chục đến vài trăm ngàn khớp nối.
Hình 2.3 Cấu trúc của một neuron sinh học
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.7
Các tín hiệu truyền trong các dây thần kinh vào và ra của các neuron là
tín hiệu điện, được thực hiện thông qua quá trình 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, hình 2.4, 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ế đạt tới một
ngưỡng nào đó (gọi là ngưỡng kích hoạt), 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
vào các khớp nối nối với các neuron khác, sẽ giải phóng các chất truyền điện,
hình 2.5. Người ta chia thành 2 loại khớp nối, khớp kích thích (excitatory) và
khớp ức chế (inhibitory).
Hình 2.4 Khớp nối thần kinh
Hình 2.5 Xung điện trên trục thần kinh
Việc nghiên cứu neuron sinh học cho thấy hoạt động của nó khá đơn
giản, khi điện thế ở dây thần kinh vào vượt quá một ngưỡng nào đó, neuron
bắt đầu giật (firing), tạo ra một xung điện truyền trên dây thần kinh ra đến các
neuron khác, cơ chế này cho phép dễ dàng tạo ra mô hình neuron nhân tạo.
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.8
2.3 Mô hình Neuron nhân tạo
2
2
.
.
3
3
.
.
1
1
M
M
o
o
â
â
h
h
ì
ì
n
n
h
h
n
n
e
e
u
u
r
r
o
o
n
n
1
1
n
n
g
g
o
o
õ
õ
v
v
a
a
ø
ø
o
o
Hình 2.6 là mô hình 1 neuron nhân tạo
11
với một ngõ vào [3].
Hình 2.6 Mô hình neuron 1 ngõ vào
Ngõ vào p truyền qua một kết nối có độ lợi w, gọi là trọng số kết nối
(weight) tạo thành wp, sau đó wp được đưa vào hàm kích hoạt f của neuron,
gọi là hàm truyền sẽ tạo thành ngõ ra a của neuron.
a = f(wp)
Trường hợp neuron có ngưỡng kích hoạt
12
(bias), wp được cộng với b, ngõ
ra của neuron sẽ là
a = f(wp+b)
Quá trình huấn luyện sẽ thay đổi trọng số w và ngưỡng b làm cho quan
hệ vào ra p/a thay đổi theo. Thông thường có 3 hàm truyền được sử dụng nhiều
trong thực tế, đó là hàm Linear, Log sigmoid và Hyperbolic tangent sigmoid.
11
kể từ đây về sau, để đơn giản ta chỉ gọi là neuron
12
tương đương với điện thế ngưỡng của neuron sinh học
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.9
♦ Hàm
truyền
tuyến tính – ‘purelin’:
f(n) = n (2.1)
Hình 2.7 Hàm truyền tuyến tính
♦
Hàm truyền Log Sigmoid – ‘logsig’
n
e1
1
)n(f
−
+
=
(2.2)
Hình 2.8 Hàm truyền Log Sigmoid
♦
Hyperbolic tangent sigmoid – ‘tansig’
n2
n2
e1
e1
)n(f
−
−
+
−
=
(2.3)
Hình 2.9 Hàm truyền Hyperbolic tangent sigmoid
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2.10
Bằng cách sử dụng các hàm truyền khác nhau, ta được các neuron có tính
chất khác nhau tương ứng. Neural Network ToolBox 3.0 của MATLAB 5.3
cung cấp các hàm truyền được liệt kê trong bảng 2.2.
Bảng 2.2 Các hàm truyền của neuron
TRANSFER FUNCTIONS
compet Competitive transfer function.
hardlim Hard limit transfer function.
hardlims Symmetric hard limit transfer function
logsig Log sigmoid transfer function.
poslin Positive linear transfer function
purelin Linear transfer function.
radbas Radial basis transfer function.
satlin Saturating linear transfer function.
satlins Symmetric saturating linear transfer function
softmax Soft max transfer function.
tansig Hyperbolic tangent sigmoid trans. function.
tribas Triangular basis transfer function.
Sự tương quan giữa neuron sinh học và neuron nhân tạo như bảng 2.3 [6].
Bảng 2.3 So sánh Neuron sinh học và nhân tạo
Neuron sinh học Neuron nhân tạo
Tế bào Đơn vò (hay gọi là nút trong mạng)
Khớp thần kinh Trọng số kết nối
w
Đầu vào kích thích Trọng số kết nối dương
Đầu vào ức chế Trọng số kết nối âm
Kích hoạt bằng tần số Trò ngưỡng
b
Phạm vi hoạt động giới hạn bởi
lý tính của tế bào
Phạm vi hoạt động giới hạn bởi
hàm truyền
f
2
[...]... trong vòng tròn bán kính là d neuron, tâm là winning neuron Ví dụ N5 (2) nghóa là tập hợp các neuron nằm trong vòng tròn bán kính 2 neuron, tâm là neuron thứ 5 (winning neuron) trong mạng, xem hình 2. 16 [3] Chương 2 - Mạng neuron nhân tạo 2. 17 Luận án Cao học N13(1) ={8 12 13 14 18} N13 (2) = {3 7 8 9 11 12 13 14 15 18 18 19 23 } 2 Hình 2. 16 Minh họa tập neuron láng giềng Lưu ý là các neuron trong SOFM... neuron Chúng ta có thể biểu diễn ngõ ra của mạng: a = f(Wp+b) 13 14 lớp vào chỉ có nhiệm vụ nhận tín hiệu vào, đây là thành phần tuyến tính của mạng neuron vào còn gọi là nút vào, neuron ra còn gọi là nút ra Chương 2 - Mạng neuron nhân tạo 2. 12 2 Luận án Cao học 2 Hình 2. 11 Phân loại mạng neuron Hình 2. 12 Mạng neuron 1 lớp 2. 4.3 Mạng neuron nhiều lớp Một mạng neuron có thể có nhiều lớp, ngõ ra của lớp... Chương 2 - Mạng neuron nhân tạo 2. 28 Luận án Cao học Áp dụng BFGS quasi-Newton cho bài toán 1 Sau 20 0 epochs, MSE = 5,7.1 0-5 , hình 2. 28 Performance is 5.73909e-005, G l i 0 P f i 5 73909 005 Goal is 0 10 MSE elapsed time: 76.18 s 2 -5 10 0 20 40 60 80 100 120 140 160 180 20 0 Hình 2. 28 Lỗi của giải thuật BFGS quasi-Newton Mạng áp dụng cho bài toán này có kích thước nhỏ, nên giải thuật BFGS quasi-Newton... hình 2. 24 Chương 2 - Mạng neuron nhân tạo 2. 24 Luận án Cao học Performance is 0.0885581, Goal is 0 1 10 elapsed time: 36.80 s 0 MSE 10 -1 10 -2 10 0 20 40 60 80 100 120 140 160 180 20 0 2 Hình 2 24 Lỗi của giải thuật Gradient Descent with Momentum Rõ ràng tốc độ hội tụ có nhanh hơn, nhưng chưa đáng kể 2. 6.3 Giải thuật gradient descent with adaptive learning rate Trong hai giải thuật trên (2. 6.1 & 2. 6 .2) ,... with momentum 12 GD Traingd – Standard Gradient Descent Chương 2 - Mạng neuron nhân tạo 2. 31 Luận án Cao học 2. 7 Qui trình thiết kế mạng Neuron ứng dụng Qui trình thiết kế một mạng neuron ứng dụng như hình 2. 31 [2] Bắt đầu Xác đònh bài toán 2 Xác đònh các biến vào/ra Thu thập dữ liệu Tiền xử lý dữ liệu Chọn mô hình mạng neuron Huấn luyện mạng Thử nghiệm mạng Không Đạt ? Đạt Tinh chỉnh mạng Đạt ? Không... neurons 2 linear output neurons anglek+1 velocityk velocityk+1 forcek 1 hidden biases 1 output biases Hình 2. 21 Mạng neuron cho bài toán 1 Chương 2 - Mạng neuron nhân tạo 2. 21 Luận án Cao học Trên hình 2. 21, 3 ngõ vào của mạng, tương ứng nhận 3 tín hiệu: góc lệch, vận tốc và lực tác động ở thời điểm (k), ngõ ra của mạng sẽ cho góc lệch và vận tốc ở thời điểm (k+1) Dữ liệu huấn luyện mạng như hình 2. 22. .. trình tính toán trên mạng lần lượt tính toán trên từng lớp, trên mỗi lớp hoàn toàn giống như tính toán đối với mạng một lớp Trên hình Chương 2 - Mạng neuron nhân tạo 2. 13 Luận án Cao học 2. 13, véctơ vào là p, ngõ ra là véctơ a Tuy nhiên, ta thêm các chỉ số 1 ,2, 3 để dễ phân biệt các lớp của mạng 2 Hình 2. 13 Mạng neuron nhiều lớp Neural Network ToolBox 3.0 của MATLAB cung cấp các hàm tạo mạng neuron được... độ học, nhưng phải tăng trong một giới hạn nào đó để tránh trường hợp mạng bất ổn (lỗi rất lớn) Trường hợp quá trình học trở nên bất ổn thì phải giảm tốc độ học Chương 2 - Mạng neuron nhân tạo 2. 25 Luận án Cao học Áp dụng Gradient Descent with adaptive lr cho bài toán 1 Sau 20 0 epochs, ta thu được MSE=0.0396, hình 2. 25 1 Performance is 0.039565, Goal is 0 0 elapsed time: 36.15 s 10 MSE 10 -1 10 2 -2 ... Create a self-organizing map Chương 2 - Mạng neuron nhân tạo 2. 14 Luận án Cao học 2. 5 Huấn luyện mạng Huấn luyện mạng là quá trình thay đổi các trọng số kết nối cũng như cấu trúc của mạng sao cho phù hợp với các mẫu học [2] Người ta phân biệt 3 kỹ thuật học, đó là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (reinforcement learning) 2. 5.1 Học có giám... dữ liệu vào/ra của nó nằm trong một khoảng giới hạn nào đó, thường thì khoảng này là [-1 1], xem hình 2. 32 Training data before preprocessing 5 input data 0 -5 0 20 0 400 600 desired data 800 1000 Training data after preprocessing 1 input data 0.5 0 -0 .5 -1 0 desired data 20 0 400 600 800 1000 Hình 2. 32 Chuẩn hóa dữ liệu mẫu trước khi huấn luyện Chương 2 - Mạng neuron nhân tạo 2. 33 2 Luận án Cao học . ngõ vào 2. 8
2. 3 .2 Mô hình neuron nhiều ngõ vào 2. 11
2. 4 Mạng Neuron 2. 11
2. 4.1 Phân loại mạng neuron 2. 11
2. 4 .2 Mạng neuron 1 lớp 2. 12
2.4.3 Mạng neuron. khảo chương 2 2.39
2
Luận án Cao học
Chương 2 - Mạng neuron nhân tạo
2. 2
2. 1 Lòch sử phát triển và Các ứng dụng của mạng Neuron
Lòch sử phát triển của mạng
Ngày đăng: 19/02/2014, 09:20
Xem thêm: Tài liệu Luận án cao học - chương 2 " Mạng neuron nhân tạo " ppt, Tài liệu Luận án cao học - chương 2 " Mạng neuron nhân tạo " ppt