1.1 Cấu trúc mạng
Mạng Elman thông thường là mạng hai lớp có đường hồi tiếp từ ngõ ra lớp một về ngõ vào. Đường hồi tiếp này cho phép mạng Elman nhận ra và phát những mẫu thời gian thay đổi.
Mạng Elman có neuron tansig trong lớp ẩn và neuron purelin ở lớp ngõ ra. Sự kết hợp này là đặc biệt trong mạng hai lớp với những hàm truyền này có thể gần đúng bất kì hàm nào với độ chính xác tùy ý. Yêu cầu duy nhất là lớp ẩn phải có đủ neuron. Số neutron ẩn nhiều hơn thì mạng sẽ khít về độ phức tạp.
Lưu ý rằng mạng Elman khác những mạng hai lớp thông thường khác ở chỗ lớp thứ nhất có kết nối hồi tiếp. Độ trễ trong kết nối này lưu trữ giá trị từ thời điểm trước, có thể sử dụng ở thời điểm hiện tại.
Vì thế thậm chí với hai mạng Elman có cùng trọng số và ngưỡng, có ngõ vào giống nhau ở cùng thời điểm, ngõ ra có thể khác nhau do trạng thái hồi tiếp khác nhau.
Bởi vì mạng có thể lưu thông tin nên có thể học các mẫu theo thời gian cũng như không gian. Mạng Elman có thể huấn luyện để đáp ứng và phát cả hai loại mẫu này.
1.2 Thiết kế mạng Elman
Mạng Elman có hai hay nhiều lớp có thể được tạo bằng hàm newelm. Các lớp ẩn thường có hàm truyền tansig. Hàm truyền lớp ngõ ra là purelin.
Hàm huấn luyện backpropagation mặc định là trainbfg, hoặc có thể dùng trainlm, nhưng quá nhanh nên không cần thiết sử dụng trong mạng Elman. Hàm học mặc định là learngdm và hiệu suất là mse.
Khi mạng được tạo, mỗi lớp trọng số và ngưỡng được khởi động bằng phương pháp khởi động lớp Nguyễn – Widrow trong hàm initnw.
1.3 Huấn luyện mạng Elman
Mạng Elman có thể được huấn luyệân bằng hai hàm : train hoặc adapt.
1.3.1 Hàm train
• Sau khi toàn bộ chuỗi ngõ vào đã vào mạng, ngõ ra được tính và so sánh với chuỗi đích để phát ra chuỗi sai số.
• Với mỗi nấc thời gian sai số được truyền ngược để tìm gradient của các sai số đối với mỗi trọng số và ngưỡng. Gradient này là gần đúng khi các trọng số và ngưỡng góp phần vào sai số thông qua kết nối hồi tiếp trễ được bỏ qua.
Phần 3_Chương 7 : Mạng hồi tiếp
• Sau đó gradient này được sử dụng để cập nhật trọng số với hàm huấn luyện tự chọn, thường dùng hàm traingdx.
1.3.2 Hàm adapt
• Sau khi ngõ vào đã vào mạng, phát ngõ ra sai số của mạng.
• Sai số được truyền ngược lại để tính gradient của sai số cho mỗi trọng số và ngưỡng. Gradient này là gần đúng khi các trọng số và ngưỡng góp phần tạo sai số qua kết nối hồi tiếp trễ được bỏ qua.
• Sau đó gradient gần đúng này cập nhật trọng số với hàm học tự chọn, thường chọn hàm
learngdm.
Mạng Elman không tin cậy bằng những mạng khác bởi vì cả hàm train và adapt đều sử dụng hàm gần đúng sai số gradient.
Đối với cùng một vấn đề mạng Elman cần dùng nhiều neuron ẩn hơn các mạng khác. Mạng Elman khó có thể tìm được các trọng số đúng nhất cho các neuron ẩn vì gradient sai số được tính gần đúng.
Hàm train huấn luyện mạng Elman phát ra một chuỗi vector đích khi có chuỗi vector vào. Các vector ngõ vào và đích là các ma trận P và T. Hàm train lấy các vector này và trọng số, ngưỡng của mạng, huấn luyện mạng sử dụng phương pháp backpropagation tốc độ học thay đổi có quán tính, và trả về trọng số và ngưỡng mới.