Giả sử chúng ta muốn huấn luyện mạng với một tập dữ liệu huấn luyện mẫu bao gồm giá trị đầu vào là xp và giá trị đầu ra mong muốn là dp. Với mỗi đầu vào được cung cấp sẵn, đầu ra của mạng sai khác so với đầu ra mong muốn dp một lượng là (dp – yp), trong đĩ yp là đầu ra thực sự của mạng với đầu vào xp. Ta định nghĩa một hàm lỗi tại noron k dựa trên sựsai khác này là:
= 12( − ) (2.1)
Hàm lỗi tổng cộng Ep được xác định bằng tổng lỗi cho mẫu dữ liệu p đối với các noron đầu ra:
= 12 = 12 ( − ) (2.2) Trong đĩ Nolà tổng số các noron đầu ra
Chúng ta xét noron k với đầu vào là các đầu ra của các noron trong lớp trước đĩ. Như phần phân tích cấu trúc của một noron ởtrên ta cĩ các biểu thức tại noron k này:
= (2.3) = . (2.4) là tín hiệu đầu ra của noron k với mẫu p.
là tín hiệu đầu vào cho noron k cũng chính là đầu ra của các noron ở lớp trước Mục đích quá trình học đối với thuật tốn làn truyền ngược là điều chỉnh các tham sốtựdo sao cho hàm lỗi tổng cộng Ep đạt cực tiểu. Phương pháp tìm cực tiểu thơng dụng nhất là tính đạo hàm của hàm sốvà dịch chuyển vector tham sốlại gần điểm đạo hàm triệt tiêu theo chiều ngược với vector gradient của hàm số. Ý tưởng của phương pháp này là thay đổi các trọng sốwkjmột lượng là ∆ được định nghĩa bởi cơng thức.
∆ = − (2.5) γ là hằng sốtỷlệvà chính là tốc độhọc của mạng Chúng ta cĩ thểviết = . (2.6) Từ(2.4) thì: = (2.7) Đặt = − kết hợp với (2.6) và (2.7), cơng thức (2.5) được viết lại thành ∆ = (2.8) Việc cịn lại là phải tính . Để tính được nĩ chúng ta thực hiện một chút biến đổi = − = − . (2.9)
Trong cơng thức (2.10) giá trị ′ chính là đạo hàm của hàm truyền tại noron k Để tính được ta xét 2 trường hợp.
Trường hợp thứ nhất: noron k đang xét là noron đầu ra của mạng (k = o). Trong trường hợp này chúng ta cĩ:
= = −( − ) (2.11) Do đĩ:
= = ( − ). ′( ) (2.12)
Trường hợp thứ hai: noron k đang xét thuộc lớp ẩn (k = h). Trong trường hợp này chúng ta khơng thể biết được sự sai khác giữa đầu ra mong muốn của noron với đầu ra thực tế như trường hợp thứnhất. Tuy nhiên chúng ta cĩ thểtính tốn thơng qua các noron thuộc lớp đầu ra như sau:
Coi = ( , , … … . , , … )khi đĩ:
= . = . = .
= − (2.13) Đo đĩ
= ′( )
Phương trình (2.12) và (2.14) đưa ra một thủ tục đệ quy cho việc tính tốn δ đối với tất cả các noron trong mạng. Sau khi tính được δ chúng ta sẽ dễ dàng tính được sự biến thiên trọng sốliên kết theo cơng thức (2.8).
Trên cơ sở đĩ thuật tốn lan truyền ngược sai số đểhuấn luyện mạng MLP được mơ tảchi tiết hơn như sau:
INPUT: tập mẫu học được cung cấp dưới dạng (x = (x1,x2,..,xp),y = (y1,y2,..,yq)) với số lượng mẫu là N
OUTPUT: các ma trận trọng sốw1,w2,..,wM và các vector ngưỡng tại các nơ ron ởcác lớp b1,b2,..,bM
PROCESS:
Bước 1: Khởi tạo các tham sốmạng (trọng số và ngưỡng), hệ sốhọc , sai số tối đa cho phép Emaxvà sốlần huấn luyện tối đa I.
Khởi tạo k = 1 (mẫu học thứk), i = 1 (lần huấn luyện thứi)
Bước 2: Đưa mẫu huấn luyện thứk vào mạng
Bước 3: Lan truyền xuơi tín hiệu đầu vào lần lượt qua các lớp nơ ron (từ lớp ẩn thứ nhất, qua lớp ẩn thứ hai, .., đến lớp đầu ra) để tính đầu ra tương ứng tại mỗi lớp theo cơng thức (2.0)
Bước 4: Tính sai số E và tín hiệu sai số ở lớp đầu ra của mạng theo cơng thức (2.12) và (2.13).
Bước 5: Lan truyền ngược tín hiệu sai số (từ lớp đầu ra, qua lớp ẩn cuối cùng,.., đến lớp ẩn đầu tiên) để cập nhật trọng số và ngưỡng tại các lớp nơ ron cũng như tính tín hiệu sai sốcho lớp trước nĩ theo các cơng thức (2.10)(2.11) và (2.7)
Bước 6: Nếu k<N (chưa hết sốmẫu học) thì k:=k+1 và quay lại bước 2, ngược lại chuyển tới bước 7
Bước 7: Tính sai sốtrung bình sau lần huấn luyện thứi với tập mẫu gồm N mẫu E = ( N k k E 1 ) /N
Nếu E<Emaxhoặc i>I thì trả về các ma trận trọng số và các vector ngưỡng và kết thúc quá trình huấn luyện. Ngược lại gán i:=i+1 rồi lặp lại các bước từ2 tới 7
Như vậy tơi đã trình bày vềmạng noron cũng như thuật tốn lan truyền ngược. Đĩ là những cơ sở lý thuyết để tơi tiến hành đi vào xây dựng mơ hình chương trình của tơi sau này.
Chương 4. MẠNG NORON CHO QUÁ TRÌNH DỰ ĐỐN