Làm thế nào để tôi cải thiện sự ổn định mạng thần kinh của tôi?


11

Tôi đang sử dụng mạng nơ ron trong R để xây dựng NN với 14 đầu vào và một đầu ra. Tôi xây dựng / huấn luyện mạng nhiều lần bằng cùng một dữ liệu đào tạo đầu vào và cùng một cài đặt / kiến ​​trúc mạng.

Sau khi mỗi mạng được tạo ra, tôi sử dụng nó trên một tập hợp dữ liệu thử nghiệm độc lập để tính toán một số giá trị dự đoán. Tôi thấy có một sự khác biệt lớn trong mỗi lần lặp của dữ liệu dự đoán, mặc dù tất cả các đầu vào (cả dữ liệu huấn luyện và dữ liệu kiểm tra) vẫn giữ nguyên mỗi lần tôi xây dựng mạng.

Tôi hiểu rằng sẽ có sự khác biệt về trọng số được tạo ra trong NN mỗi lần và rằng không có hai mạng thần kinh nào giống nhau, nhưng tôi có thể cố gắng tạo ra các mạng phù hợp hơn trên mỗi chuyến tàu, với dữ liệu giống hệt nhau?


Bạn có thể cho chúng tôi biết thêm một chút chi tiết về thuật toán học tập và kiến ​​trúc mà bạn (hoặc gói R) đã sử dụng không? NN có bao nhiêu lớp?
Lucas

Hi Lucas, Tôi đang sử dụng neuralnet gói R liên kết trong đó có một bài viết giải thích tốt ở đây liên kết . Tôi đang sử dụng một lớp ẩn gồm 8 nơ-ron. Các thuật toán học tập là backpropagation đàn hồi với backtracking trọng lượng.
tfb

Câu trả lời:


8

Nói chung, bạn sẽ có được sự ổn định hơn bằng cách tăng số lượng các nút ẩn và sử dụng phân rã trọng lượng thích hợp (còn gọi là hình phạt sườn núi).

Cụ thể, tôi sẽ khuyên bạn sử dụng các caretgói để có được một sự hiểu biết tốt hơn về độ chính xác của bạn (và thậm chí sự không chắc chắn về độ chính xác của bạn.) Cũng trong dấu nháy là avNNetlàm cho một người học quần thể ra khỏi nhiều mạng thần kinh để giảm ảnh hưởng của những hạt giống đầu tiên. Cá nhân tôi chưa thấy cải thiện lớn bằng cách sử dụng avNNetnhưng nó có thể giải quyết câu hỏi ban đầu của bạn.

Tôi cũng chắc chắn rằng đầu vào của bạn đều được điều hòa đúng cách. Bạn đã trực giao và sau đó thu nhỏ lại chúng? Caret cũng có thể thực hiện việc xử lý trước này cho bạn thông qua pcaNNetchức năng của nó .

Cuối cùng, bạn có thể xem xét tung trong một số kết nối lớp bỏ qua. Bạn cần đảm bảo rằng không có điểm ngoại lệ / điểm đòn bẩy trong dữ liệu của bạn để làm lệch các kết nối đó.


Thật thú vị, tôi đã chuyển việc đào tạo mạng sang chức năng 'nnet' (có sẵn trong gói cùng tên) và kết quả trên bộ dữ liệu thử nghiệm đã trở nên ổn định hơn nhiều - có thể phải làm gì đó với các cách khác nhau về trọng lượng Khởi tạo giữa hai gói?
tfb

Trong các nnettrọng số ban đầu, tất cả đều được khởi tạo thành một số ngẫu nhiên thống nhất trong khoảng .7 0,7 và 0,7 nếu tôi nhớ lại chính xác. Và bạn có thể kiểm soát cường độ trong một tham số. Tôi thực sự đã có may mắn với nnetgói và chưa bao giờ thử bất kỳ tùy chọn nào khác. May mắn nhất!
Shea Parkes

1

Tôi chưa làm việc với R, vì vậy tôi chỉ có thể đưa ra những lời khuyên chung chung hơn.

Bạn đã kiểm tra xem thuật toán có hội tụ không? Một lời giải thích khả dĩ có thể là các bộ tham số khác nhau đều nằm ở một nửa đến cùng một mức tối ưu.

Nếu thuật toán luôn hội tụ nhưng đến một tối ưu cục bộ khác, thì có rất nhiều phương pháp phỏng đoán bạn có thể cố gắng tránh những thuật toán đó. Một chiến lược đơn giản khi sử dụng độ dốc dốc ngẫu nhiên (SGD) sẽ là sử dụng các lô nhỏ hơn và động lượng lớn hơn . Các kích cỡ lô nhỏ hơn có hiệu quả đưa một số tiếng ồn vào đào tạo có thể giúp thoát khỏi một số tối ưu cục bộ. Một chiến lược phức tạp hơn nhiều sẽ là khởi tạo các trọng số bằng cách sử dụng bộ tự động .


Cũng như một FYI, miễn là anh ta bằng cách sử dụng nnettừ cơ sở R, nó sử dụng các phương pháp tối ưu hóa BFGS từ R optim. Nó thực sự tính toán độ dốc để có được một hình ảnh của bề mặt. Không có xử lý hàng loạt và không có tham số động lượng cố định trong quá trình thực hiện. Đã nói tất cả, nó có thể dễ dàng không hội tụ; đặc biệt là có rác trong.
Shea Parkes

@SheaParkes cảm ơn vì những bình luận và câu trả lời Shea. Tôi thực sự đang sử dụng gói mạng nơ-ron - xem bình luận ở trên. Nó sử dụng thuật toán backpropagation đàn hồi với quay lui trọng lượng
tfb

Sau đó, tôi xin lỗi Lucas, tôi đã bỏ lỡ miếng ngon đó. Tôi rất vui vì bạn đã làm nó ra tfb.
Shea Parkes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.