Tải bản đầy đủ
Hàm kích hoạt các neural : logistic (sigmoid).g(x)= (1.3)

Hàm kích hoạt các neural : logistic (sigmoid).g(x)= (1.3)

Tải bản đầy đủ

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

 p i =0
∂E
=
∂bi
pyi i >0

(1.6)

Đối với lớp ẩn :

Đạo hàm riêng của hàm lỗi theo trọng số:

∂E ∂E ∂y ∂u
=
∂a
∂y ∂u ∂a

(1.7)

Ta có:

∂E
∂y
∂E
∂zi
∂vi
∂y
∂y
∂u

∂E ∂zi ∂vi
=∑
i =1 ∂zi ∂vi ∂y
∂zi
= ( zi − ti ) zi (1 − zi ) = pi
∂vi
K

= bi
= y (1 − y )

1, j = 0
∂u
=
∂a j c j , j > 0

23

Đặt:

∂E ∂y  K

q=
=  ∑ pibi  y (1 − y )
∂y ∂u  i =1

Ta được:

∂E  q i = 0
=
∂a1 qxi i > 0

(1.8)

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 đi 1 lượng bằng tích của đạo hàm riêng và tốc
độ học:

wi = wi −µ

∂E
∂wi

(1.9)

Chú ý :
Ngoài những thành công của giải thuật, vẫn còn có một số khía cạnh làm
cho giải thuật trở nên chưa được bảo đảm là mọi lúc đều tốt. Khó khăn chủ yếu là
ở quá trình huấn luyện lâu. Có thể do nhịp độ học và động lực không tối ưu. Sự
sai sót trong việc huấn luyện nói chung xuất hiện từ hai nguồn: mạng liệt và
những cực tiểu địa phương.
Mạng liệt: xảy ra khi những trọng số được điều chỉnh tới những giá trị rất
lớn. Tổng đầu vào của một đơn vị ẩn hoặc đơn vị đầu ra có thể bởi vậy mà đạt
giá trị rất cao (hoặc dương hoặc âm), và qua hàm kích hoạt sigmoid, đơn vị sẽ có
một giá trị kích hoạt rất gần 0 hoặc rất gần 1. Giá trị hiệu chỉnh trọng số gần 0, và
quá trình huấn luyện có thể đi đến một trạng thái dừng ảo.
Cực tiểu địa phương: bề mặt sai số của mạng rất phức tạp đầy những ngọn
đồi và những thung lũng. Bởi vì sự hạ độ dốc, mạng có thể bị mắc bẫy tại một
cực tiểu địa phương khi có nhiều cực tiểu thấp hơn gần bên cạnh. Những phương
pháp thống kê có thể giúp để tránh cái bẫy này, nhưng chúng làm chậm. Một
phương án khác là tăng thêm số lượng đơn vị ẩn. Như vậy sẽ làm việc trong
không gian sai số nhiều chiều, nên cơ hội gặp bẫy nhỏ hơn. Tuy nhiên việc tăng
cũng có giới hạn trên, khi vượt qua giới hạn này, cơ hội mắc bẫy lại tăng lên.
24

1.4. Thuật toán lan truyền ngược và Giải thuật Back propagation minh họa

1.4.1. Thuật toán lan truyền ngược
Xem xét một mạng với Q lớp lan truyền ngược, q= 1,2,...,Q; với



lần lượt là đầu vào và đầu ra của khối trong lớp thứ q.Mạng có m nơron đầu vào,
l nơron ở lớp ẩn, và n nơron đầu ra. Với

là trọng số liên kết từ nơron thứ j

trong lớp q – 1 tới nơron thứ i trong lớp q.
Đầu vào: các cặp huấn luyện {
của phần tử cuối cùng bằng

) | k=1,2,...,p}, ở đó giá trị đầu vào

1, tức là

.

Bước 1: Khởi tạo các trọng số ngẫu nhiên nhỏ. Chọn hằng số



(sai số lớn nhất cho phép). Cho sai số E= 0 và k= 1.
Bước 2: Chọn lớp đầu vào và đính nó vào lớp đầu vào.
Bước 3: Lan truyền tín hiệu từ lớp vào tới lớp ra (lan truyền thẳng)
(1.10)
Bước 4: Tính toán lỗi đầu ra
E

(1.11)
(1.12)

Bước 5: Lan truyền ngược sai số
Lan truyền ngược sai số để điều chỉnh các trọng số và tính toán tín hiệu lỗi
cho các lớp trước.


(1.13)

25

(1.14)
Bước 6: Kiểm tra điều kiện lặp
Kiểm tra xem đã lặp hết các giá trị mẫu huấn luyện chưa, nếu chưa quay vòng
hết (tức là k< p) tăng k= k+ 1, và nhảy tới bước 1, ngược lại (tức k = p) thì
chuyển sang bước 7.
Bước 7: Kiểm tra tổng sai số, kiểm tra sự khác nhau giữa tổng sai số và sai số
cho phép.
Nếu tổng sai số nhỏ hơn sai số cho phép (tức là E< E max) thì kết thúc quá
trình huấn luyện, và ghi lại các giá trị trọng số cuối cùng.
Trái lại, thì lại gán E= 0, k= 1 và bắt đầu một quá trình huấn luyện mới bằng
cách nhảy tới bước 1.
1.4.2. Giải thuật Back propagation minh họa
a. Một số giải thuật
- Back propagation
- ConJugate gradient descent & levenber-marquardt
- Quick propagation
- Delta-Bar-Delta
b. Giải thuật Back propagation minh họa

Giải thuật chia làm hai giai đoạn:
- Lan truyền tiến (tính output của các noron).
- Lan truyền ngược.
Để minh họa cho giải thuật, chúng ta sẽ xem xét giải thuật Back propagation
hiệu chỉnh các weights của một mạng noron gồm ba lớp với 2 đầu vào và một
đầu ra như hình bên dưới:

26

Hình 1.9: Minh họa giải thuật Back Propagation
Mỗi noron sẻ gồm hai thành phần chính. Thứ nhất là các trọng số weights
và các trị số đầu vào x . Phần thứ 2 là hàm kích hoạt f. Và y = f(e) là đầu ra của
một noron.

Hình 1.10: Các thành phần của noron nhân tạo
Để dạy cho mạng chúng ta cần phải có các mẫu.Mỗi mẫu bao gồm hai thành
phần đó là:
- Đầu vào x1, x2 .
Đầu ra z là kết quả của mẫu.
Các bước thực hiện:
Bước 1: Lan truyền tiến:

27

Chúng ta sẻ bắt đầu với hai đầu vào x 1, x2. Từ đó chúng ta có thể tính được
đầu ra của mỗi noron trong mạng. Hình dưới minh họa cho sự lan truyền các giá
trị trong mạng.
Trong đó :
-W(xm)n: Tượng trưng cho các trọng số weights của kết nối giữa đầu vào x m

và noron n trong tầng input của mạng.
-Yn : tượng trưng cho đầu ra của noron n.

Hình 1.11: Minh họa giải thuật Back Propagation

28