Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Jugando con la Neuronas

jamarier's Diary
Por jamarier
departamento Departamento de control «Blando» o inteligente. , Sección Diarios
Puesto a las Sat Jul 30th, 2005 at 02:28:32 PM CET

Me gusta el olor al napalm por la mañan<ESC>ddi

En mi tiempo libre, he intentado en una parte de él, aprender sobre los sistemas «inteligentes de control». En ellos, un supervisor, establece unos parámetros que ha de cumplir el sistema y este solo se autoconfigura para cumplir lo mejor posible dichos objetivos. (luego la dificultad de diseñar el sistema, pasa de diseñar sus elementos constituyentes a determinar las reglas o parámetros que ha de cumplir el sistema.)

Existen tres corrientes básicas que cumplen dicho planteamiento: Los algoritmos genéticos (se los que ya hablamos aquí), la lógica difusa y Las redes neuronales.

Hoy nos toca hablar un poco de las redes neuronales.

 


Las redes neuronales son un conjunto de neuronas que están interconectadas entre sí. Al decir neuronas, me refiero a modelos matemáticos simplificados que imitan el comportamiento de una neurona real.

¿Cual es ese comportamiento? La neurona recibe información de entrada que no es más que una suma de estímulos. Cada fuente de estímulos puede estar ponderada, es decir, que no todas las entradas tienen la misma importancia. Si el estímulo supera cierto umbral decimos que está activa y empieza a transmitir estímulos a las neuronas conectadas al axón (la salida).

¿Por qué son tan interesantes las neuronas? Desde mi punto de vista de no profesional en el tema el interes fundamental de las neuronas es su versatilidad: si tenemos una neurona con tres entradas y dos salidas, podemos definir su estado como función de 4 valores: el peso de cada entrada y el valor de umbral. Dejando una salida conectada a una entrada para poder hacer realimentación, podemos: construir una puerta AND, una puerta OR, una XOR, una puerta NO, Un biestable JK, ... Y todo sin cambiar en absoluto la lógica del invento (sumar las entradas multiplicadas por sus pesos y compararlos con un umbral).

Es más, si en vez de usar una neurona escalon (el grafico de su salida frente al estímulo total es una función escalón), usamos una aproximación que sea derivable (una muy usada es una curva llamada sigmoidal, de forma similar a la i de las integrales). Podemos aplicar algoritmos iterativos que determinen cual debe ser los valores de pesos y umbral a usar.

Y esta es otra característica interesante. El sistema puede ser entrenado con una pequeña muestra de valores de entradas con sus correspondientes salidas y tras el proceso de entrenamiento, el sistema el sistema responde correctamente a estímulos para los que no fue entrenado (y eso se llama aprender). En un tutorial de un sistema neuronal, se ponía el siguiente ejemplo: tenemos una zona cuadrada con un círculo en su interior, se toman 100 puntos dentro de dicho cuadrado indicando si dichos puntos estaban dentro o fuera del círculo. Tras terminar el proceso de entrenamiento, la red había «aprendido» la forma del círculo y era capaz de indicar si un punto cualquiera del cuadrado estaba dentro o fuera del círculo y el grado de confianza de dicha creencia.

Pero yo he venido aquí a hablar de mi libro y no quiero seguir hablando de neuronas. Si quereis más información, he encontrado un documento que profundiza más en estos temas: monografía sobre redes neuronales.

Y mi libro es.........: un juego para aprender el funcionamiento de redes neuronales. Se llama bug brain. Bug brain es un espacio de trabajo tipo workbench, en el que a golpe de ratón, vamos situando neuronas, y las conectamos entre sí. Siguiendo una serie de libros que vienen en el juego, se nos van proponiendo retos que hay que superar para poder continuar.

La tareas, por orden progresivo de dificultad, hablan de simulación de puertas lógicas, dispositivos con memoria, temporizadores, ciclos de trabajo, maquinas de estado, actuación «inteligente» y otras. Como ejemplo, citaré una prueba que consiste en actuar sobre un tirador de cerveza, en el que un ojo detecta el paso del vaso vacío mientras se acerca al tirador y posteriormente activar el tirador el tiempo adecuado para que no rebose.

A quien le guste este tipo de tareas tipo «The incredible machine o aprender sobre el funcionamiento básico de las redes neuronales es muy recomendable que le eche un vistazo.

El software.

Fue desarrollado para windows y no hay expectativas de migración. Originariamente su modo de distribución era shareware, actualmente la versión completa está libremente disponible (freeware). La página web está congelada desde el 2002. Tiene un segundo problema añadido y es que no permite el uso simultáneo de varios usuarios: los libros con las tareas, están bloqueados hasta que has superado las tareas anteriores. Si varias personas quieren jugar, estaran disponibles para todos tantas pruebas como el que mejor vaya, (en mi caso es un fastidio porque mi sobrina avanza sin haber resuelto los problemas básicos). He escrito al autor del programa sobre este inconveniente y me ha respondido:

«There is no easy way for several people to use the program. The position is stored in a file called "bug.reg". You could make copies of that file. Or you could copy the whole Bug Brain directory so different people run different copies of the program.»

Ala, a disfrutarlo.

PD: El experimento 9 del primer libro, es imitar el comportamiento de una puerta XOR. Yo estaba ilusionado con mi modelo de imitación booleano, empleando 3 neuronas (2 AND con una entrada negada y un or). Ha sido un baño de humildad ver que la solución propuesta por el manual tenía sólo 2 neuronas (una inhibiendo el comportamiento de la otra) y más horrible aún, cuando en la web de bug brain, he visto que se puede imitar el comportamiento ¡con una sola neurona! (usando realimentación). <ESC>ZZ

< Clientes Ligeros (7 comments) | Los hombres misteriosos - Mistery Man's (2 comments) >
Enlaces Relacionados
· escomposlinux.org
· algoritmos genéticos
· monografía sobre redes neuronales
· bug brain
· The incredible machine
· More on jamarier's Diary
· Also by jamarier

Encuesta
Respecto a Bug Brain
· No me interesa el tema ni ese tipo de juegos. 0%
· No lo veré porque no tengo ningun PC con Ms Windows disponible 33%
· Me interesa el tema o el tio de juegos. Le echaré un vistazo 66%
· Ya me lo he instalado y he probado algunos tareas 0%
· Es un vicio, ya casi me lo he pasado 0%
· Ya me lo he pasado, ahora estoy construyendo un Cray Neuronal con módulo de sentimientos 0%

Votos: 3
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Jugando con la Neuronas | 0 comentarios ( temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda