Đào tạo Deep Nets trên một máy tính xách tay thông thường


7

Liệu một người nghiệp dư có hứng thú với việc có được một số kinh nghiệm "thực hành" trong việc hủy bỏ và đào tạo mạng lưới thần kinh sâu sắc, sử dụng một máy tính xách tay thông thường cho mục đích đó (không có GPU), hoặc sẽ không có kết quả tốt trong việc thời gian hợp lý mà không cần một máy tính / cụm / GPU mạnh mẽ?

Cụ thể hơn, CPU của máy tính xách tay là thế hệ Intel Core i7 5500U, với RAM 8GB.

Bây giờ, vì tôi chưa chỉ định vấn đề nào tôi muốn giải quyết, tôi sẽ đóng khung các câu hỏi của mình theo một cách khác: kiến ​​trúc sâu nào mà bạn khuyên tôi nên thử thực hiện với phần cứng của mình, để đạt được mục tiêu sau : Có được trực giác và kiến ​​thức về cách thức và thời điểm sử dụng các kỹ thuật đã được giới thiệu trong 10 năm qua và rất cần thiết cho cuộc nổi dậy của các mạng lưới sâu (như hiểu về khởi tạo, bỏ học, rmsprop, chỉ để nêu tên một số).

Tôi đã đọc về các kỹ thuật này, nhưng tất nhiên là không tự mình thử, tôi sẽ không biết chính xác cách thức và thời điểm thực hiện chúng theo cách hiệu quả. Mặt khác, tôi e rằng nếu tôi thử sử dụng một PC không đủ mạnh, thì tốc độ học tập của tôi sẽ chậm đến mức sẽ vô nghĩa khi nói rằng tôi đã hiểu rõ hơn. Và nếu tôi thử sử dụng những kỹ thuật này trên lưới nông, có lẽ tôi sẽ không xây dựng được trực giác đúng đắn.

Tôi tưởng tượng quá trình học tập của tôi như sau: Tôi triển khai một mạng lưới thần kinh, để nó thực hành trong vài giờ, xem những gì tôi đã có và lặp lại quá trình. Nếu tôi làm điều này một hoặc hai lần một ngày, tôi sẽ rất vui nếu sau 6 tháng tôi sẽ có được kiến ​​thức thực tế tương đương với những gì một chuyên gia trong lĩnh vực này nên biết.


2
Công cụ gì? máy tính xách tay gì có vấn đề gì vậy kích thước dữ liệu gì? cái gì hợp lý? Điều này là quá ít được xác định
Sean Owen

Tôi nghĩ rằng chỉnh sửa đã cải thiện câu hỏi. Một điều: Không có tiêu chuẩn "chuyên nghiệp trong lĩnh vực" sử dụng các kỹ thuật học sâu. Những gì một chuyên gia nên biết là do đó không được xác định rõ.
Neil Slater

1
Tôi biết câu hỏi không được xác định rõ theo nghĩa là nó có câu trả lời đúng cụ thể, nhưng tôi nghĩ rằng nó được đặt câu đủ tốt để những người có kinh nghiệm có thể cung cấp hiểu biết của họ và "phác họa" ranh giới của những gì tôi có thể mong đợi đạt được máy tính xách tay được đề cập ở trên
Lior

Tôi đoán bạn có thể thử hướng dẫn đó (hoặc một cái gì đó khác) và xem nó mất bao lâu trên máy tính của bạn: tenorflow.org/versions/r0.8/tutorials/mnist/pros/index.html . Dù sao, đào tạo mạng lưới sâu với bộ dữ liệu thú vị nên có thể có trên máy tính thông thường, NN không chỉ phù hợp cho các cụm phân tán lớn.
Robin

Câu trả lời:


9

Có, một máy tính xách tay sẽ hoạt động tốt để làm quen với một số dự án học tập sâu:

Bạn có thể chọn một vấn đề học tập nhỏ và có được một số hiểu biết sâu sắc bằng cách sử dụng máy tính xách tay để thử.

Các Theano dự án có một bộ các hướng dẫn về việc công nhận chữ số mà tôi đã chơi với và moded trên một máy tính xách tay.

Tensorflow cũng có một bộ hướng dẫn .

Tôi để một số cuộc chạy dài hơn đi qua đêm, nhưng không có gì là khó hiểu.

Bạn cũng có thể xem xét việc sử dụng AWS hoặc một trong các dịch vụ đám mây khác. Với 20-30 đô la, bạn có thể thực hiện một số tính toán lớn hơn trên đám mây trên một số loại nút tính toán đàn hồi . Ưu điểm phụ là bạn cũng có thể liệt kê AWS hoặc các dịch vụ đám mây khác dưới dạng kỹ năng trong sơ yếu lý lịch của bạn :-)

Hi vọng điêu nay co ich!


1
Cũng giống như thêm rằng tôi đã làm như vậy, nghĩa là, đã sử dụng Theano trên máy tính xách tay để xác minh rằng một kiến ​​trúc nhất định có thể giảm tổn thất nhật ký một cách nhất quán. Sau đó, tôi sẽ thuê thời gian trên một nhà cung cấp GPU trên đám mây (ví dụ AWS) và để nó chạy trong hàng chục giờ, cho đến khi khuỷu tay trên bộ xác thực bật lên.
Shark8me

3

[...] Có phải là vô vọng để có được kết quả tốt trong thời gian hợp lý mà không cần máy tính / cụm / GPU mạnh mẽ?

Không có gì là vô vọng và bạn có thể, không nghi ngờ gì, có được nhiều kinh nghiệm liên quan với việc học sâu bằng cách sử dụng thông số kỹ thuật máy tính mà bạn đã đề cập. Nó sẽ đi xuống kiến ​​trúc mạng thần kinh của bạn (số lớp và nơ ron), kích thước của tập dữ liệu (số lượng đầu vào), bản chất của dữ liệu (mẫu vốn có) và triển khai. Và mặc dù bạn có thể cần giới hạn bản thân với những điều liên quan, điều đó sẽ không ngăn bạn tiếp thu trực giác và kiến ​​thức mà bạn đang đề cập. Bạn sẽ dễ dàng gặp các vấn đề về quá mức, ảnh hưởng của chính quy hóa, ảnh hưởng của đào tạo trước, tác động của các loại nơ-ron và kiến ​​trúc khác nhau.

Tôi sẽ cho bạn một ví dụ cụ thể hơn. Tôi đã triển khai một vài thuật toán học sâu (tất cả dựa trên CPU) trong Julia và chạy chúng trên MacBook Air (tương tự như thông số kỹ thuật của bạn). Mã này không được tối ưu hóa khủng khiếp vì các nơ-ron và các lớp được biểu diễn bằng các cấu trúc dữ liệu thực tế chứ không phải là một ma trận khổng lồ. Vì vậy, cải thiện hiệu suất hơn nữa là có thể.

Đối với mạng được kết nối đầy đủ 56x300x300x300x1 (56 đầu vào và khoảng 200k kết nối) và 250 ví dụ đào tạo, tôi có thể nhận được 5k truyền lại trong vòng một ngày. Thường thì điều đó đủ để phù hợp với dữ liệu hoặc hoàn toàn phù hợp với tập huấn luyện (nhưng điều này sẽ phụ thuộc vào tập dữ liệu của bạn và các yếu tố đã nói ở trên). Nếu dữ liệu có các mẫu mạnh và ít hơn 10 nghìn ví dụ, bạn thường sẽ không cần nhiều lần lặp đó. Không có gì lạ khi vài trăm lần lặp trước đào tạo và sàng lọc dẫn đến kết quả tốt. Vì vậy, có, máy tính xách tay của bạn đủ tốt và bạn có thể chạy các thử nghiệm có ý nghĩa mất vài giờ.

[...] Những kiến ​​trúc sâu nào mà bạn muốn giới thiệu mà tôi cố gắng thực hiện với phần cứng của mình, để đạt được mục tiêu sau: Có được trực giác và kiến ​​thức về cách thức và thời điểm sử dụng các kỹ thuật được giới thiệu trong 10 năm qua và rất cần thiết đến cuộc nổi dậy của lưới sâu.

Tôi đề nghị chọn các bộ dữ liệu nhỏ hơn với các mẫu mạnh. Và tôi khuyên bạn nên xem xét các kỹ thuật đào tạo trước như mã hóa tự động bởi vì chúng thường yêu cầu ít lần lặp hơn để đạt được kết quả tốt hơn. Bắt đầu với việc truyền bá trở lại và xây dựng từ đó, thử các kiến ​​trúc khác nhau, các loại nơ-ron, sử dụng chính quy, mã hóa tự động, bỏ học, ...

Ngoài ra, hãy đảm bảo chọn ngôn ngữ hoặc thư viện biểu diễn cho các thử nghiệm 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.