CẢI THIỆN TÍNH TỔNG QUÁT HÓA

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

Một trong những vấn đề thường xảy ra trong suốt quá trình huấn luyện mạng là quá khít. Sai số trong tập huấn luyện được kéo xuống rất bé, nhưng khi đưa dữ liệu mới vào thì mạng lại tạo sai số lớn. Mạng có nhớ được các mẫu huấn luyện, nhưng mạng không học được tính tổng quát hóa trường hợp mới.

Hình dưới cho thấy đáp ứng của mạng 1 – 20 - 1 huấn luyện lần theo hàm sin. Rõ ràng mạng này quá khít với dữ liệu và không tổng quát hóa tốt.

Một phương pháp cải thiện tính tổng quát hóa của mạng là sử dụng mạng với số neuron vừa đủ. Mạng càng lớn hàm càng phức tạp, phù hợp cho vấn đề lớn hơn. Nếu chúng ta sử dụng mạng đủ bé, mạng sẽ không đủ khả năng quá khít dữ liệu.

Phần 3_Chương 5 : Backpropagation

Vấn đề là chúng ta không biết được độ lớn của mạng là bao nhiêu. Có hai phương cải thiện tính tổng quát hóa là regularization và early stopping.

4.1 Regularization

Phương pháp này hoạt động dựa trên hàm hiệu suất đã được sửa đổi, thường chọn hàm tổng bình phương sai số mạng.

4.1.1 Hàm hiệu suất sửa đổi

Hàm hiệu suất thông thường sử dụng trong mạng Neural Networks là trung bình tổng bình phương sai số mạng ( ) ( )2 1 2 1 1 1 i i N i i N i a t N e N mse F = = ∑ = ∑ − = =

Nếu chúng ta thêm thành phần trung bình tổng bình phương các trọng số và ngưỡng của mạng thì tính tổng quát hóa sẽ tăng lên.

msereg =γ mse +( 1 -γ ) msw với γ là tỷ số hiệu suất và

21 1 1 j n j w n msw ∑ = =

sử dụng hàm hiệu suất sẽ cho số trọng số và ngưỡng nhỏ hơn, và sẽ làm cho mạng đáp ứng phẳng hơn, không quá khít.

Chúng ta rất khó xác định giá trị tối ưu của thông số tỷ số hiệu suất. Nếu thông số này quá lớn sẽ gây ra quá khít. Nếu thông số này quá nhỏ, mạng sẽ không đủ khít với dữ liệu huấn luyện.

4.1.2 Tự động tổng quát hóa.

Chúng ta rất muốn các thông số tổng quát hóa tối ưu tự động cài đặt. Một kỹ thuật cho vấn đề này là khung làm việc Bayesian của David Mackay. Trong khung làm việc này, trọng số và ngưỡng của mạng giả thiết là các biến ngẫu nhiên với phân bố cụ thể. Các thông số chuẩn hóa chưa hết phương sai ứng với hàm phân bố này. Chúng ta sẽ ước lượng các thông số này bằng kỹ thuật thống kê.

Trong Neural Networks, để mạng tự động tổng quát hóa các thông số, ta dùng hàm trainbr.

Hình dưới cho thấy đáp ứng của mạng 1-20-1 không quá khít dữ liệu, và do đó mạng sẽ tổng quát hóa tốt các dữ liệu mới vào. Nếu sử dụng mạng lớn hơn, mạng cũng sẽ không bao giờ quá khít dữ liệu.

4.2 Early Stopping

Trong kỹ thuật này, dữ liệu chia thành ba tập con. Tập thứ nhất là tập huấn luyện, dùng để tính gradient và cập nhật trọng số, ngưỡng của mạng. Tập thứ hai là tập phê chuẩn. Sai số trên tập này được giám sát trong suốt quá trình huấn luyện. Sai số phê chuẩn thường giảm trong giai đoạn đầu huấn luyện. Tuy nhiên khi mạng bắt đầu quá khít dữ liệu, sai số trên tập phê chuẩn thường bắt đầu tăng. Khi sai số phê chuẩn tăng sau một số vòng lặp, huấn luyện sẽ ngừng, trọng số và ngưỡng ở cực tiểu sai số phê chuẩn sẽ được trả lại.

Sai số tập kiểm tra không sử dụng trong quá trình huấn luyện, nhưng sử dụng để so sánh giữa các mô hình khác nhau.

Early Stopping có thể sử dụng trên bất kỳ hàm huấn luyện nào.

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

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

(76 trang)