lunes, 11 de agosto de 2008

Redes Neuronales

CHenry [chenry@lab.matcom.uh.cu]

Escrito gracias a la colaboración de aquel que con su empeño y gran modulo de voz dedicado meramente a la repetición mas que entusiasta removedora de cerebros opto por olvidar la otrora cantidad de nicks que acompañan a nuestra comunidad por solo uno espero que este articulo te refresque la memoria y recuerdes algun otro nick en los encuentros de los sabados y si me refiero a ese personaje cuyo email esta alojado bajo el dominio de fresnomail.com.


En esta ocasión vamos a tocar un tema que ha levantado un gran interés en algunos de los amantes del underground y por tanto vamos a ver que tanto puede resultar de interés este tema. Antes de empezar comenzare por dejar claro el alto componente matemático que poseen tanto este como algunas otras estructuras del las que nos podríamos sostener para resolver determinados problemas software, por lo que debido a la diversidad de procedencia de los lectores de BH tratare de potabilizar el contenido, es decir tratare de llevarlo a todas las casas posibles, no obstante cualquier duda idea o algo que no quede lo suficientemente argumentado pueden escribirme al correo y veremos alguna manera de resolver la cuestión que se presente, también pido por favor la cooperación de la comunidad ya que el tema es algo engorroso escribir sobre el también lo es así pues pido que los interesados en que se continúen escribiendo sobre estos temas y dígase (IA, Grafos, árboles, etc.) que se lo soliciten a ALIEN para que el me lo haga llegar y no perder tiempo ni espacio en la revista.
PD Es mí deber aclarar que el estudio de esta teoría incluye a demás de tiempo y dedicación una fundamentación matemática al nivel del cálculo diferencial para poder ser apreciado su aporte. No obstante tratare de explicar todo lo más detalladamente posible aunque nunca será algo así como “Aprenda C++ en 21 días”.

Sin más comenzaremos a hablar de las REDES NEURONALES.

Esquema del artículo.

Comenzare con una idea general sobre el desarrollo de la teoría de las redes neuronales artificiales desde que comenzó hasta los últimos aportes que se han hecho a esta. Tratare de resumir el funcionamiento del cerebro en general y de cómo ocurre el proceso neuronal terminando con la analogía que llevo a utilizar este modelo biológico. Este primer articulo aunque tedioso y algo aburrido es fundamental para que el lector descubra la importancia de esta teoría (redes neuronales artificiales) y se adentre un poco en el ambiente tanto matemático como grafico que emplearemos en los siguientes artículos. (Además permitirá que decidamos si algo como esto nos servirá de algo o atascara nuestra mente durante jornadas enteras).

// Ahí va……

Resulta irónico pensar que maquinas de computo que son capaces de realizar 100 millones de operaciones en coma flotante (dígase números racionales, números con coma) por segundo, no sean capaces de entender el significado de las formas visuales o de distinguir entre distintas clases de objetos. Los sistemas de computación secuenciales son exitosos en la resolución de problemas matemáticos o científicos, en la creación, manipulación y mantenimiento de bases de datos, en comunicaciones electrónicas, en el procesamiento de textos, etc. pero tienen una gran incapacidad para entender e interpretar el mundo.
Esta dificultad de los sistemas de computo que trabajan bajo la filosofía de los sistemas secuenciales, desarrollado por Von Neuman, ha hecho que grandes cantidades de investigadores y científicos centren su atención en el desarrollo de sistemas de tratamiento de la información que permitan solucionar problemas cotidianos y naturales tal como lo hace el cerebro humano; este órgano biológico cuenta con varias características deseables para cualquier sistema de procesamiento digital, características tales como:
1- Es robusto y tolerante a las fallas, a diario mueren neuronas sin afectar su desempeño.
2- Es flexible, se ajusta a nuevos ambientes por medio de un proceso de aprendizaje, no hay que programarlo.
3- Puede manejar información difusa, incluso inconsciente (dígase mucho frió, poco calor, etc.).
4- Es pequeño compacto y consume poca energía

El cerebro humano es una computadora muy notable, es capaz de interpretar información imprecisa suministrada por el cerebro a un ritmo increíble. Logra discernir un susurro en una sala ruidosa, un rostro en un callejón mal iluminado y leer entre líneas un discurso, y lo más interesante el cerebro logra aprender sin instrucciones o guía de ningún tipo.
Basándose en la eficiencia de los procesos llevados a cabo por el cerebro, e inspirados en su funcionamiento, varios investigadores han desarrollado desde hace mas de 30 años la teoría de Redes Neuronales Artificiales (RNA), las cuales emulan el funcionamiento de las redes neuronales biológicas y que se han utilizado para aprender estrategias de solución basadas en ejemplos de comportamientos típico de patrones, estos sistemas no requieren que la tarea ejecutar se programe, ellos generalizan el comportamiento y aprenden de la experiencia.
La teoría de los RNA nos ha brindado una herramienta para resolver diversos problemas entre los que se encuentran:
1- Procesamiento de voz e imagen.
2- Reconocimiento de patrones
3- Planeamiento
4- Interfaces adaptativas
5- Predicción
6- Control y optimización
7- Filtrado de señales
8- Information Retrival

Las RNA no ejecutan instrucciones, responden en paralelo a las entradas que se les presentan, el resultado no se almacena en una posición de memoria, este es el estado de la red para el cual se logra equilibrio. El conocimiento de una RN no se almacena en instrucciones, el poder de la red esta en su topología y en los valores de loas conexiones (pesos) entre neuronas.

FUNCIONAMIENTO DE UNA NEURONA BIOLOGICA (resumido)

El cerebro consta de un gran numero (aproximadamente 1011) de elementos altamente interconectados (aproximadamente 104 conexiones por elemento), llamados neuronas. Estas neuronas tienen tres componentes principales, las dendritas, el cuerpo de la célula o soma y el axon. Las dendritas son el árbol receptor de la red, son como fibras nerviosas que cargan de señales eléctricas el cuerpo de la célula. El cuerpo de la célula realiza la suma de esas señales de entrada. El axon es una fibra larga que lleva la señal desde el cuerpo de la célula hacia otras neuronas. El punto de contacto entre el axon de una célula y la dendrita de otra es llamado sinapsis, la longitud de la sinapsis es determinada por la complejidad del proceso químico que estabiliza la función de la red neuronal.

Diagrama de una neurona biológica (disculpen por la calidad de la imagen sugerencias a Microsoft Paint)

Algunas estructuras neuronales son determinadas en el nacimiento otra parte es desarrollada a través del aprendizaje, proceso en el que nuevas conexiones se establecen y otras se pierden por completo.

Con esto tenemos algunas características de importancia y aunque se quedan muchas de gran importancia estas se quedaran para aquellos que quieran adentrarse de a lleno en el mundo de las RNA, ahora pasaremos a las características de una RNA y algunas de sus notaciones y formas de representación principales. Aunque creo que antes de hablar de una RNA se debería tener alguna noción de lo que es un árbol o un grafo pasaremos por alto esto asumiendo un posterior estudio para la comprensión de estos elementos.

El modelo de una neurona artificial es una imitación del proceso de una neurona biológica, puede verse también como un sumador hecho con un amplificador operacional tal como entendería nuestro amigo JKS. Para nombrar una neurona artificial se han optado por muchas variantes como nodo, neuronodo, celda, unidad o elemento de procesamiento (PE) la cual adoptaremos en este texto.

Equivalencia entre una neurona biológica y una artificial.

 

De la observación detallada del proceso biológico se han hallado los siguientes análogos con el sistema artificial:
• Las entradas Xi representan las señales que provienen de otras neuronas y que son capturadas por las dendritas.
• Los pesos Wi son las intensidades de la sinapsis que conecta dos neuronas, tanto Xi como Wi son valores reales.
• ? es la función umbral que la neurona debe sobrepasar para activarse, este proceso ocurre biológicamente en el cuerpo de la célula.

Las señales de entrada a una neurona artificial X1, X2, ,…, Xn son variables continuas en lugar de pulsos discretos, como se presentan en una neurona biológica. Cada señal de entrada pasa a través de una ganancia o peso sináptico o fortaleza de la conexión cuya función es análoga a la función sináptica de las neuronas biológicas. Los pesos pueden ser positivos(exitatorios) o negativos (inhibitorios), el nodo sumatorio acumula todas las señales de entrada multiplicadas por los pesos o ponderadas y la pasa a la salida a través de una función umbral o función de transferencia. La entrada neta a cada PE puede ser vista como;
netai = ? XiiWi
Una vez calculada la activación de la PE el valor de salida es:
Xi = fi (netai )
Donde fi representa la función de activación para esa unidad, que corresponde a la función escogida para transformar la entrada netai en el valor de salida xi , y que depende de las características especificas de la red.

Hasta aquí la introducción a la introducción si hasta aquí se ha entendido algo entonces solo nos resta empezar con la tranca de la meta tranca, luego de esta brevísima introducción vendría:
1- Notación que emplearemos.
2- Funciones de transferencia
3- Topología de una red.
Y con esto terminamos la introducción y veríamos algunos tipos de redes neurales y algunas aplicaciones, aunque ya se vio una de las aplicaciones que poseen estas en los encuentros de los sábados en este caso su uso en Retrieval Information.

Espero que hayan podido llegar hasta acá y les sea de interés este tema, es todo un mundo que explorar y como todo mundo nuevo que se respete nos brindara tanto conocimientos como solución a muchos problemas irresueltos hasta ahora en nuestro propio banco de problemas. Y para todos aquellos interesados en el mundillo de la IA este señores este es un link más que necesario obligatorio.



Artículos relacionados


No hay comentarios: