Thuật toán lan truyền ngược

Một phần của tài liệu Ứng dụng máy học trong nông nghiệp công nghệ cao (Trang 30 - 34)

2.1 .1Tổng quan

2.2 Quá trình học

2.2.4 Thuật toán lan truyền ngược

Mạng nơron truyền thẳng nhiều lớp thường được huấn luyện bằng thuật toán lan truyền ngược (Back-Propagation). Thuật toán này được áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơron có thể sử dụng các hàm kích hoạt là các hàm liên tục có các dạng khác nhau.

Thuật toán lan truyền ngược là thuật tốn học có giám sát, do đó nó cần một tập mẫu gồm các cặp đầu vào 𝑋, đầu ra 𝑌 để huấn luyện mạng, với 𝑋 là vector đầu vào và 𝑌 là vector đầu ra mong muốn. Đối với mỗi cặp đầu vào – đầu ra, thuật toán lan truyền ngược thực hiện hai giai đoạn sau [10]:

- Giai đoạn lan truyền thẳng: mẫu đầu vào 𝑋 sẽ được truyền từ lớp vào tới lớp ra. Kết quả của quá trình lan truyền này là vector tín hiệu ra 𝑂𝑈𝑇.

- Giai đoạn lan truyền ngược: tín hiệu lỗi (sai số) được tính tốn từ sự khác nhau giữa vector đầu ra mong muốn và vector tín hiệu ra. Sai số được lan truyền ngược từ lớp ra tới các lớp phía trước để hiệu chỉnh các trọng số của mạng.

Hình 2.13 Thuật tốn lan truyền ngược [10] Các bước cụ thể của hai quá trình [10]:

 Giai đoạn lan truyền thẳng

Bước 1: Khởi tạo trọng số học nhẫu nhiên ban đầu là các số thực. Trọng số giữa nơron thứ i ở lớp vào và nơron thứ j của lớp ẩn gọi là 𝑉 , trọng số giữa nơron thứ j ở lớp ẩn và nơron thứ k ở lớp ra là 𝑊 .

𝑉 = 𝑅𝑎𝑛𝑑[−1, 1] (2.4)

𝑊 = 𝑅𝑎𝑛𝑑[−1, 1] (2.5)

Bước 2: Tại nơron lớp ẩn thứ j, giá trị tín hiệu nhận từ lớp nhập sẽ được tính tổng trọng số hóa của tất cả các dữ liệu được nhập bằng cách cộng tất cả tích của mỗi dữ liệu đầu vào và trọng số liên kết giữa lớp ẩn và lớp nhập.

𝑧 = 𝑏 + ∑ 𝑥 𝑣 (2.6)

𝑧 = 𝑓(𝑧 ) (2.7) Tiếp theo, giá trị đầu ra tại nơron lớp ẩn j tiếp tục được truyền đến nơron lớp xuất k giống với phương thức từ lớp vào đến lớp ẩn.

𝑦 = 𝑏 + ∑ 𝑥 𝑤 (2.8)

Sau đó, hàm truyền lại được sử dụng để tính giá trị đầu ra của nơron tại lớp vào.

𝑦 = 𝑓(𝑦 ) (2.9)

Lúc này, giai đoạn lan truyền thẳng đến đây kết thúc, mạng sẽ chuyển đến giai đoạn lan truyền ngược.

 Giai đoạn lan truyền ngược

Bước 1: Trong quá trình nhập đầu vào, số liệu được nhập vào gồm cả số liệu đầu vào và giá trị thực tế. Từ đó, với mỗi bộ số liệu ta sẽ tính được từng sai số đầu ra tương ứng, giá trị này được gọi là hàm mất mát (Cost Function - J).

J = 𝑡 − 𝑦 (2.10)

Khi sai số hàm mất mát J rất nhỏ hoặc J < 𝜀 (số 𝜀 định trước) thì dừng lặp. Ngược lại, sai số được lan truyền ngược lại từ lớp ra đến lớp ẩn rồi đến lớp vào để điều chỉnh trọng số học và sao cho ở lần học sau giá trị sai số giảm xuống.

Bước 5: Từ hàm cost function vừa tìm được, tính đạo hàm của hàm này theo trọng số giữa lớp ẩn - lớp ra và trọng số giữa lớp vào - lớp ẩn.

Δ𝑤 = (2.11)

Δ𝑣 = (2.12)

Bước 6: Tiếp theo, giá trị trọng số liên kết giữa lớp ẩn và lớp ra cũng như giá trị trọng số liên kết giữa lớp vào và lớp ẩn được hiệu chỉnh lại đồng thời.

𝑤 (new) = 𝑤 (old) + 𝛼Δ𝑤 (2.13)

𝑣 (new) = 𝑣 (old) + 𝛼Δ𝑣 (2.14)

Trong đó, 𝛼 là hệ số học hay tốc độ học cho trước. Với 𝛼 càng lớn, tốc độ học quá nhanh dẫn đến việc mạng nhanh hội tụ và cho kết q chính xác khơng cao. Ngược lại, hệ số học càng nhỏ sẽ dẫn đến việc mạng hội tụ chậm làm giảm hiệu năng của mạng và có độ chính xác khơng cao.

Đối với bài toán dự báo sử dụng mạng nơron lan truyền ngược, q trình mạng học khơng có gì thay đổi. Quy trình thực hiện bằng cách cho bộ mẫu học thứ nhất lan truyền tiến, tính sai số rồi lan truyền ngược sai số để điều chỉnh trọng số. Quá trình học tiếp tục bằng cách cho bộ mẫu học thứ hai lan truyền tiến, tính sai số J rồi lan truyền ngược để điều chỉnh trọng số. Quá trình tiếp diễn như thế cho đến khi sai số J < 𝜀 (số 𝜀 định trước) hoặc kết thúc số vịng lặp đã định trước. Kết thúc q trình học, mạng thu được bộ trọng số duy nhất (v, w) thỏa mãn tồn bộ bộ mẫu học.

Q trình dự báo được thực hiện sau khi quá trình học kết thúc. Ta sử dụng bộ mẫu (𝑥 , 𝑥 , …, 𝑥 ) lan truyền tiến với bộ trọng số (v, w) đã được điều chỉnh trong quá trình học. Quá trình lan truyền tiến kết thúc mạng thu được bộ giá trị đầu ra 𝑜 chính là kết quả cần dự báo.

Một phần của tài liệu Ứng dụng máy học trong nông nghiệp công nghệ cao (Trang 30 - 34)

Tải bản đầy đủ (PDF)

(73 trang)