Giới thiệu về Mạng Nơron

Trình bày:

Phạm Nguyên Khang

1

Nội dung trình bày
Sơ lược về mạng nơ-ron Perceptron Mạ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ơ-ron Hướng phát triển Thảo luận
2

Nơ-ron sinh học 3 .

Nơ-ron sinh học 4 .

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.Sơ lược về mạng nơ-ron 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. 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ệnh Dự báo thị trường chứng khoán Nghiên cứu khách hàng Kiểm tra độ tin cậy của máy móc Quản lý rủi ro … 5 .

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ơ-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) 6 . 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 đó.

Perceptron Perceptron 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ạo Mô hình toán của perceptron: ⎞ ⎛ d output = f ⎜ ∑ vi wi ⎟ ⎠ ⎝ i =1 f được gọi là hàm kích hoạt (activation action) hay hàm truyền có thể là: Tuyến tính Ngưỡng (Heaviside step) 1 Logistic sigmoid g ( x) = 1 + e− x Gauss … 7 .

⎪ output = ⎨ ⎪− 1.Huấn luyện Perceptron (1) Xét trường hợp. ta có thể viết lại: ⎧ ⎪+ 1. ⎪ output = ⎨ ⎪− 1. và v0 = 1. ⎪ ⎩ ∑v w i i =0 d ⎛ d ⎞ i =0 = sign⎜ ∑ vi wi ⎟ d ⎝ i =0 ⎠ vi wi ≤ 0 ∑ i 8 >0 . perceptron xử dụng hàm kích hoạt ngưỡng. ⎪ ⎩ ∑v w ∑v w i =1 i i =1 d i d i >t ≤t i ⎧ ⎪+ 1. Nếu cho w0 = -t.

w) Nếu (y != t) thay đổi vectơ trọng số w w(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 9 . t) trong tập học Tính y = f(x.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.

Điều kiện dừng Quá trình học. hay kết hợp các tiêu chí: Lỗi nhỏ đến mức chấp nhận được Sau một số bước lặp đủ lớn … 10 . 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í.

Có thể dùng để giải bài toán hồi quy tuyến tính Hạn chế của Perceptron: Không thể phân lớp phi tuyến Ví dụ: bài toán XOR Giải pháp: Sử dụng mạng nơ-ron nhiều tầng MLP 11 .Khả năng của Perceptron Phương trình v. Perceptron có khả năng phân lớp tuyến tính.w = 0 chính là một siêu phẳng trong không gian d-chiều.

Mạng nơ-ron nhiều tầng (MLP) 12 .

Mạng nơ-ron nhiều tầng (MLP) 13 .

output và các tầng ẩn (hiden layers).Mạng nơ-ron nhiều tầng (MLP) input. Nó chỉ là chỗ để đưa dữ liệu của các mẫu vào 14 . Số lượng các nơ-ron trong tầng input = số chiều Số lượng các nơ-ron trong tầng output thường = số các lớp 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) Chú ý: các nơ-ron trong tầng input thực sự không phải là các nơ-ron.

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. 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 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 ??? 15 . Hàm lỗi thường dùng là sum squared error Hàm lỗi sẽ là một hàm (n+1) biến. 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).Huấn luyện MLP 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. Trong trường hợp tuyến tính.

1988) Delta-Bar-Delta(Jacob 1988) 16 . Shepherd 1997) Quick propagation (Fahlman. dễ hiểu) Conjugate gradient descent & LevenberMarquardt (Bishop 1995.Một số giải thuật huấn luyện MLP Back propagation (khá nổi tiếng.

output Hà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. hiden. dùng thông tin gradient của hàm lỗi) 17 .Giải thuật lan truyền ngược Xét một mạng nơ-rơn 3 tầng: input.

Gradient của hàm lỗi (1) Nơ-ron tầng output Hàm lỗi: y1 y2 b1 b2 bk yk 1 b0 z = g (v ) v = b0 + ∑ yi bi i =1 k 1 2 E ( z ) = (z − t ) 2 Đạo hàm riêng của hàm lỗi theo các trọng số b: 1 g ( x) = 1 + e−x Giá trị thật của mẫu huấn luyện 18 ∂E ∂E ∂z ∂v = ∂b ∂z ∂v ∂b .

Gradient của hàm lỗi (2) Ta có: Đặt: ∂E = (z − t) ∂z ∂z ∂g = = z (1 − z ) ∂v ∂v ∂v ⎧ 1. i > 0 ∂E ∂z p= = ( z − t ) z (1 − z ) ∂z ∂v Ta được: ∂E ⎧ p i = 0 =⎨ ∂bi ⎩ pyi i > 0 19 . i = 0 =⎨ ∂bi ⎩ yi .

Gradient của hàm lỗi (3) Nơ-ron tầng ẩn x1 x2 a1 a2 ad xd 1 a0 Đạo hàm riêng của hàm lỗi theo các trọng số a: y = g (u ) u = a0 + ∑ xi ai i =1 20 ∂E ∂E ∂y ∂u = ∂a ∂y ∂u ∂a d .

Gradient của hàm lỗi (2) Ta có: ∂E K ∂E ∂zi ∂vi =∑ ∂y i =1 ∂zi ∂vi ∂y ∂E ∂zi = ( zi − ti ) zi (1 − zi ) = pi ∂zi ∂vi ∂vi = bi ∂y ∂y = y (1 − y ) ∂u ∂u ⎧ 1. j = 0 =⎨ ∂a j ⎩ x j . j > 0 Đặt: ∂E ∂y ⎛ K ⎞ = ⎜ ∑ pi bi ⎟ y (1 − y ) q= ∂y ∂u ⎝ i =1 ⎠ Ta được: ∂E ⎧ q i = 0 =⎨ ∂ai ⎩qxi i > 0 21 .

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: ∂E wi = wi − µ ∂wi 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ố.

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 Với cách tiếp cận này. lỗi chỉ được biết sau một thời gian dài. mạng phải « biết » rằng nó gây ra lỗi. Mạng no-ron hoạt động như 1 hộp đen 23 . Đã 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. Trong thực tế.Một số vấn đề với mạng nơ-ron Vấ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. Chức năng của một nơ-ron không quá đơn giản như mô hình.

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 24 . 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 ẩn 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 Khi đã tìm được một kiến trúc mạng tương đối « tốt ».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.

Hướng phát triển Tích hợp logic mờ vào mạng nơ-ron Mạng nơ-ron xung (pulse neural networks): các nơ-ron giao tiếp với nhau thông qua các xung Sử dụng phần cứng cho mạng 25 .

Sign up to vote on this title
UsefulNot useful