Tải bản đầy đủ
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:

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:

Tải bản đầy đủ

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

Hình 1.12: Quá trình lan truyền tiến

29

Sự lan truyền của các tín hiệu từ lớp đầu vào đến lớp ẩn.
Kí hiệu wmn biểu diễn trọng số weights của kết nối giữa đầu ra của noron m
và là đầu vào của noron n.

Sự lan truyền của tín hiệu đến lớp đầu ra:

Bước tiếp theo của giải thuật là so sánh giá trị đầu ra của mạng là Y với giá trị
z là kết quả mong muốn. Hiệu giữa chúng ta gọi là tín hiệu lỗi  của lớp đầu
ra.
30

Hình 1.13: Tính giá trị lỗi ở đầu ra
Chúng ta không thể tính được các tín hiệu lổi của các noron một cách trực
tiếp. Bởi vì chúng ta không có được đầu ra của mổi noron. Nên chúng ta sẻ lan
truyền tín hiệu lỗi 

lùi lại đến tất cả các noron .

 là tín hiệu lỗi ở noron n.

Bước 2: Lan truyền ngược:

Hình 1.14: Lan truyền ngược

Hình 1.15: Lan truyền ngược
31

Chú ý: Các trọng số weights wmn được dùng để tính toán trong trường hợp
lan truyền ngược này bằng với các trọng số weights w mn trong lan truyền tiến.
Chỉ có chiều của lan truyền tín hiệu là thay đổi. Kỹ thuật này được dùng cho tất
cả các lớp của mạng. Ta có thể thấy bằng hình ảnh :

Hình 1.16: Lan truyền ngược lớp 2
Khi tín hiệu lỗi của mỗi noron đã được tính thì chúng ta có thể dựa vào tín
hiệu lỗi này để thay đổi giá trị của các trọng số.
Trong giải thuật Back propagation trọng số thay đổi dựa vào đạo hàm của
hàm kích hoạt trong mỗi noron.
Trong đó:
-

df (e)
: là đạo hàm của hàm kích hoạt.
de

- η là đại lượng ngẫu nhiên ảnh hưởng đến tốc độ dạy của mạng. Có nhiều
cách để chọn η Có thể bắt đầu quá trình học bằng cách chọn η là một đại
32

lượng lớn rồi trong suốt quá trình học sẻ giảm dần giá trị này. Hoặc cách khác
nữa là bắt đầu bằng một giá trị nhỏ rồi sau đó trong quá trình học có thể tăng dần
giá trị này, đến cuối quá trình học lại giảm giá trị này xuống…

Hình 1.17: Lan truyền ngược

33

Hình 1.18: Lan truyền ngược vòng 2

34

Ví dụ:
Cho mô hinh mạng hai lớp như dưới đây

Với mạng nơ-ron cho trước các trọng số như hình với hàm kích hoạt là
hàm sigmoid (sigma như đả nói ở trên) , với hệ số hiệu chỉnh bias bằng 1 và hệ
số h = 1 :
Hàm sigmoid :

y=

Mẩu gồm 3 thành phần :
Đầu vào : A = 0.35, B = 0.9.
Đầu ra mong muốn : z = 0.5

Và đạo hàm của hàm sigmoid :
Dựa vào các công thức dã cho ta có kết quả như sau:

35