CAPÍTULO 2 REDES NEURONALES

Anuncio
Desarrollos Inteligentes
Redes Neuronales
CAPÍTULO 2
REDES NEURONALES
“El genio es uno por ciento de inspiración y un
noventa y nueve por ciento de transpiración”
Thomas A. Edison
Objetivo
El estudiante comprenderá los conceptos de redes
neuronales así como diferentes topologías y modelos
de redes neuronales.
28
Desarrollos Inteligentes
Redes Neuronales
Redes Neuronales.
Las redes neuronales artificiales o sistemas neuronales artificiales, representan
un área importante de la Inteligencia Artificial (IA), aunque también existen
otras disciplinas en las que se incluyen trabajos relativos, entre ellas están la
electrónica, física, biología, y la psicología.
En el presente capítulo se estudian las redes neuronales artificiales (RNAs)
desde la perspectiva de la I A, en principio se presentan algunos conceptos
principales siendo el modelo de McCulloch y Pitts el medio por el cual se
introduce al lector en este campo. Posteriormente se revisan algunas topologías,
sus técnicas de aprendizaje y los métodos de entrenamiento.
Un modelo significativo lo constituye la red “Backpropagation” (BPN), debido
a que ha sido aplicado por los investigadores y desarrolladores en la mayoría de
sus proyectos, por ello se le ha designado para su análisis una sección
específica.
Resulta conveniente asimismo estudiar otros modelos de RNAs con el propósito
de ampliar el conocimiento de las redes neuronales y no permanecer con la idea
de que la red BPN es la única a utilizar en los desarrollos inteligentes, un de
ellos es el modelo de Cohonen.
Se concluye este capítulo con la presentación de diversas aplicaciones.
2.1 Modelo de Mc Culloch – Pitts.
Los trabajos desarrollados por Warren Sturgis McCulloch y Walter Pitts en el
Departamento de Psiquiatría de la Universidad de Illinois en Chicago, durante el
período de 1941 a 1952,
establecieron una base importante para el
conocimiento de las redes neuronales. En 1943 publican “A logical Calculus of
the ideas Immanent in Nervous Activity”, y en 1947 “How We Know Universals:
29
Desarrollos Inteligentes
Redes Neuronales
The Perception of Auditory and Visual Forms”. Posteriormente en 1952
McCulloch se incorpora al laboratorio de investigaciones electrónicas del
Massachusets Institute of Technology, en donde investigó acerca de un modelo
de red neuronal para examinar el sistema de percepción visual en el ojo de la
rana y el procesamiento de la información en el cerebro.
En estos
artículos, McCulloch y Pitts analizan los procesos de cómputo
realizados por las neuronas, no se ocupan de los aspectos fisiológicos y
morfológicos de las neuronas, mas bien se enfocan a estudiar las características
y capacidades computacionales del modelo que proponen, caracterizándolo
como un dispositivo lógico; de esta forma, el modelo neuronal es planteado a
través de un modelo matemático.
McCulloch y Pitts parten de cinco consideraciones acerca del comportamiento
de las neuronas:
1. La actividad neuronal es un proceso "todo o nada".
2. Un cierto número fijo de sinápsis debe ser excitado dentro de un período de
adición latente en orden de excitar una neurona en cualquier intervalo de
tiempo, y este número es independiente de la actividad previa y la posición de la
neurona.
3. El único retardo significativo dentro del sistema es el retardo sináptico.
4. La actividad de cualquier sinápsis inhibitoria previene absolutamente la
excitación de la neurona en ese intervalo de tiempo.
5. La estructura de la red no cambia con el tiempo.
( htpp://proton.ucting.udg.mx/somi/memorias/cibernetica/cib_20.pdf)
Como puede verse, han aparecido algunos términos que es conveniente
clarificar, a continuación se establecen algunas conceptualizaciones pertinentes.
McCulloch y Pitts se basan en el cerebro biológico tal como se encuentra en los
seres vivos, entre ellos el hombre y algunos animales. Las células que
30
Desarrollos Inteligentes
Redes Neuronales
conforman estos órganos son llamadas neuronas, cada unidad presenta una
serie de conexiones con otras neuronas mediante una serie de pequeñas
ramificaciones llamadas “dendritas” operando a manera de entradas de señales,
cada célula realiza una transformación de las entradas generando así una señal
de salida, la cual es enviada a través de un componente llamado axón a otras
neuronas, el punto preciso de contacto entre el axón y la dendrita se le denomina
“sinapsis”, así conectadas las neuronas conforman estructuras similares al
concepto de una red.
A este conjunto de consideraciones y conceptualizaciones es lo que se ha dado
en llamar modelo de neurona de McCulloch y Pitts, de este modelo se pueden
obtener algunos razonamientos explicativos:
La neurona de McCulloch y Pitts es un modelo lógico binario, ya que solo
puede exhibir uno de dos estados. Las entradas pueden ser de dos tipos: las
“excitatorias” que operan en forma positiva para que se presente el disparo, es
decir la señal de salida, y las “inhibitorias” que operan en forma negativa
oponiéndose al disparo. Hay un lapso de tiempo dado fijo para la integración de
las entradas sinápticas, basado en el retardo sináptico observado; esto le da a la
neurona su carácter de trabajo en tiempo discreto.
Efectúan una serie de simplificaciones a la actividad neuronal, como son el
considerar que cada entrada sináptica tiene una misma significancia (mismo
peso), que no existen ciclos de realimentación en la red, y que existe un valor
límite de acumulación de energía entrante (umbral) de valor discreto y fijo, el
cual si es rebasado permite que la neurona dispare su señal de salida.
31
Desarrollos Inteligentes
Redes Neuronales
2.1.1 Representación y funcionalidad del modelo.
El proceso de cálculo en una neurona se puede mostrar utilizando una
representación gráfica como se muestra en la figura 2.1.
Figura 2.1 Representación gráfica de una neurona y sus tipos de conexiones.
(http://es.wikipedia.org/neurona_de_McCulloch-Pitts)
Matemáticamente esto se puede expresar mediante:
O = s(red)
En donde:

es la suma pesada.

Xi
es el valor de la i-ésima entrada (input).

Wi
es el peso (weights) de la conexión entre la i-ésima entrada y la neurona.

θ es el valor umbral (threshold)

O es la salida (output) de la neurona.

S es la función no-lineal conocida como función de activación.
La función de activación que se usa es:
32
Desarrollos Inteligentes
Redes Neuronales
Un ejemplo de su funcionamiento lo podemos tener si consideramos una
neurona de este tipo con dos sinápsis excitatorias a su entrada, considerando
unitario el peso de cada una de estas, y un valor umbral de 2.
Es decir:
Si
W1 =w2 = 1
Θ=2
Se pueden presentar las siguientes situaciones:
x1 x2
red
s(red)
0
0
-2
0
1
0
-1
0
0
1
-1
0
1
1
0
1
Se tendrá por lo tanto un comportamiento lógico de una compuerta tipo AND.
2.1.2 Algunas conclusiones respecto al modelo.
McCulloch y Pitts en su trabajo establecieron lo siguiente:
"La regla "todo o nada" de la actividad nerviosa es suficiente para asegurar
que la actividad de cualquier neurona puede ser representada como una
33
Desarrollos Inteligentes
Redes Neuronales
proposición. Las relaciones fisiológicas que existen entre las actividades
nerviosas corresponden, desde luego, a relaciones entre las proposiciones; y la
utilidad de la representación depende de la identidad de estas relaciones con
aquellas de la lógica de proposiciones".
Resulta claro que si con una neurona se puede obtener el comportamiento de
una proposición lógica, entonces con una red de neuronas se puede efectuar el
cálculo de una proposición lógica compleja. Sugiere esto que el cerebro era
potencialmente un dispositivo lógico y computacional.
Es conveniente clarificar en este momento, que los trabajos de McCulloch y
Pitts fueron desarrollados en una época en que aún no se contaba con los
adelantos científicos en neurofisiología, como para poder contar con principios
de funcionamiento iónico y eléctrico de la actividad neuronal, y poder
establecer que el comportamiento de las neuronas naturales son más bien de un
convertidor frecuencia-voltaje que como simples compuertas lógicas. Sin
embargo el potencial de este trabajo sigue siendo de importancia vital, pues su
influencia en los modelos subsecuentes de RNAs es innegable.
2.2 Topologías.
El número de modelos y tipos de RNAs se ha incrementado considerablemente
a tal grado que es necesario establecer una clasificación de ellas, para efectuar
una taxonomía se requiere realizar una descripción formal de la topología de las
redes, es decir su arquitectura o estructura, que consiste en la organización de
las neuronas en la red mediante capas, el número de estas capas, el número de
neuronas por capa, el grado de conectividad y el tipo de conexiones entre
34
Desarrollos Inteligentes
Redes Neuronales
neuronas; asimismo es conveniente definir un modelo genérico de RNA, en la
presente sección estableceremos estos elementos.
2.2.1 Modelo genérico de RNA.
Definición formal de una RNA.
Una definición formal utiliza el concepto de grafo, el cual se establece como un
objeto consistente de un conjunto de nodos o vértices, más un conjunto de
conexiones (links) entre ellos. Una forma de representar el grafo es, dibujando
los nodos como círculos y las conexiones como líneas o flechas.
Definición: Una red Neuronal artificial es un grafo dirigido, con las siguientes
propiedades:
1)A cada nodo i se asocia una variable de estado Xi.
2)A cada conexión (i,j) de los nodos i,j se asocia un peso Wij є Ŕ.
3)A cada nodo i se asocia un umbral θi.
4)Para cada nodo i se define una función fi(Xj,Wij, θi) que depende de los pesos
de sus conexiones, del umbral y de los estados de los nodos j a él conectados.
Esta función proporciona el nuevo estado del nodo.
(Martín del brío, 2007,pp24)
Una red neuronal artificial (RNA) está configurada principalmente por un
conjunto de elementos de proceso (EP), los cuales simulan el comportamiento
de las neuronas naturales del cerebro, tales elementos se encuentran integrados
por capas, siendo así posible tener en una red neuronal una capa de entrada, una
o más capas ocultas y una capa de salida ; se tienen conexiones entre neuronas,
cada neurona o elemento de proceso, recibe un conjunto de señales de entrada,
las cuales pueden provenir de otras neuronas como es el caso de las capas
ocultas y de salida ( ver figura 2.1), o bien provenir de algún dispositivo externo
35
Desarrollos Inteligentes
Redes Neuronales
como es el caso de las neuronas de la capa de entrada, y generan una señal de
salida, la cual es el resultado de su proceso interno.
Figura 2.2.1 Arquitectura general de una red neuronal
Los conectores entre neuronas permiten la conectividad y representan otra
parte importante en la topología de las RNA´s, los cuales pueden conectar
neuronas de capas diferentes, de la misma capa o a una neurona consigo misma,
las conexiones pueden ser totales o parciales entre capas.
A cada conector entre neuronas se le asocia un factor de peso (W), el cual
simula la sinapsis de las neuronas naturales, la cual es el punto de conexión
entre una neurona y otra, y que se le atribuyen propiedades importantes para el
aprendizaje.
36
Desarrollos Inteligentes
Redes Neuronales
El elemento central de una RNA es el elemento de proceso (EP) o neurona, que
es en donde se realiza el proceso individual, el cual consiste en obtener primero
el cálculo de su entrada neta (Netaj ), mediante la expresión siguiente :
n
Netaj = Wi *Xi
i=1
En donde : Wi es el peso de la conexión de entrada que
proviene de la i-ésima neurona.
Xi es la señal de entrada que proviene de la
i-ésima neurona.
n es el número de neuronas de entrada.
Posteriormente se obtiene la señal de salida (Yj) de la neurona, mediante la
aplicación de una función de activación (treshold)
f(Netaj ), de la siguiente manera:
Yj = f(Netaj )
En donde:
f(Netaj ) es la función de activación de la
j-ésima neurona.
Al definir la topología y configuración de una red neuronal, se deben establecer
todos y cada uno de estos elementos, es decir, se debe especificar:
- De cuantas capas constará la red.
- Cuantas neuronas se incluirán en cada capa.
- Cual será la conectividad en la red.
- Qué función de activación se utilizará.
- Qué modelo de aprendizaje se utilizará.
- Y como estará codificada la información de entrada
y de salida de la red.
(Hilera González José Ramón,1995,)
37
Desarrollos Inteligentes
Redes Neuronales
2.2.2 Tipos de redes neuronales artificiales.
En atención a diferentes aspectos de las RNAs, pueden establecerse diferentes
tipos de arquitecturas neuronales, a continuación se indican algunas formas de
clasificación:
En relación a su estructura en capas, se pueden dividir en redes monocapa
(constan de una sola capa) y redes multicapa (cuyas neuronas se organizan en
múltiples capas).
Considerando el flujo de datos en el sistema, se pueden tener redes
unidireccionales (en la cuales el flujo es solamente en la dirección que vá de las
neuronas de entrada hacia las de salida, también llamadas “feedforward”), y
redes recurrentes o realimentadas (la información puede fluir en cualquier
sentido, incluido el de la salida hacia la entrada por eso se denominan
“feedback”).
Atendiendo a la operación de una RNA como a la de una memoria capaz de
asociar un cierto patrón de entrada con algún patrón de salida, se puede hablar
de una red autoasociativa (si el patrón de entrada es el mismo que el de salida),
o una red heteroasociativa (si el patrón de entrada es diferente al de salida).
El mecanismo de aprendizaje es otro aspecto que permite clasificar las RNAs,
el aprendizaje es el proceso mediante el cual una red modifica sus pesos en
función a una información de entrada, es así que dependiendo de la naturaleza
de la regla de aprendizaje se pueden tener redes neuronales con aprendizaje
supervisado o redes con aprendizaje no supervisado; la diferencia entre ambos
consiste en la existencia o no de un agente externo(supervisor) que controle
dicho proceso, si coexisten los dos tipos entonces se tendrá una red híbrida, y si
se establece un proceso intermedio entre ambos se tendrá una red de aprendizaje
reforzado.
38
Desarrollos Inteligentes
Redes Neuronales
Otro criterio relacionado también con el aprendizaje, lo constituye el hecho si la
red puede aprender durante su funcionamiento normal lo cual define a las
redes con aprendizaje en línea ( On Line), o bien si el aprendizaje implica la
desconexión de la red, es decir opera en otro modo del normal (denominado Of
Line ).
También se pueden clasificar las RNAs en función de la forma de
representación de la información de entrada y la de salida, algunas solo
permiten ciertos conjuntos de valores discretos dando así lugar a las redes
binarias, otras pueden manejar valores numéricos reales en entradas y salidas lo
cual constituye el tipo analógico, asimismo se pueden tener modelos que
trabajan con representaciones de datos difusos obteniéndose así las redes difusas
(fuzzy).
2.3 Técnicas de aprendizaje.
Con el propósito de revisar algunas de las técnicas de aprendizaje, tomaremos
como ejemplos algunos de los modelos de redes más típicos como son las redes
unidireccionales organizadas en capas con aprendizaje supervisado.
Un concepto importante lo constituye el de aprendizaje, la corriente
conductista
en Psicología establece que:
“El aprender consiste en una
modificación de la conducta, de tal manera que ante un estímulo A la respuesta
ya no es X , sino Y” (Gutierrez Saenz Raúl, 1996, pp 22). Esta definición
establecida no en el contexto de las redes neuronales, aplica de una manera casi
completa a los procesos y técnicas de aprendizaje utilizadas en ellas.
39
Desarrollos Inteligentes
Redes Neuronales
En la presente sección se tratarán los siguientes aspectos relacionados con las
técnicas de aprendizaje: El mecanismo básico de aprendizaje en las RNAs, las
reglas de aprendizaje más comunes y los paradigmas
de las arquitecturas
empleados en ellas.
2.3.1 El mecanismo básico de aprendizaje.
Como se estableció en la sección 2.1, una red neuronal consiste de un conjunto
de elementos de proceso (EP) denominados neuronas, las cuales se encuentran
agrupadas en subconjuntos llamados “capas”, cada elemento “j” recibe un
conjunto de entradas Xi, las cuales provienen de cada una de las neuronas “i”
pertenecientes a la capa anterior, a cada una de estas entradas se le asocia un
valor numérico Wij llamado peso de conexión entre las neuronas “i” y la “j”
según se muestra en la figura 2.3.1.
Figura 2.3.1 Elemento de proceso de una red neuronal
40
Desarrollos Inteligentes
Redes Neuronales
La neurona j-ésima realiza su proceso sumando los productos de los valores de
entrada Xi por los pesos Wij, obteniendo así el valor denominado Neta.
n
Neta = ∑ Wij * Xi
i=0
A este valor obtenido de Neta, se le aplica la función “f” conocida como
función de transferencia, obteniéndose así el valor de salida Yj.
Yj = f(Neta)
Se utilizan diferentes tipos de funciones de transferencia, por ejemplo: la
función escalón, el sigmoide, el seno, o algunas funciones lineales.
Esta
función es definida en tiempo de diseño y no se cambia dinámicamente sino que
se mantiene fija.
Sin embargo los pesos Wij son variables, ellos son ajustados dinámicamente
para producir un cierto valor de salida Yj , esta modificación de los pesos es lo
que constituye la esencia del aprendizaje en una sola neurona, ajustar los pesos
a nivel de toda una red conforma el comportamiento inteligente del sistema
emulando el acto de aprender.
El proceso de ajuste de los pesos se debe realizar siguiendo una fórmula
matemática denominada “regla de aprendizaje”, la cual representa la clave para
realizar el objetivo deseado, a dicho proceso se le conoce como
“entrenamiento”.
Aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en
respuesta a una entrada externa (McCord Nelson Marilyn,1991, pp131) .
41
Desarrollos Inteligentes
Redes Neuronales
2.3.2 Reglas de aprendizaje más comunes
Los investigadores han continuado desarrollando nuevas reglas de aprendizaje,
sin embargo existen algunas que normalmente se utilizan. A continuación se
revisarán algunas de estas.
Regla de Hebb
Esta regla es un modelo clásico de aprendizaje, fue establecida por Donald
Hebb en 1949, esta basado en una forma
de aprendizaje en las neuronas
biológicas, y que se puede enunciar de la siguiente manera:
“Si un axón presináptico causa la activación de cierta neurona postsináptica, la
eficacia de la sinapsis que las relaciona se refuerza”
(Martín del Brío Bonifacio, 2007, pp 44)
Lo cual aplicado a un elemento de proceso en una RNA, se podría establecer de
la siguiente manera:
La modificación al peso Wij que conecta la neurona i con la j, de un instante t a
otro instante t + Δt , expresado mediante:
Wij (t + Δt) = Wij(t) + ΔWij
El incremento ΔWij se calcula de una manera proporcional al producto de la
entrada Xi por la salida Yj según se indica en la siguiente expresión:
ΔWij = αXiYj
En donde α es un parámetro de proporcionalidad denominado “ritmo de
aprendizaje”, que puede ser un valor entre 0 y 1.
Regla delta
Está basada en la idea de continuar modificando el refuerzo de las conexiones
para reducir la diferencia entre el valor de la salida deseada y el valor de la
salida actual de una neurona, a esta regla también se le conoce como regla de
42
Desarrollos Inteligentes
Redes Neuronales
Widrow – Hoff utilizada en el modelo de red ADALINE e introducida por
Widrow en 1959. También se aplica en la regla LMS (Least Mean Squares).
Regla del Gradiente descendente
Esta regla representa un enfoque matemático para minimizar el error entre la
salida actual y la deseada. Los pesos son modificados por una cantidad
proporcional a la primera derivada del error con respecto al peso.
Ley de aprendizaje de Kohonen
Desarrollada por Teuvo Cohonen e inspirada por el aprendizaje en sistemas
biológicos, es empleada solamente en aprendizaje no supervisado, en este
modelo las neuronas compiten por la oportunidad de aprender, el elemento con
la mayor salida es declarado ganador, y tiene la capacidad de inhibir a sus
competidores y excitar a sus vecinos. Solamente el ganador puede proporcionar
una salida, y junto con sus vecinos puede modificar sus pesos.
El tamaño de la vecindad puede variar dinámicamente, inicialmente se emplean
valores grandes y posteriormente se va reduciendo el rango de valores.
Regla de aprendizaje Back Propagation
Esta técnica es la generalización más comúnmente utilizada de la regla delta,
involucra dos fases: La primera fase conocida como “fordward phase” ocurre
cuando se presenta una entrada a la red, la cual es propagada por toda la red
hacia delante en dirección de la capa de salida ; la segunda llamada “Backward
phase” se realiza hacia atrás, de la capa de salida hacia la capa de entrada, el
error es el que se propaga, es decir, los pesos se ajustan de acuerdo al valor de
error cometido.
Esta técnica será analizada en detalle posteriormente.
43
Desarrollos Inteligentes
Redes Neuronales
Regla de Grossberg
Stephen Grossberg estableció una regla de aprendizaje combinando el
aprendizaje Hebbiano con el olvido biológico.
Cada red neuronal es hecha de “instars” y “outstars”, un instar es una neurona
recibiendo muchas entradas, un outstar es una neurona enviando su salida a
muchas otras neuronas. Si la actividad entrante y saliente de una neurona es alta,
los pesos cambiarán significativamente, sin embargo si ambas señales de
entrada y salida son pequeñas, entonces los pesos serán modificados en valores
muy pequeños, los cuales pueden ser considerados como conexiones sin
importancia y pueden ser olvidados. El tipo de red neuronal a la que se aplica
esta regla es la ART.
2.4 Métodos de entrenamiento.
Entrenamiento es el proceso mediante el cual una red neuronal aprende. El
formador provee a la red con ejemplos de las respuestas deseadas, a los cuales
se les conoce como “patrones de entrenamiento”, la diferencia entre la salida
obtenida y la salida deseada representa la pauta y medida de ajuste de los pesos
de conexión, esto se realiza utilizando una regla de aprendizaje, posteriormente
se prueba con ejemplos sin salidas para los cuales la red debe crear grupos con
características similares, a estos patrones se les denomina “patrones de prueba”.
El entrenamiento podría incluir actividades como proveer acceso a bases de
datos en donde radican los patrones de entrenamiento, colocar objetos frente a
sensores de algún tipo, o bien presentar imágenes.
Después del entrenamiento, el sistema está listo para utilizarse. Dependiendo de
la tarea a ser realizada, la red podría
almacenar los valores de los pesos
óptimos, y deshabilitar el proceso de aprendizaje, e iniciar la siguiente fase que
es la de operación, esto se realiza en la mayoría de las redes neuronales, excepto
para aquellas en las cuales se debe continuar ajustando los pesos para adaptarse
44
Desarrollos Inteligentes
Redes Neuronales
a condiciones cambiantes, tal como sistemas que efectúan procesos de control
en tiempo real.
Cuando se diseña una red, se parte de un cierto modelo de neurona y de una
cierta arquitectura de la red, para que esta resulte operativa es necesario
entrenarla, siendo así requerido utilizar un método apropiado. El entrenamiento
se puede realizar en dos niveles, el más utilizado es el modelado de las sinapsis,
que consiste en modificar los pesos de conexión siguiendo una cierta regla de
aprendizaje, la cual busca optimizar una función de error o costo que mide la
eficacia de operación de la red.
Otros sistemas neuronales consideran un nivel mayor de aprendizaje, el cual
consiste en la creación o destrucción de neuronas modificando inclusive la
arquitectura de la red.
En la presente sección se revisarán algunos de los métodos básicos de
entrenamiento en general y se analizarán ejemplos específicos ilustrativos de
entrenamiento, ya que en secciones posteriores se estudiarán a profundidad los
métodos que se aplican con más frecuencia.
Aprendizaje supervisado
En el aprendizaje supervisado se presenta a la red un conjunto de patrones junto
con la salida deseada, y en forma iterativa se van ajustando los pesos sinápticos
hasta que la salida obtenida observe un error mínimo aceptable.
Si E(W) es una función de los pesos W, que representa el error esperado de la
salida de la red.
En el aprendizaje supervisado se pretende estimar una función f desconocida tal
que f: Ŗn  Ŗm la cual representa a la red, a partir de muestras o patrones
45
Desarrollos Inteligentes
Redes Neuronales
(X,Y) siendo X є Ŗn, Y є Ŗm , por medio de la minimización iterativa de E(W)
utilizando algún algoritmo del tipo de descenso por el gradiente (Martín del
Brío Bonifacio, 2007, pp 27).
Aprendizaje no supervisado
En este método la red no utiliza influencia externa para ajustar sus pesos, en
lugar de ello se tiene un sistema de monitoreo interno de la ejecución del
sistema, el cual observa tendencias en las señales de entrada y efectúa
adaptaciones de acuerdo a la función de la red, para ello debe contar con alguna
información de cómo debe organizarse ella misma. Un ejemplo puede ser una
red que aprende a desplazar un objeto móvil en un ambiente dinámico.
Un algoritmo de entrenamiento no supervisado podría enfatizar la cooperación
entre “clusters” (grupos) de neuronas, cada cluster trabajaría en conjunto con
otro cluster y tratar de estimularlo según se presente la señal de entrada. Otra
manera de operar podría ser por competencia entre los clusters, de tal manera
que se aumente o disminuya la actividad en algunos de ellos según sea la
entrada que se presente, así se podrían obtener clusters especializados en cierto
tipo de señales entrantes (McCord Nelson Marilyn, Illingwhorth W.T., 1991,
pp132) .
En el aprendizaje no supervisado se presenta a la red un conjunto de patrones
sin adjuntar la salida deseada. La red por medio de la regla de aprendizaje
estima p(X), la cual es una función de densidad de probabilidad de los patrones
X de entrada, siendo X є Ŗn . A partir de p(X) puede reconocer regularidades en
el conjunto de entradas, extraer rasgos, o agrupar patrones según su similitud.
Un ejemplo típico de este tipo de aprendizaje es el de los mapas
autoorganizados.
46
Desarrollos Inteligentes
Redes Neuronales
Aprendizaje hibrido
En este método de aprendizaje se combinan ambos tipos de entrenamiento, el
supervisado y el no supervisado, los cuales tienen lugar normalmente en
distintas capas de neuronas. El modelo de contra-propagación es un ejemplo de
esta forma de entrenamiento (Martín del Brío Bonifacio, 2007, pp 28).
Aprendizaje reforzado
Es un tipo de aprendizaje que se puede ubicar entre el supervisado y el
autoorganizado. Se emplea información sobre el error cometido, pero existe un
única señal de error, no se suministra la salida deseada, también se denomina
aprendizaje por premio-castigo.
2.5
Back Propagation.
La red de propagación hacia atrás (BPN) fue inicialmente propuesta por
Werbos en 1974, posteriormente por Parker en 1982 y finalmente ha sido
desarrollada, formalizada y popularizada por David Rumelhart, Hinton y
Williams en 1986 ; este modelo es el que mayor aplicación tiene en la
actualidad para resolver problemas que requieran el reconocimiento de patrones
complejos, o bien el aprendizaje de la asociación entre patrones dados de
ejemplos y sus clases correspondientes, en la entrada puede haber tramas
incompletas o con ruido, y la red debe asociarlas con mayor aproximación.
En esta sección estudiaremos con detalle este tipo de red neuronal y su método
de entrenamiento asociado.
47
Desarrollos Inteligentes
Redes Neuronales
La red “Backpropagation” (propagación hacia atrás)
La red BPN debe su nombre al algoritmo de aprendizaje que se utiliza, el cual
está basado en una regla denominada “Delta generalizada” que es una versión
simplificada del método de gradiente descendente, actualmente se desarrollan
trabajos tendientes a mejorar la velocidad de convergencia y la posibilidad de
eliminar problemas de llegar a mínimos locales durante el entrenamiento,
traduciéndose esto en mejores algoritmos para ésta red.
La estructura de la red BPN consiste en una capa de entrada con n neuronas,
una capa de salida con m neuronas y una o más capas ocultas con cualquier
número de neuronas cada una. Cada neurona de una capa oculta recibe sus
entradas desde todas las neuronas de la capa anterior, y envía su salida a todas
las neuronas de la capa siguiente, las neuronas de la capa de entrada reciben
cada una un componente del patrón de entrada y lo transmiten directamente a
todas y cada una de las neuronas de la primera capa oculta (si no hay capas
ocultas, lo envían a la capa de salida), las neuronas de la capa de salida reciben
sus entradas de todas las neuronas de la última capa oculta y transmiten su
salida hacia el exterior directamente.
No se tienen conexiones entre neuronas de una misma capa, ni tampoco
conexiones hacia atrás de una capa a otra, ni retroalimentación de una neurona
consigo misma, existiendo la posibilidad de tener unidades de polarización o de
tendencia en todas las capas menos en la de entrada.
El funcionamiento de la red BPN se da de la siguiente manera:
Suponiendo que en principio ya se ha entrenado debidamente, es decir la red ya
puede asociar perfectamente (o aproximadamente) tramas de entrada con sus
correspondientes tramas de salida, los pesos W de conexión ya se han
determinado aceptablemente.
48
Desarrollos Inteligentes
Redes Neuronales
Para la explicación siguiente supondremos que tenemos una red de tres capas
(sin pérdida de generalidad), una capa de entrada, una capa de salida y una capa
oculta.
Se presenta una trama de entrada X, sus componentes son recibidos por las
neuronas de la capa de entrada (se tienen n neuronas), la propagación hacia
adelante se continúa determinando la entrada neta a las neuronas de la capa
oculta mediante la fórmula siguiente:
Neta hi = X1We1hi + X2We2hi + . . . + XnWenhi + h
Para i = 1,m
En donde :
Xj
Representa la entrada j-ésima a la neurona
i-ésima de la capa oculta h.
We1hi Representa el peso de conexión de la k-ésima
neurona de entrada a la i-ésima neurona de la
capa oculta h.
h
Es el factor de tendencia o polarización de la capa
oculta h.
La función de activación muy frecuentemente utilizada en la red BPN es la
función sigmoide dada por la siguiente expresión:
y = f(Neta) = 1/(1+e-Neta)
Aplicando esta función en cada neurona de la capa oculta, se obtiene la señal de
salida dada por los valores siguientes:
49
Desarrollos Inteligentes
yi = f(Neta hi )
Redes Neuronales
Para i = 1,m
Siendo f la función sigmoide.
Las señales yi se propagan hacia la capa de salida, ahora la entrada neta a las
neuronas de la capa de salida son determinadas mediante la expresión siguiente:
Neta oj = Wh1oj Yh1 + Wh2oj Yh2+ . . . + Whmoj Yhm + 0
Para j= 1,s
En donde:
Wwhoj Es el peso de conexión de la neurona k-ésima de
la capa oculta a la unidad j-ésima de salida.
Yhk
Es la salida de la neurona k-ésima de la capa
oculta .
s
Es el número de neuronas en la capa de salida.
0
Es el valor de tendencia para la capa de salida.
Finalmente las señales de salida Y son obtenidas nuevamente aplicando la
función f sigmoide de la siguiente manera:
Yk = f(Neta ok )
Para k = 1,s
Esta señal de salida Y, es el vector que se debe corresponder con el vector de
entrada X del mapeo que ha aprendido la red durante su entrenamiento.
La regla Delta Generalizada utilizada en el entrenamiento de la red BPN.
50
Desarrollos Inteligentes
Redes Neuronales
Para entrenar una red, cuya fase se mostrará a continuación, se deben tener los
siguientes elementos:
- Un conjunto de datos correspondientes a patrones de entrenamiento dados por
los vectores Xp, Dp para p = 1,np siendo np el número total de patrones
con que se cuenta.
- Un conjunto de datos de prueba denominados patrones de prueba Xd, Dd
para d= 1,nd siendo nd el número total de patrones.
Los pasos a seguir para el entrenamiento de la red se dan a continuación,
utilizando para ello la regla de aprendizaje denominada “Delta Generalizada”,
que no es otra que el método de gradiente descendiente
(Hilera González José
Ramón, 1995):
1. Inicializar
2. Presentar
los pesos de conexión de la red Wih y Who .
un patrón de entrada Xp a la capa de entrada, y mantener su
correspondiente salida deseada Dp.
3. Propagar hacia adelante la señal de entrada Xp mediante los siguientes pasos :
. Calcular las entradas netas a la capa oculta: Netah
. Calcular la salida de la capa oculta Yhr.
. Calcular las entradas netas a la capa de salida Netah.
. Calcular la salida de la capa de salida Y.
4. Calcular el error () de todas las neuronas de la red :
51
Desarrollos Inteligentes
Redes Neuronales
Para las neuronas de la capa de salida:
opk = (Dpk - Ypk )f’(Netaok )
Considerando que la función “f” es el sigmoide, entonces el error se
determina de la siguiente manera:
opk = (Dpk - Ypk ) Ypk (1-Ypk )
Por otra parte, para las neuronas de la capa oculta, el error se calcula
mediante:
hpj = (1 - Xpj ) Xpj  opk Wo kj
En donde:
k = 1,s
y
j = 1,m.
5. Actualizar los pesos :
. De la capa de salida Who mediante la siguiente expresión :
Who (t+1) = Who (t) +  opk Y pk
. De la capa oculta Wih mediante la expresión:
Wih (t+1) = Wih (t) +  hpj X pi
6. Calcular el error cuadrático dado por la la expresión :
Ep = (1/2)(pk)2
k
para k=1,np
Si Ep es menor que un cierto valor de error aceptable predeterminado,
entonces terminar, si no ir al paso 2.
2.6 Modelo de Cohonen.
Así como BackPropagation es el tipo de red neuronal mas utilizada en los
modelos supervisados, el de Kohonen es uno de los más populares modelos no
52
Desarrollos Inteligentes
Redes Neuronales
supervisados o autoorganizados, estos últimos se caracterizan porque en su
entrenamiento se presentan patrones que solo contienen datos de entrada sin
incluir las salidas deseadas, además de no requerir un entrenador externo que
indique si la red neuronal está operando debidamente, pues no existen salidas
deseadas, sino que la red por sí misma debe descubrir características comunes
de los datos, regularidades o tendencias y categorías, de tal manera que durante
su entrenamiento la red incorpore a su estructura interna, por esto se conoce
también a este modelo como mapa autoorganizado de Kohonen.
En esta sección se verá con cierta profundidad lo concerniente a los mapas
autoorganizados de Kohonen. En cuanto a su conceptualización, clasificación,
entrenamiento y aplicación.
Los mapas autoorganizados
Durante la década de los ochenta el físico finlandés Teuvo Cohonen desarrolló
los mapas autoorganizados SOM ( Self Organizing Maps) o bien SOFM ( Self
Organizing Feature Maps), como una continuación de la línea de investigación
de las redes competitivas iniciada por Von der Malsburg (Martín del Brío
Bonifacio, 2007, pp 88).
Se puede observar que en el cortex del cerebro de los animales superiores se
presentan zonas en donde las neuronas detectoras de rasgos, se distribuyen
topológicamente ordenadas, de tal manera que cada zona posee grupos de
neuronas que representan de alguna manera una parte sensora del organismo,
como pueden ser las manos, la vista, el oído, etc. Característica que los mapas
de Kohonen tratan de reproducir.
La arquitectura de las redes SOFM está constituida por dos capas de neuronas,
la primera capa que es la de entrada o sensorial esta formada por m neuronas,
una por cada variable de entrada comportándose como “buffers” que distribuyen
53
Desarrollos Inteligentes
Redes Neuronales
la señal proveniente del exterior hacia las neuronas de la segunda capa en forma
unidireccional.
La segunda capa está integrada por neuronas que conforman el mapa de rasgos
y por tanto será la capa de salida, que es en donde se realizan los cálculos, sus
neuronas se organizan en una estructura rectangular de nxn elementos, a cada
una se le suelen asociar los índices i,j.
Cada neurona de entrada (k = 1, m), está conectada a todas las neuronas del
mapa de salida (i,j) mediante pesos sinápticos Wkij como se muestra en la
figura 2.6.1.
(Valluru B. Rao, Hayagriva V. Rao, 1995)
Figura 2.6.1 Arquitectura de una red SOFM.
La idea común de estos modelos es el agrupamiento de patrones, ya que
desarrollan “clusters” (grupos) de neuronas asociadas a dichos patrones.
Clasificación de las redes autoorganizadas
54
Desarrollos Inteligentes
Redes Neuronales
Como ya se mencionó anteriormente este tipo de modelos tienen entrenamiento
no supervisado y de acuerdo a la regla de aprendizaje, pueden clasificarse en
dos grandes categorías: Los mapas autoorganizados Hebbianos y las redes
competitivas.
Los mapas autoorganizados Hebbianos como su nombre lo indica utilizan para
su aprendizaje una regla tipo Hebb, algunas emplean este modelo directamente,
otras derivan reglas diferentes pero basadas en este tipo de modelo de
aprendizaje. Estas redes se caracterizan por tener una cantidad numerosa de
neuronas de salida que pueden activarse simultáneamente.
Otro grupo importante de modelos autoorganizados son las redes no
supervisadas competitivas, cuya característica esencial consiste en que
solamente una neurona o sus vecinas pueden activarse. Durante el proceso
operativo de estas redes se realiza una competencia entre las neuronas, la
ganadora tiene la capacidad de inhibir a las demás por eso también se conocen a
este tipo de modelo como redes WTA (Winner Take All). En cuanto a su
proceso de entrenamiento, también se lleva a cabo mediante competencia, las
neuronas ganadoras refuerzan sus conexiones sinápticas.
Algoritmo de aprendizaje autoorganizado
En principio es importante señalar que no se tiene un algoritmo de aprendizaje
único para los modelos SOM, existen diversos con variantes en diferentes
aspectos, sin embargo la solución a la que se llega no debe de diferir en forma
significativa. A continuación se muestra un algoritmo típico (Martín del Brío
Bonifacio, 2007, pp 92):
Paso 1. Inicializar los pesos sinápticos Wij.
En el instante t = 0, se pueden inicializar de varias
55
Desarrollos Inteligentes
Redes Neuronales
formas:
- En forma aleatoria
- Valores nulos
- Con un valor preestablecido
Paso 2. Presentar un patrón X(t) de entrada.
Paso 3. Cada neurona i-ésima (con coordenadas i,j en el mapa)
calcula la similitud entre su vector de peso sináptico Wij y el
actual vector X de entrada. Un criterio muy común de
similitud lo constituye la distancia Euclidiana:
n
|Wij – X| = d2(Wij,X) = ∑ (Wijk – Xk)2
k=1
Paso 4. Determinar la neurona ganadora c, cuya distancia sea la
menor de todas.
Paso 5. Actualizar los pesos sinápticos
Se actualizan los pesos de la neurona ganadora como los
de sus vecinas, para ello se utiliza alguna regla como la
siguiente:
Wijk(t + 1) = Wijk(t)+ α(t)*h(|i – c| , t)*(Xk(t) – Wijk(t))
En donde:
α(t) Es un parámetro llamado ritmo de aprendizaje en t.
α disminuye a medida que avanza t, pudiese
utilizarse la expresión α(t) = α(0)*(1 – t/T)
Siendo T el número total de iteraciones
α(0) el valor inicial de α
h(.) Se denomina función de vecindad, ya que establece
cuales son las neuronas vecinas de c. Depende de la
distancia entre la neurona i y la ganadora c, valiendo
cero cuando i no pertenece a la vecindad de c.
Al igual que α, h puede disminuirse a medida que t
Avanza.
56
Desarrollos Inteligentes
Redes Neuronales
Paso 6. Si se ha alcanzado el número máximo T de iteraciones
establecido, entonces el proceso termina. En caso contrario
volver al paso 2.
El número máximo de iteraciones T debe ser suficientemente grande para
proporcionar resultados estadísticos aceptables, valores de 500 iteraciones por
neurona de salida suelen ser adecuadas.
El ritmo de aprendizaje α debe ser menor a 1.0 y mayor a 0.
La función de vecindad h(|i – c|,t) permite establecer si una neurona i pertenece
a la vecindad de c en un iteración determinada t. La función de vecindad es
simétrica y centrada en c, uno de sus argumentos es la distancia entre la neurona
i-ésima con coordenadas (i,j) y la neurona ganadora c cuyas coordenadas las
denominaremos (c1,c2), de esta manera la distancia d se puede expresar según
la siguiente fórmula:
d=
|i – c| = ((i-c1)2 + (j – c2)2)1/2
Se tienen diferentes tipos de funciones de vecindad h(.), la más simple es del
tipo escalón definida de la siguiente manera:
H(i-c,t) = 0, si d> R(t)
H(i-c,t) = 1, si d<= R(t)
En donde R(t) es el radio de vecindad actual, puede variar con t, se inicia con
cierto valor Ro grande que no sobrepase la mitad del mapa en un lado y debe
terminar con un valor final Rf = 1, se puede utilizar la siguiente expresión:
R(t) = Ro + (Rf – Ro)*(t / T)
Otras funciones de vecindad pueden ser:
- Gaussiana
- Función pipa
57
Desarrollos Inteligentes
Redes Neuronales
- Sombrero mexicano
- Rectangular
Procesamiento de datos en una red SOM
Una vez entrenada la red, entra a la fase de operación normal, en ella se
mantienen los pesos fijos y se efectúan las siguientes operaciones:
- Cada neurona (i,j) calcula la similitud entre el vector de pesos Wij con el
vector de entrada X, esto de acuerdo con la medida de distancia o criterio de
similitud establecido.
- Se declara ganadora a la neurona c cuyo vector de pesos Wc es más similar al
vector de entrada X.
d(Wc, X) = min{ d(Wij,X)}
ij
Aplicaciones de las redes no supervisadas
De acuerdo al procesamiento de datos de este tipo de redes, y a su arquitectura,
se pueden utilizar para realizar varios tipos de tareas entre ellas se encuentran
las siguientes:
- Análisis de similitud entre patrones. Se pretende establecer el grado de
similitud entre el patrón de entrada actual y el promedio de los presentados
anteriormente.
- Análisis de componentes principales. Se desea establecer una asociación
entre los pesos sinápticos de un conjunto de neuronas de salida con los rasgos
más sobresalientes del espacio sensorial.
58
Desarrollos Inteligentes
Redes Neuronales
- Clustering (Agrupamiento o clasificación). Cada neurona de salida representa
una categoría de patrones, los cuales al presentarse a la red, esta en su operación
activa a solamente una neurona, obteniéndose así la indicación de a qué grupo
pertenece el patrón de entrada presentado.
- Memoria asociativa. Es un caso general del de Clustering, en este caso no
solamente se establece a qué categoría pertenece el patrón de entrada, sino que
también se puede desplegar información prototipo de la clase.
- Codificación. Es similar al caso anterior, solo que en esta ocasión se despliega
no información prototipo, sino una etiqueta codificada.
- Mapas de rasgos. Las neuronas de salida se ordenan geométricamente ( en
forma de matriz bidimensional), realizando una proyección del espacio sensorial
de entrada pero preservando la topología del espacio original y reduciendo sus
dimensiones o eliminando rasgos insignificantes.
Generalmente realizan tareas de clasificación de patrones, sin embargo también
pueden ser útiles en tareas como: aproximación funcional, procesamiento de
imágenes, análisis estadístico, optimización combinatorial, monitorización de
procesos, representación de funciones de densidad de probabilidad y minería de
datos.
2.7 Otros modelos
En las secciones anteriores se han tratado algunos de los modelos más comunes
representativos de las redes neuronales, sin embargo es conveniente completar
el panorama con otros modelos que pueden ser también importantes desde la
perspectiva histórica y teórica práctica, se verán a continuación los modelos
59
Desarrollos Inteligentes
Redes Neuronales
Adaline, el Perceptrón y para concluir se revisará un tipo de red realimentada
como es el modelo de Hopfield.
Modelo de Hopfield
El físico norteamericano J. J. Hopfield desarrolló a principios de los años
ochenta una arquitectura de red neuronal similar a las denominadas como
memorias asociativas, siendo su propuesta muy importante porque inyectó en su
momento nuevos impulsos para el avance de la investigación en este campo.
Las redes de Hopfield son el modelo clásico de red recurrente, su arquitectura
consiste en una única capa de neuronas, todas ellas conectadas entre sí en forma
completa y permitiendo la comunicación en ambas direcciones ( ver figura
2.7.1), funciona como una memoria asociativa pudiendo almacenar hasta 0.138
N ejemplos de entrenamiento, siendo N el número de elementos de proceso de
la red, cada neurona tiene une estado interno Ui y otro externo Vi, la relación
entre ambos estados viene dada por la siguiente expresión:
n
Ui(t + 1) = ∑Wij*Vj(t) + Ii
j=1
1 si Ui > 0
Vi(t + 1) = f(Ui) =
0 si Ui <= 0
En donde:
Ii es el valor de entrada a la neurona i, con valores binarios (0,1) o (-1,+1).
f(.) es la función de transferencia entre los estados internos y externos.
60
Desarrollos Inteligentes
Redes Neuronales
Figura 2.7.1 Arquitectura de la memoria de Hopfield
Sin conexiones de realimentación.
Tiene conexiones bidireccionales con pesos simétricos Wij = Wji que tienen
valores continuos (números reales), todas las unidades son de entrada y de
salida.
La neurona i calcula el potencial postsináptico Hi de acuerdo a la expresión:
Hi(t) = ∑ Wij*Ij(t) – θi
j
Siendo θ un umbral de disparo.
Finalmente se aplica al potencial Hi la función f (.) que puede ser de tipo
escalón o bien si se emplean valores discretos -1, +1, se puede utilizar la
función de transferencia signo: f(x) = sign(x) con valores +1 significa activada y
-1 desactivada. De esta manera se obtiene la salida digital de la neurona i Yi(t):
Yi(t) = f(Hi(t))
En principio para t = 0, cada neurona i recibe del exterior un valor de entrada Ii.
La red interrumpe su comunicación con el exterior y procesa las entradas
recibidas, para tiempos sucesivos t + 1, las entradas de cada neurona son el
estado en el que se sitúan en el instante anterior t. Normalmente se considera el
61
Desarrollos Inteligentes
Redes Neuronales
estado X de un red de Hopfield en t como el estado de activación de sus
neuronas X(t):
X(t) = ( X1(t), X2(t), ..., Xn(t))
El proceso finalizará cuando se alcance un estado estable X* que cumpla con la
condición siguiente: X(t + 1) = X(t).
El objetivo del entrenamiento de una red de Hopfield es almacenar un conjunto
de patrones Xp en forma de estados estables, de tal manera que cuando se
presente un patrón de entradas X se obtenga una salida X* que sea uno de los
estados estables de la red que coincida con uno de los patrones Xp almacenados.
El aspecto interesante de operación de una memoria autoasociativa radica en
que si se presenta en la entrada un patrón con ruido, la memoria asocie el estado
más próximo al patrón original sin ruido utilizado en el entrenamiento.
Considerando que la regla de activación se puede enunciar como se indica a
continuación:
Xi(t + 1) = f(Hi(t))= 1 si Hi(t) > 0 => ΔXi = Xi(t+1) –Xi(t) ≥ 0
Xi(t + 1) = f(Hi(t))= 0 si Hi(t) < 0 => ΔXi = Xi(t+1) –Xi(t) ≤ 0
Por lo tanto:
Hi(t)* ΔXi(t) ≥ 0 es decir: (∑ Wij*Ij(t) – θi)* ΔXi(t) ≥ 0
Se define el incremento de energía de la red ΔEi al valor obtenido de esta
expresión, por lo que se tiene:
ΔEi = - ( ∑ Wij*Xj(t) – θi))* ΔXi(t)
La cual debido a su forma geométrica, se considera <= 0
A partir de la expresión anterior se puede definir la energía de una neurona i
específica mediante la fórmula:
62
Desarrollos Inteligentes
Redes Neuronales
Ei = -Xi(t)* (∑ Wij*Xj(t) – θi)
La energía de la red completa se obtiene sumando la energía de cada una de las
neuronas, considerando que la matriz de pesos es simétrica (Wij = Wji) y que la
diagonal principal es nula (Wii = 0):
n n
n
E = -(1/2)* ∑ ∑ WijXiXj + ∑θi*Xi
i=1 j=1
i=1
La energía de la red siempre estará limitada a un valor, por lo que la red siempre
llegará a un estado de mínima energía, que será un mínimo local
correspondiente a un estado estable.
Entrenamiento de la red de Hopfield
El aprendizaje de la red consistirá en lograr que almacene como estados estables
el conjunto de mínimos locales en la función de energía, y por tanto encontrar el
conjunto de pesos sinápticos W que hace que tenga como mínimos locales los
patrones de entrenamiento.
Si se utiliza la regla de Hebb y suponemos que las neuronas son de tipo Ising (es
decir sus estados de activación son -1 y +1) con umbrales nulos, a partir de un
conjunto p de patrones, la regla de aprendizaje será la siguiente:
p
Wij = (1/n) ∑ Xik*Xjk
K=1
63
Desarrollos Inteligentes
Redes Neuronales
2.8 Aplicaciones Diversas.
La mayoría de las aplicaciones de las RNAs, se ubican en alguna de las
siguientes categorías:
(http://www.dacs.dtic.mil/tech/neural/neural.title.html)
-
Predicción
-
Clasificación
-
Asociación de datos
-
Conceptualización de datos
-
Filtración de datos
En la presente sección se describirán en forma panorámica estas categorías.
Predicción.
En este tipo de aplicaciones se utilizan valores de entrada para predecir alguna
salida, por ejemplo en las predicciones climatológicas, en el caso de la bolsa de
valores pronosticar el comportamiento del mercado, identificación de personas
con riesgo de algún tipo de cáncer,etc.
Algunos de los tipos de redes neuronales que se han utilizado para resolver estos
problemas son:
-
Back – Propagation
-
Mapas autoorganizados dentro de Back-Propagation
-
Delta Bar Delta
-
Delta Bar Delta extendida
-
Búsqueda Aleatoria dirigida
-
Redes Neuronales de Alto Orden
64
Desarrollos Inteligentes
Redes Neuronales
Clasificación.
Se trata de identificar a qué clase de objeto pertenecen los datos de entrada que
se presentan a la red, tal es el caso típico de reconocimiento de patrones como
puede ser entrar una imagen e identificar el objeto que ahí se presenta.
Las redes utilizadas en este caso son:
-
LVQ (Learning Vector Quantization)
-
Counter-Propagation
-
Redes Neuronales Probabilísticas
Asociación de datos.
Muy similar a la clasificación de datos pero también reconoce datos que
contienen errores o ruido, como puede ser en los OCR en donde no solamente se
trata de reconocer el caracter que ha sido escaneado, sino también identificar
cuándo el escáner está trabajando en forma inapropiada.
Algunas redes aplicadas para estos casos son:
-
Hopfield
-
Máquina de Boltzman
-
Red de Hamming
-
BAM (Bidirectional Asociative Memory)
65
Desarrollos Inteligentes
Redes Neuronales
Conceptualización de datos.
En estas aplicaciones se analizan las entradas con el propósito de inferir
relaciones que permitan integrarlas en grupos, por ejemplo en el caso de extraer
de una base de datos los nombres de aquellas personas que tienen cierta
probabilidad de adquirir un producto en particular.
Las redes neuronales para estos casos son:
-
ART (Adaptive Resonante Network)
-
SOM (Self Organizing Map)
Filtración de datos.
Se trata de suavizar una cierta señal de entrada, como en el caso de la
eliminación del ruido en una línea telefónica.
Las redes para este tipo de problemas son:
-
Recirculación
-
Adaline
66
Desarrollos Inteligentes
Redes Neuronales
PREGUNTAS
1. McCulloch y Pitts parten de cinco consideraciones acerca del comportamiento de las
neuronas, ¿Cuáles son?.
2. Proporcione una definición de red neuronal artificial.
3.Considerando el flujo de datos en el sistema, ¿Cómo se pueden clasificar las redes
neuronales artificiales?.
4. Atendiendo a la operación de una RNA como a la de una memoria capaz de asociar un
cierto patrón de entrada con algún patrón de salida. ¿De qué tipos de redes se puede
hablar?.
5. La corriente conductista en Psicología establece una definición de aprendizaje que aplica
de una manera casi completa a los procesos y técnicas de aprendizaje utilizadas en las redes
neuronales. ¿Qué dice esa definición?.
6. Esta regla es un modelo clásico de aprendizaje, fue establecida por Donald Hebb en
1949, esta basado en una forma de aprendizaje en las neuronas biológicas. ¿De qué manera
se puede enunciar ?.
7. ¿En qué consiste el aprendizaje supervisado?.
8. ¿En qué consiste el aprendizaje no supervisado?.
9. ¿Quién propuso inicialmente la red de propagación hacia atrás y cuando?, ¿Quién
posteriormente la continuó y cuando? Y ¿Quién posteriormente la desarrolló, la formalizó,
la popularizó y cuando?.
10. Describa cómo está constituida la arquitectura de las redes SOFM.
67
Desarrollos Inteligentes
Redes Neuronales
RETROALIMENTACIÓN SOBRE LAS PREGUNTAS
1. McCulloch
y Pitts parten de cinco
consideraciones acerca del
comportamiento de las neuronas:
1. La actividad neuronal es un proceso "todo o nada".
2. Un cierto número fijo de sinápsis debe ser excitado dentro de un
período de adición latente en orden de excitar una neurona en cualquier
intervalo de tiempo, y este número es independiente de la actividad
previa y la posición de la neurona.
3. El único retardo significativo dentro del sistema es el retardo
sináptico.
4. La actividad de cualquier sinápsis inhibitoria previene absolutamente
la excitación de la neurona en ese intervalo de tiempo.
5. La estructura de la red no cambia con el tiempo.
2. Una red Neuronal artificial es un grafo dirigido, con las siguientes
propiedades:
1) A cada nodo i se asocia una variable de estado Xi.
2) A cada conexión (i,j) de los nodos i,j se asocia un peso Wij є Ŕ.
3) A cada nodo i se asocia un umbral θi.
4) Para cada nodo i se define una función fi(Xj,Wij, θi) que depende de
los pesos de sus conexiones, del umbral y de los estados de los nodos j a
él conectados. Esta función proporciona el nuevo estado del nodo.
3. Considerando el flujo de datos en el sistema, se pueden tener redes
unidireccionales (en la cuales el flujo es solamente en la dirección que va de las
neuronas de entrada hacia las de salida, también llamadas “feedforward”), y
redes recurrentes o realimentadas (la información puede fluir en cualquier
68
Desarrollos Inteligentes
Redes Neuronales
sentido, incluido el de la salida hacia la entrada por eso se denominan
“feedback”).
4. Atendiendo a la operación de una RNA como a la de una memoria capaz de
asociar un cierto patrón de entrada con algún patrón de salida, se puede hablar
de una red autoasociativa (si el patrón de entrada es el mismo que el de salida),
o una red heteroasociativa (si el patrón de entrada es diferente al de salida).
5. Un concepto importante lo constituye el de aprendizaje, la corriente
conductista
en Psicología establece que:
“El aprender consiste en una
modificación de la conducta, de tal manera que ante un estímulo A la respuesta
ya no es X, sino Y” (Gutierrez Saenz Raúl, 1996, pp 22). Esta definición
establecida no en el contexto de las redes neuronales, aplica de una manera casi
completa a los procesos y técnicas de aprendizaje utilizadas en ellas.
6. Esta regla es un modelo clásico de aprendizaje, fue establecida por Donald
Hebb en 1949, esta basado en una forma
de aprendizaje en las neuronas
biológicas, y que se puede enunciar de la siguiente manera:
“Si un axón presináptico causa la activación de cierta neurona postsináptica, la
eficacia de la sinapsis que las relaciona se refuerza”.
7. En el aprendizaje supervisado se presenta a la red un conjunto de patrones
junto con la salida deseada, y en forma iterativa se van ajustando los pesos
sinápticos hasta que la salida obtenida observe un error mínimo aceptable.
8. En este método la red no utiliza influencia externa para ajustar sus pesos, en
lugar de ello se tiene un sistema de monitoreo interno de la ejecución del
sistema, el cual observa tendencias en las señales de entrada y efectúa
adaptaciones de acuerdo a la función de la red, para ello debe contar con alguna
información de cómo debe organizarse ella misma.
69
Desarrollos Inteligentes
Redes Neuronales
9. La red de propagación hacia atrás (BPN) fue inicialmente propuesta por
Werbos en 1974, posteriormente por Parker en 1982 y finalmente ha sido
desarrollada, formalizada y popularizada por David Rumelhart, Hinton y
Williams en 1986.
10. La arquitectura de las redes SOFM está constituida por dos capas de
neuronas, la primera capa que es la de entrada o sensorial esta formada por m
neuronas, una por cada variable de entrada comportándose como “buffers” que
distribuyen la señal proveniente del exterior hacia las neuronas de la segunda
capa en forma unidireccional.
La segunda capa está integrada por neuronas que conforman el mapa de rasgos
y por tanto será la capa de salida, que es en donde se realizan los cálculos, sus
neuronas se organizan en una estructura rectangular de nxn elementos, a cada
una se le suelen asociar los índices i,j.
Cada neurona de entrada (k = 1, m), está conectada a todas las neuronas del
mapa de salida (i,j) mediante pesos sinápticos Wkij.
70
Desarrollos Inteligentes
Redes Neuronales
EJERCICIOS
1. Desarrolle los cálculos necesarios para entrenar un clasificador lineal que
realice las operaciones lógicas AND y OR.
2.¿Qué problemas se presentan para que el clasificador lineal del ejercicio 1
realice la operación lógica XOR?¿Porqué?.
3. Diseñe una red BPN tal que pueda realizar todas las operaciones lógicas
AND, OR, NOT y XOR.
71
Desarrollos Inteligentes
Redes Neuronales
REFERENCIAS WEB:
Htpp://proton.ucting.udg.mx/somi/memorias/cibernetica/cib_20.pdf
Fecha de acceso: 27/Nov/07
El modelo neuronal de McCulloch y Pitts.
http://www.geocities.com/fuentesr_99/ia.pdf
fecha: 27 / nov/07
tema: Redes neuronales
http://es.wikipedia.org/neurona_de_McCulloch-Pitts
fecha: 29/ Nov / 07
tema: modelo de Mcculloch y Pitts.
http://www2.uca.es/dept/leng_sist_informaticos/preal/23041/transpas/HMapasdeKohonen/ppframe.htm
fecha: 12 / Ene/08
tema: modelo de Kohonen
http://www.dacs.dtic.mil/tech/neural/neural.title.html
fecha: Oct/07
tema: Aplicaciones diversas
72
Desarrollos Inteligentes
Redes Neuronales
BIBLIOGRAFÍA.
Gutierrez Saenz Raúl, (1996).- Introducción a las didáctica,
Esfinge
Hilera González José Ramón, Martínez Hernando Víctor José
,(1995).- Redes Neuronales Artificiales. Addison-Wesley
Iberoamericana, E.U.A.
McCord Nelson Marilyn, Illingworth W.T., (1991).- A practical guide to neural
nets. Addison-Wesley, Massachusetts, U.S.A.
Martin del brío Bonifacio, Sanz Molina Alfredo, (2007).- Redes neuronales y
sistemas borrosos, Alfaomega Ra-ma, México D.F.
Valluru B. Rao, Hayagriva V. Rao, (1995) .- C++ Neural Networks and Fuzzy
Logic. MIS:PRESS, USA.
73
Documentos relacionados
Descargar