Bao nhiêu dữ liệu cho việc học sâu?


9

Tôi đang tìm hiểu về học tập sâu (cụ thể là CNN) và cách nó thường đòi hỏi rất nhiều dữ liệu để ngăn chặn quá mức. Tuy nhiên, tôi cũng đã được thông báo rằng mô hình có công suất càng cao / càng nhiều tham số thì càng cần nhiều dữ liệu để ngăn chặn quá mức. Do đó, câu hỏi của tôi là: Tại sao bạn không chỉ giảm số lớp / nút trên mỗi lớp trong mạng thần kinh sâu và làm cho nó hoạt động với lượng dữ liệu nhỏ hơn? Có một "số lượng tham số" cơ bản mà mạng nơ ron yêu cầu cho đến khi nó "khởi động" không? Bên dưới một số lớp nhất định, các mạng thần kinh dường như không hoạt động tốt như các tính năng được mã hóa bằng tay.

Câu trả lời:


10

Đây là một câu hỏi hay và thực sự đã có một số nghiên cứu giải quyết các vấn đề về năng lực / chiều sâu mà bạn đề cập.

Có rất nhiều bằng chứng cho thấy độ sâu trong các mạng nơ ron tích chập đã dẫn đến việc học các hệ thống phân cấp tính năng phong phú và đa dạng hơn. Về mặt thực nghiệm, chúng ta thấy các mạng hoạt động tốt nhất có xu hướng "sâu": Oxford VGG-Net có 19 lớp, kiến ​​trúc Google Inception sâu, Mạng lưới sâu của Microsoft có 152 lớp được báo cáo và tất cả đều đạt được điểm chuẩn ImageNet rất ấn tượng các kết quả.

Nhìn bề ngoài, thực tế là các mô hình công suất cao hơn có xu hướng phù hợp hơn trừ khi bạn sử dụng một số loại thường xuyên. Một cách mà các mạng quá sâu có thể ảnh hưởng đến hiệu suất là chúng sẽ nhanh chóng gặp phải lỗi đào tạo rất thấp trong một số ít thời gian đào tạo, tức là chúng ta không thể đào tạo mạng cho một số lượng lớn thông qua bộ dữ liệu. Một kỹ thuật như Dropout, một kỹ thuật chính quy hóa ngẫu nhiên, cho phép chúng ta huấn luyện các lưới rất sâu trong thời gian dài hơn. Điều này có hiệu lực cho phép chúng tôi tìm hiểu các tính năng tốt hơn và cải thiện độ chính xác phân loại của chúng tôi vì chúng tôi nhận được nhiều thông qua dữ liệu đào tạo hơn.

Liên quan đến câu hỏi đầu tiên của bạn:

Tại sao bạn không chỉ giảm số lớp / nút trên mỗi lớp trong mạng nơ ron sâu và làm cho nó hoạt động với lượng dữ liệu nhỏ hơn?

Nếu chúng ta giảm kích thước tập huấn luyện, điều đó ảnh hưởng đến hiệu suất khái quát hóa như thế nào? Nếu chúng tôi sử dụng kích thước tập huấn luyện nhỏ hơn, điều này có thể dẫn đến việc học một biểu diễn tính năng phân tán nhỏ hơn và điều này có thể ảnh hưởng đến khả năng khái quát hóa của chúng tôi. Cuối cùng, chúng tôi muốn có thể khái quát tốt. Có một tập huấn luyện lớn hơn cho phép chúng ta tìm hiểu một hệ thống phân cấp tính năng phân tán đa dạng hơn.

Liên quan đến câu hỏi thứ hai của bạn:

Có một "số lượng tham số" cơ bản mà mạng nơ ron yêu cầu cho đến khi nó "khởi động" không? Bên dưới một số lớp nhất định, các mạng thần kinh dường như không hoạt động tốt như các tính năng được mã hóa bằng tay.

Bây giờ chúng ta hãy thêm một số sắc thái cho các cuộc thảo luận ở trên về vấn đề chiều sâu. Nó xuất hiện, được đưa ra ở nơi chúng ta đang ở ngay bây giờ với tình trạng hiện đại, để đào tạo một mạng lưới hiệu suất cao từ đầu, một số kiến ​​trúc sâu được sử dụng.

Nhưng đã có một chuỗi kết quả tập trung vào nén mô hình . Vì vậy, đây không phải là một câu trả lời trực tiếp cho câu hỏi của bạn, nhưng nó có liên quan. Nén mô hình quan tâm đến câu hỏi sau: Với một mô hình hiệu suất cao (trong trường hợp của chúng ta, giả sử là một mạng lưới sâu), chúng ta có thể nén mô hình, giảm độ sâu hoặc thậm chí đếm tham số và giữ nguyên hiệu suất không?

Chúng tôi có thể xem hiệu suất cao, năng lực cao lưới net là giáo viên . Chúng ta có thể sử dụng giáo viên để đào tạo một mô hình học sinh nhỏ gọn hơn không?

Đáng ngạc nhiên câu trả lời là: . Đã có một loạt kết quả, một bài viết hay cho viễn cảnh mạng lưới là bài viết của Rich Caruana và Jimmy Ba Do Deep Nets Thực sự cần phải sâu? . Họ có thể đào tạo một mô hình nông để bắt chước mô hình sâu hơn, với rất ít mất hiệu suất. Có một số công việc nữa về chủ đề này, ví dụ:

trong số các công trình khác Tôi chắc chắn tôi đang thiếu một số bài viết tốt khác.

Đối với tôi những loại kết quả này đặt câu hỏi những mô hình nông này thực sự có bao nhiêu công suất. Trong bài viết về Caruana, Ba, họ nêu khả năng sau:

"Kết quả cho thấy sức mạnh của học sâu có thể nảy sinh một phần từ sự phù hợp giữa kiến ​​trúc sâu và quy trình đào tạo hiện tại, và có thể tạo ra các thuật toán học tốt hơn để đào tạo các lưới chuyển tiếp nông chính xác hơn. số lượng tham số, độ sâu có thể giúp việc học dễ dàng hơn, nhưng có thể không phải lúc nào cũng cần thiết "

Điều quan trọng là phải rõ ràng: trong bài viết của Caruana, Ba, họ không đào tạo một mô hình nông cạn từ đầu, tức là đào tạo từ chỉ các nhãn lớp, để có được hiệu suất nghệ thuật. Thay vào đó, họ huấn luyện một mô hình sâu hiệu suất cao và từ mô hình này, họ trích xuất xác suất nhật ký cho mỗi biểu dữ liệu. Sau đó chúng tôi đào tạo một mô hình nông để dự đoán các xác suất đăng nhập này. Vì vậy, chúng tôi không đào tạo mô hình nông trên nhãn lớp, mà sử dụng các xác suất nhật ký này.

Tuy nhiên, nó vẫn là một kết quả khá thú vị. Mặc dù điều này không cung cấp câu trả lời trực tiếp cho câu hỏi của bạn, nhưng có một số ý tưởng thú vị ở đây rất phù hợp.

Về cơ bản: điều quan trọng cần nhớ là có sự khác biệt giữa "năng lực" lý thuyết của một mô hình và tìm một cấu hình tốt cho mô hình của bạn. Cái sau phụ thuộc vào phương pháp tối ưu hóa của bạn.

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.