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

Tài liệu Giới thiệu về Mạng Nơron docx

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 (649.9 KB, 27 trang )

1
Giới thiệu về Mạng
Nơron
Trình bày:
Phạm Nguyên Khang
2
Nội dung trình bày
z Sơ lược về mạng nơ-ron
z Perceptron
z Mạng nơron nhiều tầng (MLP)
z Giải thuật lan truyền ngược (back propagation)
z Một số vấn đề của mạng nơ-ron
z Hướng phát triển
z Thảo luận
3
Nơ-ron sinh học
4
Nơ-ron sinh học
5
Sơ lược về mạng nơ-ron
z Mạng nơ-ron là 1 họ các quá trình xử lý thông tin dựa trên mô hình các
nơ-ron thần kinh của con người.
z Kết hợp 1 số lượng lớn các thành phần đơn giản (nơ-ron) Æ cấu trúc
phức tạp nhằm giải quyết 1 vấn đề cụ thể nào đó
z Giống như con người, mạng nơ-ron học bằng các ví dụ (mẫu)
z Lĩnh vực ứng dụng:
z Phát hiện bệnh
z Dự báo thị trường chứng khoán
z Nghiên cứu khách hàng
z Kiểm tra độ tin cậy của máy móc
z Quản lý rủi ro


z …
6
Nơ-ron nhân tạo (artificial
neuron)
z Mô phỏng các nơ-ron sinh học
z Nhận các tín hiệu từ các nơ-ron khác (hay từ đầu vào). Nếu giá trị (tổng
các tín hiệu có nhân hệ số) nhận được vượt quá một ngưỡng nào đó,
nơ-ron này sẽ kích hoạt (nó sẽ gửi tín hiệu đến các nơ-ron khác nữa)
7
Perceptron
z Perceptron là mô hình đơn giản nhất của mạng nơ-ron (chỉ có 1 tầng).
z Perceptron = 1 nơ-ron nhân tạo
z Mô hình toán của perceptron:
z f được gọi là hàm kích hoạt (activation action) hay hàm truyền có thể là:
z Tuyến tính
z Ngưỡng (Heaviside step)
z Logistic sigmoid
z Gauss
z …






=

=
d
i

ii
wvfoutput
1
x
e
xg

+
=
1
1
)(
8
Huấn luyện Perceptron (1)
z Xét trường hợp,
perceptron xử dụng hàm
kích hoạt ngưỡng.
z Nếu cho w
0
= -t, và v
0
=
1, ta có thể viết lại:








≤−
>+
=


=
=
d
i
ii
d
i
ii
twv
twv
output
1
1
,1
,1














=
≤−
>+
=



=
=
=
d
i
ii
d
i
ii
d
i
ii
wvsign
wv
wv
output
0
0
0
0,1

0,1
9
Huấn luyện Perceptron (2)
z Khởi tạo:
z Khởi tạo w (0 hoặc ngẫu nhiên)
z Chọn tốc độ học µ
z Học:
z Với mỗi mẫu (x, t) trong tập học
z Tính y = f(x,w)
z Nếu (y != t) thay đổi vectơ trọng số w
w(mới) = w(cũ) + µ(t-y)x
z Lặp lại quá trình « học» cho đến khi « điều kiện
dừng » thỏa mãn
10
Điều kiện dừng
z Quá trình học, thực chất là quá trình đi tìm các
trọng số w sao cho lỗi xảy ra là nhỏ nhất Ù
phương pháp giải bài toán tối ưu
z Điều kiện dừng trong quá trình học có thể là 1
trong các tiêu chí, hay kết hợp các tiêu chí:
z Lỗi nhỏ đến mức chấp nhận được
z Sau một số bước lặp đủ lớn
z …
11
Khả năng của Perceptron
z Phương trình v.w = 0 chính là một siêu phẳng trong
không gian d-chiều.
Î Perceptron có khả năng phân lớp tuyến tính. Có thể
dùng để giải bài toán hồi quy tuyến tính
z Hạn chế của Perceptron:

z Không thể phân lớp phi tuyến
z Ví dụ: bài toán XOR
z Giải pháp:
z Sử dụng mạng nơ-ron nhiều tầng MLP
12
Mạng nơ-ron nhiều tầng (MLP)
13
Mạng nơ-ron nhiều tầng (MLP)
14
Mạng nơ-ron nhiều tầng (MLP)
z input, output và các tầng ẩn (hiden
layers).
z Số lượng các nơ-ron trong tầng input =
số chiều
z Số lượng các nơ-ron trong tầng output
thường = số các lớp
z Thông thường các mạng nơ-ron dùng 1
tầng ẩn. Số lượng các nơ-ron trong tầng
ẩn thường được chọn = ½ (số nơ-ron
tầng input + số nơ-ron trong tầng
output)
z Chú ý: các nơ-ron trong tầng input thực
sự không phải là các nơ-ron. Nó chỉ là
chỗ để đưa dữ liệu của các mẫu vào
15
Huấn luyện MLP
z Là quá trình thay đổi giá trị của w để mạng biểu diễn được tập dữ liệu
học.
z Sự khác nhau giữa giá trị thật của mẫu và kết quả dự đoán của mạng
gọi là lỗi (học có giám sát). Hàm lỗi thường dùng là sum squared error

z Hàm lỗi sẽ là một hàm (n+1) biến. Nếu vẽ trong không gian n+1 chiều
ta sẽ có một mặt lỗi (error surface)
z Quá trình huấn luyện sẽ tìm các w
i
* để lỗi nhỏ nhất.
z Trong trường hợp tuyến tính, vói hàm lỗi là sum squared error thì mặt
lỗi có dạng parapola Î có thể tìm được w* để lỗi = min tương đối dễ
dàng
z Trong trường hợp tổng quát, hàm lỗi phức tạp (ví dụ: không phải hàm
lồi) Î vấn đề cực tiểu cục bộ (local minimum) Î giải pháp ???
16
Một số giải thuật huấn luyện MLP
z Back propagation (khá nổi tiếng, dễ hiểu)
z Conjugate gradient descent & Levenber-
Marquardt (Bishop 1995, Shepherd 1997)
z Quick propagation (Fahlman, 1988)
z Delta-Bar-Delta(Jacob 1988)
17
Giải thuật lan truyền ngược
z Xét một mạng nơ-rơn 3 tầng: input, hiden, output
z Hàm kích hoạt của các nơ-ron: logistic sigmoid
z Giải thuật lan truyền ngược gồm 2 giai đoạn:
z Lan truyền tiến (tính output của các nơ-ron)
z Lan truyền ngược (thay đổi trọng số của các cung, dùng thông tin
gradient của hàm lỗi)
18
Gradient của hàm lỗi (1)
z Nơ-ron tầng output
z Hàm lỗi:
z Đạo hàm riêng của hàm

lỗi theo các trọng số b:
x
k
i
ii
e
xg
bybv
v
g
z

=
+
=
+=
=

1
1
)(
)(
1
0
b
v
v
z
z
E

b
E






=


b
1
b
2
b
k
b
0
y
1
y
2
y
k
1
()
2
2
1

)( tzzE −=
Giá trị thật của
mẫu huấn luyện
19
Gradient của hàm lỗi (2)
Ta có: Đặt:



>
=
=


−=


=


−=


0,
0,1
)1(
)(
iy
i
b

v
zz
v
g
v
z
tz
z
E
i
i
)1()( zztz
v
z
z
E
p −−=




=
Ta được:



>
=
=



0
0
ipy
ip
b
E
i
i
20
Gradient của hàm lỗi (3)
z Nơ-ron tầng ẩn
z Đạo hàm riêng của hàm
lỗi theo các trọng số a:

=
+=
=
d
i
ii
axau
ugy
1
0
)(
a
u
u
y

y
E
a
E






=


a
1
a
2
a
d
a
0
x
1
x
2
x
d
1
21
Gradient của hàm lỗi (2)

Đặt:
Ta có:



>
=
=


−=


=


=−−=










=




=
0,
0,1
)1(
)1()(
1
jx
j
a
u
yy
u
y
b
y
v
pzztz
v
z
z
E
y
v
v
z
z
E
y
E

j
j
i
i
iiiii
i
i
i
K
i
i
i
i
i
)1(
1
yybp
u
y
y
E
q
K
i
ii








=




=

=
Ta được:



>
=
=


0
0
iqx
iq
a
E
i
i
22
Điều chỉnh trọng số
z Sau khi tính được đạo hàm riêng của hàm lỗi theo

từng trọng số. Trọng số sẽ được điều chỉnh bằng
cách trừ bớt 1 lượng bằng tích của đạo hàm riêng
và tốc độ học:
i
ii
w
E
ww


−=
µ
23
Một số vấn đề với mạng nơ-ron
z Vấn đề kiến trúc mạng: nơ-ron nào nên nối với nơ-ron
nào ?
z Trọng số của các cung nối và ngưỡng thay đổi thường
xuyên. Đã có nhiều nghiên cứu về vấn đề này và cũng đã
có một số kết quả:
z Nếu mạng gây ra lỗi, thì có thể xác định chính xác nơ-ron nào
gây ra lỗi Î điều chỉnh nơ-ron này
z Với cách tiếp cận này, mạng phải « biết » rằng nó gây ra lỗi.
Trong thực tế, lỗi chỉ được biết sau một thời gian dài.
z Chức năng của một nơ-ron không quá đơn giản như mô
hình.
z Mạng no-ron hoạt động như 1 hộp đen
24
Một số hướng dẫn khi sử dụng
mạng nơ-ron
z Xây dựng mạng khởi tạo (dùng 1 tầng ẩn có số nơ-ron =

½ tổng số nơ-ron của tầng input & output)
z Huấn luyện mạng dùng các giải thuật huấn luyện. Nên
thực hiện trên nhiều mạng khác nhau để tránh trường hợp
cực tiểu cục bộ
z Nếu máy « không thuộc bài » (under-learning) Îthêm 1
vài nơ-ron cho tầng ẩn
z Ngược lại nếu máy « học vẹt » (over-learning) Î bớt 1
vài nơ-ron ra khỏi tầng ẩn
z Khi đã tìm được một kiến trúc mạng tương đối « tốt».
Lấy mẫu lại tập dữ liệu và huấn luyện lại để tìm ra các
mạng mới
25
Hướng phát triển
z Tích hợp logic mờ vào mạng nơ-ron
z Mạng nơ-ron xung (pulse neural networks): các
nơ-ron giao tiếp với nhau thông qua các xung
z Sử dụng phần cứng cho mạng

×