- Topología
- Mecanismo de aprendizaje
- Redes con aprendizaje supervisado
- Tipo de asociación entre las informaciones de entrada y salida
- Antecedentes
- A qué se refiere una arquitectura de una red neuronal
- Qué es la sinapsis?
- Objetivo de las redes neuronales
- Qué son los algoritmos genéticos
- Características de los algoritmos genéticos
- Qué es lo que buscan resolver los algoritmos genéticos?
Existen cuatro aspectos que caracterizan una red neuronal: su topología, el mecanismo de aprendizaje, tipo de asociación entre la información de entrada y de salida, y la forma de representación de estas informaciones.
Topología
Consiste en la organización y disposición de las neuronas en la red formando capas o agrupaciones de neuronas. Los parámetros fundamentales de la red son: número de capas, número de neuronas por capa, grado de conectividad y tipo de conexión entre neuronas.
Al hacer una clasificación topológica de las RNAs se suelen distinguir:
Redes monocapa : se establecen conexiones laterales entre las neuronas que pertenecen a la única capa que constituye la red. Ejemplos de redes de este tipo son la rede HOPPFIELD y la rede BRAIN-STATE-IN-A-BOX. Las redes monocapa se utilizan típicamente en tareas relacionadas con lo que se conoce como autoasociación; por ejemplo, para regenerar informaciones de entrada que se presenta como incompleta o distorsionada.
Redes multicapa : disponen las neuronas agrupadas en varios niveles. Dado que este tipo de redes disponen de varias capas, las conexiones entre neuronas pueden ser del tipo feedforward (conexión hacia adelante) o del tipo feedback (conexión hacia atrás).
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. Los cambios que se producen durante la etapa de aprendizaje se reducen a la destrucción (el peso de la conexión toma el valor 0), modificación y creación (el peso de la conexión toma un valor distinto de 0) de conexiones entre las neuronas.
Podemos considerar que el proceso de aprendizaje ha terminado cuando los valores de los pesos permanecen estables
dwj / dt = 0
Un aspecto importante es determinar los criterios de la regla de aprendizaje; cómo se van a modificar los pesos. De forma general se consideran dos tipos de reglas:
Aprendizaje supervisado
Aprendizaje no supervisado
La diferencia entre ambos tipos estriba en la existencia o no de una agente externo que controle todo el proceso.
Otro criterio para diferenciar las reglas de aprendizaje se basa en considerar si la red puede aprender durante su funcionamiento (aprendizaje ON LINE) o requiere de una fase previa de entrenamiento (aprendizaje OFF LINE). En este último debe existir un conjunto de datos de entrenamiento y un conjunto de datos de test o prueba; igualmente los pesos de las conexiones no se modifican después de terminar la etapa de entrenamiento de la red. En la red ON LINE los pesos varían dinámicamente cada vez que se presente una nueva información al sistema.
Redes con aprendizaje supervisado
Se caracteriza porque el proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo (supervisor, maestro) que determina la respuesta que debería generar la red a partir de una entrada determinada. El supervisor comprueba la salida generada por el sistema y en el caso de que no coincida con la esperada, se procederá a modificar los pesos de las conexiones.
En este tipo de aprendizaje se suelen distinguir a su vez tres formas de llevarlo a cabo:
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 en la salida. La formula para la corrección de los pesos podría ser la siguiente:
Algoritmos que utilizan este tipo de aprendizaje son:
Regla de aprendizaje del perceptron: utilizada en la red PERCEPTRON
Regla delta o del mínimo error cuadrado: utilizado en las redes ADALINE y MADALINE.
Regla delta generalizada: utilizada en redes multicapa
Aprendizaje por refuerzo : este tipo de aprendizaje es más lento que el anterior y se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado; es decir, de no indicar durante el entrenamiento la salida exacta que se desea que proporcione la red ante una determinada entrada. Aquí 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 (éxito = +1 o fracaso = -1) y en función de ello se ajustan los pesos basándose en un mecanismo de probabilidades.
Ejemplos de este tipo de algoritmos son el denominado Linear Reward-Penalty o LR-P [Narenda 74] y el Adapative Heuristic Critic [Barto 83] utilizado en redes feedforward de tres capas.
Aprendizaje estocástico : consiste básicamente en realizar cambios aleatorios en los valores de los pesos y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad. Un red que utiliza este tipo de aprendizaje es la red Boltzman Machine, ideada por Hinton, Ackley y Sejnowski en 1984 y la red Cauchy Machine desarrollada por Szu en 1986.
Redes con aprendizaje no supervisado
No requieren de 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; son capaces de autoorganizarse. Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se pueden establecer entre los datos de la entrada. Pero, ¿qué genera la red en la salida?. Existen varias posibilidades en cuanto a interpretación :
La salida representa el grado de familiaridad o similitud entre la información de entrada y las informaciones mostradas con anterioridad.
Clusterización o establecimiento de categorias, indicando la red a la salida a qué categoría pertenece la información de entrada, siendo la propia red la que debe establecer las correlaciones oportunas.
Codificación de los datos de entrada, generando a la salida una versión codificada con menos bits, pero manteniendo la información relevante de los datos.
Mapeo de características, obteniéndose una disposición geométrica que representa un mapa topográfico de las características de los datos de entrada.
Los algoritmos de aprendizaje no supervisado suelen ser de dos tipos:
Aprendizaje hebbiano : pretende medir la familiaridad o extraer características de los datos de entrada. Este aprendizaje consiste básicamente en el ajuste de los pesos de las conexiones de acuerdo con la correlación de los valores de activación (salidas) de las dos neuronas conectadas :
Incr (wji) = yi yj
Si las dos unidades son activas (salida positiva), se produce un reforzamiento de la conexión. Si por el contrario, una es activa y la otra pasiva (salida negativa), se produce un debilitamiento de la conexión. Por tanto, la modificación de los pesos se realiza en función de los estados (salidas) de las neuronas, obtenidos tras la presentación de cierto estímulo (información de entrada), sin tener en cuenta si se deseaba obtener o no esos estados de activación.
Este tipo de aprendizaje se utiliza en la RED HOPFIELD (1982), ADDITIVE GROSSBERG (1973), LEARNING MATRIX (1961), BIDIRECTIONAL ASSOCIATIVE MEMORY (1988), TEMPORAL ASSOCIATIVE MEMORY (1972). Estas dos últimas son redes feedforward/feedback de 2 capas.
Aprendizaje competitivo y cooperativo : las neuronas compiten unas con otras con el fin de llevar a cabo una tarea dada. Se pretende que cuando se presente a la red cierta información, sólo una o un grupo de ellas se activen. Por tanto las neuronas compiten por activarse, quedando las perdedoras a sus valores de respuesta mínimos. La conexión entre neuronas se realiza en todas las capas de la red, existiendo en estas neuronas conexiones recurrentes de autoexcitación y conexiones de inhibición (signo negativo) por parte de neuronas vecinas.
El objetivo de este aprendizaje es categorizar (clustering) los datos que se introducen en la red. De esta forma, las informaciones similares son clasificadas formando parte de la misma categoría, activando por tanto la misma neurona de salida. La variación del peso de una conexión entre una unidad i y otra j será nula si la neurona j no recibe excitación por parte de la neurona i y se modificará si es excitada por dicha neurona i
Un ejemplo de este tipo de aprendiaje es el desarrollado por Kohonen conocido como Learning Vector Quantization (LVQ) aplicado a redes feedforward de dos capas.
Tipo de asociación entre las informaciones de entrada y salida
Las redes neuronales son sistemas que almacenan cierta información aprendida; esta se registra de forma distribuida en los pesos asociados a las conexiones entre neuronas. Hay que establecer cierta relación o asociación entre la información presentada a la red y la salida ofrecida por esta. Es lo que se conoce como memoria asociativa.
Existen dos formas primarias de realizar esta asociación entrada/salida y que generan dos tipos de redes:
Redes heteroasociativas : La red aprende parejas de datos [(A1,B1), (A2,B2),….(An,Bn)], de tal forma que cuando se le presente determinada información de entrada Ai responda con la salida correspondiente Bi. Al asociar informaciones de entrada con diferentes informaciones de salida, precisan al menos de 2 capas, una para captar y retener la información de entrada y otra para mantener la salida con la información asociada. Si esto no fuese así se perdería la información inicial al obtenerse la salida asociada; es necesario mantener la información de entrada puesto que puede ser necesario acceder varias veces a ella, por lo que debe permanecer en la capa de entrada. El aprendizaje de este tipo de redes puede ser con supervisión.
Redes autoasociativas : La red aprende ciertas informaciones A1, A2, .., An de forma que cuando se le presenta una información de entrada realizará una autocorrelación, respondiendo con uno de los datos almacenados, el más parecido al de entrada. Este tipo de redes pueden implementarse con una sola capa de neuronas. El tipo de aprendizaje utilizado habitualmente es el no supervisado y suelen utilizarse en tareas de filtrado de información para la reconstrucción de datos, eliminando distorsiones o ruido, explorar relaciones entre informaciones similares para facilitar la búsqueda por contenido en bases de datos y para resolver problemas de optimización
Representación de la información de entrada y salida
Redes contínuas : En un gran número de redes, tanto los datos de entrada como de salida son de naturaleza analógica (valores reales contínuos y normalmente normalizados, por lo que su valor absoluto será menor que la unidad). En este caso las funciones de activación de las neuronas serán también contínuas, del tipo lineal o sigmoidal.
Redes discretas : Por el contrario, otras redes sólo admiten valores discretos [0,1] a la entrada, generando también en la salida respuestas de tipo binario. La función de activación en este caso es del tipo escalón.
Redes híbridas : La información de entrada es contínua pero a la salida ofrecen información binaria.
Antecedentes
Los primeros modelos de redes neuronales datan de 1943 por los neurólogos McCulloch y Pitts. Años más tarde, en 1949, Donald Hebb desarrolló sus ideas sobre el aprendizaje neuronal, quedando reflejado en la "regla de Hebb". En 1958, Rosemblatt desarrolló el perceptrón simple, y en 1960, Widrow y Hoff desarrollaron el ADALINE, que fue la primera aplicación industrial real.
En los años siguientes, se redujo la investigación, debido a la falta de modelos de aprendizaje y el estudio de Minsky y Papert sobre las limitaciones del perceptrón. Sin embargo, en los años 80, volvieron a resurgir las RNA gracias al desarrollo de la red de Hopfield, y en especial, al algoritmo de aprendizaje de retropropagación ideado por Rumelhart y McLellan en 1986 que fue aplicado en el desarrollo de los perceptrones multicapa. 2
A qué se refiere una arquitectura de una red neuronal
ARQUITECTURAS NEURONALES
Se puede estructurar de diferentes formas:Según el número de capas
Redes neuronales monocapas, Se corresponde con la red neuronal más sencilla ya que se tiene una capa de neuronas que proyectan las entradas a una capa de neuronas de salida donde se realizan diferentes cálculos.
Redes neuronales multicapa, Es una generalización de la anterior existiendo un conjunto de capas intermedias entre la entrada y la salida (capas ocultas). Este tipo de red puede estar total o parcialmente conectada.
Según el tipo de conexionesRedes neuronales no recurrentes. En esta red la propagación de las señales se produce en un sentido solamente, no existiendo la posibilidad de realimentaciones. Lógicamente estas estructuras no tienen memoria.Redes neuronales recurrentes.Esta red viene caracterizada por la existencia de lazos de realimentación. Estos lazos pueden ser entre neuronas de diferentes capas, neuronas de la misma capa o, más sencillamente, entre una misma neurona. Esta estructura estudia principalmente la dinámica de sistemas no lineales.
Según el grado de conexión
Redes neuronales totalmente conectadas. En este caso todas las neuronas de una capa se encuentran conectadas con las de la capa siguiente (redes no recurrentes) o con las de la anterior (redes recurrentes).
Redes parcialmente conectadas. En este caso no se da la conexión total entre neuronas de diferentes capas.Estas estructuras neuronales se podrían conectar entre sí para dar lugar a estructuras mayores: estamos en el nivel de la mesoestructura. Esta conexión se puede llevar a cabo de diferentes formas siendo las más usuales las estructuras en paralelo y jerárquicas. En la primera estructura se plantea un "consenso" entre las diferentes redes para obtener la salida mientras que en la estructura jerárquica existen redes subordinadas a otras que actúan como elementos centrales en la salida final de la red.[1]
Qué es la sinapsis?
Para otros usos de este término, véase Sinapsis (desambiguación).
Esquema con los principales elementos en una sinapsis modelo. La sinapsis permite a las células nerviosas comunicarse con otras a través de los axones y dendritas, transformando una señal eléctrica en otra química.
La sinapsis
1 es una unión (funcional) intercelular especializada entre neuronas2 o entre una neurona y una célula efectora (casi siempre glandular o muscular). En estos contactos se lleva a cabo la transmisión del impulso nervioso. Éste se inicia con una descarga química que origina una corriente eléctrica en la membrana de la célula presináptica (célula emisora); una vez que este impulso nervioso alcanza el extremo del axón (la conexión con la otra célula), la propia neurona segrega un tipo de compuestos químicos (neurotransmisores) que se depositan en el espacio sináptico (espacio intermedio entre esta neurona transmisora y la neurona postsináptica o receptora). Estas sustancias segregadas o neurotransmisores (noradrenalina y acetilcolina entre otros) son los encargados de excitar o inhibir la acción de la otra célula llamada célula post sináptica.
Objetivo de las redes neuronales
– El objetivo de las redes neuronales de tipo biológico se constituye en desarrollar un elemento sintáctico que permita verificar las hipótesis correspondientes a los demás sistemas biológicos. Es decir, las redes neuronales de tipo biológico deben recibir y procesar información de otros sistemas biológicos y devolver una respuesta de acción efectiva. La mayor parte de las neuronas posee una estructura arbórea formada en su mayor parte por dendritas que, conectadas a otras neuronas, se encargan de recibir los estímulos de entrada neuronales mediante uniones denominas sinopsis.
Qué son los algoritmos genéticos
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. En los años 1970, de la mano de John Henry Holland, surgió una de las líneas más prometedoras de la inteligencia artificial, la de los algoritmos genéticos.1 Son llamados así porque se inspiran en la evolución biológica y su base genético-molecular. Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y recombinaciones genéticas), así como también a una Selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados. Es incluido dentro de los algoritmos evolutivos, que incluyen también las estrategias evolutivas, la programación evolutiva y la programación genética. Dentro de esta última se han logrado avances curiosos:
Un algoritmo genético es un método de búsqueda dirigida basada en probabilidad. Bajo una condición muy débil (que el algoritmo mantenga elitismo, es decir, guarde siempre al mejor elemento de la población sin hacerle ningún cambio) se puede demostrar que el algoritmo converge en probabilidad al óptimo. En otras palabras, al aumentar el número de iteraciones, la probabilidad de tener el óptimo en la población tiende a 1 (uno).
Características de los algoritmos genéticos
Un algoritmo genético puede presentar diversas variaciones, dependiendo de cómo se aplican los operadores genéticos (cruzamiento, mutación), de cómo se realiza la selección y de cómo se decide el reemplazo de los individuos para formar la nueva población. En general, el pseudocódigo consiste de los siguientes pasos:
Algoritmo genético i: inicialización, f(X): evaluación, ?: condición de término, Se: selección, Cr: cruzamiento, Mu: mutación, Re: reemplazo, X*: mejor solución.
Inicialización: Se genera aleatoriamente la población inicial, que está constituida por un conjunto de cromosomas los cuales representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la población inicial, se tenga la diversidad estructural de estas soluciones para tener una representación de la mayor parte de la población posible o al menos evitar la convergencia prematura.
Evaluación: A cada uno de los cromosomas de esta población se aplicará la función de aptitud para saber cómo de "buena" es la solución que se está codificando.
Condición de término El AG se deberá detener cuando se alcance la solución óptima, pero ésta generalmente se desconoce, por lo que se deben utilizar otros criterios de detención. Normalmente se usan dos criterios: correr el AG un número máximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la población. Mientras no se cumpla la condición de término se hace lo siguiente:
Selección Después de saber la aptitud de cada cromosoma se procede a elegir los cromosomas que serán cruzados en la siguiente generación. Los cromosomas con mejor aptitud tienen mayor probabilidad de ser seleccionados.
Recombinación o Cruzamiento La recombinación es el principal operador genético, representa la reproducción sexual, opera sobre dos cromosomas a la vez para generar dos descendientes donde se combinan las características de ambos cromosomas padres.
Mutación modifica al azar parte del cromosoma de los individuos, y permite alcanzar zonas del espacio de búsqueda que no estaban cubiertas por los individuos de la población actual.
Reemplazo una vez aplicados los operadores genéticos, se seleccionan los mejores individuos para conformar la población de la generación siguiente
Qué es lo que buscan resolver los algoritmos genéticos?
1 Búsqueda, optimización y aprendizaje
En realidad, los algoritmos de búsqueda abarcan prácticamente todo algoritmo para resolver problemas automáticamente. Habitualmente, en Informática se habla de búsqueda cuando hay que hallar información, siguiendo un determinado criterio, dentro de un conjunto de datos almacenados; sin embargo, aquí nos referiremos a otro tipo de algoritmos de búsqueda, a saber, aquellos que, dado el espacio de todas las posibles soluciones a un problema, y partiendo de una solución inicial, son capaces de encontrar la solución mejor o la única. El ejemplo clásico de este tipo de problemas se encuentra en los rompecabezas y juegos que se suelen abordar en inteligencia artificial. Un ejemplo es el problema de las 8 reinas, en el cual se deben de colocar 8 reinas en un tablero de ajedrez de forma que ninguna amenace a otra; o las torres de Hanói, en el que, dada una serie de discos de radio decreciente apilados, hay que apilarlos en otro sitio teniendo en cuenta que no se puede colocar ningún disco encima de otro de radio inferior.
Autor:
Ethhan