Tôi muốn nâng cấp trình mô phỏng tiến hóa của mình để sử dụng học tập Hebb, như this one. Về cơ bản, tôi muốn những sinh vật nhỏ có thể học cách tìm thức ăn. Tôi đã đạt được điều đó với các mạng feedforward cơ bản, nhưng tôi bị mắc kẹt khi hiểu làm thế nào để làm điều đó với việc học tập của Hebb. Nguyên tắc cơ bản của việc học tập của Hebb là, nếu hai tế bào thần kinh bắn vào nhau, chúng nối với nhau.Làm thế nào để sử dụng học tập của Hebbian?
Vì vậy, các trọng số được cập nhật như thế này:
weight_change = learning_rate * input * output
Thông tin mà tôi đã tìm thấy trên cách này có thể hữu ích là khá khan hiếm, và tôi không nhận được nó.
Trong phiên bản giả lập hiện tại, trọng số giữa hành động và đầu vào (chuyển động, mắt) được tăng lên khi một sinh vật ăn một miếng thức ăn và tôi không thấy cách dịch có thể chuyển thành mẫu mới này. Chỉ đơn giản là không có chỗ để cho biết nếu nó đã làm điều gì đó đúng hay sai ở đây, bởi vì các thông số duy nhất là đầu vào và đầu ra! Về cơ bản, nếu một đầu vào kích hoạt chuyển động theo một hướng, trọng lượng sẽ tiếp tục tăng lên, cho dù sinh vật có đang ăn gì đó hay không!
Tôi có áp dụng cách học sai Hebb không? Chỉ để tham khảo, tôi đang sử dụng Python.
Tôi muốn các mạng không phải là feedforward, não không có tác dụng như vậy, và tôi nghĩ rằng vòng có thể làm mát. Vì vậy, không có thông tin phản hồi, bạn nói ... Vì vậy, về cơ bản, bạn có thể xây dựng chính xác như thế nào sẽ làm việc? Bởi vì nó vẫn có vẻ bị hỏng, nó sẽ kết hợp đầu vào A với đầu ra B, chỉ vì các trọng số bắt đầu đã được thiết lập như thế, và sau đó nó sẽ làm tăng kết nối giữa sau đó vô hạn, có vẻ như. – corazza