Quiero actualizar mi simulador de evolución para usar Hebb learning, como this one. Básicamente quiero que las criaturas pequeñas puedan aprender a encontrar comida. Logré eso con las redes básicas de feedforward, pero estoy atascado en comprender cómo hacerlo con el aprendizaje de Hebb. El principio básico del aprendizaje de Hebb es que, si dos neuronas disparan juntas, se conectan entre sí.¿Cómo utilizar el aprendizaje de Hebbian?
Por lo tanto, las ponderaciones se actualizan así:
weight_change = learning_rate * input * output
La información que he encontrado en la forma en que esto puede ser útil es bastante escasa, y yo no lo consiguen.
En mi versión actual del simulador, los pesos entre una acción y una entrada (movimiento, ojos) aumentan cuando una criatura come un trozo de comida, y no veo cómo se puede traducir en este nuevo modelo. Simplemente no hay espacio para decir si hizo algo bien o mal aquí, ¡porque los únicos parámetros son de entrada y salida! Básicamente, si una entrada activa el movimiento en una dirección, el peso seguirá aumentando, ¡sin importar si la criatura está comiendo algo o no!
¿Estoy aplicando el aprendizaje de Hebb de forma incorrecta? Solo como referencia, estoy usando Python.
Quiero las redes no sean de alimentación directa, el cerebro no funciona así, y creo que los bucles pueden enfriar. Entonces, no hay retroalimentación, dices ... Entonces, básicamente, ¿podrías explicar cómo funcionaría exactamente? Debido a que todavía parece estar roto, asociará la entrada A con la salida B, simplemente porque los pesos iniciales se han establecido así, y entonces aumentará la conexión entre ellos infinitamente, parece. – corazza