martes, 15 de julio de 2014

Introducción a las Redes Neuronales Artificiales


ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ
MANUEL FÉLIX LÓPEZ

CARRERA  INFORMÁTICA

SEMESTRE SEXTO                         PERÍODO ABR. – AGO. /2014


INTELIGENCIA ARTIFICIAL I


TEMA 3:
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES


AUTORA:


FACILITADORA:
ING. HIRAIDA SANTANA





INTRODUCCIÓN
En este capítulo hablaremos sobre las Redes Neuronales Artificiales, cuál es su objetivo, los fundamentos biológicos, las partes en las que se compone. Los modelos computacionales en los cuales las redes neuronales siguen sus filosofías de diseño, reglas de aprendizaje y funciones de construcción, además de la neurona artificial, la estructura básica de la red y el aprendizaje de la misma.
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
Dentro de la Inteligencia Artificial se pueden distinguir dos grandes áreas. Una se ocupa de la construcción de sistemas con características que se puedan definir como inteligentes. A este campo se lo denomina Inteligencia Artificial Simbólica. En este caso, se define el problema a resolver y se diseña el sistema capaz de resolverlo siguiendo esquemas prefijados por la disciplina. Los Sistemas Expertos siguen este esquema: se introducen una serie de reglas lógicas, que recogen el conocimiento de un experto sobre la materia, y mediante mecanismos de inferencia parecidos a los que empleamos al razonar, se sacan conclusiones. En la Inteligencia Artificial Simbólica se dice que los sistemas siguen un esquema de arriba hacia abajo, ya que es necesario disponer de una aproximación a la solución del problema y diseñarla completamente.
La otra gran área de la Inteligencia Artificial, la Subsimbólica. En este caso no se realizan diseños a alto nivel de sistemas capaces de resolver los problemas utilizando las técnicas de la disciplina, sino que se parte de sistemas genéricos que van adaptándose y construyéndose hasta formar por sí mismos un sistema capaz de resolver el problema.
El objetivo de las Redes de Neuronas Artificiales es llegar a diseñar máquinas con elementos neuronales de procesamiento paralelo, de modo que el comportamiento global de esa red “emule”, de la forma más fiel posible, los sistemas neuronales de los animales. Esto hace imprescindible el estudio profundo de los mecanismos que rigen el comportamiento de los sistemas neuronales.
FUNDAMENTOS BIOLÓGICOS DE LAS REDES NEURONALES
El sistema de comunicación neuronal se compone de tres partes:
1.      Los receptores, que están en las células sensoriales, recogen las informaciones en forma de estímulos, bien del ambiente, bien del interior del organismo.
2.      El sistema nervioso, que recibe las informaciones, las elabora, en partes las almacena y las envía en forma elaborada a los órganos efectos y a otras zonas del sistema nervioso.
3.      Órganos diana o efectos (ejemplo: músculos y glándulas), que reciben la información y la interpretan en forma de acciones motoras, hormonales, etc.
El elemento estructural y funcional más esencial, en el sistema de comunicación neuronal, es la célula nerviosa o neurona.
La misión de las neuronas comprende generalmente cinco funciones parciales:
·         Las neuronas recogen la información que llega a ellas en forma de impulsos procedentes de otras neuronas o de receptores.
·         La integran en un código de activación propio de la célula. La transmiten codificada en forma de frecuencia de impulsos a través de su axón.
·         A través de sus ramificaciones el axón efectúa la distribución espacial de los mensajes.
·         En sus terminales transmite los impulsos a las neuronas subsiguientes o a las células efectoras.
El funcionamiento en general será el de una enorme malla que propaga señales electro-químicas de unas células a otras y que va modificando sucesivamente la concentración de iones de la sinapsis. Esta concentración iónica es muy importante, ya que las neuronas no son elementos lineales; no se encargan simplemente de proyectar la acumulación de las señales recibidas por sus dendritas, sino que funcionan a saturación; producen una señal de activación si la señal recibida supera un cierto umbral, permaneciendo inhibidas mientras tanto.
MODELO COMPUTACIONAL
Existen modelos muy diversos de redes de neuronas en los cuales se siguen filosofías de diseño, reglas de aprendizaje y funciones de construcción de las respuestas muy distintas, una primera clasificación se hace en función del recorrido que sigue la información dentro de la red, y así se distinguen redes alentada hacia adelante y redes con retro-alimentación.
La Neurona Artificial
La neurona artificial, célula o autómata, es un elemento que posee un estado interno, llamado nivel de activación, y recibe señales que le permiten, en su caso, cambiar de estado.
Las neuronas poseen una función que les permite cambiar de nivel de activación a partir de las señales que reciben; a dicha función se le denomina función de transición de estado o función de activación. Las señales que recibe cada neurona pueden provenir del exterior o de las neuronas a las cuales está conectada.
El nivel de activación de una célula depende de las entradas recibidas y de los valores sinápticos, pero no de anteriores valores de estados de activación.
Estructura básica de la red
La manera que las células se conectan entre sí se la denomina patrón de conectividad o arquitectura de la red. La estructura básica de interconexión entre células es la de la red multicapa. Se trata de una estructura típica de implementación del paradigma conocido como Retro-Propagación. El primer nivel lo constituyen las células de entrada; estas unidades reciben los valores de unos patrones representados como vectores que sirven de entrada a la red. A continuación hay una serie de capas intermedias, llamadas ocultas, cuyas unidades responden a rasgos particulares que pueden aparecer en los patrones de entrada. Puede habar uno o varios niveles de ocultos. El último nivel es el de salida. La salida de estas unidades sirve como salida de toda la red.
Cada interconexión entre unidades de proceso actúa como una ruta de comunicación: a través de estas interconexiones viajan valores numéricos de una célula con otra. Estos valores son evaluados por los pesos de las conexiones. Los pesos de las conexiones se ajustan durante la fase de aprendizaje para producir una Rede de Neuronas Artificial fina.
Así pues, una Red de Neuronas Artificial podría definirse como un grafo cuyos nodos están constituidos por unidades de proceso idénticas, y que propagan información a través de los arcos. En este grafo se distinguen tres tipos de nodos: los de entrada, los de salida y los intermedios.
El funcionamiento de la red es simple. Para cada vector de entrada, éste es introducido en la red copiando cada valor de dicho vector en la célula de entrada correspondiente. Cada célula de la red, una vez recibida la totalidad de sus entradas, las procesa y genera una salida que es propagada a través de las conexiones entre células, llegando como entrada a la célula destino. Una vez que la entrada ha sido, cuyos componentes son cada uno de los valores de salida de las células de salida.
Aprendizaje
La parte más importante de una Red de Neuronas Artificial es el aprendizaje. El esquema de aprendizaje de una red es lo que determina el tipo de problemas que será capaz de resolver. Las Redes de Neuronas Artificiales son sistemas de aprendizaje basados en ejemplos.  La capacidad de una red para resolver un problema estará ligada de forma fundamental al tipo de ejemplos de que dispone en el proceso de aprendizaje. Desde el punto de vista de los ejemplos, el conjunto de aprendizaje deber poseer las siguientes características:
·         Ser significativo. Debe haber un número suficiente de ejemplos. Si el conjunto de aprendizaje es reducido, la red no será capaz de adaptar sus pesos de forma eficaz.
·         Ser representativo. Los componentes del conjunto de aprendizaje deberán ser diversos. Si un conjunto de aprendizaje tiene muchos más ejemplos de un tipo que el resto, la red se especializará en dicho subconjunto de datos y no será de aplicación general. Es importante que todas las regiones significativas del espacio de estados estén suficientemente representadas en el conjunto de aprendizaje.
El aprendizaje de una Red de Neuronas Artificial consiste en la determinación de los valores precisos de los pesos para todas sus conexiones, que la capacite para la resolución eficiente de un problema. El proceso general de aprendizaje consiste en ir introduciendo paulatinamente todos los ejemplos del conjunto de aprendizaje, y modificar los pesos de las conexiones siguiendo un determinado esquema de aprendizaje. Una vez introducidos todos los ejemplos se comprueba si se ha cumplido cierto criterio de convergencia: de no ser así se repite el proceso y todos los ejemplos del conjunto vuelven a ser introducidos. La modificación de los pesos puede hacerse después de la introducción de cada ejemplo del conjunto, o una vez introducidos todos ellos.
El criterio de convergencia depende del tipo de red utilizado o del tipo de problema a resolver. La finalización del periodo de aprendizaje se puede determinar:
·         Mediante un número fijo de ciclos. Se decide a priori cuántas veces será introducido todo el conjunto, y una vez superado dicho número se detiene el proceso y se da por aceptada la red resultante.
·         Cuando el error descienda por debajo de una cantidad preestablecida. En este caso habrá que definir en primer lugar una función de error, bien a nivel de patrón individual, bien a nivel de la totalidad del conjunto de entrenamiento. Se decide a priori un valor aceptable para dicho error, y sólo es para el proceso de aprendizaje cuando la red produzca un valor de error por debajo del prefijado. Para este criterio puede suceder que la red jamás consiga bajar por debajo del nivel prefijado, en cuyo caso se debe disponer de un criterio adicional de parada, por ejemplo un número de ciclos, que de utilizarse por la red significará que ésta no ha convergido. En este caso la red se dice que no ha sido capaz de obtener una solución. Será necesario probar cambiando alguno de los parámetros.
·         Cuando la modificación de los procesos sea irrelevante. En algunos modelos se define un esquema de aprendizaje que hace que las conexiones vayan modificándose cada vez con menor intensidad. Si el proceso de aprendizaje continúa, llegará un momento en que ya no se producirán variaciones de los valores de los pesos de ninguna conexión; en ese momento se dice que la red ha convergido y se detiene el proceso de aprendizaje.
Dependiendo del esquema de aprendizaje y del problema a resolver, se pueden distinguir tres tipos de esquemas de aprendizaje:
·         Aprendizaje supervisado. Este tipo de esquemas, los datos del conjunto de aprendizaje tienen dos tipos de atributos: los datos propiamente dichos y cierta información relativa a la solución del problema.
·         Aprendizaje no supervisado. En este aprendizaje los datos del conjunto de aprendizaje sólo tienen información de los ejemplos, y no hay nada que permita guiar en el proceso de aprendizaje. La red modificará los valores de los pesos a partir de información interna. Cuando se utiliza aprendizaje no supervisado, la red trata de determinar características de los datos del conjunto de entrenamiento: rasgos significativos, regularidades o redundancias. A este tipo de modelos se los conoce también como sistemas autoorganizados, debido a que la red se ajusta dependiendo únicamente de los valores recibidos como entrada.
·         Aprendizaje por refuerzo. Es una variante del aprendizaje supervisado en el que no se dispone de información concreta del error cometido por la red para cada ejemplo de aprendizaje, sino que simplemente se determina si la salida producida para dicho patrón es o no adecuada.
El proceso consiste en modificar los pesos de la red hasta que para todos los ejemplos del conjunto de entrenamiento, la salida producida sea lo más posible a la deseada. Sin embargo, esto no siempre indica que la red será capaz de solucionar el problema, pues lo importante no es que el sistema dé buenas salidas sobre el conjunto de aprendizaje, sino sobre los datos que puedan representarse en el futuro, y cuyas salidas se desconocen.
Para poder determinar si la red produce salidas adecuadas, se divide el conjunto de entrenamiento en dos conjuntos que se llamarán de entrenamiento y de validación. El conjunto de entrenamiento se utiliza para aprender los valores de los pesos. La diferencia es que en vez de medirse el error en el conjunto de entrenamiento, se utiliza el de validación. De esta manera, para medir la eficacia de la red para resolver el problema, se utilizarán datos que no han sido utilizados para su aprendizaje. Si el error sobre el conjunto de validación es pequeño, entonces quedará garantizada la capacidad de generalización de la red.
Para que este proceso sea eficaz los conjuntos de entrenamiento y validación deben tener las siguientes características:
·         El conjunto de validación debe ser independiente del de aprendizaje. No puede haber ningún tipo de sesgo en el proceso de selección de los datos de validación.
·         El conjunto de validación debe cumplir las propiedades de un conjunto de entrenamiento, descritas anteriormente.
Además, el conjunto de validación puede utilizarse durante el aprendizaje para guiarlo en conjunción con el de entrenamiento. En este caso el proceso seria el siguiente:
1.      Asignar a los pesos valores aleatorios.
2.      Introducir todos los ejemplos del conjunto de entrenamiento, modificando los pasos de acuerdo con el esquema de aprendizaje supervisado elegido.
3.      Introducir todos los ejemplos del conjunto de validación. Obtener el error producido al predecir dichos ejemplos.
4.      Si el error calculado en el paso anterior está por encima de cierto valor umbral, ir a (2).
CIERRE
En la IA se distinguen dos grandes áreas que son la Inteligencia Artificial Simbólica y Subsimbólica, la primera la utilizan los sistemas expertos, porque realizan diseños a alto nivel de sistemas capaces de resolver los problemas utilizando las técnicas de la disciplina, y la segunda parte de sistemas genéricos que van adaptándose y construyéndose hasta formar por sí mismos un sistema capaz de resolver el problema. El objetivo de las Redes de Neuronas Artificiales es  diseñar máquinas con elementos neuronales de procesamiento paralelo, de modo que el comportamiento global de esa red “emule”, los sistemas neuronales de los animales.
Los fundamentos biológicos de las redes neuronales se componen de tres partes que son los receptores, e l sistema nervioso y los órganos diana o efectos, el elemento estructural y funcional más esencial, en el sistema de comunicación neuronal, es la célula nerviosa o neurona.
Los modelos computacionales de las neuronas siguen filosofías de diseño, reglas de aprendizaje y funciones de construcción de las respuestas muy distintas, una primera clasificación se hace en función del recorrido que sigue la información dentro de la red. Además, la Neurona Artificial es un elemento que posee un estado interno, llamado nivel de activación, y recibe señales que le permiten, en su caso, cambiar de estado., as señales que recibe cada neurona pueden provenir del exterior o de las neuronas a las cuales está conectada, el nivel de activación de una célula depende de las entradas recibidas y de los valores sinápticos. Así mismo la estructura básica de interconexión entre células es la de la red multicapa y su funcionamiento es simple. El aprendizaje es la parte más importante de una Red de Neuronas Artificial y debe poseer dos características deber ser significativo es decir que debe haber un número suficiente de ejemplos, y representativo es decir, los componentes del conjunto de aprendizaje deberán ser diversos.
BIBLIOGRAFÍA

Russell, S, y Norving P. 2004. Inteligencia Artificial Un Enfoque Moderno. 2da ed.  Cap. 2. Pág. 37-62.

No hay comentarios:

Publicar un comentario