Mạng nơron và ứng dụng - Pdf 19


3
Luận văn:
Mạng nơron và ứng dụng

4
MỤC LỤC
LỜI CẢM ƠN Error! Bookmark not defined.
MỤC LỤC 4
I. LÍ DO CHỌN ĐỀ TÀI 6
II. MỤC ĐÍCH NGHIÊN CỨU 6
III. NHIỆM VỤ NGHIÊN CỨU 7
IV. PHƯƠNG PHÁP NGHIÊN CỨU 7
Chương I: TỔNG QUAN VỀ MẠNG NƠRON 8
I. BỘ NÃO VÀ NEURON SINH HỌC 8
1.1 Bộ não người 8
1.2 So sánh bộ não người và máy tính 10
II. NEURON NHÂN TẠO 11
2.1 Mô hình neuron tổng quát 11
2.2 Mô hình Single - Input Neuron 12
2.3 Mô hình Multiple - Input Neuron 13
2.4 Một số hàm chuyển thường dùng 13
III. MẠNG NƠRON 16
3.1 Huấn luyện mạng 17
3.2 Mạng nơron một lớp 19
3.3 Mạng nơron nhiều lớp 20
Chương II: MỘT SỐ MÔ HÌNH MẠNG NƠRON 23
I. MẠNG PERCEPTRON 23
1.1 Kiến trúc mạng 23
1.2 Huấn luyện mạng 24
1.3 Sử dụng mạng 25

I. LÍ DO CHỌN ĐỀ TÀI
Mạng nơron được bắt đầu nghiên cứu vào những năm 1940, trải qua nhiều
giai đoạn thăng trầm ngày nay việc nghiên cứu, thiết kế mạng nơron mô
phỏng theo những khả năng của não bộ đã và đang phát triển một cách mạnh
mẽ và đem lại nhiều kết quả to lớn. Rất nhiều nhà khoa học đang tập trung
vào nghiên lĩnh vực này và những thành tựu của nó đem lại đã và đang ảnh
hưởng sâu sắc tới nhiều lĩnh vực trong đời sống xã hội và trong khoa học:
Khám bệnh bằng máy trong y học, nhận dạng chữ viết, xử lý ảnh, …
Việc thiết kế mạng nơron là kết quả của việc kết hợp công nghệ thông tin
với một lĩnh vực khoa học khác như: Toán học, y học, … và nghiên cứu của
nó được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau: kỹ thuật người
máy, các chương trình trò chơi, xử lý ngôn ngữ tự nhiên… Mạng nơron đã và
đang đặt ra nhiều triển vọng về khả năng chế ngự thế giới.
Vì vậy, việc tìm hiểu về mạng nơron là rất cần thiết với một sinh viên
thuộc chuyên ngành tin. Được sự đồng ý của Hội đồng khoa học của Khoa
Toán và sự hướng dẫn của Thầy giáo - Thạc sĩ Nguyễn Văn Trường, tôi đã
lựa chọn đề tài “Mạng nơron và học mạng nơron" làm đề tài nghiên cứu. Đề
tài gồm những nội dung chính:
 Tổng quan về mạng nơron.
 Giới thiệu một số mạng nơron cơ bản.
 Cài đặt minh họa một số mạng nơron.
II. MỤC ĐÍCH NGHIÊN CỨU
Với đề tài này mục đích nghiên cứu của tôi là:
- Nắm được mô hình mạng nơron, biết cách sử dụng các mô hình mạng
nơron để áp dụng vào một số bài toán thực tế.
- Áp dụng mô hình mạng nơron để giải quyết một số bài toán thực tế.

7
- Nhằm tích lũy thêm kiến thức cho bản thân, nâng cao trình độ nhận thức
mở rộng vốn hiểu biết cho mình.

cm cho đến hàng mét. Đường kính của nhân tế bào thường chỉ là 10
-4
m. 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ác neurons khác thông qua các
khớp nối (gọi là synapse). Thông thường, mỗi neuron có thể gồm vài chục
cho tới hàng trăm ngàn khớp nối để nối với các neurons 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 neuron
Nhân
Trục từ
các neuron
khác
Khớp nối
Soma
dendrite
Đầu trục
thần kinh9
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
neurons 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 với các neurons khác sẽ giải phóng các chất truyền điện.
Người ta chia làm hai loại khớp nối: Khớp nối kích thích (excitatory) và khớp
nối ức chế (inhibitory).

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 bị mất dựa trên sự tương tự giữa các đối
tượng.
4. Bộ não có khả năng xuống cấp và thay thế dần dần. Khi có những
trục trặc tại các vùng não (do bị 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.
5. Bộ não có khả năng học
1.2 So sánh bộ não người và máy tính
So sánh khả năng làm việc của bộ não và máy tính

Máy tính
Bộ não người
Đơn vị tính toán
1 bộ xử lý trung tâm với
10
5
mạch logic cơ sở
Mạng 10
11
neurons
Bộ nhớ
10
9
bit RAM
10
10
bit bộ nhớ ngoài
10

tin. Về khả năng tính toán thì các bộ vi xử lý có thể tính 10
8
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 miligiâ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 neurons và khớp nối, trong khi đó ngay cả những máy tính hiện đại nhất
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
neuron có được kích hoạt hay không (tiêu phí khoảng 10
-8
x10
2
giây/neuron).
Do đó, dẫu bộ vi xử lý có thể tính toán nhanh hơn hàng triệu lần so với các
neurons bộ não, nhưng xét tổng thể bộ não lại tính toán nhan 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 xử lý song song cao của bộ não với
tốc độ 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 mô phỏng được các hành vi sáng tạo của
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á 1 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ảng 10 giây) để thực
hiện cùng thao tác đó, nhưng 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, không đầy đủ.
II. NEURON NHÂN TẠO
2.1 Mô hình neuron tổng quát 12
Mỗi neuron được nối với các neurons khác và nhận được các tín hiệu s

cũng được gửi đến vùng tính tổng trọng số. Giá trị Output của vùng này là
n=Wp+b là giá trị input của hàm chuyển, nó sẽ tạo ra giá trị neuron output a
là kết quả của phép tính:
a = f(wp+b)
Nếu ta có w = 3, p = 2, b = -1.5 thì

13
a = f(3.2 - 1.5) = f(4.5)
2.3 Mô hình Multiple - Input Neuron
Một neuron có thể có nhiều hơn một input. Giả sử có R inputs như ở hình
dưới. Mỗi đại lượng input p
1
, p
2
,…, p
R
có một trọng số tương ứng là w
1,1
,
w
1,2
,… w
1,R
của ma trận trọng số W (ma trận trọng số của một neuron chỉ có
một dòng).
Tổng trọng số của W và b là input của hàm chuyển.
n = w
1,1
*p
1

1,R
w
a=f(Wp+b)
Multiple – Input Neuron

2.4 Một số hàm chuyển thường dùng
Ở phần trên chúng ta đã nhắc đến khái niệm hàm chuyển (hàm kích hoạt).
Thực chất chúng là gì? Chúng hoạt động như thế nào?
Hàm chuyển (Transfer function) có thể là một hàm có đồ thị là đường
thẳng hoặc không là đường thẳng. Một hàm chuyển được lựa chọn nhằm giải
quyết một vài vấn đề đã được định rõ mà neuron đang cố gắng giải quyết.
Có rất nhiều hàm chuyển được sử dụng trong các mạng nơron hiện nay. Ở
đây tôi xin giới thiệu một vài hàm chuyển được sử dụng nhiều trong thiết kế

14
mạng. Đây cũng là những hàm chuyển mà tôi sẽ sử dụng để thiết kế mạng
nơron giải quyết các bài toán nhận dạng và bài toán khám sức khoẻ trong y
học. Các hàm chuyển này đều đã được cung cấp sẵn trong bộ công cụ thiết kế
mạng nơron "Nơron Network Toolbox" của Matlab
2.4.1 Hàm chuyển Hard Limit
Hàm chuyển hard limit có công thức a=hardlim(n). Được xác định theo
biểu thức sau:






01
00

a
p0
-b/w
a = purelin(wp+b)
Single – input purelin Neuron

Hàm chuyển này cùng với hàm chuyển hard limit đã nói ở trên sẽ được tôi
sử dụng để thiết kế mạng nơron hai lớp giải quyết bài toán nhận dạng kí tự mà
các bạn sẽ thấy ở phần sau.
2.4.3 Hàm chuyển log - sigmoid:
Hàm chuyển log - sigmoid có công thức:
n
e
a



1
1

Hàm chuyển này có thể nhận giá trị input là bất cứ giá trị nào trong khoảng
 
 ,
và trả về giá trị output nằm trong khoảng (0, 1).
Các mạng nơron nhiều lớp sử dụng thuật toán huấn luyện mạng
backpropagation sử dụng hàm này làm hàm chuyển. Dưới đây là đồ thị của
hàm chuyển log - sigmoid, biểu tượng và đồ thị của một Single - Input
Neuron sử dụng hàm chuyển log - sigmoid

16

cứ theo số lớp mạng ta có mạng nơron một lớp và mạng nơron nhiều lớp.
Hình dưới mô tả một mạng nơron nhiều lớp.
- Mỗi một lớp mạng bao gồm ma trận trọng số, tổng trọng số, đại lượng b
và hàm chuyển f.

3.1 Huấn luyện mạng
Mạng nơron như một hệ thống thích nghi có khả năng học (huấn luyện) để
tinh chỉnh các trọng số liên kết cũng như cấu trúc của mình sao cho phù hợp
với các mẫu học (samples). Có 3 loại kĩ thuật học:
1) Học có giám sát (còn gọi là học có thầy): Trong học có giám sát
mạng được cung cấp một tập mẫu học {(X
i
, Y
i
)} theo nghĩa X
i
là tín hiệu vào
thì kết quả ra đúng của hệ phải là Y
i
. Ở mỗi lần học, vectơ tín hiệu vào X
i

được đưa vào mạng, sau đó so sánh sự sai khác giữa các kết quả đúng Y
i
với
kết quả tính out
i
. Sai số này sẽ được dùng để hiệu chỉnh lại các trọng số liên
kết trong mạng. Quá trình cứ tiếp tục cho đến khi thoả mãn một tiêu chuẩn


i
Hiệu chỉnh W

Học tham số có giám sát
Học cấu trúc: Với học tham số ta giả định rằng mạng có một cấu trúc cố
định. Việc học cấu trúc của mạng truyền thẳng gắn với yêu cầu tìm ra số lớp
của mạng L và số neuron trên mỗi lớp n
j
. Tuy nhiên, với các mạng hồi quy
còn phải xác định thêm các tham số ngưỡng

của các neuron trong mạng.
Một cách tổng quát phải xác định bộ tham số P = (L, n
1
, …, n
t
,

1
, …,

k
)
Ở đây


j
nk
sao cho
Y

neurons). Có R giá trị input. Mỗi một input kết nối với các neurons của mạng.
Như vậy ma trận trọng số W có kích thước là SxR.

20
Layer of S Neurons
a = f(Wp + b)
1,1
w
RS
w
,
S
b
2
b
1
b
1
a
2
a
S
a
Layer of S neurons

Sau khi các giá trị input đi vào lớp mạng sẽ cho ra Output của mạng là
vectơ (a
1
, a
2

Như đã nói ở trên, đề tài ngoài việc tìm hiểu về lí thuyết mạng nơron thì
mục đích chính là sử dụng mạng nơron để giải quyết hai bài toán được giới
thiệu cụ thể ở chương 3 là bài toán nhận dạng kí tự và bài toán khám sức khoẻ
trong y học. Chính vì vậy mà ở đây tôi chỉ giới thiệu một số mô hình mạng,
trong đó chủ yếu là những mô hình và thuật toán sẽ được sử dụng để giải
quyết các bài toán đã nêu ở trên. Việc huấn luyện mạng cũng chủ yếu là với kĩ
thuật học có giám sát.
I. MẠNG PERCEPTRON
1.1 Kiến trúc mạng
Mạng Perceptron do F.Rosenblatt đề xuất năm 1960. Đây là mạng truyền
thẳng một lớp có một hoặc nhiều đầu ra. Để đơn giản ở đây tôi chỉ trình bày
với mạng có một đầu ra.
a= hardlim(Wp + b)
Hard Limit Layer

Đầu ra của mạng được tính theo công thức:
a = hardlim(Wp + b)
Hàm chuyển này được sử dụng nhiều trong quá trình phát triển của thuật
toán học mạng Perceptron vì nó thuận lợi trong việc xem xét từng thành phần
riêng rẽ trong vectơ của mạng. Đầu tiên, chúng ta hãy xem xét ma trận trọng
số:

24













iR
i
i
i
w
w
w
w

2
1

Chúng ta hãy viết lại ma trận trọng số theo các thành phần của ma trận P

















00
01
n
n

Vì vậy, nếu tích của thành phần gồm i dòng trong ma trận trọng số với
vectơ input lớn hơn hoặc bằng -b thì output bằng 1, ngược lại output bằng 0.
1.2 Huấn luyện mạng
Mạng học dựa trên nguyên tắc có giám sát với tập mẫu {(X
s
,Y
s
)}
Ý tưởng cơ bản của quá trình huấn luyện mạng là xác định bộ trọng số W
sao cho giá trị ra a = hardlim(W
T
p + b) = Y
s
đối với mẫu học s.
Ban đầu các trọng số được gán ngẫu nhiên trong khoảng [-0.5, 0.5]. Sau đó
hiệu chỉnh các trọng số sao cho phù hợp với các mẫu học, làm giảm sai số
giữa giá trị quan sát Y
s
với giá trị tính toán a.

25

X
sj
*Err trong đó


hằng số học. Hệ số học

phải được chọn không quá lớn để
đảm bảo sự hội tụ của quá trình.
Có thể thấy sự hội tụ của quá trình học của mạng dựa trên nguyên lý tìm
kiếm gradient trong không gian trọng số làm cực tiểu hàm sai số
Err(W) = ½(Y
s
- a
s
(w))
2

Người ta chứng minh được rằng quá trình huấn luyện mạng Perceptron
luôn hội tụ
1.3 Sử dụng mạng
Để làm rõ vấn đề huấn luyện mạng của thuật toán huấn luyện mạng
preceptron chúng ta sẽ bắt đầu với một ví dụ đơn giản và sẽ tiến hành thử
nghiệm với một quy tắc hợp lý.
Ta có tập mẫu:














 0,
1
0
,0,
2
1
,1,
2
1
332211
tptptp

Vấn đề cần giải quyết được hiển thị trong hình dưới:
1
2
326
Ta thấy trong tập mẫu có hai vectơ input có mục tiêu là 0 được biểu diễn
bởi hình tròng sáng và một vectơ input có mục tiêu là 1 được biểu diễn bởi
hình tròn tối . Đây là một vấn đề hết sức đơn giản, và chúng ta gần như có

Khi vectơ input







2
1
1
p
được truyền vào mạng. Mạng hoạt động và tính
giá trị output:
a = hardlim(
1
w
T
p
1
) = hardlim(
 







2




2
1
=






2.1
2

Tính lại giá trị output:
a = hardlim(
1
w
T
p
1
) = hardlim(
 







Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status