Upload
dieu-tien-bui
View
124
Download
0
Embed Size (px)
Citation preview
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
Sơ lược về mạng nơ-ronPerceptronMạng nơron nhiều tầng (MLP)Giải thuật lan truyền ngược (back propagation)Một số vấn đề của mạng nơ-ronHướng phát triểnThảo luận
3
Nơ-ron sinh học
4
Nơ-ron sinh học
5
Sơ lược về mạng nơ-ronMạ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.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 đóGiống như con người, mạng nơ-ron học bằng các ví dụ (mẫu)Lĩnh vực ứng dụng:
Phát hiện bệnhDự báo thị trường chứng khoánNghiên cứu khách hàngKiểm tra độ tin cậy của máy mócQuản lý rủi ro…
6
Nơ-ron nhân tạo (artificial neuron)
Mô phỏng các nơ-ron sinh học
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
PerceptronPerceptron là mô hình đơn giản nhất của mạng nơ-ron (chỉ có 1 tầng).Perceptron = 1 nơ-ron nhân tạoMô hình toán của perceptron:
f được gọi là hàm kích hoạt (activation action) hay hàm truyền có thể là:Tuyến tínhNgưỡng (Heaviside step)Logistic sigmoidGauss…
⎟⎠
⎞⎜⎝
⎛= ∑
=
d
iiiwvfoutput
1
xexg −+=
11)(
8
Huấn luyện Perceptron (1)
Xét trường hợp, perceptron xử dụng hàm kích hoạt ngưỡng.
Nếu cho w0 = -t, và v0 = 1, ta có thể viết lại:
⎪⎪⎩
⎪⎪⎨
⎧
≤−
>+=
∑
∑
=
=d
iii
d
iii
twv
twvoutput
1
1
,1
,1
⎪⎪⎩
⎪⎪⎨
⎧
⎟⎠
⎞⎜⎝
⎛=
≤−
>+= ∑
∑
∑=
=
=d
iiid
iii
d
iii
wvsignwv
wvoutput
0
0
0
0,1
0,1
9
Huấn luyện Perceptron (2)
Khởi tạo:Khởi tạo w (0 hoặc ngẫu nhiên)Chọn tốc độ học µ
Học:Với mỗi mẫu (x, t) trong tập học
Tính y = f(x,w)Nếu (y != t) thay đổi vectơ trọng số ww(mới) = w(cũ) + µ(t-y)x
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
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Đ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í:
Lỗi nhỏ đến mức chấp nhận đượcSau một số bước lặp đủ lớn…
11
Khả năng của Perceptron
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ínhHạn chế của Perceptron:
Không thể phân lớp phi tuyếnVí dụ: bài toán XOR
Giải pháp: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)input, output và các tầng ẩn (hiden layers).Số lượng các nơ-ron trong tầng input = số chiềuSố lượng các nơ-ron trong tầng output thường = số các lớpThô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)
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 MLPLà quá trình thay đổi giá trị của w để mạng biểu diễn được tập dữ liệu học.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 errorHà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)Quá trình huấn luyện sẽ tìm các wi* để lỗi nhỏ nhất.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àngTrong 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
Back propagation (khá nổi tiếng, dễ hiểu)Conjugate gradient descent & Levenber-Marquardt (Bishop 1995, Shepherd 1997)Quick propagation (Fahlman, 1988)Delta-Bar-Delta(Jacob 1988)
17
Giải thuật lan truyền ngượcXét một mạng nơ-rơn 3 tầng: input, hiden, outputHàm kích hoạt của các nơ-ron: logistic sigmoid
Giải thuật lan truyền ngược gồm 2 giai đoạn:Lan truyền tiến (tính output của các nơ-ron)Lan truyền ngược (thay đổi trọng số của các cung, dùng thông tingradient của hàm lỗi)
18
Gradient của hàm lỗi (1)
Nơ-ron tầng output
Hàm lỗi:
Đạo hàm riêng của hàm lỗi theo các trọng số b:
x
k
iii
exg
bybv
vgz
−
=
+=
+=
=
∑
11)(
)(
10
bv
vz
zE
bE
∂∂
∂∂
∂∂
=∂∂
b1
b2
bk
b0
y1
y2
yk
1( )2
21)( 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(
)(
iyi
bv
zzvg
vz
tzzE
ii
)1()( zztzvz
zEp −−=∂∂
∂∂
=
Ta được:
⎩⎨⎧
>=
=∂∂
00
ipyip
bE
ii
20
Gradient của hàm lỗi (3)
Nơ-ron tầng ẩn
Đạo hàm riêng của hàm lỗi theo các trọng số a:
∑=
+=
=d
iiiaxau
ugy
10
)(
au
uy
yE
aE
∂∂
∂∂
∂∂
=∂∂
a1
a2
ad
a0
x1
x2
xd
1
21
Gradient của hàm lỗi (2)
Đặt:Ta có:
⎩⎨⎧
>=
=∂∂
−=∂∂
=∂∂
=−−=∂∂
∂∂
∂∂
∂∂
∂∂
=∂∂ ∑
=
0,0,1
)1(
)1()(
1
jxj
au
yyuy
byv
pzztzvz
zE
yv
vz
zE
yE
jj
ii
iiiiii
i
i
K
i
i
i
i
i)1(
1yybp
uy
yEq
K
iii −⎟⎠
⎞⎜⎝
⎛=
∂∂
∂∂
= ∑=
Ta được:
⎩⎨⎧
>=
=∂∂
00
iqxiq
aE
ii
22
Điều chỉnh trọng số
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:
iii w
Eww∂∂
−= µ
23
Một số vấn đề với mạng nơ-ronVấn đề kiến trúc mạng: nơ-ron nào nên nối với nơ-ron nào ?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ả:
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àyVớ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.
Chức năng của một nơ-ron không quá đơn giản như mô hình.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
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)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ộNếu máy « không thuộc bài » (under-learning) thêm 1 vài nơ-ron cho tầng ẩnNgượ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 ẩnKhi đã 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
Tích hợp logic mờ vào mạng nơ-ronMạng nơ-ron xung (pulse neural networks): các nơ-ron giao tiếp với nhau thông qua các xungSử dụng phần cứng cho mạng