2011-10-16 51 views
6

PyBrain là thư viện dựa trên Python để tạo mạng nơron. Tôi đã xem các hướng dẫn trên trang web của họ nhưng họ dường như không giúp tôi rất nhiều. Mô phỏng tôi dự định làm là có một chiếc xe chạy trên đường ray, được trang bị 5 máy đo khoảng cách hiển thị khoảng cách hiện tại giữa nó và các bức tường, nằm giữa 0.01.0. Phòng tập thể dục dựa trên tốc độ trung bình. (Cao hơn sẽ tốt hơn) Đầu ra sẽ là một số, số lượng bạn quay cho thời điểm cụ thể đó, tất cả các con đường bên phải là 1.0 và tất cả các con đường còn lại là -1.0 hoặc 0.0, tùy theo điều kiện nào đơn giản hơn.Làm thế nào để sử dụng PyBrain?

Tôi giả sử sử dụng thiết lập này, tôi sẽ có 5 nơron đầu vào và 1 nơron đầu ra. Chỉ cần ví dụ, tôi sẽ giả sử tôi có 4 tế bào thần kinh ẩn. Giả sử tôi đã thực hiện một chức năng gọi là runSimulation(), lấy mạng thần kinh làm đối số, đẩy xe xuống một khóa học sử dụng mạng thần kinh đó và trả về tốc độ trung bình (tập thể dục).

Tôi có thể đào tạo mạng nơron dựa trên kết quả lặp đi lặp lại của runSimulation() như thế nào?


Tôi hy vọng tôi giải thích điều này một cách chính xác, (chưa kể đến thậm chí một chút hiểu biết những gì tôi đang làm) nhưng nếu tôi không, xin vui lòng cho tôi biết.

Trả lời

9

Dường như đây là vấn đề học tập được giám sát. Trong loại vấn đề này, bạn CẦN cung cấp một số câu trả lời TRƯỚC KHI đào tạo NN của bạn.

Bạn có thể thử phương pháp

  1. Tạo một mê cung đơn giản cho chiếc xe của bạn sau.
  2. Lái xe của bạn theo cách thủ công trong mê cung này.
  3. Thu thập thông tin xoay của bạn

Giả sử bạn có xe sau đây.

  • rf = rangefinder
  • rf_f = rangefinder_forward
  • rf_r = rangefinder_right
  • rf_l = rangefinder_left
  • rf_60 = rangefinder_60 độ
  • rf_320 = rangefinder_320 độ

Dưới đây là của bạn sơ đồ rf

320 f 60 
    \ |/
    \ |/
    \ |/ 
l--------------r 
     | 
     | 
     | 

Bộ tàu của bạn phải như sau.

rf_f , rf_l , rf_r, rf_60, rf_320 , turn 
0  0  0 0 0  0  0 // we go directly, no obstacles detected 
0  0  0 0 0  0  0  // we go directly, , no obstacles detected 
1.0 0  0 0 0  0  0 // We see a wall in forward far away. 
0.9 1  0 0 0  0  0.2 // We see a wall in forward and left, 
              therefore turn right slightly etc. 
0.8 0.8  0 0 0  0  0.4 // We see a wall in forward and left, 
             therefore turn right slightly etc. 

Sau khi bạn đã cung cấp tập dữ liệu đào tạo này cho NN mà bạn có thể đào tạo.

Các vấn đề liên quan