Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Redes Neuronales

Iniciado por Kain, 27 de Enero de 2007, 12:41:49 AM

« anterior - próximo »

Kain

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
b]"La Unica Iglesia Que Ilumina Es La Que Arde"[/b]

Lex


Vicente

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

Kain

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 :)
b]"La Unica Iglesia Que Ilumina Es La Que Arde"[/b]

Zaelsius

No sé mucho de redes neuronales, pero como ejemplo de aplicación puedes probar este juego:

Democracy

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.

Kain

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:
b]"La Unica Iglesia Que Ilumina Es La Que Arde"[/b]

Vicente

Un libro muy bueno para aprender redes neuronales es:

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

Un saludo!

Vicente

flipper83

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
un cobarde forero en el tanatorio al mes sería un placentero trofeo digno de merecer

Mars Attacks

¿Sobreentrenar? Es la primera vez que oigo eso. ¿En qué consiste, y qué inconvenientes presenta sobre la red neuronal?

Vicente

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

Mars Attacks

Entiendo. Pues muchísimas gracias  :D

Daemon

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.
Imagina todo lo que puedes hacer. Despues hazlo.

ffernandez

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

Vicente

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

killrazor

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.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.