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... Điều kiện dừngz Quá trình học, thự
Trang 1Giới thiệu về Mạng
Nơron
Trình bày:
Phạm Nguyên Khang
Trang 2Nội dung trình bày
z Sơ lược về mạng nơ-ron
Trang 3Nơ-ron sinh học
Trang 4Nơ-ron sinh học
Trang 5Sơ 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)
Trang 6Nơ-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)
Trang 7z 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à:
i
iw v f
1 )
(
Trang 8Huấn luyện Perceptron (1)
d
i
i i
t w
v
t w
v output
1
1
, 1
, 1
i
i i
d
i
i i
w v
sign w
v
w v output
0 0
0
0 ,
1
0 ,
1
Trang 9Huấn luyện Perceptron (2)
Trang 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 …
Trang 11Khả 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
Trang 12Mạng nơ-ron nhiều tầng (MLP)
Trang 13Mạng nơ-ron nhiều tầng (MLP)
Trang 14z 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
Trang 15Huấ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 wi* để 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 ???
Trang 16Mộ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)
Trang 17Giả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
Trang 18Gradient của hàm lỗi (1)
e
x g
b y b
v
v g z
(
) (
1 0
b
v v
z z
E b
Giá trị thật của mẫu huấn luyện
Trang 19Gradient của hàm lỗi (2)
0 ,
1
) 1
(
) (
i y
i b
v
z
z v
g v
z
t
z z
E
i i
) 1
( )
( z t z z v
z z
i p
b
E
i i
Trang 20Gradient của hàm lỗi (3)
u
u g y
1 0
) (
a
u u
y y
E a
Trang 21Gradient của hàm lỗi (2)
1
) 1
(
) 1
( ) (
1
j u
z t
z v
z z
E y
E
i
i
i i
i i i i
i i
) 1
(
1
y y
b
p u
y y
E q
i q
a
E
i i
Trang 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
i i
w
E w
Trang 23Mộ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
Trang 24Mộ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
Trang 25Hướ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