Tải bản đầy đủ
Hình 1.8: Mạng phản hồi có các nơron ẩn

Hình 1.8: Mạng phản hồi có các nơron ẩn

Tải bản đầy đủ

1.3.2.2. Đặc trưng của mạng neural
- Tính phi tuyến
- Tính chất tương ướng đầu vào đầu ra
- Tính chất thích nghi
- Tính chất đưa ra lời giải có bằng chứng
- Tính chất chấp nhận sai xót
1.3.3. Các thuật toán học
Một số khái niệm cần biết
Học trong mạng noron là quá trình thay đổi giá trị của w để mạng có thể
đưa ra được kết quả mong muốn tối ưu.
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. Quá trình học sẽ tìm các wi* để lỗi nhỏ nhất.
1.3.3.1. Các phương pháp học
a. Học có giám sát
Là quá trình học có sự tham gia giám sát của một “thầy giáo”. Cũng giống
như việc ta dạy một em nhỏ các chữ cái. Ta đưa ra một chữ “a” và bảo với em đó
rằng đây là chữ “a”. Việc này được thực hiện trên tất cả các mẫu chữ cái. Sau đó
khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi em đó
đây là chữ gì? Với học có giám sát, số lớp cần phân loại đã được biết trước.
Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho
với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó.
b. Học không giám sát
Là việc học không cần có bất kỳ một sự giám sát nào. Trong bài toán học
không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x 1, x2,...,xN)}
với (x1, x2,...,xN) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ của thuật
toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các
vector đầu vào có đặc trưng giống nhau. Như vậy với học không giám sát, số lớp
phân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữa
các mẫu mà ta có thể có các lớp phân loại khác nhau.

19

c. Học tăng cường
Đôi khi còn được gọi là học thưởng-phạt (reward-penalty learning), là
sự tổ hợp của cả hai mô hình trên. Phương pháp này cụ thể như sau: Với vector
đầu vào, quan sát vector đầu ra do mạng tính được. Nếu kết quả được xem là
“tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại
mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm xuống. Do
đó học tăng cường là học theo nhà phê bình (critic), ngược với học có giám sát là
học theo thầy giáo.
1.3.3.2. Thuật toán huấn luyện mạng
a. Thuật toán học mạng nơron truyền thẳng một lớp
Xét trường hợp perceptron sử dụng hàm kích hoạt ngưỡng:


+ 1,

output = 
−1,



d

∑v w
i

i =1

i

(1.1)

d

∑v w
i =1

i

>t
≤t

i

Nếu ta cho w0=-t và v0=1, ta có thể viết lại


+ 1,

output = 
−1,



d

∑v w
i

i =0

i

d

∑v w
i =0

i

i

>0
≤0

 d

= sign ∑vi wi 
 i =0


(1.2)

Thuật toán:
Thuật toán học của perceptron hay mạng neural một lớp gồm 3 bước chính:
Bước 1: Khởi tạo:
Khởi tạo trọng số w (0 hoặc ngẫu nhiên).
Chọn tốc độ học µ.
Bước 2 : 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ố w với:

20

w(mới (cũ)+ µ(t-y)x;
Bước 3: lặp lại bước 2 cho tất cả các mẫu.
Nhận xét:
Phương trình w.v=0 là chính là siêu phẳng trong không gian d-chiều, suy ra
perceptron có khả năng phân lớp tuyến tính, có khả năng giải bài toán quy hồi
tuyến tính.
Hạn chế:
Không thể phân lớp phi tuyến.
Giải pháp: sử dụng mạng neural nhiều tầng MLP.
b. Thuật toán học của mạng neural nhiều lớp
Huấn luyện mạng neural nhiều lớp sử dụng thuật toán Lan truyền ngược
gồm hai quá trình: Quá trình truyền tuyến tính và quá trình truyền ngược:
Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất để:
1,Thay đổi giá trị của trọng số liên kết W của các neural trong mạng biểu diễn
được dữ liệu học.
2.Tìm ra sự khác nhau giữa giá trị thật hàm mẫu mà mạng tính được và kết quả
dự đoán của mạng gọi là lỗi (học có giám sát).
Quá trình truyền ngược: Giá trị lỗi sẽ được truyền ngược lại sao cho quá
trình huyến luyện(học) sẽ tìm ra trọng số Wi để lỗi nhỏ nhất.
Thuật toán:
Xét mạng neural 3 lớp : input, hiden và output.
Hàm kích hoạt các neural : logistic (sigmoid).g(x)=

(1.3)

Bước 1: Khởi tạo trọng số w ngẫu nhiên nhỏ.
Bước 2 : Chọn lớp đầu vào x và đính nó vào lớp đầu vào .
Bước 3 : Truyền sự kích hoạt qua trọng số đến khi kich hoạt các neural đầu ra.
Bước 4: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất. sử dụng
GRADIENT của hàm lỗi .
Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp ẩn. sử dụng GRADIENT
của hàm lỗi.
21

Bước 6: Cập nhật tất cả trọng số theo Wi=W(i-1)-µ(δE/ δ Wi)
Bước 7: quay lai “Bước 2” cho đến “Bước 6” cho tất cả các mẫu.
Trong đó: GRADIENT hàm lỗi.
Đối với các neural lớp đầu ra:

Hàm lỗi:

E( z) =

1
( z −1) 2
2

(1.4)

( t là giá trị thật của mẫu huấn luyện)
Đạo hàm riêng của hàm lỗi theo trọng số b:

∂E
∂E ∂z ∂v
=
∂b
∂z ∂v ∂b

(1.5)

Ta có:

∂E
= ( z −t )
∂z
∂z
∂g
=
= z (1 − z )
∂v
∂v
1, i = 0
∂v
=
∂b1 y i , i > 0
Đặt:

p=

∂E ∂z
= ( z − t ) z ( z −1)
∂z ∂v

Ta được:

22