SlideShare una empresa de Scribd logo
1 de 118
REDES NEURONALES ARTIFÍCIALES I


                                    CAPITULO I

        INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES

INTRODUCION:

El cerebro es un procesador de información con unas características muy notables: es capaz
de procesar a gran velocidad grandes cantidades de información procedentes de los
sentidos, combinarla o compararla con la información almacenada y dar respuestas
adecuadas incluso en situaciones nuevas. Logra discernir un susurro en una sala ruidosa,
distinguir una cara en una calle mal iluminada o leer entre líneas en una declaración
política; pero lo más impresionante de todo es su capacidad de aprender a representar la
información necesaria para desarrollar tales habilidades sin instrucciones explícitas para
ello.

Aunque todavía se ignora mucho sobre la forma en que el cerebro aprende a procesar la
información, se han desarrollado modelos que tratan de mimetizar tales habilidades;
denominados redes neuronales artificiales ó modelos de computación conexionista (otras
denominaciones son computación neuronal y procesamiento distribuido paralelo o
P.D.P.). La elaboración de estos modelos supone en primer lugar la deducción de los rasgos
o características esenciales de las neuronas y sus conexiones, y en segundo lugar, la
implementación del modelo en una computadora de forma que se pueda simular. Es obvio
decir que estos modelos son idealizaciones burdas de las auténticas redes neuronales, en
muchos casos de dudosa plausibilidad neurofisiológica, pero que sin embargo resultan
interesantes cuando menos por sus capacidades de aprendizaje.

De la prehistoria al futuro que tal vez Babbage nunca soñó. El desarrollo de máquinas que
puedan imitar la capacidad de aprendizaje del hombre es actualmente un desafío en el que
pone sus miras buena parte de la comunidad científica. Con esta amplia Introducción a las
redes neuronales, se pretende dar a conocer los elementos básicos de lo que comúnmente se
denomina Inteligencia Artificial, para así comprender de qué modo pueden llegar a
«pensar» y «aprender» las máquinas.

El hombre se ha caracterizado siempre por una búsqueda constante de nuevas vías para
mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir el trabajo en
aquellas operaciones en las que la fuerza juega un papel primordial. Los progresos
obtenidos han permitido dirigir estos esfuerzos a otros campos, como por ejemplo, a la
construcción de máquinas calculadoras que ayuden a resolver de forma automática y rápida
determinadas operaciones que resultan tediosas cuando se realizan a mano.

Uno de los primeros en acometer esta empresa fue Charles Babbage, quien trató
infructuosamente de construir una máquina capaz de resolver problemas matemáticos.
Posteriormente otros tantos intentaron construir máquinas similares, pero no fue hasta la
Segunda Guerra Mundial, cuando ya se disponía de instrumentos electrónicos, que se
empezaron a recoger los primeros frutos. En 1946 se construyó la primera computadora



                                            1
REDES NEURONALES ARTIFÍCIALES I


electrónica, ENIAC. Desde entonces los desarrollos en este campo han tenido un auge
espectacular.

Estas máquinas permiten implementar fácilmente algoritmos para resolver multitud de
problemas que antes resultaban engorrosos de resolver. Sin embargo, se observa una
limitación importante: ¿qué ocurre cuando el problema que se quiere resolver no admite un
tratamiento algorítmico, como es el caso, por ejemplo, de la clasificación de objetos por
rasgos comunes?.

Este ejemplo demuestra que la construcción de nuevas máquinas más versátiles requiere un
enfoque del problema desde otro punto de vista.

Los desarrollos actuales de los científicos se dirigen al estudio de las capacidades humanas
como una fuente de nuevas ideas para el diseño de las nuevas máquinas. Así, la inteligencia
artificial es un intento por descubrir y describir aspectos de la inteligencia humana que
pueden ser simulados mediante máquinas. Esta disciplina se ha desarrollado fuertemente en
los últimos años teniendo aplicación en algunos campos como visión artificial,
demostración de teoremas, procesamiento de información expresada mediante lenguajes
humanos... etc.

Las redes neuronales son otra forma de emular otra de las características propias de los
humanos: la capacidad de memorizar y asociar hechos. Si examinamos con atención
aquellos problemas que no pueden expresarse a través de un algoritmo nos daremos cuenta
de que todos ellos tienen una característica común: la experiencia. El hombre es capaz de
resolver estas situaciones acudiendo a la experiencia acumulada. Así, parece claro que una
forma de aproximarse al problema consista en la construcción de sistemas que sean capaces
de reproducir esta característica humana. En definitiva, las redes neuronales no son más que
un modelo artificial y simplificado del cerebro humano, que es el ejemplo más perfecto del
que disponemos de sistema que es capaz de adquirir conocimiento a través de la
experiencia. Una red neuronal es «un nuevo sistema para el tratamiento de la información
cuya unidad básica de procesamiento está inspirada en la célula fundamental del sistema
nervioso humano, la neurona».



1.1 MARCO HISTORICO DE LAS REDES NEURONALES

Fue en 1943 cuando Warren McCulloch y Walter Pitts propusieron el clásico modelo de
neurona en el que se basan las redes neuronales actuales. Seis años después, en 1949, en su
libro The Organization of Behavior, Donald Hebb presentaba su conocida regla de
aprendizaje.

En 1956 se organizó en Dartmouth la primera conferencia sobre IA. Aquí se discutió el
uso potencial de las computadoras para simular “todos los aspectos del aprendizaje o
cualquier otra característica de la inteligencia” y se presentó la primera simulación de una
red neuronal, aunque todavía no se sabían interpretar los datos resultantes.



                                             2
REDES NEURONALES ARTIFÍCIALES I


En 1957, Frank Rosenblatt presentó el Perceptron, una red neuronal con aprendizaje
supervisado cuya regla de aprendizaje era una modificación de la propuesta por Hebb. El
Perceptron trabaja con patrones de entrada binarios, y su funcionamiento, por tratarse de
una red supervisada, se realiza en dos fases: una primera en la que se presentan las entradas
y la salidas deseadas; en esta fase la red aprende la salida que debe dar para cada entrada.
La principal aportación del Perceptron es que la adaptación de los pesos se realiza teniendo
en cuenta el error entre la salida que da la red y la salida que se desea. En la fase siguiente,
de operación, la red «es capaz» de responder adecuadamente cuando se le vuelven a
presentar los patrones de entrada. Se crearon grandes expectativas sobre sus aplicaciones,
que posteriormente se tornaron en gran decepción cuando en 1969 Minsky y Papert
demostraron las grandes limitaciones de esta red.

En 1959, Widrow publica una teoría sobre la adaptación neuronal y unos modelos
inspirados en esa teoría, el Adaline (Adaptative Linear Neuron) y el Madaline (Multiple
Adaline). Estos modelos fueron usados en numerosas aplicaciones y permitieron usar, por
primera vez, una red neuronal en un problema importante del mundo real: filtros
adaptativos para eliminar ecos en las líneas telefónicas.

En los años 60 se propusieron otros dos modelos, también supervisados, basados en el
Perceptron de Rosenblatt denominados Adaline y Madaline. En estos, la adaptación de los
pesos se realiza teniendo en cuenta el error, calculado como la diferencia entre la salida
deseada y la dada por la red, al igual que en el Perceptron. Sin embargo, la regla de
aprendizaje empleada es distinta. Se define una función error para cada neurona que da
cuenta del error cometido para cada valor posible de los pesos cuando se presenta una
entrada a la neurona. Así, la regla de aprendizaje hace que la variación de los pesos se
produzca en la dirección y sentido contrario del vector gradiente del error. A esta regla de
aprendizaje se la denomina Delta.

En 1962, Rosemblatt publica los resultados de un ambicioso proyecto de investigación, el
desarrollo del Perceptrón, un identificador de patrones ópticos binarios, y salida binaria.
Las capacidades del Perceptrón se extendieron al desarrollar la regla de aprendizaje delta,
que permitía emplear señales continuas de entrada y salida.



1.2 DEFINICIÓNES DE REDES NEURONALES

Una red neuronal es un sistema compuesto de muchos elementos procesadores simples
operando en paralelo, cuya función es determinada por la estructura de la red, fuerza en las
conexiones y el procesamiento realizado por los elementos computacionales en los nodos.

   •   Haykin, S. (1994, Neural Networks: A comprehensive foundation, NY, McMillan,
       P.2):
       "Una red neuronal es un procesamiento distribuido masivamente paralelo que tiene
       una tendencia natural para almacenar conocimiento empírico y hacerlo disponible
       para    el    uso.     Recuerda    al    cerebro    en    dos     aspectos:
       1.- Conocimiento se adquiere por la red a través de un proceso de aprendizaje.


                                               3
REDES NEURONALES ARTIFÍCIALES I


       2.- Las conexiones interneurónicas se conocen como pesos synapticos y se usan
       para almacenar el conocimiento."

   •   Zurada,J.M. (1992, Introduction to artificial neural nsystems, Boston: PWS
       Publishing Company, P. XV):
       "Sistemas de redes neuronales artificiales, o redes neuronales son sistemas celulares
       físicos que puedan adquirir, almacenar y usar conocimiento empírico."

   •   Las redes neuronales son una forma de un sistema computarizado multi-proceso
       con:
         • Elementos de procesamiento sencillos.
         • Alto grado de interconexión.
         • Mensajes simples escalares.
         • Interacción adaptable entre elementos.

El concepto de Red Neuronal Artificial está inspirado en las Redes Neuronales Biológicas.
Una Red Neuronal Biológica es un dispositivo no lineal altamente paralelo, caracterizado
por su robustez y su tolerancia a fallos. Sus principales características son las siguientes:

              Aprendizaje mediante adaptación de sus pesos sinápticos a los cambios en el
               entorno.
              Manejo de imprecisión, ruido e información probabilística.
              Generalización a partir de ejemplos.

Las Redes Neuronales Artificiales intentan imitar algunas, o todas, de estas características.
Este paradigma de programación difiere de las secuencias de instrucciones en que la
información se encuentra almacenada en las conexiones sinápticas. Cada neurona es un
procesador elemental con operaciones muy primitivas como la suma ponderada de sus
pesos de entrada y la amplificación o umbralización de esta suma.

Una Red Neuronal viene caracterizada por su topología, por la intensidad de la conexión
entre sus pares de neuronas (pesos), por las propiedades de los nodos y por las reglas de
actualización de pesos. Las reglas de actualización, también llamadas de aprendizaje,
controlan los pesos y/o estados de los elementos de procesados (neuronas).

Los principales aspectos de este modelo de computación distribuida son los siguientes:

      Un conjunto de unidades de procesamiento.
      Un estado de activación      para cada unidad, que es equivalente a la salida de la
       unidad.
      Conexiones entre unidades, generalmente definida por un peso          , que determina
       el efecto de la unidad j sobre la unidad k.
      Una regla de propagación que determina la entrada de la unidad         a partir de sus
       entradas externas.



                                             4
REDES NEURONALES ARTIFÍCIALES I



       Una función de activación que determina el estado de activación en función de la
        entrada de la unidad (en algunos casos la función de activación tiene en cuenta la
        activación actual de la unidad).
       Una entrada externa (o offset) para cada unidad.
       Un método para modificar los valores de los pesos (regla de aprendizaje).
       Un entorno de trabajo en el que sistema opere, compuesto por señales de entrada y,
        si es necesario, señales de error.

Normalmente, la dinámica de actuación es definir una función objetivo que representa el
estado completo de la red y localizar el conjunto de mínimos de esa función que se
corresponden con los diferentes estados estables de la red.



1.3 CARACTERISTICAS DE LAS REDES NEURONALES.

Desde hace algunos años, algunos investigadores han estado creando modelos, tanto en
hardware como en software, que interpretan la actividad cerebral en un esfuerzo por
producir una forma de inteligencia artificial.

Las RNA están compuestas de un gran número elementos de procesamiento altamente
interconectados (Neuronas) trabajando al mismo tiempo para la solución de problemas
específicos. Las RNA, tal como las personas, aprenden de la experiencia.

Las RNA están compuestas de muchos elementos sencillos que operan en paralelo, el
diseño de la red está determinado mayormente por las conexiones entre sus elementos. Al
igual que las conexiones de las neuronas cerebrales.

Las RNA han sido entrenadas para la realización de funciones complejas en variados
campos de aplicación. Hoy en día pueden ser entrenadas para la solución de problemas que
son difíciles para sistemas computacionales comunes o para el ser humano.

Las características de operación son las siguientes:

Pesos

Las RNA puede tener factores de peso fijos o adaptables. Las que tienen pesos adaptables
emplean leyes de aprendizaje para ajustar el valor de la fuerza de un interconexión con
otras neuronas. Si las neuronas utilizan pesos fijos, entonces su tarea deberá estar
previamente definida. Los pesos serán determinados a partir de una descripción completa
del problema. Por otra parte, los pesos adaptables son esenciales si no se conoce
previamente cual deberá de ser su valor correcto.




                                              5
REDES NEURONALES ARTIFÍCIALES I


Dos tipos de aprendizaje

Existen dos tipo de aprendizaje: supervisado y no supervisado. El primero ocurre cuando se
le proporciona a la red tanto la entrada como la salida correcta, y la red ajusta sus pesos
tratando de minimizar el error de su salida calculada. Este tipo de entrenamiento se aplica
por ejemplo, en el reconocimiento de patrones. El entrenamiento no supervisado se presenta
cuando a la red se le proporcionan únicamente los estímulos, y la red ajusta sus
interconexiones basándose únicamente es sus estímulos y la salida de la propia red. Las
leyes de aprendizaje determinan como la red ajustará sus pesos utilizando una función de
error o algún otro criterio. La ley de aprendizaje adecuada se determina en base a la
naturaleza del problema que se intenta resolver.

Dos fases de operación

Las RNA adaptables tienen dos fases en su operación.

   1. Entrenamiento de la red. El usuario proporciona a la red un número "adecuado" de
      estímulos de entrada, y de salida, la red entonces ajusta su pesos de interconexión o
      sinápsis hasta que la salida de la red esta "lo suficientemente cerca" de la salida
      correcta.

   2. Recuperación de lo aprendido. A la red se le presenta un conjunto de estímulos de
      entrada y esta simplemente calcula su salida. Cuando la red emplea entrenamiento
      no supervisado, algunas veces será necesario que reajuste su sinápsis durante la fase
      de recuperación.

No son algorítmicas

La gran diferencia del empleo de las redes neuronales en relación con otras aplicaciones de
la computación radica en que no son algorítmicas, esto es no se programan haciéndoles
seguir una secuencia predefinida de instrucciones. Las RNA generan ellas mismas sus
propias "reglas", para asociar la respuesta a su entrada; es decir, aprende por ejemplos y de
sus propios errores.

El conocimiento de una RNA se encuentra en la función de activación utilizada y en los
valores de sus pesos.

Asociar y generalizar sin reglas como en el cerebro humano

Las redes neuronales formadas por los perceptrones se interconectan en forma muy similar
a como las neuronas humanas se disponen en la corteza cerebral humana, y lo más
importante, son capaces de asociar y generalizar sin reglas. Han sido utilizadas con gran
éxito para reconocer retornos de sonar bajo el agua, escritura a mano, voz, topografía de
terrenos, controlar brazos de robots, evaluar datos personales, modelar fenómenos
cognoscitivos, y, predecir tendencias financieras.




                                             6
REDES NEURONALES ARTIFÍCIALES I




Requieren de algún tipo de patrón

La clase de problemas que mejor se resuelven con las redes neuronales son los mismos que
el ser humano resuelve mejor: Asociación, evaluación, y reconocimiento de patrones. Las
redes neuronales son perfectas para problemas que son muy difíciles de calcular pero que
no requieren de respuestas perfectas, sólo respuestas rápidas y buenas. Tal y como acontece
con el escenario bursátil en el que se quiere saber ¿compro?, ¿vendo?, ¿mantengo?, o en el
reconocimiento cuando se desea saber ¿se parece? ¿es el mismo pero tienen una ligera
modificación?

Por otra parte, las redes neuronales son muy malas para cálculos precisos, procesamiento
serie, y no son capaces de reconocer nada que no tenga inherentemente algún tipo de
patrón. Es por esto, que no pueden predecir la lotería, ya por definición es un proceso al
azar.

Existen varias formas de hacer las conexiones en una RNA, así como existen varias formas
de conectar neuronas biológicas en el cerebro. Cada tipo sirve para diferentes procesos, el
elegir la correcta topología y sus características, es imprescindible para lograr fácilmente la
solución del problema.


1.4 APLICACIONES DE LAS REDES NEURONALES.

Desde el punto de vista de la aplicaciones, la ventaja de las Redes Neuronales Artificiales
(RNA), reside en el procesado paralelo, adaptativo y no lineal. Las (RNA) han encontrado
muchas aplicaciones con éxito en la visión artificial, en el procesado de señales e imágenes,
reconocimiento del habla y de caracteres, sistemas expertos, análisis de imágenes médicas,
control remoto, control de robots, inspección industrial y exploración científica. El dominio
de aplicación de las (RNA) se puede clasificar de la siguiente forma: asociación y
clasificación, regeneración de patrones, regresión y generalización, y optimización.

Con el fin de llegar al entendimiento global de (RNA), adoptamos la siguiente perspectiva,
llamada top-down que empieza por la aplicación se pasa al algoritmo y de aquí a la
arquitectura, como se muestra en la figura 1.1




                                              7
REDES NEURONALES ARTIFÍCIALES I




                                 Figura 1.1 Diagrama Topdow

Esta aproximación a las (RNA) está motivada por la aplicación, basada en la teoría y
orientada hacia la implementación. Las principales aplicaciones son para el procesado de
señal y el reconocimiento de patrones. La primera etapa algorítmica representa una
combinación de la teoría matemática y la fundamentación heurística por los modelos
neuronales. El fin último es la construcción de neurocomputadores digitales, con la ayuda
de las tecnologías VLSI y el procesado adaptativo, digital y paralelo.

•Las Redes Neuronales son útiles para::

   •   Clasificación de patrones
   •   Aproximación de funciones
   •   Mapeo
   •   En los que exista información imprecisa y con tolerancia a fallos
   •   Aprendizaje Adaptativo.
   •   Autoorganización.
   •   Tolerancia a Fallos.
   •   Operación en tiempo real.
   •   Fácil construcción en circuitos integrados.


1.5 MODELO BIOLÓGICO NEURONAL.

El cerebro, como todo el organismo animal, está formado por células llamadas neuronas. La
estructura y la comunicación de las neuronas fueron descritas por el español Santiago
Ramón y Cajal, quien encontró una característica fundamental de la comunicación entre las
células nerviosas: casi nunca se tocan, están separados por pequeñísimos espacios, cuyo
significado y enorme importancia vendría a conocerse mucho tiempo después. A pesar de
las diferencias en la forma de las neuronas, su estructura en los sitios en que se comunican
unas con otras es muy similar. La parte de la neurona que se comunica con otra neurona


                                             8
REDES NEURONALES ARTIFÍCIALES I


tiene siempre una estructura típica, y la región de la neurona que recibe ese contacto
también tiene una forma característica. A esta zona de integración de la neurona se le llama
sinapsis, y su funcionamiento es esencial para explicar prácticamente todas las acciones del
cerebro, desde la más sencilla como ordenar a los músculos que se contraigan y se relajen
en forma coordinada para llevar a cabo un simple movimiento, hasta las más complicadas
tareas intelectuales, pasando también por las funciones que originan, controlan y modulan
las emociones.

A través de esta comunicación las neuronas forman redes complicadísimas, que por
supuesto estamos lejos de conocer por completo. Sabemos que unos de estos circuitos están
relacionados con el sueño, otros con el movimiento, y otros más con las emociones y la
conducta. La identificación de éstos circuitos puede lograrse con distintos métodos, pero
uno relativamente simple consiste en estimular una neurona o un grupo de neuronas y luego
tomar un registro en las neuronas que sospechamos se comunican con las primeras.

Estos experimentos demostraron la localización de las funciones motoras en la corteza del
cerebro y la existencia de conexiones neuronales desde ésa hasta los músculos. Se observó
en éstos experimentos que el movimiento y la sensibilidad de algunas regiones del cuerpo
requieren un mayor número de neuronas en la corteza.

El cerebro humano contiene aproximadamente 12 billones (1014)de células nerviosas o
neuronas. Cada neurona tiene de 5.600 a 60.000 (103 a 104) conexiones dendríticas
provenientes de otras neuronas. Estas conexiones transportan los impulsos enviados desde
otras neuronas y están conectadas a la membrana de la neurona. Cada neurona tiene una
salida denominada axón. El contacto de cada axón con una dendrita se realiza a través de la
sinapsis. Tanto el axón como las dendritas transmiten la señal en una única dirección. La
sinapsis consta de un extremo presináptico de un axón conectado a un extremo
postsináptico de una dendrita, existiendo normalmente entre éstos un espacio denominado
espacio sináptico.

Las neuronas son eléctricamente activas e interactúan entre ellas mediante un flujo de
corrientes eléctricas locales. Estas corrientes se deben a diferencias de potencial entre las
membranas celulares de las neuronas. Un impulso nervioso es un cambio de voltaje que
ocurre en una zona localizada de la membrana celular. El impulso se transmite a través del
axón hasta llegar a la sinapsis, produciendo la liberación de una sustancia química
denominada neurotransmisor que se esparce por el fluido existente en el espacio sináptico.
Cuando este fluido alcanza el otro extremo transmite la señal a la dendrita. Los impulsos
recibidos desde la sinapsis se suman o restan a la magnitud de las variaciones del potencial
de la membrana. Si las contribuciones totales alcanzan un valor determinado (alrededor de
10 milivoltios) se disparan uno o más impulsos que se propagarán a lo largo del axón.

Aunque todavía no está del todo claro, parece que este impulso se inicia en la conexión
entre el axón y la membrana. Su amplitud y velocidad dependen del diámetro del axón y su
frecuencia del número de disparos que se efectúen.

Las redes neuronales artificiales basan su funcionamiento en las redes neuronales reales,
estando formadas por un conjunto de unidades de procesamiento conectadas entre sí. Por


                                             9
REDES NEURONALES ARTIFÍCIALES I


analogía con el cerebro humano se denomina «neurona» a cada una de estas unidades de
procesamiento. Cada neurona recibe muchas señales de entrada y envía una única señal de
salida (como ocurre en las neuronas reales).

Recordemos que el cerebro humano se compone de decenas de billones de neuronas
interconectadas entre sí formando circuitos o redes que desarrollan funciones específicas.

Una neurona típica recoge señales procedentes de otras neuronas a través de una pléyade de
delicadas estructuras llamadas dendritas. La neurona emite impulsos de actividad eléctrica a
lo largo de una fibra larga y delgada denominada axón, que se escinde en millares de
ramificaciones.




                            Figura 1.2: Neurona y conexiones sinápticas

Las extremidades de estas ramificaciones llegan hasta las dendritas de otras neuronas y
establecen unas conexiones llamadas sinápsis, en las cuales se produce una transformación
del impulso eléctrico en un mensaje neuroquímico, mediante la liberación de unas
sustancias llamadas neurotransmisores.




                                Figura 1.3: Detalle de una sinápsis

El efecto de los neurotransmisores sobre la neurona receptora puede ser excitatorio o
inhibitorio, y es variable (la intensidad del efecto depende de numerosos factores que no
sería oportuno describir aquí) , de manera que podemos hablar de la fuerza o efectividad de
una sinápsis. Las señales excitatorias e inhibitorias recibidas por una neurona se combinan,
y en función de la estimulación total recibida, la neurona toma un cierto nivel de activación,
que se traduce en la generación de breves impulsos nerviosos con una determinada


                                                10
REDES NEURONALES ARTIFÍCIALES I


frecuencia o tasa de disparo, y su propagación a lo largo del axón hacia las neuronas con las
cuales sinapta.




                             Figura 1.4: Activación y disparo de una neurona

De esta manera la información se transmite de unas neuronas a otras y va siendo procesada
a través de las conexiones sinápticas y las propias neuronas. El aprendizaje de las redes
neuronales se produce mediante la variación de la efectividad de las sinápsis, de esta
manera cambia la influencia que unas neuronas ejercen sobre otras, de aquí se deduce que
la arquitectura, el tipo y la efectividad de las conexiones en un momento dado, representan
en cierto modo la memoria o estado de conocimiento de la red.



1.6 ELEMENTOS DE UNA RED NEURONAL.

Los elementos individuales de cálculo que forman los modelos de sistemas neuronales
artificiales reciben el nombre de Elementos de Procesado o Neuronas Artificiales. Cada
unidad realiza un trabajo muy simple: recibe impulsos de otras unidades o de estímulos
externos y calcula una señal de salida que propaga a otras unidades y, además, realiza un
ajuste de sus pesos. Este tipo de modelos es inherentemente paralelo en el sentido de que
varias unidades pueden realizar sus cálculos al mismo tiempo. El elemento de procesado
más simple suele tener el siguiente esquema:




                                              11
REDES NEURONALES ARTIFÍCIALES I




                          Figura 1.5. Esquema de una neurona artificial

Este esquema de elemento de procesado tiene las siguientes características:

      Cada elemento de procesado puede tener varias entradas asociadas a propiedades
       diferentes.
      La entrada de tendencia es opcional (valor constante).
      Las entradas pueden ser: Excitadoras, inhibidoras, de ganancia, de disparo fortuito o
       de amortiguamiento.
      Las entradas están ponderadas por un factor multiplicativo de peso o intensidad de
       conexión que resaltan de forma diferente la importancia de cada entrada..
      Cada elemento de procesado tiene un valor de activación calculado en función del
       valor de entrada neto (calculado a partir de las entradas y los pesos asociados a
       ellas). En algunos casos, el valor de activación, depende además de la entrada neta
       del valor anterior de activación.
      Una vez calculado el valor de activación, se determina un valor de salida aplicando
       una función de salida sobre la activación del elemento de procesado.


Conexión entre unidades

En la mayor parte de los casos se asume que cada unidad recibe contribuciones aditivas de
las unidades que están conectadas a ellas. La entrada total de la unidad k es la suma
ponderada de las entradas que recibe más el término de offset


Cuando el peso de la contribución es positivo se considera que la entrada es excitatoria y
cuando el peso es negativo que es inhibitoria.

Este tipo de expresiones que calculan la entrada total se denominan reglas de propagación
y, en general, pueden tener diferentes expresiones.




                                               12
REDES NEURONALES ARTIFÍCIALES I


Funciones de activación y salida

Además de la regla de propagación es necesario poseer expresiones para las funciones de
activación (calculan la activación en función de la entrada total) y funciones de salida
(calculan la salida en función de la activación).

La función de activación calcula la activación de la unidad en función de la entrada total y
la activación previa, aunque en la mayor parte de los casos es simplemente una función no
decreciente de la entrada total. Los tipos de función más empleados son: la función signo,
funciones con umbral lineal y la función sigmoidal.

La función de salida empleada usualmente es la función identidad y así la salida de la
unidad de procesado es idéntica a su nivel de activación.

Las redes neuronales están formadas por un conjunto de neuronas artificiales
interconectadas. Las neuronas de la red se encuentran distribuidas en diferentes capas de
neuronas, de manera que las neuronas de una capa están conectadas con las neuronas de la
capa siguiente, a las que pueden enviar información.

La arquitectura más usada en la actualidad de una red neuronal se presente en la figura 1.5,
la cual consistía en:

      Una primera capa de entradas, que recibe información del exterior.
      Una serie de capas ocultas (intermedias), encargadas de realizar el trabajo de la red.
      Una capa de salidas, que proporciona el resultado del trabajo de la red al exterior.




   Figura 1.6. Esquema de una red neuronal antes del entrenamiento. Los círculos representan neuronas,
                     mientras las flechas representan conexiones entre las neuronas

El número de capas intermedias y el número de neuronas de cada capa dependerá del tipo
de aplicación al que se vaya a destinar la red neuronal.




                                                   13
REDES NEURONALES ARTIFÍCIALES I




1.7 ESTRUCTURAS GENERALES DE LAS REDES NEURONALES

PERCEPTRON

En 1943, Warren McCulloc y Walter Pitts originaron el primer modelo de operación
neuronal, el cual fué mejorado en sus aspectos biológicos por Donald Hebb en 1948.
En 1962 Bernard Widrow propuso la regla de aprendizaje Widrow-Hoff, y Frank
Rosenblatt desarrolló una prueba de convergencia, y definió el rango de problemas para los
que su algoritmo aseguraba una solución. El propuso los 'Perceptrons' como herramienta
computacional.




                            Figura 1.7 Modelo del perceptron simple.



BACKPROPAGATION

En esta red, se interconectan varias unidades de procesamiento en capas, las neuronas de
cada capa no se interconectan entre sí. Sin embargo, cada neurona de una capa proporciona
una entrada a cada una de las neuronas de la siguiente capa, esto es, cada neurona
transmitirá su señal de salida a cada neurona de la capa siguiente. La figura muestra un
ejemplo esquemático de la arquitectura de este tipo de redes neuronales.




                                Figura 1.8 Red backpropagation.


                                              14
REDES NEURONALES ARTIFÍCIALES I


HOPFIELD

La Red de Hopfield es recurrente y completamente conectada. Funciona como una
memoria asociativa no lineal que puede almacenar internamente patrones presentados de
forma incompleta o con ruido. De esta forma puede ser usada como una herramienta de
optimización. El estado de cada neurona puede ser actualizado un número indefinido de
veces, independientemente del resto de las neuronas de la red pero en paralelo.




                           Figura 1.9 Red de Hopfield de 3 unidades



KOHONEN

Existen evidencias que demuestran que en el cerebro existen neuronas que se organizan en
muchas zonas, de forma que las informaciones captadas del entorno a través de los órganos
sensoriales se representan internamente en forma de capas bidimensionales. Por ejemplo,
en el sistema visual se han detectado mapas del espacio visual en zonas de córtex (capa
externa del cerebro). También en el sistema auditivo se detecta organización según la
frecuencia a la que cada neurona alcanza la mayor respuesta (organización tono tópica).
Aunque en gran medida esta organización neuronal está predeterminada genéticamente, es
probable que de ella se origine mediante el aprendizaje. Esto sugiere, por tanto, que el
cerebro podría poseer la capacidad inherente de formar mapas topológicos de las
informaciones recibidas del exterior. De hecho, esta teoría podría explicar su poder de
operar con elementos semánticos: algunas áreas del cerebro simplemente podrían crear y
ordenar neuronas especializadas o grupos con características de alto nivel y sus
combinaciones. Se trataría, en definitiva, de construir mapas espaciales para atributos y
características.




                                             15
REDES NEURONALES ARTIFÍCIALES I


1.8 TOPOLOGÍAS DE REDES NEURONALES.

La topología es el número de elementos de procesado que forman la red y las
interconexiones existentes entre ellos.

Los elementos de procesado de una red neuronal se distribuyen por capas (conjunto de
elementos de procesado que se encuentran en el mismo nivel en la estructura). Existen tres
tipos de capas:

           1. Capa de entrada: Dependen del problema a abordar.
           2. Capa de salida: Salidas que proporciona la estructura.
           3. Capas ocultas: conjunto de elementos de procesado asociados en capas que
              se encuentran entre la capa de entrada y la capa de salida.

El número de elementos de procesado puede variar en unas capas respecto a otras. Las
funciones (tanto de activación como de salida) de los elementos de procesado pueden ser
diferentes. No existe limitación en el número de capas ocultas. En general, cuanto mayor
sea la diferencia entre los elementos de entrada y los de salida, será necesario dotar a la
estructura de más capas ocultas. Estas capas ocultas crean una representación interna de los
patrones de entrada. La habilidad de la red para procesar información crece en proporción
directa al número de capas ocultas.

Según el número de interconexiones entre capas las redes se clasifican en: totalmente
conectadas y localmente conectadas. En las redes totalmente conectadas la salida de un
elemento de procesado de la capa i es entrada a todos los elementos de procesado de la capa
i+1. Por contra, en las redes localmente conectadas, la salida de un elemento de procesado
de la capa i es entrada a una región de elementos de procesado de la capa i+1.

En función de la dirección del movimiento de la información se puede realizar una
clasificación en: redes feedforward, redes feedback, redes feedlateral y redes recurrentes,
tal como puede verse en la siguiente figura:




                          Figura 1.10 Tipos de conexiones entre neuronas




                                               16
REDES NEURONALES ARTIFÍCIALES I




Conexiones hacia delante(Feed Forward): para todos los modelos neuronales, los datos de
las neuronas de una capa inferior son propagados hacia las neuronas de la capa superior por
medio de las redes de conexiones hacia adelante.

Conexiones hacia atrás(Feed Bade): estas conexiones llevan los datos de las neuronas de
una capa superior a otras de la capa inferior.

Conexiones laterales. Un ejemplo típico de este tipo es el circuito “el ganador toma todo”,
que cumple un papel importante en la elección del ganador.

Conexiones con retardo: los elementos de retardo se incorporan en las conexiones para
implementar modelos dinámicos y temporales, es decir, modelos que precisan de memoria.

También es posible que las redes sean de una capa con el modelo de pesos hacia atrás o
bien el modelo multicapa hacia adelante. Es posible así mismo, el conectar varias redes de
una sola capa para dar lugar a redes más grandes.

A continuación se describirán algunas topologías de RNA:




                                   Figura 1.11. Perceptron simple




                  Figura 1.12. Topología con conexiones hacia delante, hacia atrás,
                                  laterales y de retroalimentación




                                                 17
REDES NEURONALES ARTIFÍCIALES I




Figura 1.13. Topología con conexiones hacia delante y laterales.




     Figura 1.14. Topología con conexiones hacia delante.




     Figura 1.15. Topología con conexiones hacia delante,
         hacia atrás, laterales y de retroalimentación.




     Figura 1.16. Topología con conexiones hacia delante.




                              18
REDES NEURONALES ARTIFÍCIALES I




                       Figura 1.17.Topología con conexiones hacia delante.




                       Figura 1.18. Topologías con conexiones hacia delante,
                               con diferente tipo de correspondencia.




1.9 MECANISMOS DE APRENDIZAJE

Construir un sistema que aprenda ha sido tradicionalmente uno de los objetivos más
escurridizos de la inteligencia artificial. El aprendizaje es un proceso de adaptación al
entorno; durante el se crean y manipulan representaciones que sean capaces de explicar
dicho entorno.

En las redes neuronales la esencia del aprendizaje se encuentra en la modificación colectiva
de los pesos de los elementos de procesado. Una definición de aprendizaje en redes
neuronales podría ser la siguiente: Proceso por el cual los parámetros libres de una red
neuronal son ajustados a través de un proceso continuo de estimulación por parte del
entorno en donde se sitúa el sistema. El tipo de aprendizaje viene determinado por la forma
en la que tienen lugar dichos cambios. Esta definición implica tres hechos fundamentales:

      La red neuronal se encuentra estimulada por el entorno, cambia como consecuencia
       de esos estímulos y responde de manera diferente al entorno a causa de los cambios
       que se han producido en sus estructura interna.




                                                19
REDES NEURONALES ARTIFÍCIALES I


Existen tres paradigmas de aprendizaje: Supervisado, No supervisado (o auto supervisado)
y Reforzamiento (se puede considerar como un caso especial del aprendizaje supervisado).

Hay bastantes algoritmos dentro de cada una de estas categorías.

Supervisado

En el aprendizaje supervisado (aprender con un maestro), la adaptación sucede cuando el
sistema compara directamente la salida que proporciona la red con la salida que se desearía
obtener de dicha red. Existen tres tipos básicos: por corrección de error, por refuerzo y
estocástico.

En el aprendizaje por corrección de error el entrenamiento consiste en presentar al sistema
un conjunto de pares de datos, representando la entrada y la salida deseada para dicha
entrada (este conjunto recibe el nombre de conjunto de entrenamiento). El objetivo es
minimizar el error entre la salida deseada y la salida que se obtiene.

El aprendizaje por refuerzo es más lento que el anterior. No se dispone de un ejemplo
completo del comportamiento deseado pues no se conoce la salida deseada exacta para cada
entrada sino que se conoce el comportamiento de manera general para diferentes entradas.
La relación entrada-salida se realiza a través de un proceso de éxito o fracaso, produciendo
este una señal de refuerzo que mide el buen funcionamiento del sistema. La función del
supervisor es más la de un crítico que la de un maestro.

El aprendizaje estocástico consiste básicamente en realizar cambios aleatorios de los
valores de los pesos y evaluar su efecto a partir del objetivo deseado.

Regla del Perceptron

Supongamos que tenemos un conjunto de muestras de aprendizaje consistentes en vectores
de entrada x y salidas deseadas d(x) (en tareas de clasificación d(x) es, usualmente, +1 o
-1). La regla de aprendizaje del perceptrón es muy simple y se desarrolla a través de los
siguientes pasos:

       1. Iniciar la red con un conjunto aleatorio de pesos para las conexiones.
       2. Seleccionar un vector de entrada x del conjunto de muestras de entrenamiento.
       3. Si el perceptrón proporciona una salida incorrecta, modificar todas las conexiones
          mediante la expresión                  .
       4. Volver al paso 2.

Cuando la red responde de forma correcta los pesos de la conexiones no se modifican

Regla delta

Para una red con una única capa con un único elemento de procesado en la salida con una
función de activación lineal, la salida viene dada por


                                            20
REDES NEURONALES ARTIFÍCIALES I




Una red simple con una única capa es capaz de representar relaciones lineales entre el valor
del elemento de procesado de la salida y el valor de los elementos de procesado de la
entrada. umbralizando el valor de la salida se puede construir un clasificador. Pero también
se pueden realizar otras tareas como aproximación de funciones. En espacios de entrada
multidimensionales la red representa un hiperplano de decisión y es trivial asumir que se
pueden definir varias unidades de salida.

Supongamos que vamos a entrenar una red para localizar el hiperplano de decisión más
idóneo para un conjunto de muestras de entrada consistente en valores de entrada         y
valores de salida deseada . Para cada muestra dada del conjunto de entrada, la salida real
de la red difiere de la salida deseada en        , donde es la salida real para el patrón de
entrada      . La regla delta una función de error (o función de coste) basada en dicha
diferencia para realizar el ajuste de los pesos.

La función de error, dada por el método del menor error cuadrático medio, es la suma de
los cuadrados de los errores individuales de cada patrón. Es decir, el error total E viene
dado por



donde el índice p recorre el conjunto de patrones de entrada y         representa el error del
patrón p-ésimo. Los valores de los pesos de conexión se buscan de forma tal que se
minimice la función y este proceso se realiza por un método conocido gradiente
descendiente. La idea del método es realizar un cambio en los pesos inversamente
proporcional a la derivada del error respecto al peso para cada patrón



donde es una constante de proporcionalidad. La derivada se puede descomponer mediante
la siguiente expresión



Dado que la función de activación es lineal, como se comentaba al comienzo,



y



con lo cual




                                             21
REDES NEURONALES ARTIFÍCIALES I



donde                es la diferencia entre la salida deseada y la salida real para el patrón de
entrada p.

La regla delta modifica los pesos como función de las salidas deseada y real para unidades
de entrada y salida binarias o continuas. Estas características abrieron un nuevo campo de
posibilidades para las redes neuronales.

Regla delta generalizada

La regla delta generalizada, amplía la regla delta al caso de usar unidades de procesamiento
con funciones de activación no lineal. La activación es una función diferenciable de la
entrada total dada por

donde


Para realizar la generalización de la regla delta debemos considerar



La medida de error      viene definida como el error cuadrático total para el patrón p en las
unidades de salida



Considerando E como la suma de los errores cuadráticos podemos ver que la variación del
error respecto a los pesos viene dada por



A partir de la expresión de la salida total y definiendo



se puede obtener una regla de actualización de pesos equivalente a la regla delta, resultando
un descenso en el valor del gradiente sobre la superficie de error si se realizan los cambios
de los pesos de acuerdo a la expresión

La conclusión más importante es que el cálculo recursivo de los factores delta puede
implementarse propagando las señales de error desde la capa de salida a capas ocultas de la
red.
El cálculo de     puede realizarse en términos de un producto de dos factores; uno que
refleje el cambio del error como función de la salida de las unidades y otro que refleje el
cambio de la salida como función de los cambios en la entrada, es decir



                                              22
REDES NEURONALES ARTIFÍCIALES I




Ahora bien, el segundo factor no es otro que la derivada de la función de activación F. Para
calcular el primer factor vamos a considerar dos casos: que la unidad k es una unidad de
salida de la red y que la unidad k es una unidad de una capa oculta.

En el primer caso, a partir de la definición del error para el patrón p, podemos obtener que



que es el mismo resultado que en la regla delta básica. Por tanto, para las unidades de la
capa de salida

en el segundo caso, no se conoce como contribuye la unidad al error de salida de la red,
pero la medida de error se puede escribir como función de los pesos de las unidades de la
capa oculta a la capa de salida



con lo cual



Extendiendo este cálculo de forma recursiva se pueden calcular los cambios en los pesos de
todas las unidades de la red. Este procedimiento se denomina regle delta generalizada para
redes feedforward con unidades no lineales.


No supervisado

En el aprendizaje no supervisado (o auto supervisado), la red se sintoniza a las
regularidades estadísticas de datos de entrada de forma tal que se formen categorías que
optimizan, respecto a los parámetros libres de la red, una medida de calidad de la tarea que
se quiere realizar con la red. El funcionamiento de estas redes se basa en la búsqueda de
características, regularidades, correlaciones y categorías del conjunto de datos de entrada.
Existen diferentes interpretaciones que se le pueden dar a las salidas generadas por una red
que utilice este tipo de aprendizaje: similaridad (semejanzas entre la información actual y la
información pasada), clusterización (establecimiento de clases), codificación (versión
codificada de las entradas) o mapeo (representación topográfica de los datos de entrada).

Aprendizaje competitivo

El aprendizaje competitivo es un proceso que divide el conjunto de patrones de entrada en
clusters inherentes a los datos de entrada. El procedimiento de entrenamiento es muy
simple: cuando se presenta un patrón de entrada se selecciona una única unidad de salida
(la unidad ganadora) y se modifican los pesos de esa unidad.



                                             23
REDES NEURONALES ARTIFÍCIALES I


Selección de la unidad ganadora mediante producto:

Asumamos que los patrones de entrada y los pesos están normalizados a la unidad. Cada
unidad de salida o calcula su valor de activación a partir del producto del vector del patrón
de entrada por el vector de pesos


A continuación, se selecciona el elemento de procesado de salida que presenta mayor valor
de activación. Su activación se pone a valor 1 y la del resto de elementos de procesado a 0.
En este hecho radica el aspecto competitivo de la red.

Una vez que se ha seleccionado el elemento de procesado k ganador, se adaptan sus pesos
(sólo del elemento ganador) de acuerdo a la expresión




Selección de la unidad ganadora mediante distancia:

Cuando no se pueden utilizar patrones normalizados la elección del elemento de procesado
ganador se realiza mediante el cálculo de la distancia Euclidea entre el vector del patrón y
el vector de pesos. Aquel vector de pesos que presente una distancia mínima determinará el
elemento ganador. La ley de actualización de pesos del elemento ganador es la misma que
en el caso anterior, sin el denominador pues los vectores no están normalizados.


Reforzamiento

En el aprendizaje con reforzamiento, la red aprende de relaciones entrada-salida. Sin
embargo, al contrario que en el aprendizaje supervisado, el sistema conoce si la salida es
correcta o no, pero no conoce la salida correcta.




                                             24
REDES NEURONALES ARTIFÍCIALES I




                                        CAPÍTULO II

   REDES NEURONALES MONOCAPA CON APRENDIZAJE SUPERVISADO


Las redes monocapa se utilizan típicamente en tareas relacionadas en lo que se conoce como auto
asociación: por ejemplo, para regenerar informaciones de entrada que se presentan a la red
incompletas o distorsionadas.


El Perceptrón

Frank Rosenblatt creó muchas variantes de una máquina, la cual llamó Perceptrón. Una de
las más simples fue una red monocapa cuyos pesos y umbrales pueden ser entrenados para
producir un correcto vector objetivo cuando se presenta un correspondiente vector de
entrada.

La técnica de entrenamiento usada es llamada Regla de aprendizaje del perceptrón. El
perceptrón generó un gran interés debido a su habilidad para generalizar a partir de sus
vectores de entrenamiento y aprendizaje a partir de conexiones iniciales distribuidas
aleatoriamente. Los perceptrones son apropiados especialmente para clasificación de
patrones simples.

Características

   -   Aprendizaje Supervisado (offline)
   -   Aprendizaje por corrección de error
   -   Reconocimiento de patrones sencillos
   -   Clasificación de patrones linealmente separables

Arquitectura

La red perceptrón consiste de una capa de S neuronas perceptrón, conectadas a r entradas a
través de un conjunto de pesos W(ij) como se muestra en la figura 2.1. Como ya se
mencionó anteriormente, los índices de la red i y j indican que W(ij) es la fuerza de
conexión de la j-esima entrada a la i-esima neurona.




                                               25
REDES NEURONALES ARTIFÍCIALES I




                                 Figura 2.1. Arquitectura de una red perceptrón.




La red perceptrón puede tener únicamente una sola capa, debido a que la regla de
aprendizaje del perceptrón es capaz de entrenar solamente una capa. Esta restricción coloca
limitaciones en cuanto a lo que un perceptrón puede realizar computacionalmente.

Algoritmo de aprendizaje
El algoritmo de aprendizaje es supervisado, en el cual la regla es provista con un conjunto de
ejemplos del comportamiento propio de la red:

p1, t1  p2 , t2 p3 , t3

donde:

pq = es la entrada de la red
tq = es la salida destino correspondiente

La regla de aprendizaje es un procedimiento para modificar los pesos y los niveles de
umbral de activación en una red neuronal.

La principal aportación de Rosenblatt fue el desarrollo de una regla de aprendizaje simple y
automática aplicada al reconocimiento de patrones.

La red aprendía de sus errores y se inicializaba con valores aleatorios.

La regla de aprendizaje siempre convergirá a los pesos correctos de la red si es que existen
los pesos que solucionen dicho problema.



                                                      26
REDES NEURONALES ARTIFÍCIALES I


El entrenamiento comienza asignándole valores iniciales pequeños (aleatorios) a los
parámetros de la red (W y b), por medio de las siguientes ecuaciones:


Para el vector de pesos (W)

                               Wnuevo = Wanterior + ept
Para el umbral (b)

                                  bnuevo = banterior + e
Para el error (e)

                                        e=t-a


Aplicaciones

El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples decisiones
y reconocimiento de patrones. Por ejemplo, se puede entrenar una red para formar el tiempo
pasado de los verbos en ingles, leer texto en ingles y manuscrito. El Perceptrón multicapa
(MLP) puede ser usado para la predicción de una serie de datos en el tiempo; tal a sido su
éxito en la medición de la demanda de gas y electricidad, además de la predicción de
cambios en el valor de los instrumentos financieros.

NETtalk es un Perceptrón que es capaz de transformar texto en ingles en sonido individual
(representaciones fonéticas) y la pronunciación con la utilización de un sintetizador de voz;
cuenta con aproximadamente 300 nodos de neuronas (siendo 80 en la capa escondida) y
20,000 conexiones individuales.




                                             27
REDES NEURONALES ARTIFÍCIALES I


Ejercicios

Método gráfico

1. Use un perceptrón simple para clasificar el siguiente conjunto de patrones:

     0                                         − 2
p1 =         t1=1;                       p2 =                t2=1;
      2                                       2 

      − 2                                      − 2
p3 =         t3=1;                       p4 =                t4=1;
     0                                         − 2

     0                                        2 
p5 =         t5=0;                       p6 =                t6=0;
      − 2                                      − 2

      2                                        2
p7 =         t7=0;                       p8 =                t8=1;
     0                                         2


   a) Trace la frontera de decisión

Solución

Se traza sobre la gráfica una línea que separe los patrones que arrojen salida 1 (negro) de
los patrones cuya salida deseada sea 0 (blanco). El trazo de esta línea o frontera de decisión
depende del diseñador, siempre y cuando se cumpla la clasificación (separación de patrones
con salida 1 de los de salida 0). El trazo de la frontera de decisión implica la determinación
inmediata del vector de pesos que da solución al problema (la frontera de decisión es
siempre perpendicular al vector de pesos W). Esto se muestra en la figura 2.2.




                          Figura 2.2. Trazo de la frontera de decisión y vector de pesos




                                                       28
REDES NEURONALES ARTIFÍCIALES I




   b) Encuentre la matriz de pesos W y el umbral de activación b

De la gráfica anterior, se obtiene el vector de pesos W:

                                         W = [-2 1]

Dado que la frontera de decisión atraviesa por el origen (0,0), el umbral de activación es
cero.

                                            b=0

   c) Compruebe el funcionamiento del perceptrón con el conjunto de patrones de
      entrada.

Para el primer par de entrada/salida

     0 
p1 =         t1=1;
      2

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                   0 
a = hardlim([-2 1]   + 0)
                    2

a = hardlim(2) = 1

Se calcula el error:

e = t1 – a = 1 – 1

e=0

Para el segundo par de entrada/salida

      − 2
p2 =         t2=1;
     2 

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    − 2
a = hardlim([-2 1]   + 0)
                   2 


                                             29
REDES NEURONALES ARTIFÍCIALES I




a = hardlim(6) = 1

Se calcula el error:

e = t2 – a = 1 – 1

e=0

Para el tercer par de entrada/salida

      − 2
p3 =         t3=1;
     0 

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    − 2
a = hardlim([-2 1]   + 0)
                   0 

a = hardlim(4) = 1

Se calcula el error:

e = t3 – a = 1 – 1

e=0

Para el cuarto par de entrada/salida

      − 2
p4 =         t4=1;
      − 2
Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    − 2
a = hardlim([-2 1]   + 0)
                    − 2
a = hardlim(2) = 1

Se calcula el error:

e = t4 – a = 1 – 1

e=0


                                             30
REDES NEURONALES ARTIFÍCIALES I


Para el quinto par de entrada/salida

     0 
p5 =         t5=0;
      − 2

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                   0 
a = hardlim([-2 1]   + 0)
                    − 2

a = hardlim(-2) = 0

Se calcula el error:

e = t5 – a = 0 – 0

e=0

Para el sexto par de entrada/salida

     2 
p6 =         t6=0;
      − 2

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                   2 
a = hardlim([-2 1]   + 0)
                    − 2

a = hardlim(-6) = 0

Se calcula el error:

e = t6 – a = 0 – 0

e=0


Para el séptimo par de entrada/salida

      2
p7 =         t7=0;
     0 



                                             31
REDES NEURONALES ARTIFÍCIALES I


Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    2
a = hardlim([-2 1]   + 0)
                   0 

a = hardlim(-4) = 0

Se calcula el error:

e = t7 – a = 0 – 0

e=0

Para el octavo par de entrada/salida

      2
p8 =         t8=0;
      2

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    2
a = hardlim([-2 1]   + 0)
                    2

a = hardlim(-2) = 0

Se calcula el error:

e = t8 – a = 0 – 0

e=0

Regla de aprendizaje

2. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje donde
los pares de entrada/salida son:

     1 
p1 =         t1=1;
      2
     − 1
p2 =         t2=0;
     2 




                                               32
REDES NEURONALES ARTIFÍCIALES I


     0 
p3 =          t3=0;
     −1

    a) usando la regla de aprendizaje del perceptrón, calcule la matriz de pesos W y
       el umbral de activación b. Considere los parámetros iniciales:

                              W = [1 -0.8]
                              b=0

Solución

Para el primer par de entrada/salida

     1 
p1 =          t1=1;
     2

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                     1 
a = hardlim([1 –0.8]   + 0)
                     2

a = hardlim(-0.6) = 0

Se calcula el error:

e = t1 – a = 1 – 0

e=1

Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:

Wnuevo = Wanterior + ept

Wnuevo = [1 –0.8] + [1 2]

Wnuevo = [2 1.2]

Para el segundo par de entrada/salida

     − 1
p2 =          t2=0;
     2 




                                             33
REDES NEURONALES ARTIFÍCIALES I


Se calcula la salida utilizando la función de activación propia de la red (con os nuevos
pesos):

a = hardlim(wp + b)
                    − 1
a = hardlim([2 1.2]   + 0)
                    2 

a = hardlim(0.4) = 1

Se calcula el error:

e = t2 – a = 0 - 1

e = -1

Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:

Wnuevo = Wanterior + ept

Wnuevo = [2 1.2] + (-1)[-1 2]

Wnuevo = [3 –0.8]

Para el tercer par de entrada/salida

     0 
p3 =          t3=0;
     −1

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                     0 
a = hardlim([3 –0.8]   + 0)
                     −1

a = hardlim(0.8) = 1

Se calcula el error:

e = t3 – a = 0 - 1

e = -1

Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Wnuevo = Wanterior + ept



                                             34
REDES NEURONALES ARTIFÍCIALES I


Wnuevo = [3 –0.8] + (-1) [0 -1]

Wnuevo = [3 0.2]

Es necesario comprobar que, cada que se obtiene un vector de pesos nuevo, el error e = 0 para todos
los pares de entrada/salida, para dar por terminado el proceso de entrenamiento:

Para el primer par de entrada/salida

     1 
p1 =         t1=1;
     2

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    1 
a = hardlim([3 0.2]   + 0)
                    2

a = hardlim(3.4) = 1

Se calcula el error:

e = t1 – a = 1 – 1

e=0

Para el segundo par de entrada/salida

     − 1
p2 =         t2=0;
     2 

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    − 1
a = hardlim([3 0.2]   + 0)
                    2 

a = hardlim(-2.6) = 0

Se calcula el error:

e = t2 – a = 0 – 0

e=0


                                                35
REDES NEURONALES ARTIFÍCIALES I




Para el tercer par de entrada/salida

     0 
p3 =         t3=0;
     −1

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                    0 
a = hardlim([3 0.2]   + 0)
                    −1

a = hardlim(-0.2) = 0

Se calcula el error:

e = t3 – a = 0 – 0

e=0

Por lo tanto, los valores finales de W y b son:

W = [3 0.2]
b=0


   b) Grafique su solución, indicando la frontera de decisión, indicando la frontera de
      decisión y su vector de pesos.




                                Figura 2.3 Gráfica-solución del ejercicio 2




                                                   36
REDES NEURONALES ARTIFÍCIALES I


La figura 2.3 muestra la solución del ejercicio. En ella se puede visualizar el vector de
pesos W, la frontera de decisión (perpendicular al vector de pesos W) atravesando el
origen. Esto último se debe a que el valor del umbral b es cero.

3. Diseñe una red neuronal que permita clasificar dos tipos de fruta considerando la
forma, la textura y el peso. Observe la figura 2.4.




                                   Figura 2.4. Clasificador de frutas




Las entradas para el perceptrón tienen la forma:

                                              forma 
                                                     
                                         P = textura 
                                              peso 
                                                     

Los valores para cada parámetro son:

Forma:
   - 1, si la fruta es redonda
   - -1, si la fruta es elíptica

Textura:
   - 1, si la superficie de la fruta es suave
   - -1, si la superficie es rugosa

Peso:
   - 1, ≥ 1 libra
   - -1, < 1 libra




                                                  37
REDES NEURONALES ARTIFÍCIALES I


Según lo anterior, los vectores de entrada para las frutas a clasificar son:


Naranja

     1 
      
p1 = − 1                    t1 = 0
     − 1
      

Manzana

     1 
      
p2 = 1                      t2 = 1
      
     −1

Los valores iniciales del vector de pesos y el umbral son:

                                       W = [0.5 -1 -0.5]
                                       b = 0.5

   a) Aplique la regla de aprendizaje del perceptrón para calcular el vector de pesos
      W y el umbral b.

Solución

Primera época

Para el primer par de entrada/salida (Primera iteración)

     1 
      
p1 = − 1      t1=0;
     − 1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                          1 
                           
a = hardlim([0.5 -1 -0.5] − 1 + 0.5)
                          − 1
                           

a = hardlim(2.5) = 1



                                              38
REDES NEURONALES ARTIFÍCIALES I


Se calcula el error:

e = t1 – a = 0 - 1

e = -1

Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos y el umbral:

Wnuevo = Wanterior + ept

Wnuevo = [0.5 -1 -0.5] + (-1)[1 -1 -1]

Wnuevo = [-0.5 0 0.5]

bnuevo = banterior + e

bnuevo = 0.5 - 1

bnuevo = -0.5

Para el segundo par de entrada/salida (segunda iteración)

     1 
      
p2 = 1           t2=1;
     −1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                         1 
                          
a = hardlim([-0.5 0 0.5] 1  + (-0.5))
                         −1
                          

a = hardlim(-1.5) = 0

Se calcula el error:

e = t1 – a = 1 - 0

e=1




                                             39
REDES NEURONALES ARTIFÍCIALES I


Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos y el umbral:


Wnuevo = Wanterior + ept

Wnuevo = [-0.5 0 0.5] + [1 1 -1]

Wnuevo = [0.5 1 -0.5]

bnuevo = banterior + e

bnuevo = -0.5 + 1

bnuevo = 0.5

Segunda época

Para el primer par de entrada/salida (Primera iteración)

     1 
      
p1 = − 1        t1=0;
     − 1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                         1 
                          
a = hardlim([0.5 1 -0.5] − 1 + 0.5)
                         − 1
                          

a = hardlim(0.5) = 1

Se calcula el error:

e = t1 – a = 0 - 1

e = -1

Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos y el umbral:

Wnuevo = Wanterior + ept

Wnuevo = [0.5 1 -0.5] + (-1)[1 -1 -1]



                                             40
REDES NEURONALES ARTIFÍCIALES I


Wnuevo = [-0.5 2 0.5]

bnuevo = banterior + e

bnuevo = 0.5 - 1

bnuevo = -0.5

Para el segundo par de entrada/salida (segunda iteración)

     1 
      
p2 = 1           t2=1;
     −1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                         1 
                          
a = hardlim([-0.5 2 0.5] 1  + (-0.5))
                         −1
                          

a = hardlim(0.5) = 1

Se calcula el error:

e = t1 – a = 1 - 1

e=0

No hay modificación de W y b. Sólo resta probar si se cumple para el primer par de
entrada.

     1 
      
p1 = − 1         t1=0;
     − 1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = hardlim(wp + b)
                         1 
                          
a = hardlim([-0.5 2 0.5] − 1 + (-0.5))
                         − 1
                          



                                             41
REDES NEURONALES ARTIFÍCIALES I




a = hardlim(-3.5) = 0

Se calcula el error:

e = t1 – a = 0 - 0

e=0

Por lo tanto, los valores finales de W y b son:

W = [-0.5 2 0.5]
b = 0.5


Simulaciones en Matlab

1. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje

Los pares de entrada/salida son:

     1 
p1 =          t1=1;
      2
     − 1
p2 =          t2=0;
     2 
     0 
p3 =          t3=0;
     −1

En el editor de Matlab teclee el siguiente código que resuelve el problema anterior:

clear;echo on;clc;
%Se definen los vectores de entrada
P=[1 -1 0;
   2 2 -1];

%Se define el vector de salida
T = [1 0 0]


% Se inicializa la red con los valores anteriores
[w,b]=initp(P,T);

%Se entrena la red usando la regla de aprendizaje
[w,b,epoch,errors]=trainp(w,b,P,T,-1);




                                                42
REDES NEURONALES ARTIFÍCIALES I


%Evalúa un par de entrada para clasificarlo
a=simup([-1;0],w,b)

echo off

En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa,
como sigue:

%Se definen los vectores de entrada
P=[1 -1 0;

%Se define el vector de salida
T = [1 0 0]

T =
      1      0      0

% Se inicializa la red con los valores anteriores
[w,b]=initp(P,T);

%Se entrena la red usando la regla de aprendizaje
[w,b,epoch,errors]=trainp(w,b,P,T,-1);

TRAINP: 0/100 epochs, SSE = 2.

TRAINP: 1/100 epochs, SSE = 1.

TRAINP: 2/100 epochs, SSE = 0.

%Evalúa un par de entrada para clasificarlo
a=simup([-1;0],w,b)


a =
     0
echo off

La salida del programa (además del proceso descrito en la ventana de comandos de Matlab)
es una gráfica donde aparecen los patrones de entrada en un plano de dos dimensiones, con
la clasificación correspondiente (frontera de decisión). Esto se muestra en la figura 2.5.




                                  Figura 2.5. Patrones clasificados




                                                43
REDES NEURONALES ARTIFÍCIALES I


La frontera de decisión y el vector de pesos y umbral que dan solución al problema
dependerá de los valores iniciales que Matlab asigna a w y b.

2. Perceptrón de cuatro clases

Clasifique el siguiente grupo de vectores de entrada en cuatro clases.

               1        1                                        0        0 
Clase 1:  p1 =  , p 2 =                                     t1 =  , t 2 =   
               1         2                                       0        0 

               2        2                                         0        0  
Clase 2:  p3 =  , p 4 =                                     t 3 =  , t 4 =   
               − 1      0                                         1        1  

               − 1      − 2                                       1        1  
Clase 3:  p5 =  , p 6 =                                     t 5 =  , t 6 =   
               2        1                                         0        0  

                − 1     − 2                                        1        1 
Clase 4:  p 7 =  , p8 =                                      t 7 =  , t 8 =   
                − 1     − 2                                        1        1 

Para solucionar un problema de 4 clases de entrada, se necesita un perceptrón con al menos
dos neuronas, lo que traerá como consecuencia dos vectores de pesos y, por lo tanto, dos
fronteras de decisión.

En el editor de Matlab teclee el siguiente código que resuelve el problema anterior:

clear;echo on;clc;
%Se definen los vectores de entrada
P=[1 1 2 2 -1 -2 -1 -2;
   1 2 -1 0 2 1 -1 -2];

%Se define los vectores de salida
T = [0 0 0 0 1 1 1 1;
     0 0 1 1 0 0 1 1];

% Se inicializa la red con los valores anteriores
[w,b]=initp(P,T)

%Se entrena la red usando la regla de aprendizaje
[w,b,epoch,errors]=trainp(w,b,P,T,-1);

%Evalúa un par de entrada para clasificarlo
a=simup([1;1],w,b)

echo off




                                                 44
REDES NEURONALES ARTIFÍCIALES I


En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa,
como sigue:
%Se definen los vectores de entrada
P=[1 1 2 2 -1 -2 -1 -2;

%Se define el vector de salida
T = [0 0 0 0 1 1 1 1;

% Se inicializa la red con los valores anteriores
[w,b]=initp(P,T)

w =
    0.9003       0.2137
   -0.5377      -0.0280

b =
      0.7826
      0.5242

%Se entrena la red usando la regla de aprendizaje
[w,b,epoch,errors]=trainp(w,b,P,T,-1);

TRAINP: 0/100 epochs, SSE = 11.
TRAINP: 1/100 epochs, SSE = 3.
TRAINP: 2/100 epochs, SSE = 0.

%Evalúa un par de entrada para clasificarlo
a=simup([1;1],w,b)

a =
     0
     0
echo off

La salida del programa (además del proceso descrito en la ventana de comandos de Matlab)
es una gráfica donde aparecen los patrones de entrada de las cuatro clases, con una marca
especial para diferenciar cada una de ellas en un plano de dos dimensiones, con la
clasificación correspondiente. Ahora se ve una frontera de decisión en rojo, mientras que la
otra es de color azul. Esto se muestra en la figura 2.6.




                              Figura 2.6. Patrones de las 4 clases clasificados




                                                    45
REDES NEURONALES ARTIFÍCIALES I


Las fronteras de decisión al que dan solución al problema dependerá de los valores iniciales que
Matlab asigna a w y b.


La Red Adaline


Las redes Adaline fueron desarrolladas por Bernie Widrow en la Universidad de Stanford
poco después de que Rosenblatt desarrollara el Perceptrón.

El término Adaline es una sigla; sin embargo, significado ha cambiado ligeramente con el
paso de los años. Inicialmente se llamaba ADAptative LInear Neuron (neurona Lineal
Adaptativa); pasó a ser el ADAptative LInear Element (Elemento Lineal Adaptativo)
cuando las redes cayeron en desgracia al final de los años setenta.

Tiene una estructura casi idéntica a la del perceptrón general. La figura 2.7. muestra la estructura de
una red Adaline.




                                                                                   s
          X0                                                                                    Salida
                                                                                                Lineal
                                                                                       y
          X1              W0                                                           1
                     W1                                   S                                              y
                                                                                                    s
          X2                                                                                                 Salida
                  W2             Combinador Adaptativo                Lineal               -1                binaria
                            W
                                                                               Conmutador Bipolar
          XN                N



                                   Figura 2.7. Estructura de una red ADALINE




Es necesario hacer dos modificaciones básicas a la estructura del
perceptrón general para transformarla en una red Adaline. La primera
consiste en añadir una conexión de peso Wo, que se conoce con el
nombre de término de tendencia. Este término es el peso de una
conexión que siempre tiene un valor de entrada igual a 1. La inclusión
de este término se debe fundamentalmente a la experiencia.

La segunda modificación consiste en añadir una condición bipolar a la salida. El cuadro de
trazos que se ve en la figura 2.7 encierra una parte de la red que es lo que se denomina


                                                     46
REDES NEURONALES ARTIFÍCIALES I


combinador adaptativo lineal (ALC). Si la salida del ALC es positiva, la salida de la red es
+1. si la salida del ALC es negativa, entonces la salida de la red es –1.

El ALC lleva a cabo el cálculo de una suma de productos empleando los vectores de
entrada y de peso, y aplica una función de salida para obtener un valor único de salida, tal y
como lo hace el perceptrón.

La función de salida en este caso es la función identidad, así como la función de activación.
El uso de esta función como función de salida y como función de activación significa que la
salida es igual a la activación, que es lo mismo que la entrada neta de la unidad.

La red Adaline (o el ALC) es adaptativa en el sentido de que existe un procedimiento bien
definido para modificar los pesos con objeto de hacer posible que la red proporcione el
valor de salida correcto para la entrada dada. La red Adaline es lineal porque la salida es
una función lineal sencilla de los valores de entrada. Es una neurona tan sólo en el sentido
(muy limitado) del perceptrón. También se podría decir que la red Adaline es un elemento
lineal, evitando por completo el tema de la neurona.


Algoritmo de aprendizaje

1.    Se aplica un patrón de entrada P.
2.    Se obtiene la salida del ALC y se calcula la diferencia con respecto a la deseada (error).
3.    Se actualizan los pesos.
4.    Se repiten pasos 1 a 3 con todos los vectores de entrada.
 5.   Si el Error es un valor aceptable, detenerse, si no repetir algoritmo.


La regla de aprendizaje de Widrow-Hoff o LMS (Least Mean Square), que utiliza la red
Adaline para su entrenamiento, hace posible la realización del paso 3.

Por medio de las siguientes ecuaciones, se realiza la actualización de los parámetros de la red:

Para el vector de pesos (W)

                                Wnuevo = Wanterior + 2α ept
Para el umbral (b)

                                   bnuevo = banterior + 2αe
Para el error (e)

                                             e=t-a



                                                 47
REDES NEURONALES ARTIFÍCIALES I




donde α se conoce como razón o tasa de aprendizaje y 0 < α < 1.

El cálculo de dicho parámetro se realiza mediante una matriz de correlación R:

                                       R = E(P Pt)

Los eigenvalores λi de la matriz de correlación serán útiles para la determinación del
parámetro a, pues:

                                               1
                                      0<α<
                                              λmax

Aplicaciones

•   El principal campo de aplicación es el Procesamiento de Señales.
•   Filtros que eliminen el ruido en señales portadoras de información.
•   Filtros de ecualización adaptativos en Módems de alta velocidad.
•   Cancelación del ruido materno de grabaciones ECG del latido del feto humano.

•   Eliminación de ecos en circuitos telefónicos.
•   Canceladores adaptativos del eco para el filtrado de señales en comunicaciones
    telefónicas de larga distancia y comunicaciones vía satélite.




Ejercicios




                                            48
REDES NEURONALES ARTIFÍCIALES I


1. Clasifique el siguiente conjunto de patrones usando el algoritmo LMS y una red
Adaline.

     1
p1 =         t1=1;
     1
     1 
p2 =         t2=-1;
     −1

Los parámetros iniciales son:

α = 0.25
W =[0 0], b=0

    a) Calcule el vector de pesos W y el umbral b

Primera época

Para el primer par de entrada/salida

     1
p1 =         t1=1;
     1

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
          1
a = [0 0]   + 0
          1
a=0

Se calcula el error:

e = t1 – a = 1 -0 = 1

Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el
umbral:

Wnuevo = Wanterior + 2αept

Wnuevo = [0 0] + 2(0.25)(1)[1 1]

Wnuevo = [0.5 0.5]                   b= 0

Para el segundo par de entrada/salida



                                             49
REDES NEURONALES ARTIFÍCIALES I


     1 
p2 =           t2=-1;
     −1

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
              1 
a = [0.5 0.5]   + 0
              −1
a=0

Se calcula el error:

e = t2 – a = -1 -0 = -1

Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el
umbral:

Wnuevo = Wanterior + 2αept

Wnuevo = [0.5 0.5] + 2(0.25)(-1)[1 -1]

Wnuevo = [0 1]                b= 0

Segunda época

Para el primer par de entrada/salida

     1
p1 =           t1=1;
     1

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
          1
a = [0 1]   + 0
          1
a=1

Se calcula el error:

e = t1 – a = 1 -1 = 0

Para el segundo par de entrada/salida




                                             50
REDES NEURONALES ARTIFÍCIALES I


     1 
p2 =         t2=-1;
     −1

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
          1 
a = [0 1]   + 0
          −1
a = -1

Se calcula el error:

e = t2 – a = -1 + 1 = 0

Por lo tanto, los valores finales de W y b son:

W = [0 1]
b=0


   b) Grafique la frontera de decisión y los patrones




                                Figura 2.8 Gráfica-solución del ejercicio 1




La figura 2.8 muestra la solución del ejercicio. En ella se puede visualizar el vector de
pesos W, la frontera de decisión (perpendicular al vector de pesos W) atravesando el
origen. Esto último se debe a que el valor del umbral b es cero.


2. Clasifique el siguiente conjunto de patrones usando el algoritmo LMS y una red
Adaline.


                                                   51
REDES NEURONALES ARTIFÍCIALES I




     1 
      
p1 = − 1     t1=-1;
     − 1
      
     1 
      
p2 = 1       t2=1;
     −1
      

Los parámetros iniciales son:

W =[0 0 0]
b=0

     a) Calcule la razón de aprendizaje α

El cálculo de este parámetro se realiza mediante una matriz de correlación R:

                                     R = E(P · Pt)


R = E(P Pt)

     1          1
R=     P1· P1t + P2· P2t
     2          2

     1                    1 
   1                1     1 
R = − 1 [1 –1 –1] +         [1 1 –1]
   2                  2
     − 1
                          −1
                             

      1 − 1 − 1   1   1 − 1     2 0 − 2  1 0 − 1
   1            1 1          1  0 2 0  0 1 0
R = − 1 1   1 +       1 − 1 =          =        
   2              2              2
     − 1 1
            1    − 1 − 1 1 
                                 − 2 0 2  − 1 0 1 
                                                    

Se procede ahora al cálculo de los Eigenvalores (λi) de la matriz R mediante la fórmula:

                                      P(λ) = |A – λI|




Esto hace:



                                             52
REDES NEURONALES ARTIFÍCIALES I



 1 0 − 1 λ 0 0                                           (1 − λ )      0         −1
 0 1 0  0 λ 0                                              0        (1 − λ )      0
        -                              =
− 1 0 1   0 0 λ 
                                                           −1          0       (1 − λ )

Haciendo el cálculo del determinante se tiene:

(1 − λ )      0         −1
  0        (1 − λ )      0     = (1 - λ)3 – (1 – λ)
  −1          0       (1 − λ )

Factorizando se tiene:

(1 - λ)3 – (1 – λ)
= (1 - λ) {(1 - λ)2 – 1}
= (1 - λ) {1 - 2 λ + λ2 -1}
= (1 - λ) {-2 λ + λ2 }
= (1 - λ)(λ−2) λ = 0

Haciendo el cálculo de las raíces, se obtienen los eigenvalores de la matriz R:

λ1 =0
λ2=1
λ3=2

La máxima razón de aprendizaje estable es:
                   aprendizaje

λmáx = λ3 = 2

            1
0<α<
           λmax

 1
     = 1 / 2 = 0.5
λmax

Se elige una tasa de aprendizaje de 0.2 (valor típico)

Nota: α se puede proponer a través de prueba y error.




    b) Calcule el vector de pesos W y el umbral b



                                                        53
REDES NEURONALES ARTIFÍCIALES I




Primera época

Para el primer par de entrada/salida

     1 
      
p1 = − 1     t1=-1;
     − 1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
             1 
              
a = [0 0 0] − 1 + 0
             − 1
              
a=0

Se calcula el error:

e = t1 – a = -1 -0 = -1

Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el
umbral:

Wnuevo = Wanterior + 2αept

Wnuevo = [0 0 0] + 2(0.2)(-1)[1 -1 -1]

Wnuevo = [-0.4 0.4 0.4]                      b= 0

Para el segundo par de entrada/salida

     1 
      
p2 = 1       t2=1;
     −1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
                   1 
                    
a = [-0.4 0.4 0.4] 1  + 0
                   −1
                    


                                             54
REDES NEURONALES ARTIFÍCIALES I


a = -0.4

Se calcula el error:

e = t2 – a = 1 + 0.4 = 1.4

Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el
umbral:

Wnuevo = Wanterior + 2αept

Wnuevo = [-0.4 0.4 0.4] + 2(0.2)(1.4)[1 1 -1]

Wnuevo = [0.16 0.96 -0.16]                   b= 0

Segunda época

Para el primer par de entrada/salida

     1 
      
p1 = − 1     t1=-1;
     − 1
      

Se calcula la salida utilizando la función de activación propia de la red:

a = pureline(wp + b) = wp + b
                      1 
                       
a = [0.16 0.96 –0.16] − 1 + 0
                      − 1
                       
a = -0.64

Se calcula el error:

e = t1 – a = -1 + 0.641 = -0.36

Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el
umbral:

Wnuevo = Wanterior + 2αept

Wnuevo = [0.16 0.96 -0.16] + 2(0.2)(-3.6)[1 -1 -1]

Wnuevo = [0.016 1.1040 -0.016]                       b= 0




                                             55
REDES NEURONALES ARTIFÍCIALES I




Si se continua el proceso, el algoritmo convergirá en:

W = [0 1 0]
b=0


Simulaciones en MATLAB

1. Resuelva el siguiente problema de clasificación de la red Adaline y su regla de aprendizaje

Los pares de entrada/salida son:

     0 
p1 =          t1=1;
      2
      2
p2 =          t2=1;
     0 
      − 2
p3 =          t3=0;
      − 2

En el editor de Matlab teclee el siguiente código que resuelve el problema anterior:

clear;echo on;clc;

%Se definen los vectores de entrada
P=[0 2 -2;
   2 0 -2];

%Se define el vector de salida
T = [1 1 0];

%Se crea una red lineal adaptativa NEWLIN(PR,S,ID,LR)
donde:

      PR – matriz Rx2 de los valores máximos y mínimos para R elementos
de entrada.
       S - Número de elementos de salida
       ID – Vector de retardo, default = [0].
       LR – Tasa de aprendizaje, default = 0.01;

net=newlin([-2 2;-2 2],1);


%Se ajusta el error (valor por omisión=0)
net.trainParam.goal=0.1;

%Se ajustan las épocas (valor por omisión=100)
net.trainParam.epochs=50;

%Se entrena la red


                                                56
REDES NEURONALES ARTIFÍCIALES I


[net,tr]=train(net,P,T);

%Si se desea dar valores iniciales al vector de pesos y umbral,
escríbanse las siguientes dos líneas de código

net.IW{1,1}=[-1 -1];
net.b{1}=[2];

%Se asignan a las variables W y b los valores calculados una vez
terminado el proceso de entrenamiento

W=net.IW{1,1}
b=net.b{1}


%Se grafican los patrones de entrada, las salidas deseadas y la frontera
de decisión mediante las siguientes líneas

plotpv(P,T)
plotpc(net.IW{1,1},net.b{1})

echo off

En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa,
como sigue:

%Se definen los vectores de entrada
P=[0 2 -2;

%Se define el vector de salida
T = [1 1 0];

%Se crea una red lineal
net=newlin([-2 2;-2 2],1);

%Se ajusta el error (valor por omisión=0)
net.trainParam.goal=0.1;

%Se ajustan las épocas (omisión=100)
net.trainParam.epochs=50;

%Se entrena la red
[net,tr]=train(net,P,T);
TRAINWB, Epoch 0/50, MSE 0.666667/0.1.
TRAINWB, Epoch 25/50, MSE 0.0972903/0.1.
TRAINWB, Performance goal met.

%net.IW{1,1}=[-1 -1];
%net.b{1}=[2];

W=net.IW{1,1}

W =

      0.1598    0.1598




                                       57
REDES NEURONALES ARTIFÍCIALES I


b=net.b{1}

b =
    0.3554
plotpv(P,T)
plotpc(net.IW{1,1},net.b{1})

echo off

La salida del programa (además del proceso descrito en la ventana de comandos de Matlab)
es una sucesión de gráficas donde aparece la variación del error en un número N de épocas.
Esto se muestra en la figura 2.9.




                                  Figura 2.9. Evolución del error


Los patrones de entrada en un plano de dos dimensiones, con la clasificación
correspondiente (frontera de decisión) aparecen después de terminado el proceso de
entrenamiento. Esto se muestra en la figura 2.10.




                                 Figura 2.10. Patrones clasificados




                                                58
REDES NEURONALES ARTIFÍCIALES I




                                    CAPITULO III

        REDES NEURONALES MULTICAPA CON APRENDIZAJE
                      SUPERVISADO..

3.1.0 Perceptron Multicapa

El Perceptrón multicapa (MLP) puede ser usado para la predicción de una serie de datos
en el tiempo; tal a sido su éxito en la medición de la demanda de gas y electricidad,
además de la predicción de cambios en el valor de los instrumentos financieros.

Predicción de mercados financieros, diagnósticos médicos, el Perceptrón como una red
codificadora, el Perceptrón aprende a sumar enteros.

NETtalk es un Perceptrón que es capaz de transformar texto en ingles en sonido individual
(representaciones fonéticas) y la pronunciación con la utilización de un sintetizador de voz;
cuenta con aproximadamente 300 nodos de neuronas (siendo 80 en la capa escondida) y
20,000 conexiones individuales.


3.1.1 Características

Cada capa de la red es caracterizada por la matriz de parámetros, y el funcionamiento de la
red por una composición no lineal de operaciones como se muestra:

                   F(W, x) = ϕ(W1 ·…ϕ(Wl ·x) …)                 (3.11)



Una red neuronal hacia adelante (feedforward) con dos capas (una oculta y una de salida)
es comúnmente usada para aproximación de mapas no conocidos. Si la capa de salida es
lineal, la red puede tener una estructura similar a una red de base radial (RBF).

El perceptron multicapa es comúnmente usado para aproximar mapas no lineales
complejos. En general, esto es posible, dos capas son suficientes para aproximar cualquier
función no lineal. Por consiguiente, estamos restringiendo nuestras consideraciones a una
red de dos capas.

La estructura de la parte de decodificación de la red de dos capas es representada en la
figura (3.1).




                                             59
REDES NEURONALES ARTIFÍCIALES I




  Figure 3.1: Diagrama a bloques de una red neuronal de una sola capa oculta con conexión hacia adelante

La estructura de cada capa ha sido descrita en la figura. En la capa oculta se usan funciones
no lineales y en la capa de salida puede ser diferente. Existen dos matrices de pesos: una
matriz de L ×p Wh en la capa oculta, y una matriz de m ×L Wy en la capa de salida. El
funcionamiento de la red puede ser descrito de la siguiente manera:
               u(n) = Wh ·x(n) ;        h(n) = ψ(u(n)) - hidden signals ;
               v(n) = W · h(n) ;
                              y
                                          y(n) = ϕ(v(n)) - output signals .



o simplemente como
                         y(n) = ϕ ( Wy ·ψ ( Wh ·x(n) ) )
                                                                          (3.12)


Típicamente, la función sigmoidal (tangente hiperbólica) es usada, pero existen otras
funciones que también se pueden utilizar. Una condición importante desde el punto de vista
de el aprendizaje es que la función debe ser diferenciable.

Típicamente funciones no lineales y sus derivadas se usan en el perceptron multicapa:

Sigmoidal unipolar:




                                         1     1
                       y = ϕ( v ) =           = (tanh(βv/2) -1) (160,30)
                                      1 + e-βv 2


La derivada de la función sigmoidal:
                                dϕ        e-βv
                           y′ =     =β             = β y (1 - y)
                                dv     (1 + e-βv)2


Sigmoidal bipolar:




                                                   60
REDES NEURONALES ARTIFÍCIALES I




                                    ϕ( v ) = tanh(βv)(320,0)


La derivada de la función bipolar sigmoidal:
                                  dϕ     4 βe2 βv
                             y′ =     = 2 βv      = β(1 - y2)
                                  d v (e +1)2


Nota que

   •   Derivadas de la función sigmoidal son siempre no negativas.
   •   Derivadas pueden ser calculadas directamente desde la señal de salida usando
       simplemente operaciones aritméticas.
   •   En saturación, para valores grandes de potencial de activación, v, las derivadas se
       acercan al cero.



3.1.2 Arquitectura




                     Figura 3.2. Arquitectura de un perceptron multicapa.

3.1.3 Aplicaciones

El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples decisiones
y reconocimiento de patrones. Por ejemplo, se puede entrenar una red para formar el tiempo
pasado de los verbos en ingles, leer texto en ingles y manuscrito.


3.2.0 Adaline




                                                 61
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES

Más contenido relacionado

La actualidad más candente

Graficacion por Computadora
Graficacion por ComputadoraGraficacion por Computadora
Graficacion por ComputadoraYESENIA CETINA
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosKarina Rivra
 
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBBREDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBBESCOM
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoriaMiguel Magaña
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flopsJimmy Osores
 
REDES NEURONALES ARTIFICIALES HISTORIA Y TEORIA
REDES NEURONALES ARTIFICIALES HISTORIA Y TEORIAREDES NEURONALES ARTIFICIALES HISTORIA Y TEORIA
REDES NEURONALES ARTIFICIALES HISTORIA Y TEORIAESCOM
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPUFernanda Soto
 
Jerarquia de la memoria
Jerarquia de la memoria Jerarquia de la memoria
Jerarquia de la memoria Fabian Rojas
 
Presentacion familias logicas
Presentacion familias logicasPresentacion familias logicas
Presentacion familias logicasSMCangry
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - ProteusRaniellys
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacenciaFrank Doria
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoESCOM
 

La actualidad más candente (20)

Graficacion por Computadora
Graficacion por ComputadoraGraficacion por Computadora
Graficacion por Computadora
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas Operativos
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBBREDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
 
Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoria
 
Mapeo de memoria
Mapeo de memoriaMapeo de memoria
Mapeo de memoria
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
Lenguaje de Transferencia de Registro
Lenguaje de Transferencia de RegistroLenguaje de Transferencia de Registro
Lenguaje de Transferencia de Registro
 
REDES NEURONALES ARTIFICIALES HISTORIA Y TEORIA
REDES NEURONALES ARTIFICIALES HISTORIA Y TEORIAREDES NEURONALES ARTIFICIALES HISTORIA Y TEORIA
REDES NEURONALES ARTIFICIALES HISTORIA Y TEORIA
 
Thread
ThreadThread
Thread
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPU
 
Jerarquia de la memoria
Jerarquia de la memoria Jerarquia de la memoria
Jerarquia de la memoria
 
Presentacion familias logicas
Presentacion familias logicasPresentacion familias logicas
Presentacion familias logicas
 
Modulo 1 - Proteus
Modulo 1 - ProteusModulo 1 - Proteus
Modulo 1 - Proteus
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacencia
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y Entrenamiento
 

Similar a INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES

Historia de las redes neuronales
Historia de las redes neuronalesHistoria de las redes neuronales
Historia de las redes neuronalesLaura García
 
REDES NEURONALES
REDES NEURONALESREDES NEURONALES
REDES NEURONALESHB09
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronalesAngel G
 
5.2 Redes neuronales (RN) [investigación]
5.2 Redes neuronales (RN) [investigación]5.2 Redes neuronales (RN) [investigación]
5.2 Redes neuronales (RN) [investigación]Humberto Chalate Jorge
 
5.2 Redes neuronales (RN) [presentación].
5.2 Redes neuronales (RN) [presentación].5.2 Redes neuronales (RN) [presentación].
5.2 Redes neuronales (RN) [presentación].Humberto Chalate Jorge
 
Redes neuronales jesus molleda
Redes neuronales jesus molledaRedes neuronales jesus molleda
Redes neuronales jesus molledaJesús Molleda
 
Sistemas neuronales
Sistemas neuronalesSistemas neuronales
Sistemas neuronalescrujerdenye
 
Redes neuronales Oriana Rodriguez
Redes neuronales Oriana RodriguezRedes neuronales Oriana Rodriguez
Redes neuronales Oriana Rodriguezorianarodriguez40
 
Actividad 1 alberto gonzalez
Actividad 1 alberto gonzalezActividad 1 alberto gonzalez
Actividad 1 alberto gonzalezAlberto Gonzalez
 
Aplicacion redes neuronales
Aplicacion redes neuronalesAplicacion redes neuronales
Aplicacion redes neuronalesErik Perera
 
2024-T8-Redes_Neuronales_I.ppsx
2024-T8-Redes_Neuronales_I.ppsx2024-T8-Redes_Neuronales_I.ppsx
2024-T8-Redes_Neuronales_I.ppsxRicardo Lopez-Ruiz
 

Similar a INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES (20)

Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Historia de las redes neuronales
Historia de las redes neuronalesHistoria de las redes neuronales
Historia de las redes neuronales
 
REDES NEURONALES
REDES NEURONALESREDES NEURONALES
REDES NEURONALES
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
5.2 Redes neuronales (RN) [investigación]
5.2 Redes neuronales (RN) [investigación]5.2 Redes neuronales (RN) [investigación]
5.2 Redes neuronales (RN) [investigación]
 
5.2 Redes neuronales (RN) [presentación].
5.2 Redes neuronales (RN) [presentación].5.2 Redes neuronales (RN) [presentación].
5.2 Redes neuronales (RN) [presentación].
 
Unidad V documento
Unidad V documentoUnidad V documento
Unidad V documento
 
Redes neuronales jesus molleda
Redes neuronales jesus molledaRedes neuronales jesus molleda
Redes neuronales jesus molleda
 
Red neuronal
Red neuronalRed neuronal
Red neuronal
 
Redes Neuronales
 Redes Neuronales Redes Neuronales
Redes Neuronales
 
Sistemas neuronales
Sistemas neuronalesSistemas neuronales
Sistemas neuronales
 
Redes neuronales Oriana Rodriguez
Redes neuronales Oriana RodriguezRedes neuronales Oriana Rodriguez
Redes neuronales Oriana Rodriguez
 
Actividad 1 alberto gonzalez
Actividad 1 alberto gonzalezActividad 1 alberto gonzalez
Actividad 1 alberto gonzalez
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Aplicacion redes neuronales
Aplicacion redes neuronalesAplicacion redes neuronales
Aplicacion redes neuronales
 
2024-T8-Redes_Neuronales_I.ppsx
2024-T8-Redes_Neuronales_I.ppsx2024-T8-Redes_Neuronales_I.ppsx
2024-T8-Redes_Neuronales_I.ppsx
 

Más de ESCOM

redes neuronales tipo Som
redes neuronales tipo Somredes neuronales tipo Som
redes neuronales tipo SomESCOM
 
redes neuronales Som
redes neuronales Somredes neuronales Som
redes neuronales SomESCOM
 
redes neuronales Som Slides
redes neuronales Som Slidesredes neuronales Som Slides
redes neuronales Som SlidesESCOM
 
red neuronal Som Net
red neuronal Som Netred neuronal Som Net
red neuronal Som NetESCOM
 
Self Organinising neural networks
Self Organinising  neural networksSelf Organinising  neural networks
Self Organinising neural networksESCOM
 
redes neuronales Kohonen
redes neuronales Kohonenredes neuronales Kohonen
redes neuronales KohonenESCOM
 
Teoria Resonancia Adaptativa
Teoria Resonancia AdaptativaTeoria Resonancia Adaptativa
Teoria Resonancia AdaptativaESCOM
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1ESCOM
 
redes neuronales tipo Art3
redes neuronales tipo Art3redes neuronales tipo Art3
redes neuronales tipo Art3ESCOM
 
Art2
Art2Art2
Art2ESCOM
 
Redes neuronales tipo Art
Redes neuronales tipo ArtRedes neuronales tipo Art
Redes neuronales tipo ArtESCOM
 
Neocognitron
NeocognitronNeocognitron
NeocognitronESCOM
 
Neocognitron
NeocognitronNeocognitron
NeocognitronESCOM
 
Neocognitron
NeocognitronNeocognitron
NeocognitronESCOM
 
Fukushima Cognitron
Fukushima CognitronFukushima Cognitron
Fukushima CognitronESCOM
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORKESCOM
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORKESCOM
 
Counterpropagation
CounterpropagationCounterpropagation
CounterpropagationESCOM
 
Teoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAPTeoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAPESCOM
 
Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1ESCOM
 

Más de ESCOM (20)

redes neuronales tipo Som
redes neuronales tipo Somredes neuronales tipo Som
redes neuronales tipo Som
 
redes neuronales Som
redes neuronales Somredes neuronales Som
redes neuronales Som
 
redes neuronales Som Slides
redes neuronales Som Slidesredes neuronales Som Slides
redes neuronales Som Slides
 
red neuronal Som Net
red neuronal Som Netred neuronal Som Net
red neuronal Som Net
 
Self Organinising neural networks
Self Organinising  neural networksSelf Organinising  neural networks
Self Organinising neural networks
 
redes neuronales Kohonen
redes neuronales Kohonenredes neuronales Kohonen
redes neuronales Kohonen
 
Teoria Resonancia Adaptativa
Teoria Resonancia AdaptativaTeoria Resonancia Adaptativa
Teoria Resonancia Adaptativa
 
ejemplo red neuronal Art1
ejemplo red neuronal Art1ejemplo red neuronal Art1
ejemplo red neuronal Art1
 
redes neuronales tipo Art3
redes neuronales tipo Art3redes neuronales tipo Art3
redes neuronales tipo Art3
 
Art2
Art2Art2
Art2
 
Redes neuronales tipo Art
Redes neuronales tipo ArtRedes neuronales tipo Art
Redes neuronales tipo Art
 
Neocognitron
NeocognitronNeocognitron
Neocognitron
 
Neocognitron
NeocognitronNeocognitron
Neocognitron
 
Neocognitron
NeocognitronNeocognitron
Neocognitron
 
Fukushima Cognitron
Fukushima CognitronFukushima Cognitron
Fukushima Cognitron
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORK
 
Counterpropagation NETWORK
Counterpropagation NETWORKCounterpropagation NETWORK
Counterpropagation NETWORK
 
Counterpropagation
CounterpropagationCounterpropagation
Counterpropagation
 
Teoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAPTeoría de Resonancia Adaptativa Art2 ARTMAP
Teoría de Resonancia Adaptativa Art2 ARTMAP
 
Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1Teoría de Resonancia Adaptativa ART1
Teoría de Resonancia Adaptativa ART1
 

Último

SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 

Último (20)

SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 

INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES

  • 1. REDES NEURONALES ARTIFÍCIALES I CAPITULO I INTRODUCCION A LAS REDES NEURONALES ARTIFICIALES INTRODUCION: El cerebro es un procesador de información con unas características muy notables: es capaz de procesar a gran velocidad grandes cantidades de información procedentes de los sentidos, combinarla o compararla con la información almacenada y dar respuestas adecuadas incluso en situaciones nuevas. Logra discernir un susurro en una sala ruidosa, distinguir una cara en una calle mal iluminada o leer entre líneas en una declaración política; pero lo más impresionante de todo es su capacidad de aprender a representar la información necesaria para desarrollar tales habilidades sin instrucciones explícitas para ello. Aunque todavía se ignora mucho sobre la forma en que el cerebro aprende a procesar la información, se han desarrollado modelos que tratan de mimetizar tales habilidades; denominados redes neuronales artificiales ó modelos de computación conexionista (otras denominaciones son computación neuronal y procesamiento distribuido paralelo o P.D.P.). La elaboración de estos modelos supone en primer lugar la deducción de los rasgos o características esenciales de las neuronas y sus conexiones, y en segundo lugar, la implementación del modelo en una computadora de forma que se pueda simular. Es obvio decir que estos modelos son idealizaciones burdas de las auténticas redes neuronales, en muchos casos de dudosa plausibilidad neurofisiológica, pero que sin embargo resultan interesantes cuando menos por sus capacidades de aprendizaje. De la prehistoria al futuro que tal vez Babbage nunca soñó. El desarrollo de máquinas que puedan imitar la capacidad de aprendizaje del hombre es actualmente un desafío en el que pone sus miras buena parte de la comunidad científica. Con esta amplia Introducción a las redes neuronales, se pretende dar a conocer los elementos básicos de lo que comúnmente se denomina Inteligencia Artificial, para así comprender de qué modo pueden llegar a «pensar» y «aprender» las máquinas. El hombre se ha caracterizado siempre por una búsqueda constante de nuevas vías para mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir el trabajo en aquellas operaciones en las que la fuerza juega un papel primordial. Los progresos obtenidos han permitido dirigir estos esfuerzos a otros campos, como por ejemplo, a la construcción de máquinas calculadoras que ayuden a resolver de forma automática y rápida determinadas operaciones que resultan tediosas cuando se realizan a mano. Uno de los primeros en acometer esta empresa fue Charles Babbage, quien trató infructuosamente de construir una máquina capaz de resolver problemas matemáticos. Posteriormente otros tantos intentaron construir máquinas similares, pero no fue hasta la Segunda Guerra Mundial, cuando ya se disponía de instrumentos electrónicos, que se empezaron a recoger los primeros frutos. En 1946 se construyó la primera computadora 1
  • 2. REDES NEURONALES ARTIFÍCIALES I electrónica, ENIAC. Desde entonces los desarrollos en este campo han tenido un auge espectacular. Estas máquinas permiten implementar fácilmente algoritmos para resolver multitud de problemas que antes resultaban engorrosos de resolver. Sin embargo, se observa una limitación importante: ¿qué ocurre cuando el problema que se quiere resolver no admite un tratamiento algorítmico, como es el caso, por ejemplo, de la clasificación de objetos por rasgos comunes?. Este ejemplo demuestra que la construcción de nuevas máquinas más versátiles requiere un enfoque del problema desde otro punto de vista. Los desarrollos actuales de los científicos se dirigen al estudio de las capacidades humanas como una fuente de nuevas ideas para el diseño de las nuevas máquinas. Así, la inteligencia artificial es un intento por descubrir y describir aspectos de la inteligencia humana que pueden ser simulados mediante máquinas. Esta disciplina se ha desarrollado fuertemente en los últimos años teniendo aplicación en algunos campos como visión artificial, demostración de teoremas, procesamiento de información expresada mediante lenguajes humanos... etc. Las redes neuronales son otra forma de emular otra de las características propias de los humanos: la capacidad de memorizar y asociar hechos. Si examinamos con atención aquellos problemas que no pueden expresarse a través de un algoritmo nos daremos cuenta de que todos ellos tienen una característica común: la experiencia. El hombre es capaz de resolver estas situaciones acudiendo a la experiencia acumulada. Así, parece claro que una forma de aproximarse al problema consista en la construcción de sistemas que sean capaces de reproducir esta característica humana. En definitiva, las redes neuronales no son más que un modelo artificial y simplificado del cerebro humano, que es el ejemplo más perfecto del que disponemos de sistema que es capaz de adquirir conocimiento a través de la experiencia. Una red neuronal es «un nuevo sistema para el tratamiento de la información cuya unidad básica de procesamiento está inspirada en la célula fundamental del sistema nervioso humano, la neurona». 1.1 MARCO HISTORICO DE LAS REDES NEURONALES Fue en 1943 cuando Warren McCulloch y Walter Pitts propusieron el clásico modelo de neurona en el que se basan las redes neuronales actuales. Seis años después, en 1949, en su libro The Organization of Behavior, Donald Hebb presentaba su conocida regla de aprendizaje. En 1956 se organizó en Dartmouth la primera conferencia sobre IA. Aquí se discutió el uso potencial de las computadoras para simular “todos los aspectos del aprendizaje o cualquier otra característica de la inteligencia” y se presentó la primera simulación de una red neuronal, aunque todavía no se sabían interpretar los datos resultantes. 2
  • 3. REDES NEURONALES ARTIFÍCIALES I En 1957, Frank Rosenblatt presentó el Perceptron, una red neuronal con aprendizaje supervisado cuya regla de aprendizaje era una modificación de la propuesta por Hebb. El Perceptron trabaja con patrones de entrada binarios, y su funcionamiento, por tratarse de una red supervisada, se realiza en dos fases: una primera en la que se presentan las entradas y la salidas deseadas; en esta fase la red aprende la salida que debe dar para cada entrada. La principal aportación del Perceptron es que la adaptación de los pesos se realiza teniendo en cuenta el error entre la salida que da la red y la salida que se desea. En la fase siguiente, de operación, la red «es capaz» de responder adecuadamente cuando se le vuelven a presentar los patrones de entrada. Se crearon grandes expectativas sobre sus aplicaciones, que posteriormente se tornaron en gran decepción cuando en 1969 Minsky y Papert demostraron las grandes limitaciones de esta red. En 1959, Widrow publica una teoría sobre la adaptación neuronal y unos modelos inspirados en esa teoría, el Adaline (Adaptative Linear Neuron) y el Madaline (Multiple Adaline). Estos modelos fueron usados en numerosas aplicaciones y permitieron usar, por primera vez, una red neuronal en un problema importante del mundo real: filtros adaptativos para eliminar ecos en las líneas telefónicas. En los años 60 se propusieron otros dos modelos, también supervisados, basados en el Perceptron de Rosenblatt denominados Adaline y Madaline. En estos, la adaptación de los pesos se realiza teniendo en cuenta el error, calculado como la diferencia entre la salida deseada y la dada por la red, al igual que en el Perceptron. Sin embargo, la regla de aprendizaje empleada es distinta. Se define una función error para cada neurona que da cuenta del error cometido para cada valor posible de los pesos cuando se presenta una entrada a la neurona. Así, la regla de aprendizaje hace que la variación de los pesos se produzca en la dirección y sentido contrario del vector gradiente del error. A esta regla de aprendizaje se la denomina Delta. En 1962, Rosemblatt publica los resultados de un ambicioso proyecto de investigación, el desarrollo del Perceptrón, un identificador de patrones ópticos binarios, y salida binaria. Las capacidades del Perceptrón se extendieron al desarrollar la regla de aprendizaje delta, que permitía emplear señales continuas de entrada y salida. 1.2 DEFINICIÓNES DE REDES NEURONALES Una red neuronal es un sistema compuesto de muchos elementos procesadores simples operando en paralelo, cuya función es determinada por la estructura de la red, fuerza en las conexiones y el procesamiento realizado por los elementos computacionales en los nodos. • Haykin, S. (1994, Neural Networks: A comprehensive foundation, NY, McMillan, P.2): "Una red neuronal es un procesamiento distribuido masivamente paralelo que tiene una tendencia natural para almacenar conocimiento empírico y hacerlo disponible para el uso. Recuerda al cerebro en dos aspectos: 1.- Conocimiento se adquiere por la red a través de un proceso de aprendizaje. 3
  • 4. REDES NEURONALES ARTIFÍCIALES I 2.- Las conexiones interneurónicas se conocen como pesos synapticos y se usan para almacenar el conocimiento." • Zurada,J.M. (1992, Introduction to artificial neural nsystems, Boston: PWS Publishing Company, P. XV): "Sistemas de redes neuronales artificiales, o redes neuronales son sistemas celulares físicos que puedan adquirir, almacenar y usar conocimiento empírico." • Las redes neuronales son una forma de un sistema computarizado multi-proceso con: • Elementos de procesamiento sencillos. • Alto grado de interconexión. • Mensajes simples escalares. • Interacción adaptable entre elementos. El concepto de Red Neuronal Artificial está inspirado en las Redes Neuronales Biológicas. Una Red Neuronal Biológica es un dispositivo no lineal altamente paralelo, caracterizado por su robustez y su tolerancia a fallos. Sus principales características son las siguientes:  Aprendizaje mediante adaptación de sus pesos sinápticos a los cambios en el entorno.  Manejo de imprecisión, ruido e información probabilística.  Generalización a partir de ejemplos. Las Redes Neuronales Artificiales intentan imitar algunas, o todas, de estas características. Este paradigma de programación difiere de las secuencias de instrucciones en que la información se encuentra almacenada en las conexiones sinápticas. Cada neurona es un procesador elemental con operaciones muy primitivas como la suma ponderada de sus pesos de entrada y la amplificación o umbralización de esta suma. Una Red Neuronal viene caracterizada por su topología, por la intensidad de la conexión entre sus pares de neuronas (pesos), por las propiedades de los nodos y por las reglas de actualización de pesos. Las reglas de actualización, también llamadas de aprendizaje, controlan los pesos y/o estados de los elementos de procesados (neuronas). Los principales aspectos de este modelo de computación distribuida son los siguientes:  Un conjunto de unidades de procesamiento.  Un estado de activación para cada unidad, que es equivalente a la salida de la unidad.  Conexiones entre unidades, generalmente definida por un peso , que determina el efecto de la unidad j sobre la unidad k.  Una regla de propagación que determina la entrada de la unidad a partir de sus entradas externas. 4
  • 5. REDES NEURONALES ARTIFÍCIALES I  Una función de activación que determina el estado de activación en función de la entrada de la unidad (en algunos casos la función de activación tiene en cuenta la activación actual de la unidad).  Una entrada externa (o offset) para cada unidad.  Un método para modificar los valores de los pesos (regla de aprendizaje).  Un entorno de trabajo en el que sistema opere, compuesto por señales de entrada y, si es necesario, señales de error. Normalmente, la dinámica de actuación es definir una función objetivo que representa el estado completo de la red y localizar el conjunto de mínimos de esa función que se corresponden con los diferentes estados estables de la red. 1.3 CARACTERISTICAS DE LAS REDES NEURONALES. Desde hace algunos años, algunos investigadores han estado creando modelos, tanto en hardware como en software, que interpretan la actividad cerebral en un esfuerzo por producir una forma de inteligencia artificial. Las RNA están compuestas de un gran número elementos de procesamiento altamente interconectados (Neuronas) trabajando al mismo tiempo para la solución de problemas específicos. Las RNA, tal como las personas, aprenden de la experiencia. Las RNA están compuestas de muchos elementos sencillos que operan en paralelo, el diseño de la red está determinado mayormente por las conexiones entre sus elementos. Al igual que las conexiones de las neuronas cerebrales. Las RNA han sido entrenadas para la realización de funciones complejas en variados campos de aplicación. Hoy en día pueden ser entrenadas para la solución de problemas que son difíciles para sistemas computacionales comunes o para el ser humano. Las características de operación son las siguientes: Pesos Las RNA puede tener factores de peso fijos o adaptables. Las que tienen pesos adaptables emplean leyes de aprendizaje para ajustar el valor de la fuerza de un interconexión con otras neuronas. Si las neuronas utilizan pesos fijos, entonces su tarea deberá estar previamente definida. Los pesos serán determinados a partir de una descripción completa del problema. Por otra parte, los pesos adaptables son esenciales si no se conoce previamente cual deberá de ser su valor correcto. 5
  • 6. REDES NEURONALES ARTIFÍCIALES I Dos tipos de aprendizaje Existen dos tipo de aprendizaje: supervisado y no supervisado. El primero ocurre cuando se le proporciona a la red tanto la entrada como la salida correcta, y la red ajusta sus pesos tratando de minimizar el error de su salida calculada. Este tipo de entrenamiento se aplica por ejemplo, en el reconocimiento de patrones. El entrenamiento no supervisado se presenta cuando a la red se le proporcionan únicamente los estímulos, y la red ajusta sus interconexiones basándose únicamente es sus estímulos y la salida de la propia red. Las leyes de aprendizaje determinan como la red ajustará sus pesos utilizando una función de error o algún otro criterio. La ley de aprendizaje adecuada se determina en base a la naturaleza del problema que se intenta resolver. Dos fases de operación Las RNA adaptables tienen dos fases en su operación. 1. Entrenamiento de la red. El usuario proporciona a la red un número "adecuado" de estímulos de entrada, y de salida, la red entonces ajusta su pesos de interconexión o sinápsis hasta que la salida de la red esta "lo suficientemente cerca" de la salida correcta. 2. Recuperación de lo aprendido. A la red se le presenta un conjunto de estímulos de entrada y esta simplemente calcula su salida. Cuando la red emplea entrenamiento no supervisado, algunas veces será necesario que reajuste su sinápsis durante la fase de recuperación. No son algorítmicas La gran diferencia del empleo de las redes neuronales en relación con otras aplicaciones de la computación radica en que no son algorítmicas, esto es no se programan haciéndoles seguir una secuencia predefinida de instrucciones. Las RNA generan ellas mismas sus propias "reglas", para asociar la respuesta a su entrada; es decir, aprende por ejemplos y de sus propios errores. El conocimiento de una RNA se encuentra en la función de activación utilizada y en los valores de sus pesos. Asociar y generalizar sin reglas como en el cerebro humano Las redes neuronales formadas por los perceptrones se interconectan en forma muy similar a como las neuronas humanas se disponen en la corteza cerebral humana, y lo más importante, son capaces de asociar y generalizar sin reglas. Han sido utilizadas con gran éxito para reconocer retornos de sonar bajo el agua, escritura a mano, voz, topografía de terrenos, controlar brazos de robots, evaluar datos personales, modelar fenómenos cognoscitivos, y, predecir tendencias financieras. 6
  • 7. REDES NEURONALES ARTIFÍCIALES I Requieren de algún tipo de patrón La clase de problemas que mejor se resuelven con las redes neuronales son los mismos que el ser humano resuelve mejor: Asociación, evaluación, y reconocimiento de patrones. Las redes neuronales son perfectas para problemas que son muy difíciles de calcular pero que no requieren de respuestas perfectas, sólo respuestas rápidas y buenas. Tal y como acontece con el escenario bursátil en el que se quiere saber ¿compro?, ¿vendo?, ¿mantengo?, o en el reconocimiento cuando se desea saber ¿se parece? ¿es el mismo pero tienen una ligera modificación? Por otra parte, las redes neuronales son muy malas para cálculos precisos, procesamiento serie, y no son capaces de reconocer nada que no tenga inherentemente algún tipo de patrón. Es por esto, que no pueden predecir la lotería, ya por definición es un proceso al azar. Existen varias formas de hacer las conexiones en una RNA, así como existen varias formas de conectar neuronas biológicas en el cerebro. Cada tipo sirve para diferentes procesos, el elegir la correcta topología y sus características, es imprescindible para lograr fácilmente la solución del problema. 1.4 APLICACIONES DE LAS REDES NEURONALES. Desde el punto de vista de la aplicaciones, la ventaja de las Redes Neuronales Artificiales (RNA), reside en el procesado paralelo, adaptativo y no lineal. Las (RNA) han encontrado muchas aplicaciones con éxito en la visión artificial, en el procesado de señales e imágenes, reconocimiento del habla y de caracteres, sistemas expertos, análisis de imágenes médicas, control remoto, control de robots, inspección industrial y exploración científica. El dominio de aplicación de las (RNA) se puede clasificar de la siguiente forma: asociación y clasificación, regeneración de patrones, regresión y generalización, y optimización. Con el fin de llegar al entendimiento global de (RNA), adoptamos la siguiente perspectiva, llamada top-down que empieza por la aplicación se pasa al algoritmo y de aquí a la arquitectura, como se muestra en la figura 1.1 7
  • 8. REDES NEURONALES ARTIFÍCIALES I Figura 1.1 Diagrama Topdow Esta aproximación a las (RNA) está motivada por la aplicación, basada en la teoría y orientada hacia la implementación. Las principales aplicaciones son para el procesado de señal y el reconocimiento de patrones. La primera etapa algorítmica representa una combinación de la teoría matemática y la fundamentación heurística por los modelos neuronales. El fin último es la construcción de neurocomputadores digitales, con la ayuda de las tecnologías VLSI y el procesado adaptativo, digital y paralelo. •Las Redes Neuronales son útiles para:: • Clasificación de patrones • Aproximación de funciones • Mapeo • En los que exista información imprecisa y con tolerancia a fallos • Aprendizaje Adaptativo. • Autoorganización. • Tolerancia a Fallos. • Operación en tiempo real. • Fácil construcción en circuitos integrados. 1.5 MODELO BIOLÓGICO NEURONAL. El cerebro, como todo el organismo animal, está formado por células llamadas neuronas. La estructura y la comunicación de las neuronas fueron descritas por el español Santiago Ramón y Cajal, quien encontró una característica fundamental de la comunicación entre las células nerviosas: casi nunca se tocan, están separados por pequeñísimos espacios, cuyo significado y enorme importancia vendría a conocerse mucho tiempo después. A pesar de las diferencias en la forma de las neuronas, su estructura en los sitios en que se comunican unas con otras es muy similar. La parte de la neurona que se comunica con otra neurona 8
  • 9. REDES NEURONALES ARTIFÍCIALES I tiene siempre una estructura típica, y la región de la neurona que recibe ese contacto también tiene una forma característica. A esta zona de integración de la neurona se le llama sinapsis, y su funcionamiento es esencial para explicar prácticamente todas las acciones del cerebro, desde la más sencilla como ordenar a los músculos que se contraigan y se relajen en forma coordinada para llevar a cabo un simple movimiento, hasta las más complicadas tareas intelectuales, pasando también por las funciones que originan, controlan y modulan las emociones. A través de esta comunicación las neuronas forman redes complicadísimas, que por supuesto estamos lejos de conocer por completo. Sabemos que unos de estos circuitos están relacionados con el sueño, otros con el movimiento, y otros más con las emociones y la conducta. La identificación de éstos circuitos puede lograrse con distintos métodos, pero uno relativamente simple consiste en estimular una neurona o un grupo de neuronas y luego tomar un registro en las neuronas que sospechamos se comunican con las primeras. Estos experimentos demostraron la localización de las funciones motoras en la corteza del cerebro y la existencia de conexiones neuronales desde ésa hasta los músculos. Se observó en éstos experimentos que el movimiento y la sensibilidad de algunas regiones del cuerpo requieren un mayor número de neuronas en la corteza. El cerebro humano contiene aproximadamente 12 billones (1014)de células nerviosas o neuronas. Cada neurona tiene de 5.600 a 60.000 (103 a 104) conexiones dendríticas provenientes de otras neuronas. Estas conexiones transportan los impulsos enviados desde otras neuronas y están conectadas a la membrana de la neurona. Cada neurona tiene una salida denominada axón. El contacto de cada axón con una dendrita se realiza a través de la sinapsis. Tanto el axón como las dendritas transmiten la señal en una única dirección. La sinapsis consta de un extremo presináptico de un axón conectado a un extremo postsináptico de una dendrita, existiendo normalmente entre éstos un espacio denominado espacio sináptico. Las neuronas son eléctricamente activas e interactúan entre ellas mediante un flujo de corrientes eléctricas locales. Estas corrientes se deben a diferencias de potencial entre las membranas celulares de las neuronas. Un impulso nervioso es un cambio de voltaje que ocurre en una zona localizada de la membrana celular. El impulso se transmite a través del axón hasta llegar a la sinapsis, produciendo la liberación de una sustancia química denominada neurotransmisor que se esparce por el fluido existente en el espacio sináptico. Cuando este fluido alcanza el otro extremo transmite la señal a la dendrita. Los impulsos recibidos desde la sinapsis se suman o restan a la magnitud de las variaciones del potencial de la membrana. Si las contribuciones totales alcanzan un valor determinado (alrededor de 10 milivoltios) se disparan uno o más impulsos que se propagarán a lo largo del axón. Aunque todavía no está del todo claro, parece que este impulso se inicia en la conexión entre el axón y la membrana. Su amplitud y velocidad dependen del diámetro del axón y su frecuencia del número de disparos que se efectúen. Las redes neuronales artificiales basan su funcionamiento en las redes neuronales reales, estando formadas por un conjunto de unidades de procesamiento conectadas entre sí. Por 9
  • 10. REDES NEURONALES ARTIFÍCIALES I analogía con el cerebro humano se denomina «neurona» a cada una de estas unidades de procesamiento. Cada neurona recibe muchas señales de entrada y envía una única señal de salida (como ocurre en las neuronas reales). Recordemos que el cerebro humano se compone de decenas de billones de neuronas interconectadas entre sí formando circuitos o redes que desarrollan funciones específicas. Una neurona típica recoge señales procedentes de otras neuronas a través de una pléyade de delicadas estructuras llamadas dendritas. La neurona emite impulsos de actividad eléctrica a lo largo de una fibra larga y delgada denominada axón, que se escinde en millares de ramificaciones. Figura 1.2: Neurona y conexiones sinápticas Las extremidades de estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen unas conexiones llamadas sinápsis, en las cuales se produce una transformación del impulso eléctrico en un mensaje neuroquímico, mediante la liberación de unas sustancias llamadas neurotransmisores. Figura 1.3: Detalle de una sinápsis El efecto de los neurotransmisores sobre la neurona receptora puede ser excitatorio o inhibitorio, y es variable (la intensidad del efecto depende de numerosos factores que no sería oportuno describir aquí) , de manera que podemos hablar de la fuerza o efectividad de una sinápsis. Las señales excitatorias e inhibitorias recibidas por una neurona se combinan, y en función de la estimulación total recibida, la neurona toma un cierto nivel de activación, que se traduce en la generación de breves impulsos nerviosos con una determinada 10
  • 11. REDES NEURONALES ARTIFÍCIALES I frecuencia o tasa de disparo, y su propagación a lo largo del axón hacia las neuronas con las cuales sinapta. Figura 1.4: Activación y disparo de una neurona De esta manera la información se transmite de unas neuronas a otras y va siendo procesada a través de las conexiones sinápticas y las propias neuronas. El aprendizaje de las redes neuronales se produce mediante la variación de la efectividad de las sinápsis, de esta manera cambia la influencia que unas neuronas ejercen sobre otras, de aquí se deduce que la arquitectura, el tipo y la efectividad de las conexiones en un momento dado, representan en cierto modo la memoria o estado de conocimiento de la red. 1.6 ELEMENTOS DE UNA RED NEURONAL. Los elementos individuales de cálculo que forman los modelos de sistemas neuronales artificiales reciben el nombre de Elementos de Procesado o Neuronas Artificiales. Cada unidad realiza un trabajo muy simple: recibe impulsos de otras unidades o de estímulos externos y calcula una señal de salida que propaga a otras unidades y, además, realiza un ajuste de sus pesos. Este tipo de modelos es inherentemente paralelo en el sentido de que varias unidades pueden realizar sus cálculos al mismo tiempo. El elemento de procesado más simple suele tener el siguiente esquema: 11
  • 12. REDES NEURONALES ARTIFÍCIALES I Figura 1.5. Esquema de una neurona artificial Este esquema de elemento de procesado tiene las siguientes características:  Cada elemento de procesado puede tener varias entradas asociadas a propiedades diferentes.  La entrada de tendencia es opcional (valor constante).  Las entradas pueden ser: Excitadoras, inhibidoras, de ganancia, de disparo fortuito o de amortiguamiento.  Las entradas están ponderadas por un factor multiplicativo de peso o intensidad de conexión que resaltan de forma diferente la importancia de cada entrada..  Cada elemento de procesado tiene un valor de activación calculado en función del valor de entrada neto (calculado a partir de las entradas y los pesos asociados a ellas). En algunos casos, el valor de activación, depende además de la entrada neta del valor anterior de activación.  Una vez calculado el valor de activación, se determina un valor de salida aplicando una función de salida sobre la activación del elemento de procesado. Conexión entre unidades En la mayor parte de los casos se asume que cada unidad recibe contribuciones aditivas de las unidades que están conectadas a ellas. La entrada total de la unidad k es la suma ponderada de las entradas que recibe más el término de offset Cuando el peso de la contribución es positivo se considera que la entrada es excitatoria y cuando el peso es negativo que es inhibitoria. Este tipo de expresiones que calculan la entrada total se denominan reglas de propagación y, en general, pueden tener diferentes expresiones. 12
  • 13. REDES NEURONALES ARTIFÍCIALES I Funciones de activación y salida Además de la regla de propagación es necesario poseer expresiones para las funciones de activación (calculan la activación en función de la entrada total) y funciones de salida (calculan la salida en función de la activación). La función de activación calcula la activación de la unidad en función de la entrada total y la activación previa, aunque en la mayor parte de los casos es simplemente una función no decreciente de la entrada total. Los tipos de función más empleados son: la función signo, funciones con umbral lineal y la función sigmoidal. La función de salida empleada usualmente es la función identidad y así la salida de la unidad de procesado es idéntica a su nivel de activación. Las redes neuronales están formadas por un conjunto de neuronas artificiales interconectadas. Las neuronas de la red se encuentran distribuidas en diferentes capas de neuronas, de manera que las neuronas de una capa están conectadas con las neuronas de la capa siguiente, a las que pueden enviar información. La arquitectura más usada en la actualidad de una red neuronal se presente en la figura 1.5, la cual consistía en:  Una primera capa de entradas, que recibe información del exterior.  Una serie de capas ocultas (intermedias), encargadas de realizar el trabajo de la red.  Una capa de salidas, que proporciona el resultado del trabajo de la red al exterior. Figura 1.6. Esquema de una red neuronal antes del entrenamiento. Los círculos representan neuronas, mientras las flechas representan conexiones entre las neuronas El número de capas intermedias y el número de neuronas de cada capa dependerá del tipo de aplicación al que se vaya a destinar la red neuronal. 13
  • 14. REDES NEURONALES ARTIFÍCIALES I 1.7 ESTRUCTURAS GENERALES DE LAS REDES NEURONALES PERCEPTRON En 1943, Warren McCulloc y Walter Pitts originaron el primer modelo de operación neuronal, el cual fué mejorado en sus aspectos biológicos por Donald Hebb en 1948. En 1962 Bernard Widrow propuso la regla de aprendizaje Widrow-Hoff, y Frank Rosenblatt desarrolló una prueba de convergencia, y definió el rango de problemas para los que su algoritmo aseguraba una solución. El propuso los 'Perceptrons' como herramienta computacional. Figura 1.7 Modelo del perceptron simple. BACKPROPAGATION En esta red, se interconectan varias unidades de procesamiento en capas, las neuronas de cada capa no se interconectan entre sí. Sin embargo, cada neurona de una capa proporciona una entrada a cada una de las neuronas de la siguiente capa, esto es, cada neurona transmitirá su señal de salida a cada neurona de la capa siguiente. La figura muestra un ejemplo esquemático de la arquitectura de este tipo de redes neuronales. Figura 1.8 Red backpropagation. 14
  • 15. REDES NEURONALES ARTIFÍCIALES I HOPFIELD La Red de Hopfield es recurrente y completamente conectada. Funciona como una memoria asociativa no lineal que puede almacenar internamente patrones presentados de forma incompleta o con ruido. De esta forma puede ser usada como una herramienta de optimización. El estado de cada neurona puede ser actualizado un número indefinido de veces, independientemente del resto de las neuronas de la red pero en paralelo. Figura 1.9 Red de Hopfield de 3 unidades KOHONEN Existen evidencias que demuestran que en el cerebro existen neuronas que se organizan en muchas zonas, de forma que las informaciones captadas del entorno a través de los órganos sensoriales se representan internamente en forma de capas bidimensionales. Por ejemplo, en el sistema visual se han detectado mapas del espacio visual en zonas de córtex (capa externa del cerebro). También en el sistema auditivo se detecta organización según la frecuencia a la que cada neurona alcanza la mayor respuesta (organización tono tópica). Aunque en gran medida esta organización neuronal está predeterminada genéticamente, es probable que de ella se origine mediante el aprendizaje. Esto sugiere, por tanto, que el cerebro podría poseer la capacidad inherente de formar mapas topológicos de las informaciones recibidas del exterior. De hecho, esta teoría podría explicar su poder de operar con elementos semánticos: algunas áreas del cerebro simplemente podrían crear y ordenar neuronas especializadas o grupos con características de alto nivel y sus combinaciones. Se trataría, en definitiva, de construir mapas espaciales para atributos y características. 15
  • 16. REDES NEURONALES ARTIFÍCIALES I 1.8 TOPOLOGÍAS DE REDES NEURONALES. La topología es el número de elementos de procesado que forman la red y las interconexiones existentes entre ellos. Los elementos de procesado de una red neuronal se distribuyen por capas (conjunto de elementos de procesado que se encuentran en el mismo nivel en la estructura). Existen tres tipos de capas: 1. Capa de entrada: Dependen del problema a abordar. 2. Capa de salida: Salidas que proporciona la estructura. 3. Capas ocultas: conjunto de elementos de procesado asociados en capas que se encuentran entre la capa de entrada y la capa de salida. El número de elementos de procesado puede variar en unas capas respecto a otras. Las funciones (tanto de activación como de salida) de los elementos de procesado pueden ser diferentes. No existe limitación en el número de capas ocultas. En general, cuanto mayor sea la diferencia entre los elementos de entrada y los de salida, será necesario dotar a la estructura de más capas ocultas. Estas capas ocultas crean una representación interna de los patrones de entrada. La habilidad de la red para procesar información crece en proporción directa al número de capas ocultas. Según el número de interconexiones entre capas las redes se clasifican en: totalmente conectadas y localmente conectadas. En las redes totalmente conectadas la salida de un elemento de procesado de la capa i es entrada a todos los elementos de procesado de la capa i+1. Por contra, en las redes localmente conectadas, la salida de un elemento de procesado de la capa i es entrada a una región de elementos de procesado de la capa i+1. En función de la dirección del movimiento de la información se puede realizar una clasificación en: redes feedforward, redes feedback, redes feedlateral y redes recurrentes, tal como puede verse en la siguiente figura: Figura 1.10 Tipos de conexiones entre neuronas 16
  • 17. REDES NEURONALES ARTIFÍCIALES I Conexiones hacia delante(Feed Forward): para todos los modelos neuronales, los datos de las neuronas de una capa inferior son propagados hacia las neuronas de la capa superior por medio de las redes de conexiones hacia adelante. Conexiones hacia atrás(Feed Bade): estas conexiones llevan los datos de las neuronas de una capa superior a otras de la capa inferior. Conexiones laterales. Un ejemplo típico de este tipo es el circuito “el ganador toma todo”, que cumple un papel importante en la elección del ganador. Conexiones con retardo: los elementos de retardo se incorporan en las conexiones para implementar modelos dinámicos y temporales, es decir, modelos que precisan de memoria. También es posible que las redes sean de una capa con el modelo de pesos hacia atrás o bien el modelo multicapa hacia adelante. Es posible así mismo, el conectar varias redes de una sola capa para dar lugar a redes más grandes. A continuación se describirán algunas topologías de RNA: Figura 1.11. Perceptron simple Figura 1.12. Topología con conexiones hacia delante, hacia atrás, laterales y de retroalimentación 17
  • 18. REDES NEURONALES ARTIFÍCIALES I Figura 1.13. Topología con conexiones hacia delante y laterales. Figura 1.14. Topología con conexiones hacia delante. Figura 1.15. Topología con conexiones hacia delante, hacia atrás, laterales y de retroalimentación. Figura 1.16. Topología con conexiones hacia delante. 18
  • 19. REDES NEURONALES ARTIFÍCIALES I Figura 1.17.Topología con conexiones hacia delante. Figura 1.18. Topologías con conexiones hacia delante, con diferente tipo de correspondencia. 1.9 MECANISMOS DE APRENDIZAJE Construir un sistema que aprenda ha sido tradicionalmente uno de los objetivos más escurridizos de la inteligencia artificial. El aprendizaje es un proceso de adaptación al entorno; durante el se crean y manipulan representaciones que sean capaces de explicar dicho entorno. En las redes neuronales la esencia del aprendizaje se encuentra en la modificación colectiva de los pesos de los elementos de procesado. Una definición de aprendizaje en redes neuronales podría ser la siguiente: Proceso por el cual los parámetros libres de una red neuronal son ajustados a través de un proceso continuo de estimulación por parte del entorno en donde se sitúa el sistema. El tipo de aprendizaje viene determinado por la forma en la que tienen lugar dichos cambios. Esta definición implica tres hechos fundamentales:  La red neuronal se encuentra estimulada por el entorno, cambia como consecuencia de esos estímulos y responde de manera diferente al entorno a causa de los cambios que se han producido en sus estructura interna. 19
  • 20. REDES NEURONALES ARTIFÍCIALES I Existen tres paradigmas de aprendizaje: Supervisado, No supervisado (o auto supervisado) y Reforzamiento (se puede considerar como un caso especial del aprendizaje supervisado). Hay bastantes algoritmos dentro de cada una de estas categorías. Supervisado En el aprendizaje supervisado (aprender con un maestro), la adaptación sucede cuando el sistema compara directamente la salida que proporciona la red con la salida que se desearía obtener de dicha red. Existen tres tipos básicos: por corrección de error, por refuerzo y estocástico. En el aprendizaje por corrección de error el entrenamiento consiste en presentar al sistema un conjunto de pares de datos, representando la entrada y la salida deseada para dicha entrada (este conjunto recibe el nombre de conjunto de entrenamiento). El objetivo es minimizar el error entre la salida deseada y la salida que se obtiene. El aprendizaje por refuerzo es más lento que el anterior. No se dispone de un ejemplo completo del comportamiento deseado pues no se conoce la salida deseada exacta para cada entrada sino que se conoce el comportamiento de manera general para diferentes entradas. La relación entrada-salida se realiza a través de un proceso de éxito o fracaso, produciendo este una señal de refuerzo que mide el buen funcionamiento del sistema. La función del supervisor es más la de un crítico que la de un maestro. El aprendizaje estocástico consiste básicamente en realizar cambios aleatorios de los valores de los pesos y evaluar su efecto a partir del objetivo deseado. Regla del Perceptron Supongamos que tenemos un conjunto de muestras de aprendizaje consistentes en vectores de entrada x y salidas deseadas d(x) (en tareas de clasificación d(x) es, usualmente, +1 o -1). La regla de aprendizaje del perceptrón es muy simple y se desarrolla a través de los siguientes pasos: 1. Iniciar la red con un conjunto aleatorio de pesos para las conexiones. 2. Seleccionar un vector de entrada x del conjunto de muestras de entrenamiento. 3. Si el perceptrón proporciona una salida incorrecta, modificar todas las conexiones mediante la expresión . 4. Volver al paso 2. Cuando la red responde de forma correcta los pesos de la conexiones no se modifican Regla delta Para una red con una única capa con un único elemento de procesado en la salida con una función de activación lineal, la salida viene dada por 20
  • 21. REDES NEURONALES ARTIFÍCIALES I Una red simple con una única capa es capaz de representar relaciones lineales entre el valor del elemento de procesado de la salida y el valor de los elementos de procesado de la entrada. umbralizando el valor de la salida se puede construir un clasificador. Pero también se pueden realizar otras tareas como aproximación de funciones. En espacios de entrada multidimensionales la red representa un hiperplano de decisión y es trivial asumir que se pueden definir varias unidades de salida. Supongamos que vamos a entrenar una red para localizar el hiperplano de decisión más idóneo para un conjunto de muestras de entrada consistente en valores de entrada y valores de salida deseada . Para cada muestra dada del conjunto de entrada, la salida real de la red difiere de la salida deseada en , donde es la salida real para el patrón de entrada . La regla delta una función de error (o función de coste) basada en dicha diferencia para realizar el ajuste de los pesos. La función de error, dada por el método del menor error cuadrático medio, es la suma de los cuadrados de los errores individuales de cada patrón. Es decir, el error total E viene dado por donde el índice p recorre el conjunto de patrones de entrada y representa el error del patrón p-ésimo. Los valores de los pesos de conexión se buscan de forma tal que se minimice la función y este proceso se realiza por un método conocido gradiente descendiente. La idea del método es realizar un cambio en los pesos inversamente proporcional a la derivada del error respecto al peso para cada patrón donde es una constante de proporcionalidad. La derivada se puede descomponer mediante la siguiente expresión Dado que la función de activación es lineal, como se comentaba al comienzo, y con lo cual 21
  • 22. REDES NEURONALES ARTIFÍCIALES I donde es la diferencia entre la salida deseada y la salida real para el patrón de entrada p. La regla delta modifica los pesos como función de las salidas deseada y real para unidades de entrada y salida binarias o continuas. Estas características abrieron un nuevo campo de posibilidades para las redes neuronales. Regla delta generalizada La regla delta generalizada, amplía la regla delta al caso de usar unidades de procesamiento con funciones de activación no lineal. La activación es una función diferenciable de la entrada total dada por donde Para realizar la generalización de la regla delta debemos considerar La medida de error viene definida como el error cuadrático total para el patrón p en las unidades de salida Considerando E como la suma de los errores cuadráticos podemos ver que la variación del error respecto a los pesos viene dada por A partir de la expresión de la salida total y definiendo se puede obtener una regla de actualización de pesos equivalente a la regla delta, resultando un descenso en el valor del gradiente sobre la superficie de error si se realizan los cambios de los pesos de acuerdo a la expresión La conclusión más importante es que el cálculo recursivo de los factores delta puede implementarse propagando las señales de error desde la capa de salida a capas ocultas de la red. El cálculo de puede realizarse en términos de un producto de dos factores; uno que refleje el cambio del error como función de la salida de las unidades y otro que refleje el cambio de la salida como función de los cambios en la entrada, es decir 22
  • 23. REDES NEURONALES ARTIFÍCIALES I Ahora bien, el segundo factor no es otro que la derivada de la función de activación F. Para calcular el primer factor vamos a considerar dos casos: que la unidad k es una unidad de salida de la red y que la unidad k es una unidad de una capa oculta. En el primer caso, a partir de la definición del error para el patrón p, podemos obtener que que es el mismo resultado que en la regla delta básica. Por tanto, para las unidades de la capa de salida en el segundo caso, no se conoce como contribuye la unidad al error de salida de la red, pero la medida de error se puede escribir como función de los pesos de las unidades de la capa oculta a la capa de salida con lo cual Extendiendo este cálculo de forma recursiva se pueden calcular los cambios en los pesos de todas las unidades de la red. Este procedimiento se denomina regle delta generalizada para redes feedforward con unidades no lineales. No supervisado En el aprendizaje no supervisado (o auto supervisado), la red se sintoniza a las regularidades estadísticas de datos de entrada de forma tal que se formen categorías que optimizan, respecto a los parámetros libres de la red, una medida de calidad de la tarea que se quiere realizar con la red. El funcionamiento de estas redes se basa en la búsqueda de características, regularidades, correlaciones y categorías del conjunto de datos de entrada. Existen diferentes interpretaciones que se le pueden dar a las salidas generadas por una red que utilice este tipo de aprendizaje: similaridad (semejanzas entre la información actual y la información pasada), clusterización (establecimiento de clases), codificación (versión codificada de las entradas) o mapeo (representación topográfica de los datos de entrada). Aprendizaje competitivo El aprendizaje competitivo es un proceso que divide el conjunto de patrones de entrada en clusters inherentes a los datos de entrada. El procedimiento de entrenamiento es muy simple: cuando se presenta un patrón de entrada se selecciona una única unidad de salida (la unidad ganadora) y se modifican los pesos de esa unidad. 23
  • 24. REDES NEURONALES ARTIFÍCIALES I Selección de la unidad ganadora mediante producto: Asumamos que los patrones de entrada y los pesos están normalizados a la unidad. Cada unidad de salida o calcula su valor de activación a partir del producto del vector del patrón de entrada por el vector de pesos A continuación, se selecciona el elemento de procesado de salida que presenta mayor valor de activación. Su activación se pone a valor 1 y la del resto de elementos de procesado a 0. En este hecho radica el aspecto competitivo de la red. Una vez que se ha seleccionado el elemento de procesado k ganador, se adaptan sus pesos (sólo del elemento ganador) de acuerdo a la expresión Selección de la unidad ganadora mediante distancia: Cuando no se pueden utilizar patrones normalizados la elección del elemento de procesado ganador se realiza mediante el cálculo de la distancia Euclidea entre el vector del patrón y el vector de pesos. Aquel vector de pesos que presente una distancia mínima determinará el elemento ganador. La ley de actualización de pesos del elemento ganador es la misma que en el caso anterior, sin el denominador pues los vectores no están normalizados. Reforzamiento En el aprendizaje con reforzamiento, la red aprende de relaciones entrada-salida. Sin embargo, al contrario que en el aprendizaje supervisado, el sistema conoce si la salida es correcta o no, pero no conoce la salida correcta. 24
  • 25. REDES NEURONALES ARTIFÍCIALES I CAPÍTULO II REDES NEURONALES MONOCAPA CON APRENDIZAJE SUPERVISADO Las redes monocapa se utilizan típicamente en tareas relacionadas en lo que se conoce como auto asociación: por ejemplo, para regenerar informaciones de entrada que se presentan a la red incompletas o distorsionadas. El Perceptrón Frank Rosenblatt creó muchas variantes de una máquina, la cual llamó Perceptrón. Una de las más simples fue una red monocapa cuyos pesos y umbrales pueden ser entrenados para producir un correcto vector objetivo cuando se presenta un correspondiente vector de entrada. La técnica de entrenamiento usada es llamada Regla de aprendizaje del perceptrón. El perceptrón generó un gran interés debido a su habilidad para generalizar a partir de sus vectores de entrenamiento y aprendizaje a partir de conexiones iniciales distribuidas aleatoriamente. Los perceptrones son apropiados especialmente para clasificación de patrones simples. Características - Aprendizaje Supervisado (offline) - Aprendizaje por corrección de error - Reconocimiento de patrones sencillos - Clasificación de patrones linealmente separables Arquitectura La red perceptrón consiste de una capa de S neuronas perceptrón, conectadas a r entradas a través de un conjunto de pesos W(ij) como se muestra en la figura 2.1. Como ya se mencionó anteriormente, los índices de la red i y j indican que W(ij) es la fuerza de conexión de la j-esima entrada a la i-esima neurona. 25
  • 26. REDES NEURONALES ARTIFÍCIALES I Figura 2.1. Arquitectura de una red perceptrón. La red perceptrón puede tener únicamente una sola capa, debido a que la regla de aprendizaje del perceptrón es capaz de entrenar solamente una capa. Esta restricción coloca limitaciones en cuanto a lo que un perceptrón puede realizar computacionalmente. Algoritmo de aprendizaje El algoritmo de aprendizaje es supervisado, en el cual la regla es provista con un conjunto de ejemplos del comportamiento propio de la red: p1, t1  p2 , t2 p3 , t3 donde: pq = es la entrada de la red tq = es la salida destino correspondiente La regla de aprendizaje es un procedimiento para modificar los pesos y los niveles de umbral de activación en una red neuronal. La principal aportación de Rosenblatt fue el desarrollo de una regla de aprendizaje simple y automática aplicada al reconocimiento de patrones. La red aprendía de sus errores y se inicializaba con valores aleatorios. La regla de aprendizaje siempre convergirá a los pesos correctos de la red si es que existen los pesos que solucionen dicho problema. 26
  • 27. REDES NEURONALES ARTIFÍCIALES I El entrenamiento comienza asignándole valores iniciales pequeños (aleatorios) a los parámetros de la red (W y b), por medio de las siguientes ecuaciones: Para el vector de pesos (W) Wnuevo = Wanterior + ept Para el umbral (b) bnuevo = banterior + e Para el error (e) e=t-a Aplicaciones El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples decisiones y reconocimiento de patrones. Por ejemplo, se puede entrenar una red para formar el tiempo pasado de los verbos en ingles, leer texto en ingles y manuscrito. El Perceptrón multicapa (MLP) puede ser usado para la predicción de una serie de datos en el tiempo; tal a sido su éxito en la medición de la demanda de gas y electricidad, además de la predicción de cambios en el valor de los instrumentos financieros. NETtalk es un Perceptrón que es capaz de transformar texto en ingles en sonido individual (representaciones fonéticas) y la pronunciación con la utilización de un sintetizador de voz; cuenta con aproximadamente 300 nodos de neuronas (siendo 80 en la capa escondida) y 20,000 conexiones individuales. 27
  • 28. REDES NEURONALES ARTIFÍCIALES I Ejercicios Método gráfico 1. Use un perceptrón simple para clasificar el siguiente conjunto de patrones: 0   − 2 p1 =   t1=1; p2 =   t2=1;  2 2   − 2  − 2 p3 =   t3=1; p4 =   t4=1; 0   − 2 0  2  p5 =   t5=0; p6 =   t6=0;  − 2  − 2  2  2 p7 =   t7=0; p8 =   t8=1; 0   2 a) Trace la frontera de decisión Solución Se traza sobre la gráfica una línea que separe los patrones que arrojen salida 1 (negro) de los patrones cuya salida deseada sea 0 (blanco). El trazo de esta línea o frontera de decisión depende del diseñador, siempre y cuando se cumpla la clasificación (separación de patrones con salida 1 de los de salida 0). El trazo de la frontera de decisión implica la determinación inmediata del vector de pesos que da solución al problema (la frontera de decisión es siempre perpendicular al vector de pesos W). Esto se muestra en la figura 2.2. Figura 2.2. Trazo de la frontera de decisión y vector de pesos 28
  • 29. REDES NEURONALES ARTIFÍCIALES I b) Encuentre la matriz de pesos W y el umbral de activación b De la gráfica anterior, se obtiene el vector de pesos W: W = [-2 1] Dado que la frontera de decisión atraviesa por el origen (0,0), el umbral de activación es cero. b=0 c) Compruebe el funcionamiento del perceptrón con el conjunto de patrones de entrada. Para el primer par de entrada/salida 0  p1 =   t1=1;  2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 0  a = hardlim([-2 1]   + 0)  2 a = hardlim(2) = 1 Se calcula el error: e = t1 – a = 1 – 1 e=0 Para el segundo par de entrada/salida  − 2 p2 =   t2=1; 2  Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b)  − 2 a = hardlim([-2 1]   + 0) 2  29
  • 30. REDES NEURONALES ARTIFÍCIALES I a = hardlim(6) = 1 Se calcula el error: e = t2 – a = 1 – 1 e=0 Para el tercer par de entrada/salida  − 2 p3 =   t3=1; 0  Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b)  − 2 a = hardlim([-2 1]   + 0) 0  a = hardlim(4) = 1 Se calcula el error: e = t3 – a = 1 – 1 e=0 Para el cuarto par de entrada/salida  − 2 p4 =   t4=1;  − 2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b)  − 2 a = hardlim([-2 1]   + 0)  − 2 a = hardlim(2) = 1 Se calcula el error: e = t4 – a = 1 – 1 e=0 30
  • 31. REDES NEURONALES ARTIFÍCIALES I Para el quinto par de entrada/salida 0  p5 =   t5=0;  − 2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 0  a = hardlim([-2 1]   + 0)  − 2 a = hardlim(-2) = 0 Se calcula el error: e = t5 – a = 0 – 0 e=0 Para el sexto par de entrada/salida 2  p6 =   t6=0;  − 2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 2  a = hardlim([-2 1]   + 0)  − 2 a = hardlim(-6) = 0 Se calcula el error: e = t6 – a = 0 – 0 e=0 Para el séptimo par de entrada/salida  2 p7 =   t7=0; 0  31
  • 32. REDES NEURONALES ARTIFÍCIALES I Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b)  2 a = hardlim([-2 1]   + 0) 0  a = hardlim(-4) = 0 Se calcula el error: e = t7 – a = 0 – 0 e=0 Para el octavo par de entrada/salida  2 p8 =   t8=0;  2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b)  2 a = hardlim([-2 1]   + 0)  2 a = hardlim(-2) = 0 Se calcula el error: e = t8 – a = 0 – 0 e=0 Regla de aprendizaje 2. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje donde los pares de entrada/salida son: 1  p1 =   t1=1;  2 − 1 p2 =   t2=0; 2  32
  • 33. REDES NEURONALES ARTIFÍCIALES I 0  p3 =   t3=0; −1 a) usando la regla de aprendizaje del perceptrón, calcule la matriz de pesos W y el umbral de activación b. Considere los parámetros iniciales: W = [1 -0.8] b=0 Solución Para el primer par de entrada/salida 1  p1 =   t1=1; 2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1  a = hardlim([1 –0.8]   + 0) 2 a = hardlim(-0.6) = 0 Se calcula el error: e = t1 – a = 1 – 0 e=1 Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos: Wnuevo = Wanterior + ept Wnuevo = [1 –0.8] + [1 2] Wnuevo = [2 1.2] Para el segundo par de entrada/salida − 1 p2 =   t2=0; 2  33
  • 34. REDES NEURONALES ARTIFÍCIALES I Se calcula la salida utilizando la función de activación propia de la red (con os nuevos pesos): a = hardlim(wp + b) − 1 a = hardlim([2 1.2]   + 0) 2  a = hardlim(0.4) = 1 Se calcula el error: e = t2 – a = 0 - 1 e = -1 Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos: Wnuevo = Wanterior + ept Wnuevo = [2 1.2] + (-1)[-1 2] Wnuevo = [3 –0.8] Para el tercer par de entrada/salida 0  p3 =   t3=0; −1 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 0  a = hardlim([3 –0.8]   + 0) −1 a = hardlim(0.8) = 1 Se calcula el error: e = t3 – a = 0 - 1 e = -1 Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos: Wnuevo = Wanterior + ept 34
  • 35. REDES NEURONALES ARTIFÍCIALES I Wnuevo = [3 –0.8] + (-1) [0 -1] Wnuevo = [3 0.2] Es necesario comprobar que, cada que se obtiene un vector de pesos nuevo, el error e = 0 para todos los pares de entrada/salida, para dar por terminado el proceso de entrenamiento: Para el primer par de entrada/salida 1  p1 =   t1=1; 2 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1  a = hardlim([3 0.2]   + 0) 2 a = hardlim(3.4) = 1 Se calcula el error: e = t1 – a = 1 – 1 e=0 Para el segundo par de entrada/salida − 1 p2 =   t2=0; 2  Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) − 1 a = hardlim([3 0.2]   + 0) 2  a = hardlim(-2.6) = 0 Se calcula el error: e = t2 – a = 0 – 0 e=0 35
  • 36. REDES NEURONALES ARTIFÍCIALES I Para el tercer par de entrada/salida 0  p3 =   t3=0; −1 Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 0  a = hardlim([3 0.2]   + 0) −1 a = hardlim(-0.2) = 0 Se calcula el error: e = t3 – a = 0 – 0 e=0 Por lo tanto, los valores finales de W y b son: W = [3 0.2] b=0 b) Grafique su solución, indicando la frontera de decisión, indicando la frontera de decisión y su vector de pesos. Figura 2.3 Gráfica-solución del ejercicio 2 36
  • 37. REDES NEURONALES ARTIFÍCIALES I La figura 2.3 muestra la solución del ejercicio. En ella se puede visualizar el vector de pesos W, la frontera de decisión (perpendicular al vector de pesos W) atravesando el origen. Esto último se debe a que el valor del umbral b es cero. 3. Diseñe una red neuronal que permita clasificar dos tipos de fruta considerando la forma, la textura y el peso. Observe la figura 2.4. Figura 2.4. Clasificador de frutas Las entradas para el perceptrón tienen la forma:  forma    P = textura   peso    Los valores para cada parámetro son: Forma: - 1, si la fruta es redonda - -1, si la fruta es elíptica Textura: - 1, si la superficie de la fruta es suave - -1, si la superficie es rugosa Peso: - 1, ≥ 1 libra - -1, < 1 libra 37
  • 38. REDES NEURONALES ARTIFÍCIALES I Según lo anterior, los vectores de entrada para las frutas a clasificar son: Naranja 1    p1 = − 1 t1 = 0 − 1   Manzana 1    p2 = 1  t2 = 1   −1 Los valores iniciales del vector de pesos y el umbral son: W = [0.5 -1 -0.5] b = 0.5 a) Aplique la regla de aprendizaje del perceptrón para calcular el vector de pesos W y el umbral b. Solución Primera época Para el primer par de entrada/salida (Primera iteración) 1    p1 = − 1 t1=0; − 1   Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1    a = hardlim([0.5 -1 -0.5] − 1 + 0.5) − 1   a = hardlim(2.5) = 1 38
  • 39. REDES NEURONALES ARTIFÍCIALES I Se calcula el error: e = t1 – a = 0 - 1 e = -1 Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + ept Wnuevo = [0.5 -1 -0.5] + (-1)[1 -1 -1] Wnuevo = [-0.5 0 0.5] bnuevo = banterior + e bnuevo = 0.5 - 1 bnuevo = -0.5 Para el segundo par de entrada/salida (segunda iteración) 1    p2 = 1  t2=1; −1   Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1    a = hardlim([-0.5 0 0.5] 1  + (-0.5)) −1   a = hardlim(-1.5) = 0 Se calcula el error: e = t1 – a = 1 - 0 e=1 39
  • 40. REDES NEURONALES ARTIFÍCIALES I Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + ept Wnuevo = [-0.5 0 0.5] + [1 1 -1] Wnuevo = [0.5 1 -0.5] bnuevo = banterior + e bnuevo = -0.5 + 1 bnuevo = 0.5 Segunda época Para el primer par de entrada/salida (Primera iteración) 1    p1 = − 1 t1=0; − 1   Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1    a = hardlim([0.5 1 -0.5] − 1 + 0.5) − 1   a = hardlim(0.5) = 1 Se calcula el error: e = t1 – a = 0 - 1 e = -1 Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + ept Wnuevo = [0.5 1 -0.5] + (-1)[1 -1 -1] 40
  • 41. REDES NEURONALES ARTIFÍCIALES I Wnuevo = [-0.5 2 0.5] bnuevo = banterior + e bnuevo = 0.5 - 1 bnuevo = -0.5 Para el segundo par de entrada/salida (segunda iteración) 1    p2 = 1  t2=1; −1   Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1    a = hardlim([-0.5 2 0.5] 1  + (-0.5)) −1   a = hardlim(0.5) = 1 Se calcula el error: e = t1 – a = 1 - 1 e=0 No hay modificación de W y b. Sólo resta probar si se cumple para el primer par de entrada. 1    p1 = − 1 t1=0; − 1   Se calcula la salida utilizando la función de activación propia de la red: a = hardlim(wp + b) 1    a = hardlim([-0.5 2 0.5] − 1 + (-0.5)) − 1   41
  • 42. REDES NEURONALES ARTIFÍCIALES I a = hardlim(-3.5) = 0 Se calcula el error: e = t1 – a = 0 - 0 e=0 Por lo tanto, los valores finales de W y b son: W = [-0.5 2 0.5] b = 0.5 Simulaciones en Matlab 1. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje Los pares de entrada/salida son: 1  p1 =   t1=1;  2 − 1 p2 =   t2=0; 2  0  p3 =   t3=0; −1 En el editor de Matlab teclee el siguiente código que resuelve el problema anterior: clear;echo on;clc; %Se definen los vectores de entrada P=[1 -1 0; 2 2 -1]; %Se define el vector de salida T = [1 0 0] % Se inicializa la red con los valores anteriores [w,b]=initp(P,T); %Se entrena la red usando la regla de aprendizaje [w,b,epoch,errors]=trainp(w,b,P,T,-1); 42
  • 43. REDES NEURONALES ARTIFÍCIALES I %Evalúa un par de entrada para clasificarlo a=simup([-1;0],w,b) echo off En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue: %Se definen los vectores de entrada P=[1 -1 0; %Se define el vector de salida T = [1 0 0] T = 1 0 0 % Se inicializa la red con los valores anteriores [w,b]=initp(P,T); %Se entrena la red usando la regla de aprendizaje [w,b,epoch,errors]=trainp(w,b,P,T,-1); TRAINP: 0/100 epochs, SSE = 2. TRAINP: 1/100 epochs, SSE = 1. TRAINP: 2/100 epochs, SSE = 0. %Evalúa un par de entrada para clasificarlo a=simup([-1;0],w,b) a = 0 echo off La salida del programa (además del proceso descrito en la ventana de comandos de Matlab) es una gráfica donde aparecen los patrones de entrada en un plano de dos dimensiones, con la clasificación correspondiente (frontera de decisión). Esto se muestra en la figura 2.5. Figura 2.5. Patrones clasificados 43
  • 44. REDES NEURONALES ARTIFÍCIALES I La frontera de decisión y el vector de pesos y umbral que dan solución al problema dependerá de los valores iniciales que Matlab asigna a w y b. 2. Perceptrón de cuatro clases Clasifique el siguiente grupo de vectores de entrada en cuatro clases.  1 1    0  0  Clase 1:  p1 =  , p 2 =    t1 =  , t 2 =     1  2   0  0   2  2   0  0   Clase 2:  p3 =  , p 4 =    t 3 =  , t 4 =     − 1 0    1  1    − 1 − 2   1  1   Clase 3:  p5 =  , p 6 =    t 5 =  , t 6 =     2  1    0  0    − 1 − 2   1 1  Clase 4:  p 7 =  , p8 =    t 7 =  , t 8 =     − 1 − 2   1 1  Para solucionar un problema de 4 clases de entrada, se necesita un perceptrón con al menos dos neuronas, lo que traerá como consecuencia dos vectores de pesos y, por lo tanto, dos fronteras de decisión. En el editor de Matlab teclee el siguiente código que resuelve el problema anterior: clear;echo on;clc; %Se definen los vectores de entrada P=[1 1 2 2 -1 -2 -1 -2; 1 2 -1 0 2 1 -1 -2]; %Se define los vectores de salida T = [0 0 0 0 1 1 1 1; 0 0 1 1 0 0 1 1]; % Se inicializa la red con los valores anteriores [w,b]=initp(P,T) %Se entrena la red usando la regla de aprendizaje [w,b,epoch,errors]=trainp(w,b,P,T,-1); %Evalúa un par de entrada para clasificarlo a=simup([1;1],w,b) echo off 44
  • 45. REDES NEURONALES ARTIFÍCIALES I En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue: %Se definen los vectores de entrada P=[1 1 2 2 -1 -2 -1 -2; %Se define el vector de salida T = [0 0 0 0 1 1 1 1; % Se inicializa la red con los valores anteriores [w,b]=initp(P,T) w = 0.9003 0.2137 -0.5377 -0.0280 b = 0.7826 0.5242 %Se entrena la red usando la regla de aprendizaje [w,b,epoch,errors]=trainp(w,b,P,T,-1); TRAINP: 0/100 epochs, SSE = 11. TRAINP: 1/100 epochs, SSE = 3. TRAINP: 2/100 epochs, SSE = 0. %Evalúa un par de entrada para clasificarlo a=simup([1;1],w,b) a = 0 0 echo off La salida del programa (además del proceso descrito en la ventana de comandos de Matlab) es una gráfica donde aparecen los patrones de entrada de las cuatro clases, con una marca especial para diferenciar cada una de ellas en un plano de dos dimensiones, con la clasificación correspondiente. Ahora se ve una frontera de decisión en rojo, mientras que la otra es de color azul. Esto se muestra en la figura 2.6. Figura 2.6. Patrones de las 4 clases clasificados 45
  • 46. REDES NEURONALES ARTIFÍCIALES I Las fronteras de decisión al que dan solución al problema dependerá de los valores iniciales que Matlab asigna a w y b. La Red Adaline Las redes Adaline fueron desarrolladas por Bernie Widrow en la Universidad de Stanford poco después de que Rosenblatt desarrollara el Perceptrón. El término Adaline es una sigla; sin embargo, significado ha cambiado ligeramente con el paso de los años. Inicialmente se llamaba ADAptative LInear Neuron (neurona Lineal Adaptativa); pasó a ser el ADAptative LInear Element (Elemento Lineal Adaptativo) cuando las redes cayeron en desgracia al final de los años setenta. Tiene una estructura casi idéntica a la del perceptrón general. La figura 2.7. muestra la estructura de una red Adaline. s X0 Salida Lineal y X1 W0 1 W1 S y s X2 Salida W2 Combinador Adaptativo Lineal -1 binaria W Conmutador Bipolar XN N Figura 2.7. Estructura de una red ADALINE Es necesario hacer dos modificaciones básicas a la estructura del perceptrón general para transformarla en una red Adaline. La primera consiste en añadir una conexión de peso Wo, que se conoce con el nombre de término de tendencia. Este término es el peso de una conexión que siempre tiene un valor de entrada igual a 1. La inclusión de este término se debe fundamentalmente a la experiencia. La segunda modificación consiste en añadir una condición bipolar a la salida. El cuadro de trazos que se ve en la figura 2.7 encierra una parte de la red que es lo que se denomina 46
  • 47. REDES NEURONALES ARTIFÍCIALES I combinador adaptativo lineal (ALC). Si la salida del ALC es positiva, la salida de la red es +1. si la salida del ALC es negativa, entonces la salida de la red es –1. El ALC lleva a cabo el cálculo de una suma de productos empleando los vectores de entrada y de peso, y aplica una función de salida para obtener un valor único de salida, tal y como lo hace el perceptrón. La función de salida en este caso es la función identidad, así como la función de activación. El uso de esta función como función de salida y como función de activación significa que la salida es igual a la activación, que es lo mismo que la entrada neta de la unidad. La red Adaline (o el ALC) es adaptativa en el sentido de que existe un procedimiento bien definido para modificar los pesos con objeto de hacer posible que la red proporcione el valor de salida correcto para la entrada dada. La red Adaline es lineal porque la salida es una función lineal sencilla de los valores de entrada. Es una neurona tan sólo en el sentido (muy limitado) del perceptrón. También se podría decir que la red Adaline es un elemento lineal, evitando por completo el tema de la neurona. Algoritmo de aprendizaje 1. Se aplica un patrón de entrada P. 2. Se obtiene la salida del ALC y se calcula la diferencia con respecto a la deseada (error). 3. Se actualizan los pesos. 4. Se repiten pasos 1 a 3 con todos los vectores de entrada. 5. Si el Error es un valor aceptable, detenerse, si no repetir algoritmo. La regla de aprendizaje de Widrow-Hoff o LMS (Least Mean Square), que utiliza la red Adaline para su entrenamiento, hace posible la realización del paso 3. Por medio de las siguientes ecuaciones, se realiza la actualización de los parámetros de la red: Para el vector de pesos (W) Wnuevo = Wanterior + 2α ept Para el umbral (b) bnuevo = banterior + 2αe Para el error (e) e=t-a 47
  • 48. REDES NEURONALES ARTIFÍCIALES I donde α se conoce como razón o tasa de aprendizaje y 0 < α < 1. El cálculo de dicho parámetro se realiza mediante una matriz de correlación R: R = E(P Pt) Los eigenvalores λi de la matriz de correlación serán útiles para la determinación del parámetro a, pues: 1 0<α< λmax Aplicaciones • El principal campo de aplicación es el Procesamiento de Señales. • Filtros que eliminen el ruido en señales portadoras de información. • Filtros de ecualización adaptativos en Módems de alta velocidad. • Cancelación del ruido materno de grabaciones ECG del latido del feto humano. • Eliminación de ecos en circuitos telefónicos. • Canceladores adaptativos del eco para el filtrado de señales en comunicaciones telefónicas de larga distancia y comunicaciones vía satélite. Ejercicios 48
  • 49. REDES NEURONALES ARTIFÍCIALES I 1. Clasifique el siguiente conjunto de patrones usando el algoritmo LMS y una red Adaline. 1 p1 =   t1=1; 1 1  p2 =   t2=-1; −1 Los parámetros iniciales son: α = 0.25 W =[0 0], b=0 a) Calcule el vector de pesos W y el umbral b Primera época Para el primer par de entrada/salida 1 p1 =   t1=1; 1 Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1 a = [0 0]   + 0 1 a=0 Se calcula el error: e = t1 – a = 1 -0 = 1 Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + 2αept Wnuevo = [0 0] + 2(0.25)(1)[1 1] Wnuevo = [0.5 0.5] b= 0 Para el segundo par de entrada/salida 49
  • 50. REDES NEURONALES ARTIFÍCIALES I 1  p2 =   t2=-1; −1 Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1  a = [0.5 0.5]   + 0 −1 a=0 Se calcula el error: e = t2 – a = -1 -0 = -1 Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + 2αept Wnuevo = [0.5 0.5] + 2(0.25)(-1)[1 -1] Wnuevo = [0 1] b= 0 Segunda época Para el primer par de entrada/salida 1 p1 =   t1=1; 1 Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1 a = [0 1]   + 0 1 a=1 Se calcula el error: e = t1 – a = 1 -1 = 0 Para el segundo par de entrada/salida 50
  • 51. REDES NEURONALES ARTIFÍCIALES I 1  p2 =   t2=-1; −1 Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1  a = [0 1]   + 0 −1 a = -1 Se calcula el error: e = t2 – a = -1 + 1 = 0 Por lo tanto, los valores finales de W y b son: W = [0 1] b=0 b) Grafique la frontera de decisión y los patrones Figura 2.8 Gráfica-solución del ejercicio 1 La figura 2.8 muestra la solución del ejercicio. En ella se puede visualizar el vector de pesos W, la frontera de decisión (perpendicular al vector de pesos W) atravesando el origen. Esto último se debe a que el valor del umbral b es cero. 2. Clasifique el siguiente conjunto de patrones usando el algoritmo LMS y una red Adaline. 51
  • 52. REDES NEURONALES ARTIFÍCIALES I 1    p1 = − 1 t1=-1; − 1   1    p2 = 1  t2=1; −1   Los parámetros iniciales son: W =[0 0 0] b=0 a) Calcule la razón de aprendizaje α El cálculo de este parámetro se realiza mediante una matriz de correlación R: R = E(P · Pt) R = E(P Pt) 1 1 R= P1· P1t + P2· P2t 2 2 1  1  1   1 1  R = − 1 [1 –1 –1] +   [1 1 –1] 2 2 − 1   −1    1 − 1 − 1 1 1 − 1  2 0 − 2  1 0 − 1 1   1 1  1  0 2 0  0 1 0 R = − 1 1 1 +  1 − 1 =  =   2 2 2 − 1 1  1  − 1 − 1 1    − 2 0 2  − 1 0 1      Se procede ahora al cálculo de los Eigenvalores (λi) de la matriz R mediante la fórmula: P(λ) = |A – λI| Esto hace: 52
  • 53. REDES NEURONALES ARTIFÍCIALES I  1 0 − 1 λ 0 0  (1 − λ ) 0 −1  0 1 0  0 λ 0 0 (1 − λ ) 0  -   = − 1 0 1   0 0 λ      −1 0 (1 − λ ) Haciendo el cálculo del determinante se tiene: (1 − λ ) 0 −1 0 (1 − λ ) 0 = (1 - λ)3 – (1 – λ) −1 0 (1 − λ ) Factorizando se tiene: (1 - λ)3 – (1 – λ) = (1 - λ) {(1 - λ)2 – 1} = (1 - λ) {1 - 2 λ + λ2 -1} = (1 - λ) {-2 λ + λ2 } = (1 - λ)(λ−2) λ = 0 Haciendo el cálculo de las raíces, se obtienen los eigenvalores de la matriz R: λ1 =0 λ2=1 λ3=2 La máxima razón de aprendizaje estable es: aprendizaje λmáx = λ3 = 2 1 0<α< λmax 1 = 1 / 2 = 0.5 λmax Se elige una tasa de aprendizaje de 0.2 (valor típico) Nota: α se puede proponer a través de prueba y error. b) Calcule el vector de pesos W y el umbral b 53
  • 54. REDES NEURONALES ARTIFÍCIALES I Primera época Para el primer par de entrada/salida 1    p1 = − 1 t1=-1; − 1   Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1    a = [0 0 0] − 1 + 0 − 1   a=0 Se calcula el error: e = t1 – a = -1 -0 = -1 Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + 2αept Wnuevo = [0 0 0] + 2(0.2)(-1)[1 -1 -1] Wnuevo = [-0.4 0.4 0.4] b= 0 Para el segundo par de entrada/salida 1    p2 = 1  t2=1; −1   Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1    a = [-0.4 0.4 0.4] 1  + 0 −1   54
  • 55. REDES NEURONALES ARTIFÍCIALES I a = -0.4 Se calcula el error: e = t2 – a = 1 + 0.4 = 1.4 Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + 2αept Wnuevo = [-0.4 0.4 0.4] + 2(0.2)(1.4)[1 1 -1] Wnuevo = [0.16 0.96 -0.16] b= 0 Segunda época Para el primer par de entrada/salida 1    p1 = − 1 t1=-1; − 1   Se calcula la salida utilizando la función de activación propia de la red: a = pureline(wp + b) = wp + b 1    a = [0.16 0.96 –0.16] − 1 + 0 − 1   a = -0.64 Se calcula el error: e = t1 – a = -1 + 0.641 = -0.36 Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el umbral: Wnuevo = Wanterior + 2αept Wnuevo = [0.16 0.96 -0.16] + 2(0.2)(-3.6)[1 -1 -1] Wnuevo = [0.016 1.1040 -0.016] b= 0 55
  • 56. REDES NEURONALES ARTIFÍCIALES I Si se continua el proceso, el algoritmo convergirá en: W = [0 1 0] b=0 Simulaciones en MATLAB 1. Resuelva el siguiente problema de clasificación de la red Adaline y su regla de aprendizaje Los pares de entrada/salida son: 0  p1 =   t1=1;  2  2 p2 =   t2=1; 0   − 2 p3 =   t3=0;  − 2 En el editor de Matlab teclee el siguiente código que resuelve el problema anterior: clear;echo on;clc; %Se definen los vectores de entrada P=[0 2 -2; 2 0 -2]; %Se define el vector de salida T = [1 1 0]; %Se crea una red lineal adaptativa NEWLIN(PR,S,ID,LR) donde: PR – matriz Rx2 de los valores máximos y mínimos para R elementos de entrada. S - Número de elementos de salida ID – Vector de retardo, default = [0]. LR – Tasa de aprendizaje, default = 0.01; net=newlin([-2 2;-2 2],1); %Se ajusta el error (valor por omisión=0) net.trainParam.goal=0.1; %Se ajustan las épocas (valor por omisión=100) net.trainParam.epochs=50; %Se entrena la red 56
  • 57. REDES NEURONALES ARTIFÍCIALES I [net,tr]=train(net,P,T); %Si se desea dar valores iniciales al vector de pesos y umbral, escríbanse las siguientes dos líneas de código net.IW{1,1}=[-1 -1]; net.b{1}=[2]; %Se asignan a las variables W y b los valores calculados una vez terminado el proceso de entrenamiento W=net.IW{1,1} b=net.b{1} %Se grafican los patrones de entrada, las salidas deseadas y la frontera de decisión mediante las siguientes líneas plotpv(P,T) plotpc(net.IW{1,1},net.b{1}) echo off En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue: %Se definen los vectores de entrada P=[0 2 -2; %Se define el vector de salida T = [1 1 0]; %Se crea una red lineal net=newlin([-2 2;-2 2],1); %Se ajusta el error (valor por omisión=0) net.trainParam.goal=0.1; %Se ajustan las épocas (omisión=100) net.trainParam.epochs=50; %Se entrena la red [net,tr]=train(net,P,T); TRAINWB, Epoch 0/50, MSE 0.666667/0.1. TRAINWB, Epoch 25/50, MSE 0.0972903/0.1. TRAINWB, Performance goal met. %net.IW{1,1}=[-1 -1]; %net.b{1}=[2]; W=net.IW{1,1} W = 0.1598 0.1598 57
  • 58. REDES NEURONALES ARTIFÍCIALES I b=net.b{1} b = 0.3554 plotpv(P,T) plotpc(net.IW{1,1},net.b{1}) echo off La salida del programa (además del proceso descrito en la ventana de comandos de Matlab) es una sucesión de gráficas donde aparece la variación del error en un número N de épocas. Esto se muestra en la figura 2.9. Figura 2.9. Evolución del error Los patrones de entrada en un plano de dos dimensiones, con la clasificación correspondiente (frontera de decisión) aparecen después de terminado el proceso de entrenamiento. Esto se muestra en la figura 2.10. Figura 2.10. Patrones clasificados 58
  • 59. REDES NEURONALES ARTIFÍCIALES I CAPITULO III REDES NEURONALES MULTICAPA CON APRENDIZAJE SUPERVISADO.. 3.1.0 Perceptron Multicapa El Perceptrón multicapa (MLP) puede ser usado para la predicción de una serie de datos en el tiempo; tal a sido su éxito en la medición de la demanda de gas y electricidad, además de la predicción de cambios en el valor de los instrumentos financieros. Predicción de mercados financieros, diagnósticos médicos, el Perceptrón como una red codificadora, el Perceptrón aprende a sumar enteros. NETtalk es un Perceptrón que es capaz de transformar texto en ingles en sonido individual (representaciones fonéticas) y la pronunciación con la utilización de un sintetizador de voz; cuenta con aproximadamente 300 nodos de neuronas (siendo 80 en la capa escondida) y 20,000 conexiones individuales. 3.1.1 Características Cada capa de la red es caracterizada por la matriz de parámetros, y el funcionamiento de la red por una composición no lineal de operaciones como se muestra: F(W, x) = ϕ(W1 ·…ϕ(Wl ·x) …) (3.11) Una red neuronal hacia adelante (feedforward) con dos capas (una oculta y una de salida) es comúnmente usada para aproximación de mapas no conocidos. Si la capa de salida es lineal, la red puede tener una estructura similar a una red de base radial (RBF). El perceptron multicapa es comúnmente usado para aproximar mapas no lineales complejos. En general, esto es posible, dos capas son suficientes para aproximar cualquier función no lineal. Por consiguiente, estamos restringiendo nuestras consideraciones a una red de dos capas. La estructura de la parte de decodificación de la red de dos capas es representada en la figura (3.1). 59
  • 60. REDES NEURONALES ARTIFÍCIALES I Figure 3.1: Diagrama a bloques de una red neuronal de una sola capa oculta con conexión hacia adelante La estructura de cada capa ha sido descrita en la figura. En la capa oculta se usan funciones no lineales y en la capa de salida puede ser diferente. Existen dos matrices de pesos: una matriz de L ×p Wh en la capa oculta, y una matriz de m ×L Wy en la capa de salida. El funcionamiento de la red puede ser descrito de la siguiente manera: u(n) = Wh ·x(n) ; h(n) = ψ(u(n)) - hidden signals ; v(n) = W · h(n) ; y y(n) = ϕ(v(n)) - output signals . o simplemente como y(n) = ϕ ( Wy ·ψ ( Wh ·x(n) ) ) (3.12) Típicamente, la función sigmoidal (tangente hiperbólica) es usada, pero existen otras funciones que también se pueden utilizar. Una condición importante desde el punto de vista de el aprendizaje es que la función debe ser diferenciable. Típicamente funciones no lineales y sus derivadas se usan en el perceptron multicapa: Sigmoidal unipolar: 1 1 y = ϕ( v ) = = (tanh(βv/2) -1) (160,30) 1 + e-βv 2 La derivada de la función sigmoidal: dϕ e-βv y′ = =β = β y (1 - y) dv (1 + e-βv)2 Sigmoidal bipolar: 60
  • 61. REDES NEURONALES ARTIFÍCIALES I ϕ( v ) = tanh(βv)(320,0) La derivada de la función bipolar sigmoidal: dϕ 4 βe2 βv y′ = = 2 βv = β(1 - y2) d v (e +1)2 Nota que • Derivadas de la función sigmoidal son siempre no negativas. • Derivadas pueden ser calculadas directamente desde la señal de salida usando simplemente operaciones aritméticas. • En saturación, para valores grandes de potencial de activación, v, las derivadas se acercan al cero. 3.1.2 Arquitectura Figura 3.2. Arquitectura de un perceptron multicapa. 3.1.3 Aplicaciones El rango de tareas que el Perceptrón puede manejar es mucho mayor que simples decisiones y reconocimiento de patrones. Por ejemplo, se puede entrenar una red para formar el tiempo pasado de los verbos en ingles, leer texto en ingles y manuscrito. 3.2.0 Adaline 61