- 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 PERCEPTRONRegla delta o del mínimo error
cuadrado: utilizado en las redes ADALINE y
MADALINE.Regla delta generalizada: utilizada en
redes multicapaAprendizaje 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 iUn 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
salidaLas 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 salidaRedes 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.
2A qué se
refiere una arquitectura de una red neuronalARQUITECTURAS
NEURONALESSe puede estructurar de diferentes
formas:Según el número de
capasRedes 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ónRedes 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éticosUn 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éticosUn 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 aprendizajeEn 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