Hàm khởi động các trọng số :

Một phần của tài liệu Tài liệu Tổng quan về Neural Networks ppt (Trang 47 - 48)

Trước khi huấn luyện mạng feedforward, trọng số và ngưỡng phải được khởi tạo. Dùng lệnh

init để tạo giá trị đầu cho trọng số và ngưỡng.

Ví du ï: net = init (net)

Kỹ thuật cụ thể sử dụng khởi tạo giá trị mạng phụ thuộc vào các thông số mạng như

net.initFcn và net.Layer{I}.initFcn. Thông số net.initFcn sử dụng xác định hàm khởi động trên toàn mạng. Hàm mặc định cho mạng feedforward là initlay, cho phép mỗi lớp sử dụng hàm khởi động riêng của nó. Với cách cài đặt này, thông số net.layers{i}.initFcn xác định

phương pháp khởi động cho mỗi lớp.

Đối với mạng feedforward có 2 phương pháp khởi động lớp khác nhau, thường được sử dụng

là initwb và initnw. Hàm initwb tạo giá trị khởi động trở về giá trị cũ đã khởi động của từng

trọng số và ngưỡng. Đối với mạng feedforward giá trị khởi động của trọng số thường dùng

hàm rand cho giá trị ngẫu nhiên giữa (-1,1). Cách này thường sử dụng khi hàm truyền lớp là tuyến tính. Hàm initnw thường sử dụng với mạng feedforward có hàm truyền sigmoid.

Phương pháp này dựa trên kỹ thuật Nguyễn và Widrow, tạo giá trị trọng số và ngưỡng ban đầu cho một lớp trong vùng họat động của neuron lớp đó với mọi không gian ngõ vào. Phương pháp này có nhiều ưu điểm như : ít neuron bị thừa và công việc huấn luyện nhanh.

Hàm khởi động init thường được hàm newff gọi, do đó mạng tự động khởi tạo các giá trị mặc

định. Tuy nhiên người sử dụng nếu muốn có thể khởi tạo lại trọng số và ngưỡng. Ví dụ :net.layer{1}.initFcn = ‘initwb’;

net.inputWeights {1,1}.initFcn = ‘rands’; net.biases{1,1}.initFcn = ‘rands’;

net.biases{2,1}.initFcn = ‘rands’; net.init(net);

Phần 3_Chương 5 : Backpropagation

Khi trọng số và ngưỡng của mạng đã được khởi tạo, mạng đã sẵn sàng huấn luyện. Cách thức huấn luyện yêu cầu một tập các mẫu chỉ cách thức hoạt động của mạng gồm các cặp ngõ vào và ngõ ra. Hàm hiệu suất mặc định của mạng feedforward là trung bình bình phương sai số.

Thuật toán Backpropagation

Có nhiều thuật toán Backpropagation khác nhau. Cách thực hiện đơn giản nhất là cập nhật trọng số và ngưỡng trực tiếp sao cho hàm hiệu suất giảm nhanh nhất _ gradient có giá trị âm. Mỗi vòng lặp thuật toán được viết lại như sau :

xk+1 = xk - αkgk

Với xk : vector trọng số và ngưỡng hiện tại. gk : gradient hiện tại.

k : tốc độ học.

Có hai cách thực hiện gradient descent là chế độ incremental và chế độ batch. Trong chế độ incremental, gradient được tính và cập nhật trọng số sau mỗi ngõ vào đưa vào mạng. Trong chế độ batch, tất cả các ngõ vào đưa vào mạng trước khi cập nhật trọng số.

Một phần của tài liệu Tài liệu Tổng quan về Neural Networks ppt (Trang 47 - 48)