Etiqueta: Redes neuronales

Inteligencia Artificial: perspectivas y realizaciones

Inteligencia Artificial: perspectivas y realizaciones

Durante mucho tiempo he conocido de cerca muchas personas que incrédulas contemplaban   como la inteligencia artificial comenzaba a crecer apoderándose de los principales titulares en seminarios, conferencias, encuentros profesionales y congresos sobre ciencias de la computación en muchos lugares del orbe.

La incredulidad, manifiesta en juicios de valor mezquinos, consideraba a esta rama multidisciplinaria como un hijo no deseado; el tiempo en su devenir ha mostrado la utilidad de la inteligencia artificial en la solución de problemas recurrentes con nuevos enfoques y paradigmas que hacen interesante su aplicación al interior de la fascinante ciencia de las computadoras.

La Inteligencia Artificial, o IA en términos cortos, es una combinación de la ciencia de las computadoras, la psicología y la filosofía. La IA cubre un espectro amplio, consistente en campos de estudio diferentes, estos van desde la visión por computadora hasta las redes neuronales y los sistemas expertos. El elemento que los campos de la IA tienen en común es la creación  o  simulación de maquinas que puedan “pensar”.

Para clasificar las maquinas como pensantes, es necesario definir inteligencia. El problema que aparenta ser simple es uno de los más complejos del área, en el entendido que la inteligencia  puede representar, por ejemplo, la solución adecuada de problemas complejos o a establecer generalizaciones y relaciones entre objetos. ¿Qué se podría decir acerca de la percepción y la comprensión? ¿Dónde podrá situarse las formas de adquisición del conocimiento? y, si el pensar es un acto natural concomitante con la naturaleza ¿Cuáles son las herramientas que se necesitan para simular un comportamiento natural del pensar humano?

Estos cuestionamientos son centrales en la concepción de este texto resumen de la inteligencia artificial. Una primera versión vio la luz en el anterior siglo, específicamente en el año 1998, cuando fue presentado como texto de lectura preliminar para la materia del mismo nombre en la Universidad Mayor de San Andrés. A inicios del siglo, y con el advenimiento acelerado de las tecnologías web, se publicó el texto en el sitio web de la UMSA. Aún es posible obtener una descarga gratuita del contenido en este sitio: www.umsanet.edu.bo\docentes \gchoque\M420texto.htm.

Cargador Cargando...
Logotipo de EAD ¿Tarda demasiado?

Recargar Recargar el documento
| Abrir Abrir en una nueva pestaña

Descargar [1.52 MB]

Redes Neuronales Artificiales con Matlab

Redes Neuronales Artificiales con Matlab

Las redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos simples denominados neuronas, las cuales cuentan con organización jerárquica, intentando interactuar con los objetos del mundo real del mismo modo que lo hace el sistema nervioso biológico en tareas cognoscitivas como reconocer un rostro familiar, hablar, comprender el lenguaje y recuperar contextualmente información apropiada desde la memoria. Como en la naturaleza, la función de la red está determinada principalmente por la conexión entre elementos, se puede entrenar una red neuronal para que realice una función particular mediante el ajuste de los valores de las conexiones, denominadas pesos, entre dichos elementos y la elección de una función de transferencia que produzca el resultado deseado. Dichas redes son aplicadas principalmente a problemas de clasificación, reconocimiento de patrones y predicción. El presente libro trata del paradigma conexionista de la inteligencia artificial, llamado redes neuronales artificiales, la principal característica de una red neuronal es la capacidad de aprender, realizando tareas para las cuales todavía no existen algoritmos, o para las cuales es virtualmente imposible escribir una serie de pasos lógicos o aritméticos que proporcionen la solución adecuada a una tarea determinada.

En este libro encontrara la base necesaria para emprender proyectos relacionados con la Inteligencia Artificial, específicamente con la fascinante área de las redes neuronales, y su aplicación en el reconocimiento de patrones. En los capítulos que componen la  presente publicación, se intenta que el lector a través de cada uno de los mismos vaya adquiriendo las bases teóricas y practicas necesarias. El presente libro realiza una introducción a las redes neuronales, para luego ir profundizando en temas tales como el aprendizaje, modelos de redes neuronales artificiales, filtros adaptativos lineales, los mapas auto-organizados de Kohonen y finalmente presenta un caso de estudio de reconocimiento de patrones a través de la red neuronal de Hopfield; en cada uno de estos capítulos, luego de haber desarrollado la teoría necesaria, se complementa con un ejemplo practico y ejercicios que el lector debe realizar para comprender de mejor manera el tema o modelo estudiado, cabe hacer notar que cada uno de los ejemplos desarrollados fueron previamente analizados siguiendo el método propuesto en el segundo capitulo, para posteriormente implementarlos en programas de MatLab.

Cargador Cargando...
Logotipo de EAD ¿Tarda demasiado?

Recargar Recargar el documento
| Abrir Abrir en una nueva pestaña

Descargar [2.01 MB]

RECONOCIMIENTO DE COPÉPODOS MEDIANTE REDES NEURONALES ARTIFICIALES

RECONOCIMIENTO DE COPÉPODOS MEDIANTE REDES NEURONALES ARTIFICIALES

El mundo  esta creado de una forma realmente  asombrosa todo se encuentra  en perfecto  equilibrio, parte de esta armonía, en el reino animal se encuentra  en la cadena trófica alimenticia,  esta cadena se identifica   con  el  refrán  que  dice:  “que  el  más  grande  se  come  al  más  pequeño”,  al  diminuto, microscópico  en  realidad,  que  muchas  veces  pasa  desapercibido   sin merecer  la  importancia   que realmente  tiene,  este  es el  caso  del copépodo  un  pequeño,  microscópico   crustáceo  acuático,  que protagoniza la  presente  investigación.   El  estudio  de este microcrustáceo  no  es   sencillo,  debido principalmente  a su tamaño,  por  eso mediante  la  investigación   se presenta  una  solución para  su reconocimiento,  obteniendo un prototipo basado  en redes  neuronales  artificiales  que reconoce  las especies  de copépodos  existentes  en los  Lagos Titicaca  y Poopó, el reconocimiento se realiza  por medio  de imágenes  fotográficas tomadas  a través  de un microscopio electrónico.  El ambiente  de trabajo  es  la  Unidad   de  Limnología   de  la  Carrera  de  Biología,  Facultad  de  Ciencias  Puras  y Naturales,  de la Universidad Mayor  de San  Andrés.

Para  el desarrollo  del prototipo  se aplican  las bases  de la ingeniería  del software, con la metodología  ágil Iconix y para comprobar  la calidad  del producto software se utilizan métricas  de calidad orientadas  a objetos, las cuales muestran resultados satisfactorios en su aplicación.

 

Cargador Cargando...
Logotipo de EAD ¿Tarda demasiado?

Recargar Recargar el documento
| Abrir Abrir en una nueva pestaña

Descargar [2.24 MB]

Análisis de datos con redes neuronales

Análisis de datos con redes neuronales

Si se busca en el Diccionario de la Real Academia Española de la Lengua el vocablo “estadística” aparecen tres acepciones de dicha palabra: (1) Estudio de los datos cuantitativos de la población, de los recursos naturales e industriales, del tráfico o de cualquier otra manifestación de las sociedades humanas. (2) Conjunto de estos datos. (3) Rama de la matemática que utiliza grandes conjuntos de datos numéricos para obtener inferencias basadas en el cálculo de probabilidades. Según Saez Castillo, en el libro publicado el año 2012 titulado “Apuntes de estadística para ingenieros”, se menciona que probablemente el más común de los significados conocidos de la palabra sea el segundo, y por ello se suele ver en los medios de comunicación que cualquier recopilación de cifras referentes a algún asunto es denominado, de forma muy reduccionista, estadística o estadísticas. Sin embargo, el valor real de la Estadística como ciencia tiene que ver mucho más con la primera y la tercera acepción del Diccionario de la Real Academia Española de la Lengua. Concretamente, el primero de los significados se corresponde con lo que se estudia como “estadística descriptiva”, donde la estadística se utiliza para resumir, describir y explorar datos, y el tercero con lo que se denomina “inferencia estadística”, donde lo que se pretende mediante la estadística es utilizar datos de un conjunto reducido de casos para inferir características de éstos al conjunto de todos ellos. La estadística es una disciplina que proporciona las herramientas necesarias para el análisis de los datos. Dado que en algunas situaciones no es posible realizar estudios exhaustivos en toda la población, la estadística permite cuantificar la probabilidad de cometer error al extrapolar los resultados obtenidos de una serie de muestras al conjunto de la población. Por tanto, la estadística permite cuantificar el error que se comete al aceptar los resultados obtenidos a partir de muestras, habitualmente basadas en encuestas, de una población generalmente muy extensa.

En la tesis doctoral de Castellano, publicada el año 2009 con el título “Modelización estadística con redes neuronales”, se menciona que una red neuronal es un proceso sólido y paralelamente distribuido con la propensión natural a acumular procedimientos experimentales y hacerlos disponibles para su uso. Se parece al cerebro en dos aspectos, por una parte la red adquiere conocimientos a través de un proceso de aprendizaje, y por otra las conexiones inter-neuronales, conocidas como cargas sinápticas presentan una gran solidez encargándose de almacenar conocimiento. Las redes neuronales se usan principalmente con tres objetivos diferenciados: (1) Como modelos nerviosos biológicos. Parte de las motivaciones biológicas que dieron lugar a las redes neuronales se han conservado, y se siguen empleando como instrumentos que ayudan a entender y duplicar el funcionamiento del sistema nervioso de los seres vivos. (2) Como procesadores adaptativos de señal en tiempo real. Corresponde al área de reconocimiento de patrones, se encuentran implementadas en hardware para aplicaciones tipo robot. La tecnología, la ciencia y los negocios han aportado nuevas tareas de interés, que en algunos casos son eminentemente tecnológicas. El objetivo es construir máquinas que realicen estas labores de un modo más rápido, barato y exacto que las personas. Cada vez es más factible idear sistemas automáticos que sustituyan y mejoren al especialista, o clonar al experto. (3) Como métodos de análisis de datos. Principalmente este trabajo se encuentra centrado en esta última faceta de las redes. De hecho en multitud de ocasiones si se analiza detalladamente lo que está haciendo una red neuronal se descubrirá que se dedica a rescribir métodos estadísticos clásicos. Así mismo cualquier red, aún cuando su objetivo final sea algo muy concreto y a simple vista alejado de la estadística, como “la voz” del desfibrilador que indica si el paciente tiene pulso y no puede recibir la descarga, fue diseñada, y por lo tanto puede ser analizada desde un punto de vista meramente estadístico.

En palabras del investigador Escobar, en el artículo publicado el año 2002 titulado “Análisis de datos con redes neuronales aplicadas al diagnóstico de la solvencia empresarial”, la introducción de las redes neuronales, en el análisis de datos, viene motivada por el deseo de mejorar los resultados que se alcanzaban con los modelos estadísticos, análisis discriminante y regresión lógica principalmente, que proporcionan regiones de decisión definidas a través de combinaciones lineales de sus variables, mientras que en las redes neuronales es posible la definición de regiones mucho más complejas y, por lo tanto, la reducción del número de elementos incorrectamente clasificados. Otra característica positiva que presentan las redes es que el conocimiento representado en las mismas es adaptativo, es decir, aunque el “aprendizaje” se realiza en el momento inicial con un número limitado de casos, posteriormente puede reentrenarse la red incorporando al conjunto de datos nuevos casos producto de las condiciones cambiantes del entorno o de información que no se disponía en momentos anteriores. Además, en muchas oportunidades la información base, suele constar de multitud de datos correlacionados, incompletos, erróneos o adulterados. Estas características son la materia con la que las redes neuronales proporcionan mejores resultados, ya que gozan de una elevada capacidad de filtrar los ruidos que acompañan a la información y de una alta tolerancia a las fallas. En ese mismo sentido, destacan las virtudes de las redes neuronales cuando los modelos a reconocer presentan variaciones.

 

Guillermo Choque Aspiazu
www.eldiario.net
24 de Agosto de 2015

Aprendizaje neuronal (segunda parte)

Aprendizaje neuronal (segunda parte)

En la monografía de Matich, publicada el año 2001 con el título “Redes neuronales: Conceptos básicos y aplicaciones”, se menciona que las redes neuronales son más que otra forma de emular ciertas características propias de los seres humanos, como la capacidad de memorizar y de asociar hechos. Si se examinan con atención aquellos problemas que no pueden expresarse a través de un algoritmo, se observará que todos ellos tienen una característica en común: La experiencia. El hombre es capaz de resolver estas situaciones acudiendo a la experiencia acumulada. Así, parece claro que una forma de aproximarse al problema consista en la construcción de sistemas que sean capaces de reproducir esta característica humana. En definitiva, las redes neuronales no son más que un modelo artificial y simplificado del cerebro humano, que es el ejemplo más adecuado del que se dispone para un sistema que es capaz de adquirir conocimiento a través de la experiencia. Una red neuronal es un nuevo sistema para el tratamiento de la información, cuya unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso humano: La neurona. El pensamiento tiene lugar en el cerebro, que consta de billones de neuronas interconectadas. Así, el secreto de la “inteligencia”, sin importar como se defina, se sitúa dentro de estas neuronas interconectadas y de su interacción. También, es bien conocido que los seres humanos son capaces de aprender. Aprendizaje significa que aquellos problemas que inicialmente no pueden resolverse, pueden ser resueltos después de obtener más información acerca del problema.

En la tesis de Villaseñor, publicada el año 2004 con el título “Análisis inteligente de datos con redes neuronales artificiales”, se menciona que para definir una red neuronal, no solo basta tener una arquitectura, también es necesaria la determinación de un proceso de aprendizaje. El proceso de aprendizaje en una red neuronal puede ser visto como un problema de actualización de los pesos sinápticos de las neuronas de manera tal que la red neuronal mejore la forma en que realiza cierta tarea específica. Estas mejoras en el desempeño de una red neuronal son logradas a lo largo del proceso de entrenamiento y mediante la actualización iterativa del los pesos sinápticos, los cuales están representados por un vector denominado vector de pesos. En este proceso, se modifican los vectores de pesos, de manera que el comportamiento de la red neuronal se adapte y alcance un desempeño óptimo. Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren modificaciones, por lo tanto, se puede afirmar que este proceso ha terminado, la red ha aprendido, cuando los valores de los pesos permanecen estables. Un aspecto importante respecto al aprendizaje de las redes neuronales es el conocer cómo se modifican los valores de los pesos, es decir, cuáles son los criterios que se siguen para cambiar el valor asignado a las conexiones cuando se pretende que la red aprenda una nueva información. Hay dos métodos de aprendizaje importantes que pueden distinguirse: Aprendizaje supervisado y aprendizaje no supervisado.

En la tesis de grado de Andrade, publicada el año 2013 con el título “Estudio de los principales tipos de redes neuronales y las herramientas para su aplicación”, se menciona que el aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo, supervisor o maestro, que determina la respuesta que debería generar la red a partir de una entrada determinada. El supervisor controla la salida de la red y en caso de que ésta no coincida con la deseada, se procederá a modificar los pesos de las conexiones, con el fin de conseguir que la salida obtenida se aproxime a la deseada. En este tipo de aprendizaje se suelen considerar, a su vez, tres formas de llevarlo a cabo, que dan lugar a los siguientes aprendizajes supervisados: (1) Aprendizaje por corrección de error. Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores deseados y los obtenidos a la salida de la red, es decir, en función del error cometido en la salida. (2) Aprendizaje por refuerzo. Se trata de un aprendizaje supervisado, más lento que el anterior, que se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado, es decir, de no indicar durante el entrenamiento exactamente la salida que se desea que proporcione la red ante una determinada entrada. En el aprendizaje por refuerzo la función del supervisor se reduce a indicar mediante una señal de refuerzo si la salida obtenida en la red se ajusta a la deseada, y en función de ello se ajustan los pesos basándose en un mecanismo de probabilidades. (3) Aprendizaje estocástico. Consiste básicamente en realizar cambios aleatorios en los valores de los pesos de las conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad.

Por su parte Matich, en la monografía citada, menciona que las redes con aprendizaje no supervisado, no requieren influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe ninguna información por parte del entorno que le indique si la salida generada en respuesta a una determinada entrada es o no correcta. Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se puedan establecer entre los datos que se presenten en su entrada. En cuanto a los algoritmos de aprendizaje no supervisado, en general se suelen considerar dos tipos, que dan lugar a los siguientes aprendizajes: (1) Aprendizaje hebbiano. Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la familiaridad o extraer características de los datos de entrada. El fundamento es una suposición bastante simple: Si dos neuronas toman el mismo estado simultáneamente, ambas activas o ambas inactivas, el peso de la conexión entre ambas se incrementa. (2) Aprendizaje competitivo y comparativo. Se orienta a la agrupación o clasificación de los datos de entrada. Como característica principal del aprendizaje competitivo se puede decir que, si un patrón nuevo se determina que pertenece a una clase reconocida previamente, entonces la inclusión de este nuevo patrón a esta clase matizará la representación de la misma. Si el patrón de entrada se determinó que no pertenece a ninguna de las clases reconocidas anteriormente, entonces la estructura y los pesos de la red neuronal serán ajustados para reconocer la nueva clase.

 

Guillermo Choque Aspiazu
https://www.eldiario.net
20 de Marzo de 2017

Aprendizaje neuronal (primera parte)

Aprendizaje neuronal (primera parte)

En el artículo de Gómez y sus colegas, publicado el año 2011 con el título “Aprendizaje con redes neuronales artificiales”, se menciona que las computadoras digitales modernas son novicias en el mundo de la computación. Desde hace millones de años existen computadoras biológicas, como el cerebro y el sistema nervioso de los seres humanos y los animales, que muestran una maravillosa eficacia en el procesamiento de la información sensorial y en el control de las interacciones con el entorno. Echar mano a un bocadillo, reconocer un rostro o reconocer cosas relacionadas con el sabor del chocolate son tareas computacionales, lo mismo que lo es el tratamiento matemático de grandes cantidades de números o el desarrollo de un videojuego con realidad aumentada. Un niño de tres años es capaz de señalar con suma facilidad un árbol en una fotografía y, por el contrario, algoritmos bastante complejos, instalados en las más poderosas computadoras, apenas si logran resultados mediocres al acometer una tarea esencialmente equivalente: El reconocimiento de patrones en las figuras. Para reconocer árboles se requiere una definición muy amplia de la naturaleza del árbol, que equivaldría a una descripción de todas las variables concebibles. Los problemas de reconocimiento de patrones constituyen un subconjunto de los llamados problemas aleatorios, es decir, problemas cuya resolución exige, en esencia, un conocimiento de todos los posibles estados del sistema. Por consiguiente la resolución de un problema aleatorio comporta tener registrados en la memoria la totalidad de los posibles estados, mas la facultad de seleccionar rápidamente la más idónea de las soluciones entre el conjunto de las registradas, habida cuenta de los datos disponibles.

En el artículo de Ochoa, publicado el año 2003 con el título “Características de una red neuronal artificial”, se menciona que las redes neuronales artificiales se caracterizan de acuerdo a cuatro aspectos principales: (1) Topología. Hace referencia a la organización y disposición de las neuronas en red, formando agrupaciones llamadas capas. Los parámetros fundamentales son: El número de capas, el número de neuronas por capa, el grado de conectividad y el tipo de conexiones entre neuronas. Este último se utiliza para conocer si las redes son de propagación hacia adelante, Feedforward; o hacia atrás, Backpropagation; el número de capas permite saber si son mono capa o multicapa. (2) Mecanismo de aprendizaje. “El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una información de entrada.” Durante este proceso los pesos de las conexiones de la red se modifican, cuando estos permanecen estables quiere decir que la red aprendió. Existen diferentes mecanismos de aprendizaje que le permiten a la red ir modificando sus pesos de acuerdo a una salida deseada; o interpretar de diferente manera las salidas que la red genere. (3) Tipo de asociación realizada entre la información de entrada y salida. La asociación entre la información de entrada y salida se refiere a los datos que la red aprende, y asocia las entradas con una salida correspondiente. Existen dos formas de realizar esta asociación: (a) Heteroasociación. La red aprende parejas de datos, cuando se presenta una entrada, la red deberá responder generando la correspondiente salida. Auto asociación. La red aprende determinada información, de tal manera que cuando se le presenta una información de entrada realizará una auto correlación, respondiendo con uno de los datos almacenados, el más parecido al dato de la entrada. (4) Forma de representación de la información. Los datos de entrada y salida de una red neuronal pueden ser representados de maneras distintas: Pueden ser analógicos, cuando esto ocurre, las funciones de activación de las neuronas son continuas, de tipo lineal o sigmoidal. Otras redes tienen como datos de entrada valores discretos, entonces la función de activación son de tipo escalón. También existen redes híbridas, donde las entradas son continuas y las salidas discretas.

En la monografía de Palacio, publicada el año 2012 con el título “Aprendizaje”, se menciona que debido a que el cerebro tiene una función extremadamente compleja en el desarrollo de la persona, la naturaleza ha previsto que se encuentre más disponible para el aprendizaje en la etapa que más lo necesita. Así, en el momento del parto, el cerebro de un bebe pesa alrededor de trescientos cincuenta gramos, pero sus neuronas no dejan de multiplicarse durante los primeros tres años. Precisamente durante este proceso de expansión es cuando se da la máxima receptividad, y todos los datos que llegan a él se clasifican y archivan de modo que siempre estén disponibles. En esto consiste el aprendizaje, de disponer de conocimientos y diversos recursos que sirven como plataforma para alcanzar determinados objetivos. No se conoce demasiado sobre las bases neurofisiológicas del aprendizaje, sin embargo, se tienen algunos indicios importantes de que éste se encuentra relacionado con la modificación de las conexiones sinápticas. En concreto comúnmente se admite como hipótesis que: (1) El aprendizaje es el resultado del fortalecimiento o abandono de las conexiones sinápticas entre neuronas. (2) El aprendizaje es local, es decir, la modificación de una conexión sináptica depende sólo de la actividad, potencial eléctrico, correspondiente de la neurona presináptica y de la neurona postsináptica. (3) La modificación de las sinapsis es un proceso relativamente lento comparado con los tiempos típicos de los cambios en los potenciales eléctricos que sirven de señal entre las neuronas. (4) Si la neurona presináptica o la neurona postsináptica, o ambas, están inactivas, entonces la única modificación sináptica existente consiste en el deterioro o decaimiento potencial de la sinapsis, que es responsable del olvido. El proceso de aprendizaje es una actividad individual que se desarrolla en un contexto social y cultural. Es el resultado de procesos cognitivos individuales mediante los cuales se asimila e interioriza nueva información, asociada a hechos, conceptos, procedimientos, valores, luego se construyen nuevas representaciones mentales significativas y funcionales, que posteriormente se pueden aplicar en situaciones diferentes a los contextos donde se aprendieron. Aprender no solamente consiste en memorizar información, es necesario también otras operaciones cognitivas que implican: Conocer, comprender, aplicar, analizar, sintetizar y valorar.

 

Guillermo Choque Aspiazu
https://www.eldiario.net
13 de Marzo de 2017

Redes Neuronales y Algoritmos Genéticos

Redes Neuronales y Algoritmos Genéticos

Uno de los problemas grandes con los que tropieza el diseño de las redes neuronales es la asignación de los pesos iniciales para los procesos de aprendizaje de la red neuronal, esta tarea normalmente se encarga a un experto del dominio, quien es el encargado de asignar de manera aproximada estos valores. En este trabajo se propone la revisión de los paradigmas de las redes neuronales y los algoritmos genéticos, con la perspectiva de lograr que la característica evolucionaría de los algoritmos genéticos para que puedan colaborar al ajuste adecuado y casi automático de las pesos iniciales de las redes neuronales.

Cargador Cargando...
Logotipo de EAD ¿Tarda demasiado?

Recargar Recargar el documento
| Abrir Abrir en una nueva pestaña

Descargar [47.44 KB]

Neuronas en Redes Artificiales

Neuronas en Redes Artificiales

En esta propuesta se considera a la neurona biológica como la piedra fundamental sobre la que se edifica la teoría inicial para la comprensión del paradigma emergente de las redes neuronales artificiales. En el cuerpo de la propuesta se comienza revisando la  neurona biológica y los elementos esenciales que constituyen su modelo funcional, sobre la base de estos elementos y la investigación de varios autores se recoge una propuesta interesante de un modelo idealizado de neurona artificial, con esta idealización se trabaja una neurona capaz de ser discretizada y llevada a su realización en términos computacionales, finalmente se muestra que la acción conjunta de las neuronas puede desembocar en la efectivización de las redes neuronales artificiales.

Cargador Cargando...
Logotipo de EAD ¿Tarda demasiado?

Recargar Recargar el documento
| Abrir Abrir en una nueva pestaña

Descargar [479.46 KB]

Poder computacional de las redes neuronales

Poder computacional de las redes neuronales

En los escritos realizados por el científico español Santiago Ramón y Cajal, acerca del cerebro hacia el año 1899, el cerebro es un órgano de menos de un kilogramo y medio de peso y con más de cien mil millones de células, cada una de las cuales establece como media un millar de conexiones con sus vecinas, a través de múltiples prolongaciones, de un diámetro inferior a una diezmilésima de milímetro y que pueden llegar a medir más de un metro de longitud. Y todo este complejo entramado da como resultado la capacidad de un ser biológico como puede ser un humano de razonar, sentir, aprender, escapar de una casa en llamas o llegado el caso entrar en ella para salvar a otra persona, emocionarse, comunicarse con sus semejantes o quizá uno de los rasgos, junto con el del lenguaje, más distintivos del ser humano: la capacidad de ser conscientes de uno mismo y de su propia muerte.

Así, en una neurona se puede distinguir un cuerpo celular o soma, que actúa como centro metabólico de la célula, y dos tipos de prolongaciones, unas generalmente más largas llamadas axones y otras más cortas y numerosas, en forma de ramificaciones llamadas dendritas. Además de las neuronas, y mucho más numerosas que éstas, existen otro tipo de células nerviosas llamadas células glía. Su función no es la de transmitir impulsos nerviosos, sino la de envolver a las neuronas proporcionándoles aislamiento eléctrico, servir como soporte físico que permita el crecimiento de éstas, la captación de neurotransmisores y actuar como barrera para protegerlas de los elementos tóxicos de la sangre.

Ramón y Cajal formuló dos hipótesis fundamentales para el desarrollo de lo que luego se conoció como neurociencia. La primera era que existían lo que él llamaba “ondas nerviosas” que viajaban desde las dendritas al cuerpo neuronal, y de éste al axón, y la otra era que las neuronas se comunicaban entre sí por contigüidad y no por continuidad a través de unas conexiones especializadas llamadas sinapsis. Fue a comienzos del siglo veinte cuando se pudo registrar la entrada de señales eléctricas que viajaban a través del axón a gran velocidad, y se supo que estos impulsos eléctricos que se llamaron potenciales de acción o impulsos nerviosos los usaba el sistema nervioso para la transmisión de información. Estos potenciales pueden repetirse dentro de una misma célula, llegando a frecuencias de mil segundos, y ésta información es función de la intensidad de la señal eléctrica y de la frecuencia de disparo, por ejemplo se comprobó que a mayor intensidad de un estímulo se correspondía una mayor frecuencia de impulsos nerviosos dentro de la neurona registrada.

El artículo de McCulloch y Pitts, escrito el año 1943 acerca de “un cálculo lógico de las ideas inmanentes en la actividad neuronal”, se considera como el punto de arranque de la investigación en redes neuronales; este trabajo introdujo también la teoría de autómatas finitos como modelo computacional. McCulloch y Pitts propusieron un modelo simplificado de la actividad nerviosa real en el que cada neurona de una red neuronal podía activarse o desactivarse en función de lo que hicieran las neuronas conectadas a ella. Debido a que una neurona solo podía estar activada o desactivada, la capacidad computacional de la red completa se define en términos del conjunto de predicados lógicos que es capaz de calcular. En este artículo, McCulloch y Pitts toman como objeto de estudio al cálculo realizado por las neuronas, es decir, no se ocupan de los aspectos fisiológicos y morfológicos de las neuronas, a pesar de que McCulloch tiene una serie de artículos donde estudia los aspectos fisiológicos de las neuronas, sino que se abocan a estudiar las características y capacidades computacionales del modelo que proponen, caracterizándolo como un dispositivo lógico; es decir, el área en la que se desarrolla este artículo es la lógica. De esta forma, el modelo neuronal es planteado a través de un modelo matemático. Esto se puede verificar fácilmente a partir de las referencias que ocupan, las cuales todas caen dentro de la lógica matemática. Esto trae como consecuencia que el lenguaje que ocupan para las descripciones de las características de su neurona sea totalmente matemático, siguiendo un gran formalismo en sus demostraciones y con una notación poco común, lo que hace muy complejo el entender los planteamientos del artículo.

Unos años después, el investigador Kleene, en el articulo escrito el año 1956 acerca de la “representación de eventos en redes de nervios y autómatas finitos”, reformuló algunos de estos resultados e introdujo una notación más compacta y general. En su artículo se define el concepto de expresión regular, denominado evento regular al interior del artículo, tan importante para la teoría de lenguajes actual y sus aplicaciones. A partir de ahí, el campo de las redes neuronales y el de la teoría de lenguajes comienzan a tomar caminos separados. De hecho, el segundo acaparó una creciente atención desde entonces hasta nuestros días, mientras que el primero quedó prácticamente olvidado a raíz del trabajo realizado por Minsky y Papert, el año 1969 acerca de los “perceptrones: una introducción a la geometría computacional”, salvo algunos trabajos aislados, las redes neuronales quedaron relegadas a un segundo plano hasta la llegada de los años ochenta.

Según Pérez Ortiz, en el trabajo de grado escrito el año 2002 acerca de “modelos predictivos basados en redes neuronales recurrentes de tiempo discreto”, las redes neuronales destacan por su estructura fácilmente paralelizable y por su elevada capacidad de generalización, o la capacidad de producir salidas correctas para entradas no vistas durante el entrenamiento. Otras propiedades interesantes son: (1) No linealidad. Una red neuronal puede ser lineal o no lineal. Esta última característica es muy importante, especialmente si se intenta modelar sistemas generados mediante pautas no lineales. (2) Adaptabilidad. Las redes neuronales son capaces de reajustar sus pesos para adaptarse a cambios en el entorno. Esto es especialmente útil cuando el entorno que suministra los datos de entrada es no estacionario, es decir, algunas de sus propiedades varían con el tiempo. (3) Tolerancia ante fallos. Una red neuronal es tolerante ante fallos en el sentido de que los posibles fallos operacionales en partes de la red solo afectan débilmente al rendimiento de esta. Esta propiedad es debida a la naturaleza distribuida de la información almacenada o procesada en la red neuronal.

El poder computacional de una única neurona es bastante limitado. Si se considera una neurona con función de activación escalón, este poder de computación puede estudiarse desde dos puntos de vista equivalentes: el de la clasificación y el de la representación lógica. (1) Clasificación. Dado un conjunto de P vectores de entrada, cada uno de n componentes, clasificados como pertenecientes a una de entre dos clases, una neurona puede, mediante la asignación correcta de valores a sus pesos y a su sesgo, clasificarlos de manera correcta únicamente si se cumple la condición de separabilidad lineal: los conjuntos de vectores pertenecientes a cada clase deben ser separables por un hiperplano en el espacio P-dimensional. (2) Representación lógica. La fracción de funciones lógicas de n variables que pueden representarse mediante una neurona con función de activación escalón decrece con n. Por ejemplo, cuando n tiene en valor de uno, las cuatro posibles funciones: identidad, negación, siempre cierto y siempre falso son computables a través de una neurona. Sin embargo, cuando n tiene el valor dos ya existen dos funciones no computables, la o exclusiva y su negación.

Según Hopcroft y Ullman, en el libro escrito el año 1979 titulado “Introducción a la teoría de autómatas, lenguajes y computación”, las limitaciones anteriores se cumplen independientemente de la función de activación utilizada. Si se interconecta un conjunto de neuronas formando una red de manera que la salida de algunas de ellas sea entrada de otras y se utilizan funciones de activación no lineales, pueden superarse estas limitaciones y las redes neuronales resultantes son capaces de emular la máquina universal de Turing y de computar, por tanto, cualquier función computable. La salida de algunas de esas neuronas se convierte en la salida de la red neuronal y al resto de neuronas se las denomina unidades ocultas o de estado. El problema que surge entonces es cómo determinar el valor de los pesos y sesgos de la red para calcular de manera efectiva una función determinada. Dado que el espacio de exploración puede ser enorme, se hace necesario el uso de heurísticas a través de algoritmos de entrenamiento, que no siempre logran dar con una solución adecuada.

Finalmente es destacable que las redes multicapa se forman por un conjunto de redes de capa simple en cascada unidas por pesos, donde la salida de una capa es la entrada de la siguiente capa. Generalmente son capaces de aprender funciones que una red de capa simple no puede aprender, por lo que ofrecen mejores capacidades computacionales. Para que este incremento en poder computacional sea tal, tiene que existir una función de activación no lineal entre las capas, por lo que generalmente se utiliza una función de activación sigmoidea en detrimento de la lineal o umbral. La función usada para la capa de salida es la lineal. La elección de las funciones de las capas ocultas y de salida, es el resultado de diversas pruebas realizadas.

Referencias Bibliográficas

  • Hopcroft, J. E. y J. D. Ullman (1979) Introduction to automata theory, languages and computation, Addison-Wesley.
  • Kleene, S. C. (1956) Representation of events in nerve nets and finite automata, en C. E. Shannon y J. McCarthy, coordinadores, Automata studies, Princeton University Press.
  • Minsky, M. & Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry, MIT Press
  • McCulloch W. S. y Pitts W. (1943) A logical calculus of the ideas immanent in neurons activity, Bull. Math. Biophys., 5, 115-133.
  • Pérez Ortiz Juan Antonio (2002) Modelos predictivos basados en redes neuronales recurrentes de tiempo discreto. Memoria presentada para optar al grado de doctor. Universidad de Alicante, Departamento de Lenguajes y Sistemas Informáticos.
  • Ramón y Cajal, Santiago (1899) Textura del Sistema Nervioso del Hombre y de los Vertebrados. Editorial N. Moya.
Guillermo Choque Aspiazu
http://www.eldiario.net
Febrero 20 de 2012
Neuromodelado

Neuromodelado

Las redes neuronales tienen su origen en la emulación de un sistema biológico: el sistema nervioso, cuyo elemento fundamental es la neurona. De hecho, el desarrollo de las redes neuronales avanza a la par con la neurobiología. Cada célula nerviosa o neurona consta de una porción central o cuerpo celular, que contiene el núcleo y una o más estructuras denominadas axones y dendritas. Las neuronas tienen la capacidad de comunicarse, el proceso que se lleva a cabo es el siguiente: la señal nerviosa se recibe en las dendritas de las neuronas y recorre el axón. El axón mantiene un equilibrio químico caracterizado por el aumento de la concentración de iones de potasio en su interior y sodio en el exterior. Cuando se transmite una señal, la vaina de mielina que envuelve el axón permite el paso de los distintos iones. Los iones sodio y potasio cambian de sitio y generan así una señal eléctrica que se desplaza a lo largo de la membrana. El espacio entre dos neuronas se llama sinapsis. Cuando el impulso llega a una sinapsis, unas vesículas descargan unos neurotransmisores químicos que llevan impulsos nerviosos hasta la neurona siguiente y así sucesivamente, conformando una amplia red de comunicaciones.

Una neurored artificial es un sistema compuesto de muchos elementos procesadores simples conectados en paralelo, cuya función es determinada por la estructura de la red, la fuerza en las conexiones y el procesamiento realizado por los elementos en los nodos. De esta manera, constituye un potente instrumento para el análisis de comportamientos no lineales. Cada neurona realiza una función matemática. Las neuronas se agrupan en capas constituyendo la red neuronal. Una determinada neurored está confeccionada y entrenada para llevar a cabo una labor específica. Finalmente, una o varias redes, más la interface con el entorno, integran el sistema neuronal artificial. Las neuronas envían señales de entradas a manera de pesos sinápticos en las conexiones de la neurona. Cada peso sináptico multiplica a su entrada correspondiente y así define la importancia relativa de cada entrada. Todas las entradas se suman y así, los pesos definen la intensidad de la conexión. En la práctica, los pesos se determinan a partir de una descripción completa de la problemática a tratar y pueden ser fijos o variables. Las que tienen pesos variables emplean leyes de aprendizaje para ajustar el valor de la fuerza de interconexión con otras neuronas. En cambio, en las que utilizan pesos fijos, éstos deben estar previamente definidos. Entre las neuronas que componen la red existe un conjunto de conexiones que las vinculan, de manera que cada neurona transmite señales a aquellas que están conectadas con su salida. Asociada a cada unidad existe una función de salida que transforma el estado actual de activación en una señal de salida de manera matemática.

Pero una neurona no es simplemente un transmisor de información. Esta célula recibe dicha información, mediante neurotransmisores – señal química, de otras neuronas, la procesa internamente y envía el resultado a las siguientes neuronas a las que está conectada. El procesamiento que realiza la neurona consiste básicamente en medir la cantidad de información que ha recibido y responder de acuerdo con esto. Puede entonces establecerse una analogía entre la actividad sináptica y las redes neuronales artificiales: las señales que llegan a la sinapsis son las entradas a la neurona; éstas son ponderadas, atenuadas o simplificadas, a través de un parámetro, denominado peso asociado a la sinapsis correspondiente. Estas señales de entrada pueden activar a la neurona, sinapsis con peso positivo, o inhibirla, con peso negativo. El efecto total corresponde a la suma de las entradas ponderadas. Las neuronas tienen un umbral de activación que es la cantidad de “entrada” necesario para activar la neurona, así, si la suma es igual o mayor que el umbral de la neurona, entonces ésta se activa, de lo contrario, no se activa. Esta es una situación de todo o nada; cada neurona se activa o no se activa, pero no hay una respuesta intermedia. La facilidad de transmisión de señales se altera mediante la actividad del sistema nervioso. Las sinapsis son susceptibles a la fatiga, deficiencia de oxígeno y la presencia de anestésicos. Esta habilidad de ajustar señales es un mecanismo de aprendizaje.

Un aspecto importante respecto al aprendizaje de las neuroredes artificiales es conocer cómo se modifican estos valores; es decir, cuáles son los criterios seguidos para cambiar los valores asignados a las conexiones cuando se pretende que una red asimile una nueva información. Estos criterios determinan lo que se conoce como regla de aprendizaje. El aprendizaje puede dividirse en dos tipos: (1) Supervisado. Se asigna a la red una entrada y una salida esperada y la misma debe ajustar sus pesos para disminuir los residuos. (2) No supervisado. A la red se le proporcionan únicamente los estímulos y ella ajusta los pesos de sus interconexiones utilizando solamente los estímulos y la salida calculada. Dependiendo de la estructura de la neurored existen diferentes topologías de conexión: Perceptrón, Backpropagation, Hopfield, Kohonen, etc. El usuario debe seleccionar la más apropiada en función del problema a resolver.

La utilización de modelos conexionistas o neurosistemas artificiales, se encuentra justificado en problemas donde se pueda aprovechar su potencial para el análisis no lineal de la información. Su función como memoria asociativa distribuida como forma de evitar las dificultades en la adquisición de conocimiento experto y tolerancia al ruido. Se vincula a la arquitectura inherentemente paralela, y a la adaptabilidad para acomodarse a nuevas manifestaciones de carácter aleatorio.

Las principales características que motivan la utilización de neurosistemas artificiales se sustentan en los siguientes considerandos: (1) Facilidad para el tratamiento no lineal de la información, proporcionado por la interconexión de elementos simples de proceso no lineal. Una neurona es un elemento no lineal, por lo que una interconexión de ellas necesariamente será un dispositivo no lineal. (2) Capacidad de establecer relaciones entrada-salida, a través de procesos de aprendizaje. (3) Aprendizaje adaptativo, que permite llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos ilustrativos. (4) No es necesario especificar funciones de distribución de probabilidad. (5) Robustez y tolerancia a fallas, dado que el almacenamiento de la información aprendida se realiza de manera distribuida en las conexiones. Una neurored, al ser un sistema distribuido, permite el fallo de algunos elementos individuales sin alterar significativamente la respuesta total del sistema. Este hecho, las hace especialmente atractivas frente a los métodos de computación secuencial. (6) Uniformidad de análisis y diseño, proporcionado por teorías conjuntas que describen los diferentes algoritmos y aplicaciones. Como ventaja adicional, los neurosistemas artificiales ocupan un lugar intermedio entre las técnicas estadísticas paramétricas y no paramétricas, es decir que actúan como técnicas semiparamétricas. En consecuencia a lo mencionado, las redes neuronales son capaces de captar los matices que se escapan a los métodos estadísticos más simples. En efecto, hay evidencias de los buenos resultados proporcionados en tareas bien definidas donde las interacciones entre las covariables del problema son significativas.

Para el cierre se presenta el neuromodelado de una red neuronal artificial que cuenta con los siguientes pasos: (1) Selección de la arquitectura de la red. Se refiere al número más conveniente de capas ocultas, número de neuronas y la conectividad entre ellas. Según Kolgomorov, una única capa oculta con un mínimo número de neuronas permite identificar cualquier función continua. Sin embargo otros autores, tales como Hertz recomiendan la utilización de dos capas ocultas, como mínimo, para alcanzar determinado nivel de precisión. (2) Funciones de activación Si bien la función de activación más utilizada es la sigmoidal, en algunos casos es más conveniente la tangente hiperbólica o la función lineal. Se ha comprobado la conveniencia de utilizar una u otras, o aún una combinación de ellas, según sea el grado de no linealidad de la función representada. (3) Definición de pesos iniciales Tradicionalmente, se asignan valores aleatorios a los pesos de una red para iniciar el proceso de entrenamiento, aunque son numerosos los autores que han demostrado su inconveniencia. En efecto, iniciar el proceso de entrenamiento con valores aleatorios en los pesos puede conducir a una situación en la que numerosas neuronas contribuyan muy poco al desempeño de la red, y su actualización durante el proceso de entrenamiento sea inútil. Más aún, esta asignación no permite asegurar que se dispondrá de un número suficiente de unidades para representar una función en todo su dominio de utilización.(4) Proceso de entrenamiento Es indudable que el método de Backpropagation presentado por Rumelhart se convirtió en un clásico, al estimular una verdadera revolución en el campo de las redes neuronales. Sin embargo, es necesario destacar que este algoritmo presenta puntos débiles muy importantes, como son una muy lenta convergencia y la posibilidad de quedar atrapado en los mínimos locales de la función error. Para superar estas dificultades se han propuesto diversas variantes, como son el método Rprop, BPVS y ABP o el denominado Quasi-Newton, que conduce a procesos de entrenamiento más rápidos y seguros.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Diciembre 6 de 2010
Translate »