Introducción a Redes Neuronales
Temas abordados
Introducción a Redes Neuronales
Temas abordados
Una primera clasificación de los modelos de redes neuronales podría ser, atendiendo a su similitud
con la realidad biológica:
Página 1
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
1) El modelo de tipo biológico. Este comprende las redes que tratan de simular los sistemas
neuronales biológicos, así como las funciones auditivas o algunas funciones básicas de la visión.
2) El modelo dirigido a aplicación. Este modelo no tiene por qué guardar similitud con los
sistemas biológicos. Su arquitectura está fuertemente ligada a las necesidades de las
aplicaciones para la que es diseñada.
Conseguir diseñar y construir máquinas capaces de realizar procesos con cierta inteligencia ha sido
uno de los principales objetivos de los científicos a lo largo de la historia. De los intentos realizados
en este sentido se han llegado a definir las líneas fundamentales para la obtención de máquinas
inteligentes: En un principio los esfuerzos estuvieron dirigidos a la obtención de autómatas, en el
sentido de máquinas que realizaran, con más o menos éxito, alguna función típica de los seres
humanos. Hoy en día se continúa estudiando en ésta misma línea, con resultados sorprendentes,
existen maneras de realizar procesos similares a los inteligentes y que podemos encuadrar dentro de
la llamada Inteligencia Artificial (IA).
La otra línea de la investigación ha tratado de aplicar principios físicos que rigen en la naturaleza para
obtener máquinas que realicen trabajos pesados en nuestro lugar. De igual manera se puede pensar
respecto a la forma y capacidad de razonamiento humano; se puede intentar obtener máquinas con
esta capacidad basadas en el mismo principio de funcionamiento.
No se trata de construir máquinas que compitan con los seres humanos, sino que realicen ciertas
tareas de rango intelectual con que ayudarle, principio básico de la Inteligencia Artificial.
Las primeras explicaciones teóricas sobre el cerebro y el pensamiento ya fueron dadas ya por Platón
(427-347 a.C.) y Aristóteles (348-422 a.C.). Las mismas ideas también las mantuvo Descartes (1569-
1650) y los filósofos empiristas del siglo XVIII.
La clase de las llamadas máquinas cibernéticas, a la cual la computación neuronal pertenece, tiene
más historia de la que se cree: Herón (100 a.C) construyó un autómata hidráulico.
1936 - Alan Turing. Fue el primero en estudiar el cerebro como una forma de ver el mundo de la
computación. Sin embargo, los primeros teóricos que concibieron los fundamentos de la computación
neuronal fueron Warren McCulloch, un neurofisiólogo, y Walter Pitts, un matemático, quienes, en
1943, lanzaron una teoría acerca de la forma de trabajar de las neuronas (Un Cálculo Lógico de la
Inminente Idea de la Actividad Nerviosa - Boletín de Matemática Biofísica 5: 115-133). Ellos
modelaron una red neuronal simple mediante circuitos eléctricos.
1949 - Donald Hebb. Escribió un importante libro: La organización del comportamiento, en el que se
establece una conexión entre psicología y fisiología. Fue el primero en explicar los procesos del
aprendizaje (que es el elemento básico de la inteligencia humana) desde un punto de vista
psicológico, desarrollando una regla de como el aprendizaje ocurría. Aun hoy, este es el fundamento
de la mayoría de las funciones de aprendizaje que pueden hallarse en una red neuronal. Su idea fue
que el aprendizaje ocurría cuando ciertos cambios en una neurona eran activados. También intentó
encontrar semejanzas entre el aprendizaje y la actividad nerviosa. Los trabajos de Hebb formaron las
bases de la Teoría de las Redes Neuronales.
1950 - Karl Lashley. En sus series de ensayos, encontró que la información no era almacenada en
forma centralizada en el cerebro sino que era distribuida encima de él.
1956 - Congreso de Dartmouth. Este Congreso frecuentemente se menciona para indicar el
nacimiento de la inteligencia artificial.
1957 - Frank Rosenblatt. Comenzó el desarrollo del Perceptrón. Esta es la red neuronal más
antigua; utilizándose hoy en día para aplicación como reconocedor de patrones. Este modelo era
Página 2
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
capaz de generalizar, es decir, después de haber aprendido una serie de patrones podía reconocer
otros similares, aunque no se le hubiesen presentado anteriormente. Sin embargo, tenía una serie de
limitaciones, por ejemplo, su incapacidad para resolver el problema de la función OR-exclusiva y, en
general, era incapaz de clasificar clases no separables linealmente. En 1959, escribió el libro
Principios de Neurodinámica, en el que confirmó que, bajo ciertas condiciones, el aprendizaje del
Perceptrón convergía hacia un estado finito (Teorema de Convergencia del Perceptrón).
1960 - Bernard Widrow/Marcial Hoff. Desarrollaron el modelo Adaline (ADAptative LINear
Elements). Esta fue la primera red neuronal aplicada a un problema real (filtros adaptativos para
eliminar ecos en las líneas telefónicas) que se ha utilizado comercialmente durante varias décadas.
1961 - Karl Steinbeck: Die Lernmatrix. Red neuronal para simples realizaciones técnicas (memoria
asociativa).
1967 - Stephen Grossberg. A partir de sus conocimientos fisiológicos, ha escrito numerosos libros y
desarrollado modelo de redes neuronales. Realizó una red: Avalancha, que consistía en elementos
discretos con actividad que varía en el tiempo que satisface ecuaciones diferenciales continuas, para
resolver actividades como reconocimiento continuo de habla y aprendizaje de los brazos de un robot.
1969 - Marvin Minsky/Seymour Papert. En este año surgieron críticas que frenaron, hasta 1982, el
crecimiento que estaban experimentando las investigaciones sobre redes neuronales. Minsky y
Papera, del Instituto Tecnológico de Massachussets (MIT), publicaron un libro Perceptrons. Probaron
(matemáticamente) que el Perceptrón no era capaz de resolver problemas relativamente fáciles, tales
como el aprendizaje de una función no-lineal. Esto demostró que el Perceptrón era muy débil, dado
que las funciones no-lineales son extensamente empleadas en computación y en los problemas del
mundo real. A pesar del libro, algunos investigadores continuaron su trabajo. Tal fue el caso de
James Anderson, que desarrolló un modelo lineal, llamado Asociador Lineal, que consistía en unos
elementos integradores lineales (neuronas) que sumaban sus entradas. Este modelo se basa en el
principio de que las conexiones entre neuronas son reforzadas cada vez que son activadas. Anderson
diseñó una potente extensión del Asociador Lineal, llamada Brain State in a Box (BSB).
1974 - Paul Werbos. Desarrolló la idea básica del algoritmo de aprendizaje de propagación hacia
atrás (backpropagation); cuyo significado quedó definitivamente aclarado en 1985.
1977 - Stephen Grossberg. Teoría de Resonancia Adaptada (TRA). La Teoría de Resonancia
Adaptada es una arquitectura de red que se diferencia de todas las demás previamente inventadas.
La misma simula otras habilidades del cerebro: memoria a largo y corto plazo.
1977 - Teuvo Kohonen. Ingeniero electrónico de la Universidad de Helsinki, desarrolló un modelo
similar al de Anderson, pero independientemente.
1980 - Kunihiko Fukushima. Desarrolló un modelo neuronal para el reconocimiento de patrones
visuales..
1985 - John Hopfield. Provocó el renacimiento de las redes neuronales con su libro: “Computación
neuronal de decisiones en problemas de optimización.”
1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo de aprendizaje de propagación
hacia atrás (backpropagation). A partir de 1986, el panorama fue alentador con respecto a las
investigaciones y el desarrollo de las redes neuronales. En la actualidad, son numerosos los trabajos
que se realizan y publican cada año, las aplicaciones nuevas que surgen (sobretodo en el área de
control) y las empresas que lanzan al mercado productos nuevos, tanto hardware como software
(sobre todo para simulación).
Actualmente, son numerosos los trabajos que se realizan y se publican, las aplicaciones nuevas que
surgen y las empresas que lanzan al mercado productos nuevos, tanto hardware como software,
sobre todo para simulación.
Existen numerosas formas de definir a las redes neuronales; desde las definiciones cortas y
genéricas hasta las que intentan explicar más detalladamente qué son las redes neuronales. Por
ejemplo:
1) Una nueva forma de computación, inspirada en modelos biológicos.
2) Un modelo matemático compuesto por un gran número de elementos procesales organizados en
niveles.
3)Un sistema de computación compuesto por un gran número de elementos simples, elementos de
procesos muy interconectados, los cuales procesan información por medio de su estado dinámico
como respuesta a entradas externas.
Página 3
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Debido a su constitución y a sus fundamentos, las redes neuronales artificiales presentan un gran
número de características semejantes a las del cerebro. Por ejemplo, son capaces de aprender de la
experiencia, de generalizar de casos anteriores a nuevos casos, de abstraer características
esenciales a partir de entradas que representan información irrelevante, etc. Esto hace que ofrezcan
numerosas ventajas y que este tipo de tecnología se esté aplicando en múltiples áreas. Entre las
ventajas se incluyen:
Aprendizaje Adaptativo
Auto-organización
Página 4
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
información de entrada no es muy clara; además permite que el sistema dé una solución, incluso
cuando la información de entrada está especificada de forma incompleta.
Tolerancia a fallos
Las redes neuronales fueron los primeros métodos computacionales con la capacidad inherente de
tolerancia a fallos. Comparados con los sistemas computacionales tradicionales, los cuales pierden
su funcionalidad cuando sufren un pequeño error de memoria, en las redes neuronales, si se produce
un fallo en un número no muy grande de neuronas y aunque el comportamiento del sistema se ve
influenciado, no sufre una caída repentina.
La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su información
distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de
almacenamiento. La mayoría de los ordenadores algorítmicos y sistemas de recuperación de datos
almacenan cada pieza de información en un espacio único, localizado y direccionable. En cambio,
las redes neuronales almacenan información no localizada. Por lo tanto, la mayoría de las
interconexiones entre los nodos de la red tendrán sus valores en función de los estímulos recibidos, y
se generará un patrón de salida que represente la información almacenada.
Una de las mayores prioridades, casi en la totalidad de las áreas de aplicación, es la necesidad de
realizar procesos con datos de forma muy rápida. Las redes neuronales se adaptan bien a esto
debido a su implementación paralela. Para que la mayoría de las redes puedan operar en un entorno
de tiempo real, la necesidad de cambio en los pesos de las conexiones o entrenamiento es mínimo.
Una red individual puede ser entrenada para desarrollar una única y bien definida tarea (tareas
complejas, que hagan múltiples selecciones de patrones, requerirán sistemas de redes
interconectadas). Con las herramientas computacionales existentes (no del tipo PC), una red puede
ser rápidamente entrenada, comprobada, verificada y trasladada a una implementación hardware de
bajo coste. Por lo tanto, no se presentan dificultades para la inserción de redes neuronales en
aplicaciones específicas, por ejemplo de control, dentro de los sistemas existentes. De esta manera,
las redes neuronales se pueden utilizar para mejorar sistemas en forma incremental y cada paso
puede ser evaluado antes de acometer un desarrollo más amplio.
El modelo Biológico
Se estima que el cerebro humano contiene más de cien mil millones de neuronas estudios sobre la
anatomía del cerebro humano concluyen que hay más de 1000 sinápsis a la entrada y a la salida de
cada neurona. Es importante notar que aunque el tiempo de conmutación de la neurona ( unos pocos
milisegundos) es casi un millón de veces menor que en los actuales elementos de las computadoras,
ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras.
Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el procesado de la
información.
Algunos elementos ha destacar de su estructura histológica son:
Las dendritas, que son la vía de entrada de las señales que se combinan en el cuerpo de la neurona.
De alguna manera la neurona elabora una señal de salida a partir de ellas.
El axón, que es el camino de salida de la señal generada por la neurona.
Las sinapsis, que son las unidades funcionales y estructurales elementales que median entre las
interacciones de las neuronas. En las terminaciones de las sinapsis se encuentran unas vesículas
Página 5
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
que contienen unas sustancias químicas llamadas neurotransmisores, que ayudan a la propagación
de las señales electroquímicas de una neurona a otra.
Página 6
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Una red neuronal es un procesador masivamente paralelo distribuido que es propenso por naturaleza
a almacenar conocimiento experimental y hacerlo disponible para su uso. Este mecanismo se parece
al cerebro en dos aspectos [SH1]:
El conocimiento es adquirido por la red a través de un proceso que se denomina aprendizaje.
El conocimiento se almacena mediante la modificación de la fuerza o peso sináptico de las distintas
uniones entre neuronas.
Una red neuronal es un modelo computacional con un conjunto de propiedades específicas, como
son la habilidad de adaptarse o aprender, generalizar u organizar la información, todo ello basado en
un procesamiento eminentemente paralelo. [BJAK] [PPVS]
Las redes neuronales son modelos que intentan reproducir el comportamiento del cerebro. Los
mismos constan de dispositivos elementales de proceso: las neuronas. A partir de ellas, se pueden
generar representaciones específicas, de tal forma que un estado conjunto de ellas puede significar
una letra, un número u otro objeto. Generalmente se pueden encontrar tres tipos de neuronas:
Aquellas que reciben estímulos externos relacionados con el aparato sensorial, que tomarán la
información de entrada.
Dicha información se transmite a ciertos elementos internos que se ocupan de su procesamiento. Es
en las sinapsis y neuronas correspondientes a este segundo nivel donde se genera cualquier tipo de
representación interna de información. Como no tienen relación directa con la información de entrada
ni con la salida, estos elementos se denominan unidades ocultas.
Una vez finalizado el período de procesado, la información llega a las unidades de salida, cuya misión
es dar la respuesta al sistema.
A continuación se puede ver en la siguiente figura, un esquema de una red neuronal:
Página 7
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto último
puede variar). Los datos ingresan por medio de la “capa de entrada”, pasan a través de la “capa
oculta” y salen por la “capa de salida”. Cabe mencionar que la capa oculta puede estar constituida por
varias capas.
En la siguiente figura se compara una neurona biológica con una neurona artificial. En la misma se
pueden observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas).
La neurona artificial pretende mimetizar las características más importantes de las neuronas
biológicas. Cada neurona i-ésima está caracterizada en cualquier instante por un valor numérico
denominado valor o estado de activación ai (t ) ; asociado a cada unidad, existe una función de
salida, fi , que transforma el estado actual de activación en una señal de salida. Dicha señal es
enviada a través de los canales de comunicación unidireccionales a otras unidades de la red; estos
canales la señal se modifica de acuerdo con la sinápsis (el peso, w ji ) asociada a cada uno de ellos
según determinada regla. Las señales moduladas que han llegado a la unidad j-ésima se combinan
entre ellas, generando así la entrada total Net j .
Net j yi w ji
i
La dinámica que rige la actualización de los estados de las unidades puede ser de dos tipos:
asíncrono y modo síncrono. En el primer caso, las neuronas evalúan su estado continuamente según
les va llegando información, y lo hacen de forma independiente, En el segundo caso, la información
llega de forma continua, pero los cambios se realizan simultáneamente, como si existiera un reloj
interno que decidiera cuando cambiar su estado. Los sistemas biológicos quedan probablemente
entre ambas posibilidades.
Página 8
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
En cualquier sistema que se esté modelando, es útil caracterizar tres tipos de unidades: entradas,
salidas y ocultas. Las unidades de entrada reciben señales del entorno, éstas pueden ser
provenientes de censores o de otros sectores del sistema. Las unidades de salida envían la señal
fuera del sistema; éstas pueden controlar directamente potencias u otros sistemas. Las unidades
ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema; es decir no tienen
contacto con el exterior.
Se conoce como nivel o capa a un conjunto de neuronas cuyas entradas provienen de la misma
fuente, y cuyas salidas se dirigen a un mismo destino.
Estado de Activación
Junto al conjunto de unidades, la representación necesita los estados del sistema en un tiempo t.
Esto se especifica en un vector de N números reales A(t), que representa el estado de activación del
conjunto de unidades de procesamiento. Cada elemento del vector representa la activación de una
unidad en el tiempo t. La activación de una unidad Ui en el tiempo t se designa por ai (t ) ; es decir:
Asociada a cada unidad Ui (neurona) hay una función de salida f i (ai (t )) , que transforma el estado
actual de activación en una señal de salida: yi (t ) f i (ai (t )) .
En algunos modelos, esta salida es igual al nivel de activación de la unidad, en cuyo caso la función
f i es la función identidad, f i (ai (t )) ai (t ) . A menudo, f i es de tipo sigmoidal, y suele ser la
misma para todas las unidades.
Existen cuatro funciones de transferencia típicas que determinan distintos tipos de neuronas:
Función escalón
Función lineal y mixta
Sigmoidal
Función gaussiana
La función escalón únicamente se utiliza cuando las salidas de la red son binarias. La salida de una
neurona se activa sólo cuando el estado de activación es mayor o igual a cierto valor umbral. La
función lineal o identidad equivale a no aplicar función de salida. Las funciones mixta y sigmoidal son
las más apropiadas cuando queremos como salida información analógica.
Página 9
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Las redes formadas por este tipo de neuronas son fáciles de implementar en hardware, pero sus
capacidades están limitadas.
Las conexiones que unen las neuronas que forman una RNA tienen asociado un peso que es el que
hace que la red adquiera conocimiento. Consideremos y i como el valor de salida de una neurona i en
un instante dado. Una neurona recibe un conjunto de señales que le dan información del estado de
activación de todas las neuronas con las que se encuentra conectada. Cada conexión (sinápsis) entre
la neurona i y la j está ponderada por un peso w ji . Normalmente, como simplificación, se considera
que el efecto de cada señal es aditivo, de tal forma que la entrada neta que recibe una neurona net j ,
es la suma de cada señal individual por el valor de la sinapsis que conecta ambas neuronas:
N
net j w ji * yi
i
Esta regla muestra el procedimiento a seguir para combinar los valores de entrada a una unidad con
los pesos de las conexiones que llegan a esa unidad y es conocida como regla de propagación.
Así como es necesario una regla que combine las entradas de una neurona con los pesos de las
conexiones, también se requiere una regla que combine las entradas con el estado actual de la
neurona para producir un nuevo estado de activación. Esta función F produce un nuevo estado de
activación en una neurona a partir del estado (ai ) que existía y la combinación de las entradas con
los pesos de las conexiones ( neti ).
Dado el estado de activación ai (t ) de la unidad Ui y la entrada total que llega, Neti , el estado de
activación siguiente, ai (t 1) , se obtiene aplicando una función F, llamada función de activación.
ai (t 1) F (ai (t ), Neti )
En la mayoría de los casos la función F es la función identidad, por lo que el estado de activación de
la neurona en t+1 coincidirá con el Net de la misma t. En este caso, el parámetro que se le pasa a la
Página 10
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
La salida se obtiene en una neurona para las diferentes forma de la función f serán:
yi (t 1) y (t ) si Net i i
0si Net i i
yi (t 1) y (t ) si Neti i
1si Neti i
El conjunto de estados E puede contener cualquier número real; el estado de activación coincide con
la entrada total que ha llegado a la unidad.
yi (t 1) Neti i
Página 11
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
b si Net i b i
yi (t 1) Neti i si b i Net i B i
B si Net i B
Con esta función, el estado de activación de la unidad está obligado a permanecer dentro de un
intervalo de valores reales prefijados.
Es una función continua, por tanto el espacio de los estados de activación es un intervalo del eje real.
1
yi (t 1) ( Net i )
(1 e i
)
Página 12
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Para simplificar la expresión de la salida de una neurona i, es habitual considerar la existencia de una
neurona ficticia, con valor de salida unidad, asociada a la entrada de cada neurona i mediante una
conexión con peso de valor i .De esta forma la expresión de salida quedará:
N N
yi (t 1) f( w ji y j (t ) i *1) f ( w ji y j (t )) f ( Neti )
j 1 j 1
Regla de aprendizaje
Existen muchas definiciones del concepto aprendizaje, una de ellas podría ser: La modificación del
comportamiento inducido por la interacción con el entorno y como resultado de experiencias
conducente al establecimiento de nuevos modelos de respuesta a estímulos externos.
Biológicamente, se suele aceptar que la información memorizada en el cerebro está mas relacionada
con los valores sinápticos de las conexiones entre las neuronas que con ellas mismas. En el caso de
las RNA, se puede considerar que el conocimiento se encuentra representado en los pesos de las
conexiones entre neuronas. Todo proceso de aprendizaje implica cierto número de cambios en estas
conexiones. Puede decirse que se aprende modificando los valores de los pesos de la red.
Estructura de una Red Neuronal Artificial
Niveles o capas de neuronas
La distribución de neuronas dentro de la red se realiza formando niveles o capas de un número
determinado cada una. Se pueden distinguir tres tipos de capas:
De Entrada: es la capa que recibe directamente la información proveniente de las fuentes externas
de la red.
Ocultas: son internas a la red, no tiene contacto directo con el exterior. El número de niveles ocultos
puede ser de cero a un número elevado. Las neuronas de las capas ocultas pueden estar
interconectadas de distintas maneras, lo que determina junto a su número, las distintas topologías.
De Salida: transfieren información de la red hacia el exterior.
Se dice que una red es totalmente conectada si todas las salidas desde un nivel llegan a todos y cada
uno de los nodos del mismo nivel siguiente.
Formas de Conexión entre neuronas
La conectividad entre los nodos de una red neuronal está relacionada con la forma en que las salidas
de las neuronas están canalizadas para convertirse en entradas de otras neuronas. La señal de
salida de un nodo puede ser una entrada de otro elemento de proceso, o incluso de sí mismo
(conexión auto-recurrente).
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de niveles
precedentes, la red se describe como propagación hacia delante. Cuando las salidas pueden estar
conectadas como entradas de neuronas de niveles previos o del mismo nivel, incluyéndose ellas
mismas, la red es de propagación hacia atrás. Las redes de propagación hacia atrás que tiene lazos
cerrados son sistemas recurrentes.
En la siguiente figura se muestran ejemplos de conexiones.
Página 13
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Página 14
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Existen cuatro elementos que caracterizan una red neuronal: su topología, el mecanismo de
aprendizaje, tipo de asociación realizada ente la información de entrada y salida y la forma de
representación de estas informaciones.
Redes monocapa
TIPOS DE
MODELO DE RED
CONEXIONES
CONEXIONES BRAIN STATE IN A BOX
ADDITIVE GROSSBERG
CONEXIONES AUTO-RECURRENTES
(AG)
SHUNTING GROSSBERG
LATERALES
(SG)
OPTIMAL LINEAR
EXPLICITAS
ASOCIATIVE MEMORY
NO AUTO-RECURRENTES HOPFIELD
BOLTZMAN MACHINE
CAUCHY MACHINE
CROSSBAR LEARNING MATRIX (LM)
Redes Multicapa
Son aquellas que disponen las neuronas agrupadas en varias capas. Una las forma para distinguir la
capa a la que pertenece una neurona, consistiría en fijarse en el origen de las señales que recibe a la
entrada y el destino de la señal de salida. Normalmente, todas las neuronas de una capa reciben
señales de entrada de otra capa anterior, más cercana a la entrada de la red, y envían su señal de
salida a una capa posterior, más cercana a la salida de la red. A estas conexiones se les denominan
conexiones hacia delante o feedforward.
Sin embargo en un gran número de estas redes también existe la posibilidad de conectar las salidas
de las neuronas de capas posteriores a las entradas de capas anteriores, a estas conexiones se les
denomina conexiones hacia atrás o feedback.
Estas dos posibilidades permiten distinguir entre dos tipos de redes: las redes con conexiones hacia
adelantes (redes feedforward), y las redes que disponen de conexiones tanto hacia delante como
hacia atrás (redes feedforward/feedback).
Página 15
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Las señales través de se propagan hacia adelante a través de las capas de la red. No existen
conexiones hacia atrás, y normalmente tampoco auto recurrentes, ni laterales, excepto los modelos
de red propuestos por Kohonen.
Las redes feedforward más conocidas son: PERCEPTRON, ADALINE, MADALINE, LINEAR
ADAPTATIVE MEMORY, DRIVE-REINFORCEMENT, BACKPROPAGATION. Todas ellas son útiles
en aplicaciones de reconocimiento o clasificación de patrones.
En éste tipo de redes circula información tanto hacia delante como hacia atrás durante el
funcionamiento de la red. Para que eso sea posible existen conexiones feedforward y feedback entre
las neuronas.
En general, suelen ser bicapas, existiendo por lo tanto dos conjuntos de pesos: los correspondientes
a las conexiones feedforward de la primera capa ( capa de entrada) hacia la segunda (capa de salida)
y los de las conexiones feedback de la segunda a la primera. Los valores de los pesos de estos tipos
de conexiones no tienen porqué coincidir, siendo diferentes en la mayor parte de los casos.
Este tipo de estructura (bicapa) es particularmente adecuada para realizar una asociación de una
información o patrón de entrada (en la primer capa) con otra información o patrón de salida en la
segunda capa (lo cual se conoce como heteroasociación), aunque también pueden ser utilizadas para
la clasificación de patrones.
Algunas redes tienen un funcionamiento basado en lo que se denomina resonancia, de tal forma que
las informaciones en la primera y segundas capas interactúen entre sí hasta que alcanzan un estado
estable. Esto permite un mejor acceso a las informaciones almacenadas en la red.
Los dos modelos de red de dos capas más conocidos son la red ART(Adaptative Resonante Theory)
y la red BAM (Bidirectional Associative Memory).
También en este grupo de redes existen algunas conexiones laterales entre neuronas de la misma
capa. Estas conexiones se diseñan como conexiones excitadotas (con peso positivo) o inhibidoras
(con peso negativo), estableciéndose una competición entre las neuronas correspondientes.
Mecanismo de Aprendizaje
Es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una información de
entrada. Los cambios que se producen durante el proceso de aprendizaje se reducen a destrucción,
modificación y creación de conexiones entre las neuronas. La creación de una nueva conexión
implica que el peso de la misma pasa a tener un valor distinto de cero; una conexión se destruye
cuando su peso pasa a ser cero. El proceso de aprendizaje ha terminado (la red ha aprendido)
cuando los valores de los pesos permanecen estables ( dwij / dt 0 ).
Un aspecto importante respecto al aprendizaje es conocer cómo se modifican los valores de los
pesos; cuáles son los criterios para cambiar el valor asignado a las conexiones cuando se pretende
que la red aprenda una nueva información.
Estos criterios determinan la regla de aprendizaje. Se suelen considerar dos tipos de reglas, las que
responden a lo que se conoce como aprendizaje supervisado y aprendizaje no supervisado. Una de
las clasificaciones de redes neuronales obedece al tipo de aprendizaje utilizado. Así se pueden
distinguir:
Neuronas con aprendizaje supervisado
Neuronas con aprendizaje no supervisado
Página 16
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
En las redes con aprendizaje ON LINE no se distingue entre fase entrenamiento y operación. Los
pesos varían siempre que se presenta una nueva información al sistema. Debido a su carácter
dinámico, el estudio de la estabilidad es un aspecto fundamental de estudio.
Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores
deseado y los obtenidos en la salida de la red; es decir, en función del error cometido en la salida.
Una regla o algoritmo simple podría ser el siguiente:
w ji yi ( d j y j ) .
Siendo:
w ji : Variación del peso de la conexión ente las neuronas i y j ( w ji wactual
ji wanterior
ji ).
yi : Valor de la salida de la neurona i.
d j : Valor de salida deseado para la neurona j.
y j : Valor de salida obtenido para la neurona j.
: Factor de aprendizaje (0 < 1) que regula la velocidad del aprendizaje.
Un algoritmo muy conocido que permite un aprendizaje rápido es propuesto por [Widrow 60],
denominado regla delta o regla del mínimo error cuadrado (LMS Error: Least-Mean-Squared Error),
que se aplicó en las redes desarrolladas por los mismos, conocidas como ADALINE y MADALINE).
[Widrow 60] definieron una función que permitiría cuantificar el error global cometido en cualquier
momento durante el proceso de entrenamiento de la red, lo cual es importante, ya que cuanta más
información se tenga sobre el error cometido, más rápido se puede aprender.
Este error medio se expresa de la siguiente forma:
N
1 P
Errorglobal k 1
( y (jk ) d (j k ) ) 2
2P j 1
Siendo:
N: Número de neuronas de salida(en el caso de ADALINE N=1).
P: Número de informaciones que debe aprender la red.
1 N
j 1
( y kj d kj ) 2 : Error cometido en el aprendizaje de la información k-ésima.
2
Se trata de encontrar pesos para las conexiones que minimicen esta función de error. Para ello, el
ajuste de los pesos de las conexiones de la red se puede hacer de forma proporcional a la variación
relativa del error que se obtiene al variar el peso correspondiente:
Errorglobal
w ji k
w ji
Mediante este procedimiento, se llegan a obtener un conjunto de pesos con los que se consigue
minimizar el error medio.
Otro algoritmo de aprendizaje por corrección de error lo constituye el denominado regla delta
generalizada o algoritmo de retropropagación del error (error backpropagation). Se trata de una
Página 17
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Es un aprendizaje más lento que el anterior, que se basa en la idea de no disponer de un ejemplo
completo del comportamiento deseado; es decir, de no indicar durante el entrenamiento exactamente
la salida que se desea que proporcione la red ante una determinada entrada.
En el aprendizaje por refuerzo la función del supervisor se reduce a indicar mediante una señal de
refuerzo si la salida obtenida en la red se ajusta a la deseada (éxito = +1 o fracaso = -1), y en función
de ello se ajustan los pesos basándose en un mecanismo de probabilidades.
Un ejemplo de algoritmo es el Linear Reward-Penality o LR P (algoritmo lineal con recompensa y
penalización) presentado por Narendra y Thathacher en 1974. Este algoritmo ha sido ampliado por
Barto y Anandan, quienes en 1985 desarrollaron el denominado Associative Reward-Penality o AR P
(algoritmo asociativo con recompensa y penalización), que se aplica en redes con conexiones hacia
delante de dos capas cuyas neuronas de salida presentan una función de activación estocástica.
Otro algoritmo conocido es el Adaptive Heuristic Critic, introducido por Barto, Sutton y Anderson en
1983, que se utiliza en redes feedforward de tres capas especialmente diseñadas para que una parte
de la red sea capaz de generar una valor interno de refuerzo que es aplicado a las neuronas de salida
de la red.
Aprendizaje estocástico
Este tipo de aprendizaje consiste básicamente en realizar cambios aleatorios en los valores de los
pesos de las conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones
de probabilidad.
En el aprendizaje estocástico se suele hacer una analogía en términos termodinámicos, asociando la
red neuronal con un sólido físico que tiene cierto estado energético. En el de caso de la red, la
energía de la misma representaría el grado de estabilidad de la red, de tal forma que el estado de
mínima energía correspondería a una situación en la que los pesos de las conexiones consiguen que
su funcionamiento sea el que más se ajusta al objetivo deseado.
Según lo anterior, el aprendizaje consistiría en realizar un cambio aleatorio de los valores de los
pesos y determinar la energía de la red. Si la energía es menor después del cambio; es decir, si el
comportamiento de la red se acerca al deseado, se acepta el cambio; de lo contrario, se aceptaría el
cambio en función de una determinada y preestablecida distribución de probabilidades.
Las redes con dicho aprendizaje no requieren de influencia externa para ajustar los pesos de las
conexiones entre sus neuronas. La red no recibe ninguna información por parte del entorno que le
indique si la salida generada en respuesta de una entrada es o no correcta. Suele decirse que estas
redes son capaces de autoorganizarse.
Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se
pueden establecer entre los datos que se presentan en su entrada.
En algunos casos, la salida representa el grado de familiaridad o similitud entre la información que se
le está presentando en la entrada y las que se le han mostrado en el pasado. En otro caso podría
realizar una clusterización, indicando la red la salida a qué categoría pertenece la información
presentada a la entrada, siendo la propia red quien debe encontrar las categorías apropiadas a partir
de correlaciones entre las informaciones presentadas. Una variación de esta categorización es el
prototipado. En este caso, la red obtiene prototipos representantes de las clases a las que pertenecen
las informaciones de entrada.
También el aprendizaje sin supervisión permite realizar una codificación de los datos de entrada,
generando a la salida una versión codificada de la entrada, con menos bits, pero manteniendo la
información relevante de los datos.
Página 18
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Aprendizaje hebbiano
Este tipo de aprendizaje se basa en el postulado formulado por Donald O. Hebb en 1949: “Cuando un
axón de una celda A está suficientemente cerca como para conseguir excitar a una celda B y repetida
o persistemente toma parte en su activación, algún proceso de crecimiento o cambio metabólico tiene
lugares en una o ambas celdas, de tal forma que la eficiencia de A, cuando la celda a activar es B,
aumenta. Por celdas, Hebb entiende un conjunto de neuronas fuertemente conexionadas a través
de una estructura compleja. La eficiencia podría identificarse por la intensidad o magnitud de la
conexión, es decir, con el peso.
Se puede decir que el aprendizaje consiste en el ajuste de los pesos de las conexiones de acuerdo
con la correlación ( multiplicación en el caso de valores binarios +1 y –1) de los valores de activación
(salidas) de las neuronas conectadas.
wij yi * y j
Esta expresión responde a la idea de Hebb, puesto que si las dos unidades son activas (positivas), se
refuerza la conexión; por el contrario, cuando una es activa y la otra pasiva, se debilita la conexión.
Existen muchas variaciones de dicho aprendizaje, por ejemplo, Sejnowski en 1977 utilizó la
correlación de covarianza de los valores de activación de las neuronas. Sutton y Barto en 1981
utilizaron la correlación el valor medio de una neurona con la varianza de la otra. Klopf en 1986
propuso una correlación entre las variaciones de los valores de activación en dos instantes de tiempo
sucesivos, aprendizaje que denominó drive-reinforcement y que utilizó en redes del mismo nombre
con topología feedforward de dos capas.
Otra versión e este aprendizaje es el hebbiano diferencial, que utiliza la correlación de las derivadas
en el tiempo de las funciones de activación de las neuronas.
En dicho aprendizaje suele decirse que las neuronas compiten (y cooperan) unas con otras con el fin
de llevar a cabo una tarea dada.
La competición ente neuronas se realiza en todas las capas de la red, existiendo en estas neuronas
conexiones recurrentes de autoexcitación y conexiones de inhibición por parte de neuronas vecinas.
Si el aprendizaje es cooperativo, estas conexiones con las vecinas serán de excitación.
El objetivo de este aprendizaje es clusterizar los datos que se introducen en la red. De esta forma, las
informaciones similares son clasificadas formando parte de la misma categoría, y por tanto deben
activar la misma neurona de salida. Las categorías deben ser creadas por la misma red, puesto que
se trata de aprendizaje no supervisado, a través de las correlaciones ente los datos.
En este tipo de redes, cada neurona tiene asignado un peso total, suma de todos los pesos de las
conexiones que tiene a su entrada. El aprendizaje afecta sólo a las neuronas ganadoras (activas),
redistribuyendo este peso total entre todas las conexiones que llegan a al neurona vencedora y
repartiendo esta cantidad por igual entre todas las conexiones procedentes de unidades activas. Por
tanto, la variación del peso de una conexión ente una unidad i y otra j será nula si la neurona j no
recibe excitación por parte de la neurona i y otra j será nula si la neurona j no recibe excitación por
parte de la neurona i, y se modificará si es excitada por dicha neurona i.
Existe otro caso particular de aprendizaje competitivo, denominado teoría de la resonancia
adaptativa, desarrollado por Carpenter y Grossberg en 1986 y utilizado en la red feedforward
/feedback de dos capas conocida como ART. Esta red realiza un prototipado de las informaciones
que recibe a la entrada, generando como salida un ejemplar o prototipo que representa a todas las
informaciones que podrían considerarse pertenecientes a la misma categoría.
Página 19
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Red ADALINE
Las redes ADALINE (Adaptative Linear Element), fueron desarrolladas por Bernie Widrow en la
Universidad de Stanford. Dicha red usa neuronas con función de transferencia escalón, y está
limitada a una única neurona de salida.
Utiliza la denominada regla Delta de Widrow-Hoff o regla del mínimo error cuadrado medio (LMS),
basada en la búsqueda del mínimo de una expresión del error entre la salida deseada y la salida
lineal obtenida antes de aplicarle la función de activación escalón. Estas redes pueden procesar
información analógica, tanto de entrada como de salida, utilizando una función de activación lineal o
sigmoidal.
En cuanto a su estructura, está formada por un elemento denominado combinador adaptativo lineal
(ALC) que obtiene una salida lineal(s) que pueda ser aplicada a otro elemento de conmutación
bipolar, de forma que si la salida del ALC es positiva, la salida de la red ADALINE es +1; si la salida
es negativa, entonces la salida de la red ADALINE es –1.
En la figura siguiente se muestra la red ADALINE, compuesta por un combinador adaptativo lineal y
una función de salida bipolar.
N
S w0 j 1
wj x j
La red ADALINE se puede utilizar para generar una salida analógica utilizando un conmutador
sigmoidal, en lugar de binario; en tal caso, la salida y se obtendrá aplicando una función tipo
S
sigmoidal, como la tangente hiperbólica (tanh(s)) o la exponencial (1/1+ e ).
Página 20
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
La red ADALINE utiliza un aprendizaje OFF LINE con supervisión denominado LMS (Least Mean
Squared) o regla del mínimo cuadrado medio. También se conoce como regla delta porque trata de
minimizar una delta o diferencia entre el valor observado y el deseado en la salida de la red. La salida
considerada es el valor previo a la aplicación de la función de activación de la neurona.
La regla aprendizaje de mínimos cuadrados es un método para hallar el vector de pesos W deseado,
el cual deberá ser único y asociar con éxito cada vector del conjunto de vectores o patrones de
entrada {X 1 , X 2 , X 3 ,........, X L } con su correspondiente valor de salida correcto (o deseado) d k ,
k=1,...L. El problema hallar un conjunto de pesos W que para un único vector de entrada X dé lugar a
un vector de salida correcto resulta sencillo, lo que no ocurre cuando se dispone de un conjunto de
vectores de entrada, cada uno con su propio valor de salida asociado. El entrenamiento de la red
consiste en adaptar los pesos a medida que se vayan presentando los patrones de entrenamiento y
salidas deseadas para cada uno de ellos. Para cada combinación entrada-salida se realiza un
proceso automático de pequeños ajustes en los valores de los pesos hasta que se obtienen las
salidas correctas.
La primera cuestión a resolver es definir qué significa obtener el mejor vector de pesos obtenido a
i i
partir de unas parejas de valores ejemplo ( X , d ) de forma que, una vez encontrado, desearemos
que al aplicar todos los vectores de entrada se obtenga como resultado el valor de salida correcto. Se
trata de eliminar, o por lo menos, minimizar la diferencia entre la salida deseada y la real para todos
los vectores de entrada.
La regla de aprendizaje LMS minimiza el error cuadrado medio, definido como:
2 1 L 2
k k
2L k 1
donde L es el número de vectores de entrada (patrones) que forman el conjunto de entrenamiento, y
k la diferencia entre la salida deseada y la obtenida cuando se introduce el patrón k-ésimo, que, se
La función de error es una función matemática definida en el espacio de pesos multidimensional para
un conjunto de patrones dados. Es una superficie que tendrá muchos mínimos (global y locales), y la
regla de aprendizaje va a buscar el punto en el espacio de pesos donde se encuentra el mínimo
global de esta superficie. Aunque la superficie de error es desconocida, el método de gradiente
decreciente consigue obtener información local de dicha superficie a través del gradiente. Con esta
información se decide qué dirección tomar para llegar hasta el mínimo global de ducha superficie.
Basándose en el método del gradiente decreciente, se obtiene una regla para modificar los pesos de
tal manera que hallamos un nuevo punto en el espacio de pesos más próximo al punto mínimo. Es
decir, las modificaciones en los pesos son proporcionales al gradiente decreciente de la función error
wj ( k / w j ) . Por tanto, se deriva la función error con respecto a los pesos para ver cómo
varía el error con el cambio de pesos.
Aplicamos la regla de la cadena para el cálculo de dicha derivada:
2
k ek2 sk
wi .
wi sk wi
Se calcula la primer derivada:
1
2 (d k sk ) 2
e k 2 1
(2(d k sk )( 1)) (d k sk ) k
sk sk 2
por tanto, queda:
2
k
k
sk
Página 21
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
w(t 1) w j (t ) k xk .
j
Se repiten los pasos del 1 al 3 con todos los vectores de entrada (L).
2 1 L 2
Si el error cuadrado medio: k k es un valor reducido aceptable, termina el proceso
2L k 1
de aprendizaje; sino, se repite otra vez desde el paso 1 con todos los patrones.
Cuando se utiliza una red ADALINE para resolver un problema concreto, es necesario determinar una
serie de aspectos prácticos, como el número de vectores de entrenamiento necesarios, hallar la
forma de generar la salida deseada para cada vector de entrenamiento, o la dimensión óptima del
vector de pesos, o cuales deberían ser los valores iniciales de los pesos, así como si es necesario o
no un umbral , o cuál debe ser el valor de , o cuándo se debe finalizar el entrenamiento, etc.
Página 22
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Respecto al número de componentes del vector de pesos, si el número de entradas está bien
definido, entonces habrá un peso por cada entrada, con la opción de añadir o no un peso para la
entrada del umbral.
La solución es diferente cuando sólo se dispone de una señal de entrada. En estos casos, la
aplicación más común es el filtro adaptativo para, por ejemplo, eliminar ruido de la señal de entrada.
La dimensión del vector de pesos tiene una influencia directa en el tiempo necesario de
entrenamiento, generalmente, se debe tomar un compromiso entre este aspecto y la aceptabilidad de
la solución (normalmente se mejora el error aumentando el número de pesos).
El valor del parámetro tiene una gran influencia sobre el entrenamiento. Si es demasiado
grande, la convergencia es posible que no se produzca, debido a que se darán saltos en torno al
mínimo sin alcanzarlo. Si es demasiado pequeño, alcanzaremos la convergencia, pero la etapa de
aprendizaje será más larga.
En cuanto al momento en el que debemos detener el entrenamiento, depende de los requerimientos
del sistema. El entrenamiento se detiene cuando el error observado es menor que el admisible en la
señal de salida de forma sostenida. Se suele tomar el error cuadrático medio como la magnitud que
determina el instante en el que un sistema ha convergido.
La principal aplicación de las redes ADALINE está en el campo del procesamiento de señales, en
concreto, para el diseño y realización de filtros que eliminen el ruido en señales portadoras de
información.
Se destaca su uso como filtros de ecuación adaptativos en módems de alta velocidad y canceladores
adaptativos del eco para el filtrado de señales en comunicaciones telefónicas de larga distancia y
comunicaciones vía satélite.
También se han utilizado para la eliminación del ruido materno de las grabaciones
electrocardiográficas (ECG) del latido del corazón del feto humano.
Por otro lado los filtros adaptativos también se suelen utilizar para predecir el valor futuro de una
señal a partir de su valor actual, basándose en un aprendizaje en el que se emplea como entrada el
valor retardado de la señal actual(la señal en algún momento anterior), y como salida esperada, el
valor actual de la señal. El filtro intentará minimizar el error entre su salida y la señal actual,
basándose en una entrada que es el valor de la señal en algún instante anterior. Una vez que el filtro
predice correctamente la señal actual, basándose en la señal anterior, se puede utilizar directamente
la actual como entrada sin retardo. El filtro realizará una predicción del valor futuro de la señal.
La Red Backpropagation
En 1986, Rumelhart, Hinton y Williams, formalizaron un método para que una red neuronal aprendiera
la asociación que existe entre los patrones de entrada y las clases correspondientes, utilizando varios
niveles de neuronas.
El método backpropagation (propagación del error hacia atrás), basado en la generalización de la
regla delta, a pesar de sus limitaciones, ha ampliado de forma considerable el rangote aplicaciones
de las redes neuronales.
El funcionamiento de la red backpropagartion (BPN) consiste en el aprendizaje de un conjunto
predefinido de pares de entradas-salidas dados como ejemplo: primero se aplica un patrón de
entrada como estímulo para la primera capa de las neuronas de la red, se va propagando a través de
todas las capas superiores hasta generar una salida, se compara el resultado en las neuronas de
salida con la salida que se desea obtener y se calcula un valor de error para cada neurona de salida.
A continuación, éstos errores se transmiten hacia atrás, partiendo de la capa de salida hacia todas las
neuronas de la capa intermedia que contribuyan directamente a la salida, recibiendo de error
aproximado a la neurona intermedia a la salida original. Este proceso se repite, capa por capa, hasta
que todas las neuronas de la red hayan recibido un error que describa su aportación relativa al error
total. Basándose en el valor del error recibido, se reajustan los pesos de conexión de cada neurona,
de manera que en la siguiente vez que se presente el mismo patrón, la más salida esté cercana a la
deseada.
La importancia de la red backpropagation consiste en su capacidad de autoadaptar los pesos de las
neuronas de las capas intermedias para aprender la relación que existe ente un conjunto de patrones
de entrada y sus salidas correspondientes. Es importante la capacidad de generalización, facilidad de
dar salidas satisfactorias a entradas que el sistema no ha visto nunca en su fase de entrenamiento.
La red debe encontrar una representación interna que le permita generar las salidas deseadas
Página 23
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
La regla propuesta por Widrow en 1960 ha sido extendida a redes con capas intermedias con
conexiones hacia delante (feedforward) y cuyas células tienen funciones de activación continuas
(lineales o sigmoidales), dando lugar a la retropopagación. Estas funciones continuas son no
decrecientes y derivables.
Este algoritmo utiliza una función de error asociada a la red, buscando el estado estable de mínima
energía o de mínimo error a través del camino descendente de la superficie del error. Por ello
realimenta el error del sistema para realizar la modificación de los pesos en un valor proporcional al
gradiente decreciente de dicha función de error.
Funcionamiento del algoritmo
El método que sigue la regla delta generalizada para ajustar los pesos es exactamente el mismo que
el de la regla utilizada en ADALINE; los pesos se actualizan de forma proporcional a la delta, o
diferencia entre la salida deseada y la obtenida ( = salida deseada – salida obtenida).
Dada una neurona (unidad U i ) y la salida que produce, yi , el cambio que se produce en le peso de
la conexión que una salida de dicha neurona con la unidad U j ( w ji ) para un patrón de aprendizaje p
determinado es:
w ji (t 1) pj y pi
En donde el subíndice p se refiere al patrón de aprendizaje concreto, y es la constante o tasa de
aprendizaje.
En redes multinivel en principio no se puede conocer la salida deseada de las neuronas ocultas para
poder determinar los pesos en la función de error cometido. Inicialmente podemos conocer la salida
deseada de las neuronas de salida. Según esto, si consideramos la unidad U j de salida, entonces
definimos:
pi (d pj y pj ). f ´(net j )
donde d pj es la salida deseada de la neurona j para el patrón p y net j es la entrada neta que recibe
la neurona j.
Esta fórmula es como la de la regla delta, excepto a los se refiere a la derivada de la función de
transferencia. Este término representa la modificación que hay que realizar en la entrada que recibe
la neurona j. En caso de que dicha neurona no sea de salida, el error que se produce estará en
función del error que se cometa en las neuronas que reciban como entrada la salida de dicha
neurona. Esto es lo que se denomina como procedimiento de propagación de error hacia atrás.
Según esto, en el caso de que U j no sea una neurona de salida, el error que se produce está en
función del error que se comete en las neuronas que reciben como entrada la salida de U j :
pj ( pk wkj ). f ´(net j )
k
donde el rango de k cubre a todas las neuronas a las que está conectada la salida de U j . De esta
forma el error que se produce en una neurona oculta es la suma de los errores que se producen en
las neuronas a las que está conectada la salida de ésta, multiplicado cada uno de ellos por el peso de
la conexión.
El método de retropopagación del error requiere un importante número de cálculos para lograr el
ajuste de los pesos de la red. En la implementación del algoritmo, se toma una amplitud de paso que
viene dada por la tasa de aprendizaje. A mayor tasa de aprendizaje, mayor es la modificación de los
pesos en cada iteración, con lo que el aprendizaje será más rápido, pero por otro lado, puede dar
lugar a oscilaciones. Rumelhart, Hinton y Williams sugirieron que para filtrar estas oscilaciones se
añada en la expresión de incremento de los pesos un término (momento), , de manera que dicha
expresión quede:
Página 24
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
w ji (t 1) w ji (t ) pj y pi ( w ji (t ) w ji (t 1))
w ji (t 1) pj y pi w ji (t )
donde es una constante que determina el efecto t+1 del cambio de los pesos en el instante t.
Con este momento se consigue la convergencia de la red en menor número de iteraciones, ya que si
en t el incremento de un peso era positivo y en t+1 también, entonces el descenso por la superficie
de error en t+1 es mayor. Sin embargo, si en t era positivo y en t+1 es negativo, el paso que se da en
t+1 es más pequeño, lo cual es adecuado, ya que significa que se ha pasado por un mínimo y que los
pesos deben ser menores para poder alcanzarlo.
donde:
pj (d pj y pj ) f ´(net j ) si U j es una neurona de salida.
pj ( k pk w kj ) f ´(net j ) si U j no es una neurona de salida.
En una red Backpropagation existe una capa de entrada con n neuronas y una capa de salida con m
neuronas y al menos una capa oculta de neuronas internas. Cada neurona de una capa (excepto las
de entrada) recibe entradas de todas las neuronas de la capa anterior y envía su salida a todas las
neuronas de la capa posterior (excepto las de salida). No hay conexiones hacia atrás feedback ni
laterales entre las neuronas de la misma capa.
La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás. Durante la primera
fase el patrón de entrada es presentado a la red y propagado a través de las capas hasta llegar a la
capa de salida. Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose
éstos valores con la salida esperada para obtener el error. Se ajustan los pesos de la última capa
proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del error, ajustando
los pesos y continuando con este proceso hasta llegar a la primer capa. De esta manera se han
modificado los pesos de las conexiones de la red para cada patrón de aprendizaje del problema, del
que conocíamos su valor de entrada y la salida deseada que debería generar la red ante dicho
patrón.
La técnica Backpropagation requiere el uso de neuronas cuya función de activación sea continua, y
por lo tanto, diferenciable. Generalmente, la función utilizada será del tipo sigmoidal.
Paso 1
Inicializar los pesos de la red con valores pequeños aleatorios.
Paso 2
Presentar un patrón de entrada y especificar la salida deseada que debe generar la red.
Paso 3
Calcular la salida actual de la red. Para ello presentamos las entradas a la red y vamos calculando la
salida que presenta cada capa hasta llegar a la capa de salida, ésta será la salida de la red. Los
pasos son los siguientes:
Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada.
Para una neurona j oculta:
N
net hpj w hji x pi h
j
i 1
Página 25
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
y pk f (net opk )
k
0
Paso 4
Calcular los términos de error para todas las neuronas.
Si la neurona k es una neurona de la capa de salida, el valor de la delta es:
0
pk (d pk y pk ) f ko´ (net opk )
La función f debe ser derivable. En general disponemos de dos formas de función de salida:
La función lineal : f k (net jk ) net jk
1
La función sigmoidal : f k (net jk ) net jk
1 e
La selección de la función depende de la forma que se decida representar la salida: si se desea que
las neuronas de salida sean binarias, se utiliza la función sigmoidal, en otros casos, la lineal.
o
Para una función lineal, tenemos: f k ´ 1 , mientras que la derivada de una función sigmoidal es:
f ko ´ f ko (1 f ko ) y pk (1 y pk ) por lo que los términos de error para las neuronas de salida
quedan:
o
pk (d pk y pk ) para la salida lineal.
o
pk (d pk y pk ) y pk (1 y pk ) para la salida sigmoidal.
Si la neurona j no es de salida, entonces la derivada parcial del error no puede ser evaluada
directamente, por tanto se obtiene el desarrollo a partir de valores que son conocidos y otros que
pueden ser evaluados.
h
La expresión obtenida en este caso es: pj f jh ´(net hpj ) 0
pk wkj0 donde observamos que el error
k
en las capas ocultas depende de todos los términos de error de la capa de salida. De aquí surge el
término propagación hacia atrás.
Paso 5
Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas
de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la
siguiente forma:
Para los pesos de las neuronas de la capa de salida:
wkj0 (t 1) wkjo (t ) wkjo (t 1)
wkjo (t 1) o
pk y pj
Para los pesos de las neuronas de la capa oculta:
whji (t 1) whji (t ) whji (t 1)
whji (t 1) h
pj x pi
En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término momento.
Página 26
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales
Paso 6
1 M 2
El proceso se repite hasta que el término de error Ep pk resulta aceptablemente pequeño
2k1
para cada uno de los patrones aprendidos.
El algoritmo encuentra un valor mínimo de error (local o global) mediante una aplicación de pasos
(gradiente) descendentes. Cada punto de la superficie de la función corresponde a un conjunto de
valores de los pesos de la red. Con el gradiente descendente, siempre que se realiza un cambio en
todos los pesos de la red, se asegura el descenso por la superficie del error hasta encontrar el valle
más cercano, lo que puede hacer que el proceso de aprendizaje se detenga en un mínimo local de
error.
Uno de los problemas del algoritmo es que en busca de minimizar la función de error, puede caer en
un mínimo local o en algún punto estacionario, con lo cual no se llega a encontrar el mínimo global de
la función de error. Sin embargo, no tiene porqué alcanzarse el mínimo global en todas las
aplicaciones, sino que puede ser suficiente con un error mínimo preestablecido.
Control de Convergencia
En las técnicas de gradiente decreciente es conveniente avanzar por la superficie del error con
incrementos de pesos pequeños. Esto se debe a que tenemos una información local de la superficie y
no se sabe lo lejos o cerca que se está del punto mínimo. Con incrementos grandes se corre el riesgo
de pasar por encima del punto mínimo sin conseguir estacionarse en él. Con incrementos pequeños,
aunque se tarda más en llegar, se evita que ocurra esto.
El incremento del paso adecuado influye en la velocidad de convergencia del algoritmo. La velocidad
se controla con la tasa de aprendizaje . Normalmente , debe ser un número pequeño (del orden
de 0,05 a 0,25), para asegurar que la red llegue a asentarse en una solución.
Lo habitual es aumentar el valor de a medida que disminuye el error de la red durante la fase de
aprendizaje. Así aceleramos la convergencia aunque sin llegar nunca a valores de demasiado
grandes, que hicieran que la red oscilase alejándose del mínimo.
En la práctica, si una red deja de aprender antes de llegar a una solución aceptable, se realiza un
cambio en el número de neuronas ocultas o en los parámetros de aprendizaje, o simplemente, se
vuelve a empezar con un conjunto distinto de pesos originales y se suele resolver el problema.
No se pueden dar reglas concretas para determinar el número de neuronas o número de capas de
una red para resolver un problema concreto.
Respecto al número de capas de la red, en general tres capas son suficientes (entrada -oculta-
salida). Sin embargo, hay veces que un problema es más fácil de resolver con más de una capa
oculta. El tamaño de las capas, tanto de entrada como de salida, suelen venir determinado por la
naturaleza de la aplicación. En cambio, decidir cuántas neuronas debe tener una capa oculta no suele
ser tan evidente.
El número de neuronas ocultas interviene en la eficiencia de aprendizaje y de generalización de la
red. No hay ninguna regla que indique el número óptimo, en cada problema se debe ensayar.
Actualmente, este tipo de redes se están aplicando en distintas clases de problema debido al la
naturaleza general del proceso de aprendizaje. Algunos de los campos generales de aplicación son:
Codificación de Información.
Traducción de texto a lenguaje hablado.
Reconocimiento de lenguaje hablado.
Reconocimiento óptico de caracteres (OCR).
Página 27
La función de transferencia en una red neuronal artificial transforma el estado actual de activación de cada neurona en una señal de salida . El tipo de función de transferencia elegida (escalón, lineal, mixta, sigmoidal o gaussiana) influye significativamente en el comportamiento de la red. Por ejemplo, las funciones escalón son aptas para salidas binarias, mientras que las funciones mixtas y sigmoidales se utilizan cuando se desean salidas analógicas . La función seleccionada afecta la capacidad de la red para aprender patrones y responde de manera diferente a los umbrales de activación, lo que impacta en la precisión de las respuestas del modelo .
El aprendizaje por corrección de error en redes neuronales consiste en ajustar los pesos de las conexiones basándose en la diferencia entre los valores de salida deseados y los obtenidos, es decir, el error cometido . Los pesos se modifican proporcionalmente al error, utilizando una función matemática conocida como regla delta o algoritmo de retropropagación del error, para minimizar el error cuadrado promedio de la salida de la red . Este ajuste busca reducir el error general en cada iteración del entrenamiento para que las salidas se aproximen cada vez más a los valores deseados .
Los tres tipos principales de aprendizaje en redes neuronales son: por corrección de error, por refuerzo y estocástico . El aprendizaje por corrección de error ajusta los pesos en función del error entre las salidas deseadas y las obtenidas, buscando minimizar este error . El aprendizaje por refuerzo no utiliza ejemplos completos de salida, sino que proporciona una recompensa o penalización en base al éxito general de salida, ajustando pesos mediante mecanismos probabilísticos . El aprendizaje estocástico involucra cambios aleatorios en los pesos, observando cómo estas modificaciones afectan el rendimiento frente a los objetivos deseados . Cada tipo enfoca la modificación de pesos de manera diferente, ya sea a través de cálculo directo de errores, ajuste probabilístico o exploración aleatoria .
La función de activación lineal-mixta en redes neuronales permite la limitación de valores de salida a un rango específico de valores reales, lo que puede ayudar a estabilizar las respuestas del modelo para entradas específicas . Una ventaja clave de este enfoque es su capacidad para manejar salidas continuas dentro de un intervalo predefinido, útil en tareas de regresión donde se requiera un rango de salida controlado . Sin embargo, una posible limitación es su capacidad reducida para capturar no linealidades complejas en los datos, lo cual es una desventaja en comparación con funciones no lineales como la sigmoidal que permiten capturar relaciones no lineales profundas entre entradas y salidas .
La regla delta generalizada ajusta los pesos en redes neuronales mediante modificaciones proporcionales al error del sistema, calculado como la diferencia entre la salida deseada y la obtenida . Este algoritmo extiende la regla delta de Widrow, permitiendo su aplicación en redes multicapa con funciones de activación continuas, mejorando así la capacidad de modelar problemas complejos . Su importancia radica en su capacidad para realizar ajustes de pesos eficientemente, lo que permite que la red aprenda y generalice a partir de un conjunto de entrenamiento, llevando a mejoras en la precisión y funcionalidad de aplicaciones prácticas, como el reconocimiento de patrones y la clasificación de datos .
Una red neuronal artificial se organiza en capas de neuronas, típicamente conformadas por una capa de entrada, una o más capas ocultas, y una capa de salida . La capa de entrada recibe datos externos para procesar, las capas ocultas ejecutan cálculos intermedios mediante ajustes en los pesos de conexión, y la capa de salida proporciona el resultado final . Las capas ocultas son esenciales para el procesamiento de características complejas y abstractas de los datos de entrada, permitiendo que la red desarrolle representaciones internas poderosas, lo que aumenta su habilidad para aprender patrones subyacentes y generalizar a partir de los datos entrenados .
En el aprendizaje ON LINE, los pesos de las conexiones en la red neuronal se ajustan continuamente a medida que se presenta nueva información, lo que resulta en un sistema dinámico donde la estabilidad es una preocupación importante . En cambio, en el aprendizaje OFF LINE, los pesos permanecen fijos después de completar el entrenamiento, proporcionando estabilidad al sistema al ser de carácter estático . La principal implicación es que en el aprendizaje ON LINE hay una necesidad continua de monitorizar y garantizar la estabilidad del sistema durante el aprendizaje continuo, mientras que en OFF LINE, esta preocupación es menos relevante una vez se ha terminado el entrenamiento inicial .
La función de activación escalón se utiliza en redes neuronales donde las salidas son binarias. Activa una neurona sólo cuando la entrada neta es igual o mayor a un umbral predefinido, resultando en salidas de 0 o 1 . En contraste, la función sigmoidal proporciona un rango continuo de salidas entre 0 y 1, permitiendo un ajuste más suave de la activación de la neurona, lo que es útil en problemas donde se necesitan salidas continuas y mayor diferenciación en los niveles de activación . La función escalón es ideal para problemas de decisión binaria, mientras que la sigmoidal se aplica en contextos que requieren aprendizaje profundo y adaptaciones finas, como en redes multicapa utilizadas para clasificación compleja y regresión .
La regla delta generalizada define la retropropagación del error como un proceso para ajustar los pesos de las conexiones en redes neuronales multicapa mediante la transmisión del error desde la capa de salida hacia atrás a través de la red . Se calcula el error para cada neurona de salida como la diferencia entre la salida deseada y la salida producida, y este error se utiliza para ajustar los pesos de las conexiones de cada capa posterior contribuyente . Este método es crucial para el aprendizaje en redes multicapa, permitiendo que las neuronas de las capas ocultas ajusten sus pesos para mejorar la precisión de todo el sistema en tareas complejas de reconocimiento y clasificación .
El umbral de activación en las neuronas de redes neuronales determina el punto crítico en el cual una neurona se activa y transmite una señal a otras neuronas . Su papel es crucial en funciones de activación como la función escalón, donde la neurona sólo se activa si la entrada neta supera este umbral . Este umbral permite a la red filtrar cuáles patrones deben ser activados o inhibidos, influyendo directamente en la red en términos de sensibilidad y especificidad frente a estímulos de entrada . Cambios en el umbral de activación pueden modificar significativamente el comportamiento de la red al alterar el patrón de activación de las neuronas, afectando el rendimiento en tareas de clasificación y reconocimiento .