Pregunta

Actualmente estoy usando Q-Learning para tratar de enseñar a un robot de cómo moverse en una habitación llena de paredes / obstáculos. Debe comenzar en cualquier lugar de la habitación y llegar al estado final (esto podría ser, a la baldosa que tiene una puerta, por ejemplo). Actualmente cuando se quiere pasar a otra ficha, irá a esa ficha, pero yo estaba pensando que en el futuro podría añadir una posibilidad aleatoria de ir a otra ficha, en lugar de eso. Sólo se puede mover hacia arriba, abajo, izquierda y derecha. Alcanzando los rendimientos estado objetivo +100 y el resto de las acciones rendirá 0.

Estoy utilizando el algoritmo encontrado aquí , que se puede ver en la imagen de abajo.

text alt text alt

Ahora, en relación con esto, tengo algunas preguntas:

  1. Cuando se utiliza Q-Learning, un poco como Redes neuronales, debo hacer distinción entre una fase de aprendizaje y una fase usando? Es decir, parece que lo que se muestra en la primera la imagen es un aprendizaje de uno y en el segunda imagen un usando uno.
  2. leí en alguna parte que tomaría una número infinito de pasos para llegar a la tabla de valores de Q óptimo. Es eso ¿cierto? Yo diría que eso no es cierto, pero yo debe ser perdiendo algo.
  3. He oído también sobre TD (Temporal Diferencias), que parece ser representado por la siguiente expresión:

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    

    que para alfa = 1, sólo parece la se muestra una primera en la imagen. Qué diferencia hay que hacer gamma, aquí?

  4. He corrido en algunas complicaciones si Intento una habitación muy grande (300x200 píxeles, por ejemplo). Como lo esencialmente corre al azar, si el habitación es muy grande, entonces se necesitará una mucho tiempo para ir al azar de la primer estado al estado objetivo. Qué métodos puedo utilizar para acelerarlo? yo Pensamos que tal vez tener una mesa llena con verdades y Falsas, con respecto todo lo que tenga en ese episodio ya ha estado en ese estado o no. Si es así, me descarto, si no, que había ve allí. Si yo ya había estado en todos esos estados, a continuación, me gustaría ir a una uno al azar. De esta manera, sería justo como lo estoy haciendo ahora, sabiendo que me repito una estados con menos frecuencia que actualmente hago.
  5. Me gustaría probar algo más que mi tabla de consulta para valores de Q, por lo que estaba pensando en el uso de Neural Las redes con propagación hacia atrás para esta. Probablemente voy a tratar de tener una Red neuronal para cada acción (arriba, abajo, izquierda, derecha), ya que parece que es lo que da mejores resultados. Hay cualquier otro método (además de SVM, que parecer demasiado difícil de implementar yo mismo) que podría utilizar y implemento que me daba buena Valores de Q función de aproximación?
  6. ¿Cree que los algoritmos genéticos produciría buenos resultados en este situación, usando la matriz de valores de Q como base para ello? Cómo podría probar mi función de aptitud? Me da la impresión de que GA se utiliza generalmente para las cosas de manera más aleatoria / compleja. Si observamos detenidamente nos daremos cuenta de que los valores de Q siguen una tendencia clara - que tiene los valores Q más altos cerca de la meta y los inferiores cuanto más lejos estás de ellos. Va a tratar de llegar a esa conclusión por GA probablemente llevaría demasiado tiempo?
¿Fue útil?

Solución

No soy un experto en el tema, pero voy a tomar una grieta en respuesta directamente a sus muchas preguntas
[Por cierto, debo conseguir repeticiones múltiples + para cada pregunta! ... Es broma, si yo estaba en "para los SO repeticiones", me quedaría claro a partir de la publicación que conseguir un total de 20 puntos de vista con la mitad de éstos visitantes que tiene una idea aproximada de los conceptos a la mano]

1) Q-Learning una cosa de dos fases?
Sí, Q-aprendizaje implica dos fases, una fase de aprendizaje y una fase de acción. Al igual que con muchos algoritmos de aprendizaje automatizados es posible "seguir aprendiendo", mientras que en la fase de acción.

2) número infinito de pasos para una matriz G óptima? No sabe dónde la declaración que requiere un número infinito de ciclos de aprendizaje para aprender una matriz Q óptima. Para estar seguro (y a menos que los factores alfa y gamma son incorrectos), el algoritmo converge, aunque sólo a una velocidad posiblemente muy lento. Esto me lleva a saltar y hacer comentarios sobre su idea de un espacio de 300x200 juego, y así ... SÍ !, para un espacio tal, un Dado el modelo de recompensa, tomará lo que parece infinito para conseguir una mesa Q "óptima" . Ahora bien, puede ser posible que matemáticamente el algoritmo nunca alcanza el Nivarna óptima, pero para soluciones prácticas, trabajando en la asíntota es sólo lo suficientemente bueno.

3) Papel de gamma en el modelo de TD
Esto indica la importancia de diferir recompensas, en un camino (en este caso con su modelo, literalmente), hacia una mayor recompensa. Esto evita que el algoritmo general de quedarse atascado en maximas locales del espacio de soluciones, a costa de hacer que el aprendizaje aún más lento ...

4) Sugerencias para ayudar con el aprendizaje de un laberinto grande
A riesgo de traicionar la naturaleza de Q-aprendizaje, se puede iniciar el robot en cada vez más distancias de la meta. Esto le ayudará a mejorar la matriz Q en el área de los estados que rodean a la meta en primer lugar, a continuación, el aprovechamiento de esta matriz Q parcialmente aprendido como el estado inicial tomada, al azar, dentro de un radio creciente desde el objetivo.

Otro, más arriesgado, enfoque (y de hecho uno que puede desmentir aún más la verdadera naturaleza de Q-Learning), sería la de cambiar el R matriz para proporcionar cada vez más altas recompensas, al azar coloca situado a una distancia decreciente de la portería. La desventaja de este método es que puede introducir oportunidades de muchos maximas locales en el espacio de soluciones, en el que el algoritmo puede quedarse atascados si la tasa de aprendizaje y otros factores no están ajustados correctamente.

Ambos enfoques en particular, este último puede ser interpretado como un su (el diseñador) "cableado" en una solución. Otros dirán que esto es simplemente como forma de introducir una pizca de DP en la mezcla ...

5) Red neuronal (NN) 6) Algoritmos Genéticos (GA)
Sin opinión acerca de la adición o NN GA en la mezcla.
Probablemente hizo lo suficiente de un tonto de mí mismo con un poco de la declaración menos-que-matemáticamente exacta anteriormente. ; -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top