Foros - Stratos

Programadores => Inteligencia Artificial => Mensaje iniciado por: Kain en 27 de Enero de 2007, 12:41:49 AM

Título: Redes Neuronales
Publicado por: Kain en 27 de Enero de 2007, 12:41:49 AM
Hola, saludos

Disculpenme si ya habia algun otro tema parecido,es que pienso usar las redes neuronales para la IA de nuestro juego, busque en google y no es muy buena la informacion que encontre, por lo menos en español en ingles esta mejor, pero no encuentro lo que necesito y queria preguntarles a ustedes que saben mas del tema, donde puedo encontrar informacion sobre las Redes Nuronales, lo basico y avanzado, como se programan, de que van y esas cosas.

Tambien que me expliquen esto, es muy tonto pero me biene la duda :

¿Si este sistema simula el pensamiento humano, por que nuestra maquina no se revela,hackea una fabrica y le ordena construir maquinas asesinas??? :lol:

Ahora en serio las preguntas son :

¿Se puede controlar la cantidad de inteligencia? ¿como?

¿Qué tan bueno es?

Gracias espero que me puedas ayudar.

Saludos  :D
Título: Redes Neuronales
Publicado por: Lex en 27 de Enero de 2007, 12:49:45 AM
...
Título: Redes Neuronales
Publicado por: Vicente en 27 de Enero de 2007, 12:56:34 AM
Hola,

una red neuronal es un aproximador universal. Esto es, no importa lo complicada que sea la función que quieras aproximar, que existe una red que la aproxima al nivel de detalle que quieras.

Dicho esto, no son inteligentes, simplemente asocian a una entrada una salida en cuestión de lo que se les ha enseñado anteriormente. Lo buenas que sean depende principalmente de lo bien que se las enseñe: lo buenos que sean los ejemplos, lo buena que sea la topología elegida, el tiempo que se la esté enseñando,...

Una red es carísima en tiempo de entrenar (pero bueno, eso da un poco igual), pero el coste en ejecución es mínimo. Y poco más, como cualquier cosa de IA, valen para algunas cosas y para otras no :p No ajustes la herramienta al problema, si no busca la herramienta que mejor te resuelve el problema ;)

Un saludo!

Vicente
Título: Redes Neuronales
Publicado por: Kain en 27 de Enero de 2007, 01:36:06 AM
Cita de: "Lex"Usar redes neuronales para hacer la IA de un juego es matar moscas a cañonazos. Además no es precisamente algo ligero de ejecutar. Si vas a hacer un FPS usa maquinas de estados como todo hijo de vecino para las entidades y los grupos de entidades.

Y respecto a lo de porque las maquinas no se "rebelan", principalmente porque la idea de inteligencia en una máquina, es un chiste, sobre todo por el hecho de que nadie sabe a ciencia cierta como está formado y como funciona el cerebro. Ante tal desconocimiento simular algo que no conoces es dar palos de ciego. Pero para cosas puntuales, como sistemas expertos o sistemas de apoyo, es una buena area para solventar cosas.

ehmm....era un chiste lo de por que no se revelaban :lol: , preo gracais por la aclaracion, y la tora cosa si consume mucho micro, pero por ejemplo los Neuralbtos para el quake 2 ocupan las Redes neuronales y va todo bien en un 166 Mhz, asi que no creo que haya mucho problema en 1 Ghz.


Vicente gracias :)
Título: Redes Neuronales
Publicado por: Zaelsius en 27 de Enero de 2007, 01:49:37 AM
No sé mucho de redes neuronales, pero como ejemplo de aplicación puedes probar este juego:

Democracy (http://www.democracygame.com/)

Pequeños fragmentos sobre la implementación:

Citar
Democracy has a highly advanced neural network that powers the simulation, but most modern computers are more than capable of handling it. As this is a turn based game, the only slowdown you will see is when you click the next turn button anyway.

Citar
The simulation behind the game also models a large number of variables which determine the condition of your country. Your policies might be popular at first, but they might lead to a fall in productivity, increased commuter journey times, increased air pollution... All these variables come back to haunt you, and to stay in power over several terms you will have to think far ahead.

Citar
The data that powers the game is in simple text files (csv files) that can be edited and changed in any spreadsheet or text program, so budding economists and social scientists can tinker with the simulation as much as they like.

De todas maneras, antes de pasar a las redes neuronales supongo que deberías dominar técnicas de IA más simples(sistemas expertos, satisfacción de restricciones, etc..). Así luego cuando te enfrentes a las redes neuronales no te sonará todo a chino.
Título: Redes Neuronales
Publicado por: Kain en 27 de Enero de 2007, 04:37:40 AM
Gracias, y acerca de dominar otras tecnicas, domino algunas pero no soy un especialista en esto, y pense que las redes neuronales suplirian mi falta de conocimiento, pero me he equivocado :roll:

Con errrores se aprende gente, asi que a estudiar redes neuronales, me tope con un librazo, y tengo suficiente codigo para examinar durante 2 semanas, asi que no os extrañeis de que no me pase por aca tan seguido.

Saludos. :wink:
Título: Redes Neuronales
Publicado por: Vicente en 27 de Enero de 2007, 10:22:00 AM
Un libro muy bueno para aprender redes neuronales es:

"Fundamentals of Neural Networks: Architectures, Algorithms and Applications" - Laurene Fausset

Un saludo!

Vicente
Título: Redes Neuronales
Publicado por: flipper83 en 28 de Enero de 2007, 07:16:36 PM
si quieres aprender redes neuronales, yo te recomiendo q empieces haciendo pruebas con mathlab, ya q te va a ser muy facil ver los resultados, y ver lo facil q aproximan.

Otra cosa importante es q tienes q tener cuidado con la redes neuronales, porq si la sobreentrenas, o la entrenas mal los resultados no van a ser los satisfactorios.

La verda q para un juego me suele gustar mas usar genéticos. Pero bueno dependiendo del uso q la quieras dar :P
Título: Redes Neuronales
Publicado por: Mars Attacks en 30 de Enero de 2007, 12:24:21 AM
¿Sobreentrenar? Es la primera vez que oigo eso. ¿En qué consiste, y qué inconvenientes presenta sobre la red neuronal?
Título: Redes Neuronales
Publicado por: Vicente en 30 de Enero de 2007, 08:28:15 AM
La red neuronal aprende por asociación: tu le enseñas un conjunto de casos de tu problema, y esperas que ella sola generalice para todos los demás casos del problema. Ejemplo: tu le enseñas una A escrita por ti, y esperas que reconozca una A escrita por mi (son las dos la misma letra pero la escritura no es exactamente igual).

El sobreaprendizaje se produce cuando la red se aprende el conjunto de patrones de entrenamiento y no generaliza. En ese caso acertaría tu A pero no la mía, lo cual es incorrecto. Esto ocurre cuando la red es demasiado grande, con lo cual se limita a memorizar todos los patrones en vez de intentar sacar características comunes de ellos.

Un saludo!

Vicente
Título: Redes Neuronales
Publicado por: Mars Attacks en 30 de Enero de 2007, 08:06:50 PM
Entiendo. Pues muchísimas gracias  :D
Título: Redes Neuronales
Publicado por: Daemon en 31 de Enero de 2007, 10:26:22 AM
Buenaaas,

Cita de: "Lex"Usar redes neuronales para hacer la IA de un juego es matar moscas a cañonazos. Además no es precisamente algo ligero de ejecutar. Si vas a hacer un FPS usa maquinas de estados como todo hijo de vecino para las entidades y los grupos de entidades.

Como dice Vicente, lo caro es entrenar, su ejecución es algo bastante ligerito. Un pensamiento alternativo sobre las máquinas de estados aplicadas a los juegos: tener comportamientos de grupo y cooperativos conduce a una explosion de estados que puede llevarse mucho trabajo, aunque las maquinas sean jerárquicas. Hay por el foro un post de los que hicieron el Fallen Lords en el que se decia que el codigo para la IA era (creo recordar) bastante mas de la mitad del codigo del juego y la técnica empleada eran máquinas de estados jerárquicas. Con una RNA, lo "único" que necesitarías sería montar la arquitectura y entrenarla adecuadamente.
Y único entre comillas, por que aquí eso (dependiendo de lo que quieras) es lo más complejo de las RNA: acertar con el/los tipos de red y sus arquitecturas adecuadas al problema (sobre todo si tienes que componer redes) y tener conjuntos de ejemplos de entrenamiento validos.

Cita de: "Lex"sobre todo por el hecho de que nadie sabe a ciencia cierta como está formado y como funciona el cerebro. Ante tal desconocimiento simular algo que no conoces es dar palos de ciego...

Totalmente cierto, aunque no por ello la gente deja de estudiar y sacar modelos abstractos. Hay una parte fundamental en lo que has dicho, y es la palabra "funciona" y si este funcionamiento es algoritmico o si es de otra clase. En el primer caso una RNA tan compleja y con los mismos sistemas ocupandose de las mismas funciones que su homólogo biológico emularía el comportamiento humano. En el segundo caso, pues no se si una RNA puede ser una clase de máquina más general que una máquina de Turing.

En fin, las RNA son una bonita técnica que se podría aplicar al campo de los juegos, aunque si bien es cierto que lo que triunfa son las máquinas de estados creo que es por una cuestión de comprensibilidad de la técnica, tanto en comprender como crearla adecuadamente, como en su funcionamiento (en saber que va a hacer ante una determinada situacion).

Saludos.
Título: Redes Neuronales
Publicado por: ffernandez en 08 de Febrero de 2007, 06:26:59 PM
Alguien ha utilizado alguna herramienta o framework sobre el que se ha basado para implementar una red neuronal?

Alguien tiene alguna experiencia con Joone?

Gracias y saludos
Título: Redes Neuronales
Publicado por: Vicente en 08 de Febrero de 2007, 08:06:27 PM
Yo normalmente las he implementado a mano. Las redes neuronales en general son muy sencillas de implementar como algoritmo, y muchas veces hay más trabajo antes de procesamiento de patrones que de curro de la propia red.

Un saludo!

Vicente
Título: Redes Neuronales
Publicado por: killrazor en 08 de Febrero de 2007, 09:34:11 PM
Deja que te explique el resultado de un debate que tuvimos en clase sobre maquinas que se rebelan:

la unica maquina capaz de dañar un humano es aquella que ha sido programada para pensar que la vida humana es una variable. Es decir, en el momento en que le damos a una maquina la potestad de matar, tenemos que contar que un dia podemos ser su objetivo. Asi que en realidad las maquinas no se rebelan, sino siguen ejecutando el algoritmo que llevan programado. La culpa siempre es del programador.
Título: Hola Vicente
Publicado por: satanas25 en 23 de Febrero de 2007, 11:22:36 PM
Hola amigo he oido k tu realizas programas de redes neuronales en leguajes de programacion, tengo la intencion de utilizar redes neuronales en una tesis, pero no encuentro informacion simple sobre el tema y kisiera tratar de no entrar en tanto detalle al inicio, kisiera pedirte si podrias facilitarme un programa , el mas simple k tengas en el lenguaje k lo tengas (si esta en java seria perfecto), bueno muchas gracias de antemano
Título: Redes Neuronales
Publicado por: Kain en 08 de Abril de 2007, 03:42:23 AM
A nosotros nos esta ayudando mucho el Neuralbots que al ser para Quake 2 nos sirve de ejemplo, no creo que te sirva para tu Tesis pero es un ejemplo muy simple.

Saludos
Título: sobre redes neuronales
Publicado por: Arianna en 18 de Abril de 2007, 06:48:42 PM
Hola, soy estudiante de Informatica, recien estoy haciendo mi tesis para concluir mi carrera y necesito si alguien puede por favor me oriente sobre alguna bibliografia relacionada con estos temas:
1- redes neuronales aplicadas a juegos 3D y 2D
2- redes neuronales aplicadas a simuladores
Título: Redes Neuronales
Publicado por: Zaelsius en 18 de Abril de 2007, 07:03:55 PM
http://www.google.com/search?hl=en&safe=off&client=safari&rls=en&q=neural+networks+game+ai+book&btnG=Search
Título: Redes Neuronales
Publicado por: CoLSoN2 en 18 de Abril de 2007, 08:52:53 PM
Hace poco compré un par de libros sobre IA, uno de ellos centrado en algoritmos genéticos y redes neuronales, y la verdad es que está cojonudo: AI Techniques for Game Programming (http://www.amazon.com/Techniques-Programming-Premier-Press-Development/dp/193184108X)
Título: Redes Neuronales
Publicado por: Vicente en 18 de Abril de 2007, 09:40:04 PM
Mat Buckland escribe muy bien :) "Programming Game AI by Example" también suyo es muy bueno (y trata la IA más clásica).

Un saludo!

Vicente
Título: Redes Neuronales
Publicado por: Jenny en 16 de Junio de 2007, 08:22:04 AM
Hola:
Ya que estan hblando del tema de redes neuronales, me gustarian que me recomendaran algun libro bueno para poder aprender a programarlas. Agradeceria mucho su ayuda.....
Saludos
Jenny
Título: Redes Neuronales
Publicado por: Vicente en 17 de Junio de 2007, 10:36:43 PM
En este hilo mismo tienes unos cuantos libros. Un saludo,

Vicente