Thuật toán học lan truyền ngược, trong đó có các giá trị trọng số được điều chỉnh một cách hệ thống để đáp ứng của mạng ngày càng gần với mong
muốn có thể coi như bài toán tối ưu. Tiêu chuẩn chung của thuật toán tối ưu đơn giản là hạ gradient với kích thước bước nhảy cố định.
Bản chất của thuật toán lan truyền ngược là ước lượng một trọng số riêng biệt dẫn tới đầu ra. Tuy nhiên trong thực tế, việc cài đặt thuật toán này gặp nhiều khó khăn khác nhau. Một trong những vấn đề đó là cực tiểu đạt được có thể chỉ là cực tiểu địa phương của hàm lỗi.
Hình 3.5. Minh họa vấn đề cực tiểu địa phương
Hình 3.5 chỉ là một lát cắt của không gian lỗi trong chiều của một trọng số. Có thể thấy rằng lỗi là một hàm không âm của biến trọng số. Trong trường hợp lý tưởng, giá trị E giảm về không. Tuy nhiên, trong thực tế việc học được coi là thành công nếu E nhó hơn một giá trị Emin có thể chấp nhận được. Hàm lỗi chỉ trong hình 3.5 có một cực tiểu toàn cục dưới giá trị Emin, nhưng nó cũng có 2 giá trị cực tiểu địa phương tại w11 và w12. Thủ tục học sẽ dừng sớm nếu nó bắt đầu tại điểm 2 và 3, do đó mạng được huấn luyện hội tụ tới cực tiểu toàn cục mong muốn, điểm bắt đầu nên ở 1.
3.2.2.1. Khởi tạo trọng số
Giá trị trọng số khởi tạo của một mạng truyền thẳng nhiều lớp ảnh hưởng lớn tới kết quả cuối cùng của bài toán. Thông thường chúng được khởi tạo tại các giá trị ngẫu nhiên nhỏ. Các giá trị khởi tạo trọng số bằng nhau không thể
wg w11 w12 w 0 1 2 3 E Emin
huấn luyện mạng tốt, nên cần xây dựng các giá trị trọng số không bằng nhau. Các giá trị trọng số khởi tạo không thể lớn, nếu không làm Sigmoid sẽ bão hòa từ khi bắt đầu và hệ thống sẽ bị kẹt tại một cực tiểu địa phương hoặc một vùng bằng phẳng rất gần điểm bắt đầu.
Trong chương trình, tác giả chọn các giá trị trọng số khởi tạo ngẫu nhiên trong khoảng [-0.7, 0.7].
3.2.2.2. Hằng số học
Một nhân tố quan trọng khác ảnh hưởng đến hiệu quả và tốc độ hội tụ của thuật toán lan truyền ngược là hằng số học . Thông thường, giá trị của hằng số học phụ thuộc vào bài toán cần giải quyết, không có một giá trị hằng số học nào mà thích hợp cho mọi trường hợp học khác nhau. Nếu cực tiểu nằm trên bề mặt rộng tạo ra các giá trị gradient nhỏ, khi đó giá trị lớn hơn sẽ làm cho hội tụ nhanh hơn. Tuy nhiên, đối với các bài toán mà cực tiểu nằm trên bề mặt dốc và hẹp, phải chọn giá trị nhỏ để tránh hiện tượng vượt quá đối với lời giải.
Việc lựa chọn hằng số học phụ thuộc vào lớp bài toán và kiến trúc mạng, giá trị trong khoảng [-10-3, 10] được sử dụng thành công trong nhiều thử nghiệm đối với thuật toán lan truyền ngược. Nếu hằng số học lớn, tốc độ hội tụ có thể tăng nhưng việc học có thể không chính xác, hoặc nó có thể không bao giờ ổn định tại bất kỳ một cực tiểu nào.
Mặt khác, các giá trị hằng số học tốt nhất tại lúc bắt đầu huấn luyện có thể không còn tốt được như vậy trong giai đoạn sau. Do đó, một phương pháp hiệu quả hơn là sử dụng một hằng số học thích nghi. Phương pháp trực giác là lựa chọn xem một cập nhật trọng số cụ thể có giảm hàm chi phí hay không. Nếu không, quá trình đã vượt quá và nên giảm .
3.2.2.3. Số lượng nơron lớp ẩn
Kích thước của lớp ẩn thường xuyên xảy ra trong quá trình ứng dụng mạng truyền thẳng nhiều lớp vào bài toán thực tế. Việc phân tích chính xác vấn đề này rất khó vì tính phức tạp của sơ đồ mạng. Do đó, kích thước của một lớp ẩn được xác định theo thử nghiệm. Một mạng có kích thước vừa phải (hàng trăm, hàng nghìn đầu vào), số lượng lớp nơron ẩn chỉ cần là phân số tương đối nhỏ của lớp đầu vào. Nếu mạng không hội tụ thì cần tăng thêm số nơron lớp ẩn.
Trong chương trình này, tác giả chọn số nơron lớp ẩn là 18.
3.2.2.4. Cách thức cập nhật trọng số
Việc học lan truyền ngược dựa trên việc giảm lỗi của từng mẫu một, yêu cầu hiệu chỉnh nhỏ các trọng số xảy ra sau mỗi biểu diễn của tập huấn luyện. Cách thực hiện này được gọi là cập nhật gia tăng. Ưu điểm của cách thực hiện này là thuật toán cài đặt đúng hạ gradient trên bề mặt lỗi.
Tuy nhiên, việc cập nhật trong số này có ảnh hưởng tới việc huấn luyện, vì thủ tục hiệu chỉnh trọng số chỉ gần với cách cực tiểu hóa theo phương pháp hạ gradient.
Trong luận văn này, tác giả sử dụng phương pháp cập nhật trọng số sau khi xử lý từng mẫu.
3.2.2.5. Xác định lỗi
Các thuật toán cập nhật trọng số khác nhau thì sử dụng các hàm chi phí khác nhau mới đảm bảo hiệu quả của mạng.
Tùy thuộc vào hàm tính lỗi, giá trị lỗi tối đa chịu đựng được lựa chọn khác nhau cho phù hợp đối với hàm chi phí, giá trị lỗi cực tiểu được lựa chọn cho bài toán dự báo thời tiết là 0.05 trên một mẫu huấn luyện.
3.2.2.6. Mẫu vào
Bài toán dự báo thời tiết sử dụng 6 thông số làm dữ liệu mẫu vào (nhiệt độ, độ ẩm, mưa, hướng gió, tốc độ gió, mây), vào khoảng thời gian cố định của các ngày liền nhau trong một mùa thời tiết ổn định của thành phố Hà Nội. Dữ liệu được tác giả thu thập từ trang web: http://vietbao.vn/vn/thoitiet/Ha-Noi/