Pregunta

Estoy considerando usar una red neuronal para alimentar a mis enemigos en un juego de disparos espaciales que estoy construyendo y me estoy preguntando; ¿Cómo entrena a las redes neuronales cuando no hay un buen conjunto definitivo de salidas para la red?

¿Fue útil?

Solución

Estoy estudiando redes neuronales en este momento, y parecen bastante inútiles sin codificaciones de entrada y salida bien definidas, y no se escalan en absoluto a la complejidad (consulte http://en.wikipedia.org/wiki/VC_dimension ). es por eso que la investigación de redes neuronales ha tenido tan poca aplicación desde la exageración inicial hace más de 20-30 años, mientras que la IA semántica / basada en el estado se hizo cargo de los intereses de todos debido a su éxito en aplicaciones del mundo real.

  • Un buen lugar para comenzar podría ser averiguar cómo representar numéricamente el estado del juego como entradas para la red neuronal.
  • Lo siguiente sería averiguar qué tipo de salida correspondería a las acciones en el juego.
  • piensa en la estructura de la red neuronal para usar. Para obtener un comportamiento complejo interesante de las redes neuronales, la red casi tiene que ser recurrente. Necesitará una red recurrente porque tienen "memoria", pero más allá de eso no tiene mucho más para continuar. Sin embargo, las redes recurrentes con cualquier estructura compleja son realmente difíciles de entrenar para comportarse.
  • Las áreas donde las redes neuronales han tenido éxito tienden a ser la clasificación (imagen, audio, gramática, etc.) y el éxito limitado en la predicción estadística (¿qué palabra esperaríamos después de esta palabra, cuál será el precio de las acciones mañana? )

En resumen, probablemente sea mejor para ti usar redes neuronales para una pequeña parte del juego en lugar de la IA enemiga principal.

Otros consejos

Puedes consultar Equilibrio de dificultad dinámica del juego para varias técnicas y referencias de AI.

(OMI, puedes implementar comportamientos del enemigo , como " rodear al enemigo " ;, lo que será realmente genial, sin profundizar en los conceptos avanzados de AI)

Edit: ya que estás haciendo un juego de disparos espaciales y quieres algún tipo de IA para tus enemigos, creo que encontrarás interesante este enlace: Comportamientos de dirección para caracteres autónomos

¿Ha considerado que es fácilmente posible modificar un FSM en respuesta al estímulo? Es solo una tabla de números, después de todo, puede guardarla en la memoria en algún lugar y cambiar los números a medida que avanza. Lo escribí un poco en uno de los blogs de mi blog, y extrañamente lo detectó un sitio de noticias de Game AI. Luego, el tipo que construyó una IA de la Sra. Pacman que podría vencer a los humanos y obtener noticias reales dejó un comentario en mi blog con un enlace a información aún más útil

aquí está mi publicación de blog con mis incoherantes divagaciones sobre alguna idea que tuve sobre el uso de cadenas de Markov para adaptarse continuamente a un entorno de juego, y tal vez superponer y combinar algo que la computadora ha aprendido sobre cómo reacciona el jugador ante situaciones de juego.

http://bustingseams.blogspot.com/2008/03/03 /funny-obsessive-ideas.html

y aquí está el enlace al increíble recurso sobre el aprendizaje por refuerzo que el sr. smarty mcpacman publicado para mí.

http: //www.cs.ualberta. ca /% 7Esutton / book / ebook / the-book.html

Aquí hay otro enlace genial

http://aigamedev.com/open/architecture/online- adaptación-juego-oponente /

Estos no son enfoques de redes neuronales, pero se adaptan y aprenden continuamente, y probablemente se adapten mejor a los juegos que las redes neuronales.

Lo referiré a dos de los libros de Matthew Buckland.

El segundo libro entra en la propagación hacia atrás ANN, que es lo que la mayoría de la gente quiere decir cuando Habla de NN de todos modos.

Dicho esto, creo que el primer libro es más útil si quieres crear una IA de juego significativa. Hay una sección agradable y carnosa sobre el uso exitoso de FSM (y sí, es fácil tropezar con un FSM).

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