0% encontró este documento útil (0 votos)
34 vistas27 páginas

Introducción a Redes Neuronales

El documento habla sobre la historia y conceptos básicos de las redes neuronales. Explica que las redes neuronales intentan emular el funcionamiento del cerebro humano y su capacidad de aprendizaje. También describe los orígenes de las redes neuronales y algunos hitos importantes en su desarrollo a lo largo de la historia.

Cargado por

fabriziodiaz11
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • Redes de Aprendizaje por Recon…,
  • Aprendizaje Adaptativo,
  • Aprendizaje Supervisado,
  • Tolerancia a Fallos,
  • Aprendizaje No Supervisado,
  • Conexiones Feedforward,
  • Clasificación,
  • Redes de Propagación Hacia Ade…,
  • Auto-organización,
  • Redes de Aprendizaje por Proto…
0% encontró este documento útil (0 votos)
34 vistas27 páginas

Introducción a Redes Neuronales

El documento habla sobre la historia y conceptos básicos de las redes neuronales. Explica que las redes neuronales intentan emular el funcionamiento del cerebro humano y su capacidad de aprendizaje. También describe los orígenes de las redes neuronales y algunos hitos importantes en su desarrollo a lo largo de la historia.

Cargado por

fabriziodiaz11
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • Redes de Aprendizaje por Recon…,
  • Aprendizaje Adaptativo,
  • Aprendizaje Supervisado,
  • Tolerancia a Fallos,
  • Aprendizaje No Supervisado,
  • Conexiones Feedforward,
  • Clasificación,
  • Redes de Propagación Hacia Ade…,
  • Auto-organización,
  • Redes de Aprendizaje por Proto…

UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales

Apuntes de Redes Neuronales

Introducción a la Computación Neuronal

El hombre se ha caracterizado siempre por su


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.
Charles Babbage trató 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 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 más que otra forma de emular ciertas características propias de los
humanos, como la capacidad de memorizar y de asociar hechos. Si se examinan con atención
aquellos problemas que no pueden expresarse a través de un algoritmo, se observará que todos ellos
tienen una característica en 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 para un 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”.
Todos los procesos del cuerpo humano se relacionan en alguna u otra forma con la (in)actividad de
estas neuronas. Las mismas son un componente relativamente simple del ser humano, pero cuando
millares de ellas se conectan en forma conjunta se hacen muy poderosas.
También, es bien conocido que los humanos son capaces de aprender. Aprendizaje significa que
aquellos problemas que inicialmente no pueden resolverse, pueden ser resueltos después de obtener
más información acerca del problema.
Por lo tanto, las Redes Neuronales:
Consisten de unidades de procesamiento que intercambian datos o información.
Se utilizan para reconocer patrones, incluyendo imágenes, manuscritos y secuencias de
tiempo, tendencias financieras.
Tienen capacidad de aprender y mejorar su funcionamiento.

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.

Historia de las Redes Neuronales

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).

A pesar de disponer de herramientas y lenguajes de programación diseñados expresamente para el


desarrollo de máquinas inteligentes, existe un enorme problema que limita los resultados que se
pueden obtener: estas máquinas se implementan sobre computadoras basadas en la filosofía de Von
Neumann, y que se apoyan en una descripción secuencial del proceso de tratamiento de la
información. Si bien el desarrollo de estas computadoras es espectacular, no deja de seguir la línea
antes expuesta: una máquina que es capaz de realizar tareas mecánicas de forma increíblemente
rápida, como por ejemplo cálculo, ordenación o control, pero incapaz de obtener resultados
aceptables cuando se trata de tareas como reconocimiento de formas, voz, etc.

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.

Definiciones de una red neuronal

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

4) Redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos


simples (usualmente adaptativos) y con organización jerárquica, las cuales intentan interactuar con
los objetos del mundo real del mismo modo que lo hace el sistema nervioso biológico.

Ventajas que ofrecen las 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: capacidad de aprender a realizar tareas basadas en un entrenamiento o en


una experiencia inicial.

Auto-organización: una red neuronal puede crear su propia organización o representación de la


información que recibe mediante una etapa de aprendizaje.
Tolerancia a fallos: la destrucción parcial de una red conduce a una degradación de su estructura; sin
embargo, algunas capacidades de la red se pueden retener, incluso sufriendo un gran daño.
Operación en tiempo real: los cómputos neuronales pueden ser realizados en paralelo; para esto se
diseñan y fabrican máquinas con hardware especial para obtener esta capacidad.
Fácil inserción dentro de la tecnología existente: se pueden obtener chips especializados para redes
neuronales que mejoran su capacidad en ciertas tareas. Ello facilitará la integración modular en los
sistemas existentes.

Aprendizaje Adaptativo

La capacidad de aprendizaje adaptativo es una de las características más atractivas de redes


neuronales. Esto es, aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos
ilustrativos. Como las redes neuronales pueden aprender a diferenciar patrones mediante ejemplos y
entrenamientos, no es necesario elaborar modelos a priori ni necesidad de especificar funciones de
distribución de probabilidad.
Las redes neuronales son sistemas dinámicos autoadaptativos. Son adaptables debido a la
capacidad de autoajuste de los elementos procesales (neuronas) que componen el sistema. Son
dinámicos, pues son capaces de estar constantemente cambiando para adaptarse a las nuevas
condiciones.
En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se
obtengan ciertos resultados específicos. Una red neuronal no necesita un algoritmo para resolver un
problema, ya que ella puede generar su propia distribución de pesos en los enlaces mediante el
aprendizaje. También existen redes que continúan aprendiendo a lo largo de su vida, después de
completado su período de entrenamiento.
La función del diseñador es únicamente la obtención de la arquitectura apropiada. No es problema del
diseñador el cómo la red aprenderá a discriminar. Sin embargo, sí es necesario que desarrolle un
buen algoritmo de aprendizaje que le proporcione a la red la capacidad de discriminar, mediante un
entrenamiento con patrones.

Auto-organización

Las redes neuronales emplean su capacidad de aprendizaje adaptativo para autoorganizar la


información que reciben durante el aprendizaje y/o la operación. Mientras que el aprendizaje es la
modificación de cada elemento procesal, la autoorganización consiste en la modificación de la red
neuronal completa para llevar a cabo un objetivo específico.
Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellas autoorganizan
la información usada. Por ejemplo, la red llamada backpropagation, creará su propia representación
característica, mediante la cual puede reconocer ciertos patrones.
Esta autoorganización provoca la generalización: facultad de las redes neuronales de responder
apropiadamente cuando se les presentan datos o situaciones a las que no había sido expuesta
anteriormente. El sistema puede generalizar la entrada para obtener una respuesta. Esta
característica es muy importante cuando se tiene que solucionar problemas en los cuales la

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.

Hay dos aspectos distintos respecto a la tolerancia a fallos:


a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados o incompletos. Esta es
una tolerancia a fallos respecto a los datos.
b) Las redes pueden seguir realizando su función (con cierta degradación) aunque se destruya parte
de la red.

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.

Operación en tiempo real

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.

Fácil inserción dentro de la tecnología existente

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.

Fundamentos de las Redes Neuronales

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.

Lo que básicamente ocurre en una neurona biológica es lo siguiente: la neurona es estimulada o


excitada a través de sus entradas (inputs) y cuando se alcanza un cierto umbral, la neurona se
dispara o activa, pasando una señal hacia el axón.
Posteriores investigaciones condujeron al descubrimiento de que estos procesos son el resultado de
eventos electroquímicos. Como ya se sabe, el pensamiento tiene lugar en el cerebro, que consta de
billones de neuronas interconectadas. Así, el secreto de la “inteligencia” -sin importar como se defina-
se sitúa dentro de estas neuronas interconectadas y de su interacción.
La forma que dos neuronas interactúan no está totalmente conocida, dependiendo además de cada
neurona. En general, una neurona envía su salida a otras por su axón. El axón lleva la información
por medio de diferencias de potencial, u ondas de corriente, que depende del potencial de la neurona.
Este proceso es a menudo modelado como una regla de propagación representada por la función de
red u(.). La neurona recoge las señales por su sinápsis sumando todas las influencias excitadoras e
inhibidoras. Si las influencias excitadoras positivas dominan, entonces la neurona da una señal
positiva y manda este mensaje a otras neuronas por sus sinápsis de salida. En este sentido la
neurona puede ser modelada como una simple función escalón f(.). Como se muestra en la próxima
figura, la neurona se activa si la fuerza combinada de la señal de entrada es superior a un cierto nivel,
en el caso general el valor de activación de la neurona viene dado por una función de activación f(.).

Página 6
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales

Otras definiciones de 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]

Elementos de una Red Neuronal Artificial

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

Una función de activación, F, determina el nuevo estado de activación a j (t 1) de la neurona,


teniendo en cuenta la entrada total calculada y el anterior estado de activación a j (t ) .

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.

Unidades de proceso: La neurona artificial

Si se tienen N unidades (neuronas), podemos ordenarlas arbitrariamente y designar la j-ésima unidad


como U j . Su trabajo es simple y único, y consiste en recibir las entradas de las células vecinas y
calcular un valor de salida, el cual es enviado a todas las células restantes.

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:

A(t ) (a1 (t ),...........ai (t ),.........a N (t ))


El procesamiento que realiza la red se ve como la evolución de un patrón de activación en el conjunto
de unidades que lo componen a través del tiempo.
Todas las neuronas que componen la red se hallan en cierto estado. Podemos decir que hay dos
posibles estados, reposo y excitado, a los que denominaremos estados de activación y a cada uno de
los cuales se le asigna un valor. Los valores de activación pueden ser continuos o discretos. Además
pueden ser limitados o ilimitados. Si son discretos, suelen tomar un conjunto pequeño de valores o
bien valores binarios. En notación binaria, un estado activo se indicaría por un 1, y se caracteriza por
la emisión de un impulso por parte de la neurona (potencial de acción), mientras que un estado
pasivo se indicaría por un 0. En otros modelos se considera un conjunto continuo de estados de
activación, en cuyo caso se asigna un valor entre [0,1] o en el intervalo [-1,1], generalmente siguiendo
una función sigmoidal.
Los criterios o reglas que siguen las neuronas para alcanzar tales estados dependen de dos factores:
Dado que las propiedades macroscópicas de las redes neuronales no son producto de actuación de
elementos individuales, es necesario tener idea del mecanismo de interacción entre las neuronas. El
estado de activación estará fuertemente influenciado por tales interacciones ya que el efecto que
producirá una neurona sobre otra será proporcional a la fuerza, peso de la conexión entre ambas.
La señal que envía cada una de las neuronas a sus vecinas dependerá de su propio estado de
activación.

Función de salida o transferencia

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.

Neurona de función escalón


La función escalón se asocia a neuronas binarias en las cuales cuando la suma de las entradas es
mayor o igual que el umbral de la neurona, la activación es 1, si es menor, la activación es 0 (ó –1).

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.

Neurona de función lineal o mixta


La función lineal o mixta corresponde a la función F(x) =x. En las neuronas con función mixta si la
suma de las señales de entrada es menor que un límite inferior, la activación se define como 0 (ó –1).
Si dicha suma es mayor o igual que el límite superior, entonces la activación es 1. Si la suma de
entrada está comprendida entre ambos límites, la activación se define como una función lineal de
suma de las señales de entrada.

Neurona de función continua (sigmoidal)


Cualquier función definida simplemente en un intervalo de posibles valores de entrada, con un
incremento monotónico y que tengan ambos limites superiores e inferiores (por ejemplo las funciones
sigmoidal y arco tangente), podrá realizar la función de activación o transferencia de forma
satisfactoria.
Con la función sigmoidal, para la mayoría de los valores del estímulo de entrada, el valor dado por la
función es cercano a uno de los valores asintóticos. Esto hace posible que en la mayoría de los
casos, el valor de salida esté comprendido en la zona alta o baja del sigmoide. De hecho cuando la
pendiente es elevada, esta función tiende a la función escalón. La importancia de ésta función es que
su derivada es siempre positiva y cercana a cero para los valores grandes positivos o negativos;
además toma su valor máximo cuando x es cero. Esto hace que se puedan utilizar las reglas de
aprendizaje definidas para la función escalón, con la ventaja respecto a esta función, que la derivada
está definida para todo el intervalo. La función escalón no podía definir la derivada en ele punto de
transición y esto no ayuda a los métodos de aprendizaje en los cuales se usan derivadas.

Función de transferencia gaussiana


Los centros y anchura de estas funciones pueden ser adaptados, lo cual las hace más adaptativas
que las funciones sigmoidales.

Conexiones entre neuronas

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.

Función o regla de activació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

función de salida f , de la neurona será directamente el Net. Es estado de activación anterior no se


tiene en cuenta. Según esto, la salida de una neurona i( yi ) quedará según la expresión:
N
yi (t 1) f ( Net i ) f( w ji y j (t ))
j 1

Por tanto, y en lo sucesivo, consideraremos únicamente la función f , que denominaremos de


transferencia o de activación. Además, la misma no está centrada en el origen del eje que representa
el valor de entrada neta sino que existe cierto desplazamiento debido a las características internas
de la neurona y que no es igual en todas ellas. Este valor se denota como i y representa el umbral
de activación de la neurona i.
N
yi (t 1) f ( Net i i ) f( w ji y j (t ) i )
j 1

La salida se obtiene en una neurona para las diferentes forma de la función f serán:

Función de activación escalón

Si el conjunto de los estados de activación es E ={0,1}, tenemos que:


1si Net i i

yi (t 1) y (t ) si Net i i

0si Net i i

Si el conjunto es E = {-1,1}, tendremos que:


1si Neti i

yi (t 1) y (t ) si Neti i

1si Neti i

Función de activación lineal o identidad

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

Función de activación lineal-mixta

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.

Función de activación sigmoidal

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

a) Conexiones hacia delante.


b) Conexiones laterales.
c) Conexiones hacia atrás (o recurrentes).

Página 14
UTN – FRT – Catedra de Inteligencia Artificial Redes Neuronales

Características de las 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.

Topología de las Redes Neuronales

Consiste en la organización de las neuronas en la red formando capas o agrupaciones de neuronas


más o menos alejadas de la entrada y salida de la red. Los parámetros fundamentales de la red son:
el número de capas, el número de neuronas por capa, el grado de conectividad y el tipo de
conexiones ente neuronas.
En términos topológicos podemos clasificar las redes entre: redes de una sola capa y las redes
con múltiples capas.

Redes monocapa

En las redes monocapa, como la red HOPFIELD y la red BRAIN-STATE-IN-A-BOX, se establecen


conexiones laterales entre las neuronas que pertenecen a la única capa de la red. Además pueden
existir conexiones auto recurrente.
Las redes monocapa se utilizan típicamente en tareas relacionadas con lo que se conoce como auto
asociación, por ejemplo para regenerar informaciones de entrada que se presentan distorsionadas o
incompletas.

A continuación se muestran modelos de redes monocapa más conocidos.

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

Redes con conexiones hacia delante (feedforward)

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.

Redes con conexiones hacia adelante y hacia atrás (feedforward/feedback)

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

La diferencia fundamental entre ambos tipos es la existencia o no de un agente externo (supervisor)


que controle el proceso de aprendizaje.
Otro criterio para diferenciar las reglas de aprendizaje se basan en considerar si la red puede
aprender durante su funcionamiento habitual (aprendizaje ON LINE) ,o si el aprendizaje supone una
desconexión de la red; es decir su inhabilitación hasta que el proceso termine (aprendizaje OFF
LINE).
Cuando el aprendizaje es OFF LINE se distingue entre una fase de aprendizaje o entrenamiento y
una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un
conjunto de datos de prueba que serán utilizados en la correspondiente fase. En las redes con
aprendizaje OFF LINE, los pesos de las conexiones permanecen fijos después que termina el
entrenamiento. Debido a su carácter estático, éstos sistemas no presentan problemas de estabilidad
en su funcionamiento.

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.

Redes con aprendizaje supervisado

El proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo


(supervisor o maestro) que determina la respuesta que debería generar la red a partir de una entrada
determinada. El supervisor comprueba la salida de la red y en caso de que ésta no coincida con la
deseada, se procederá a modificar los pesos de las conexiones, con el fin de que la salida obtenida
se aproxime a la deseada.
Se suelen considerar tres formas de llevar a cabo el aprendizaje:
Aprendizaje por corrección de error
Aprendizaje por refuerzo
Aprendizaje estocástico.

Aprendizaje por corrección de error

Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores
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

generalización de la regla delta para poder aplicarla a redes de conexiones hacia


delante(feedforward) con capas o niveles internos ocultos de neuronas que no tienen relación con el
exterior.
Estas redes multicapa pueden utilizarse en muchas aplicaciones, pero su proceso de aprendizaje es
mucho más lento, debido a que durante el mismo se debe explorar el espacio de posibles formas de
utilización de neuronas de las capas ocultas; es decir, establecer cuál es su papel en la red.

Aprendizaje por refuerzo

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.

Redes con aprendizaje no supervisado

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

Algunas redes con aprendizaje no supervisado, realizan un mapeo de características, obteniéndose


en las neuronas de salida una disposición geométrica que representa un mapa topográfico de las
características de los datos de entrada, de tal forma que si se presentan a la red informaciones
similares, siempre sean afectadas neuronas de salidas próximas entre sí, en la misma zona del mapa

Suelen considerarse dos algoritmos de aprendizaje no supervisado:


Aprendizaje hebbiano
Aprendizaje competitivo y cooperativo.

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.

Aprendizaje competitivo y cooperativo

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.

El ALC realiza el cálculo de la suma ponderada de las entradas:

N
S w0 j 1
wj x j

El umbral de la función de transferencia se representa a través de una conexión ficticia de peso w0 .


Si tenemos en cuenta que para esta entrada se toma el valor de x0 1, se puede escribir la anterior
ecuación de la forma:
N
S j 1
wj x j X .W T
Esta es la salida lineal que genera el ALC. La salida binaria correspondiente de la red ADALINE es,
por tanto:
1 s 0
y (t 1) y (t ) s 0
1 s 0

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

Aprendizaje de la red ADALINE

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

expresa como k (d k sk ) , siendo s k la salida del ALC; es decir:


N
sk X k .W T j 0
w j xk j

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

Teniendo en cuenta que s k es la salida lineal:


N
sk w j xk j
j 0

calculamos la segunda derivada de la expresión de wi :


N
sk ( j 0
( w j xk j )) ( wi xk j )
y ki
wi wi wi
Así pues, el valor del gradiente el error producido por un patrón dado (k) es:
2
k
k x ki
wi
Las modificaciones en los pesos son proporcionales al gradiente descendente de la función error:
wi ( k x ki ) ( k x ki ) (d k s k ) x ki
wi (t 1) wi (t ) (d k s k ) x ki
siendo la constante de proporcionalidad o tasa de aprendizaje.
En notación matricial, quedaría:
W (t 1) W (t ) k Xk W (t ) (d k sk ) X k
Esta expresión representa la modificación de pesos obtenida al aplicar el algoritmo LMS. es el
parámetro que determina la estabilidad y la velocidad de convergencia del vector de pesos hacia el
valor de error mínimo. Los cambios en dicho vector deben hacerse relativamente pequeños en cada
iteración, sino podría ocurrir que no se encontrase nunca un mínimo, o se encontrase sólo por
accidente, en lugar de ser el resultado de una convergencia sostenida hacia él.
La aplicación el proceso iterativo de aprendizaje consta de los siguientes pasos:
Se aplica un vector o patrón de entrada, X k , en las entradas del ADALINE.
N
T
Se obtiene la salida lineal Sk X kW w j xk j y se calcula la diferencia con respecto a la
j 0
deseada k ( xk sk ) .

Se actualizan los pesos


W (t 1) W (t ) k Xk

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.

Aplicaciones de la red ADALINE

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

cuando se le dan entradas de entrenamiento, y que pueda aplicar, además, a entradas no


presentadas durante la etapa de aprendizaje para clasificarlas.

La Regla Delta Generalizada

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.

Adición de un momento en la regla delta generalizada

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.

Resumiendo, el algoritmo Backpropagation queda finalmente:


w ji (t 1) w ji (t ) [ w ji (t 1)]
w ji (t 1) w ji (t ) [ pj y pi w ji (t )]

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.

Estructura y aprendizaje de la red backpropagation

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.

Pasos para aplicar el algoritmo de entrenamiento

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

en donde el índice h se refiere a magnitudes de la capa oculta; el subíndice p, al p-ésimo vector de


entrenamiento, y j a la j-ésima neurona oculta. El término puede ser opcional, pues actúa como
una entrada más.
Se calculan las salidas de las neuronas ocultas: y pj f jh (net hpj ) .
Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida:
L
net opk wkjo y pj 0
k
j 1

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.

Consideraciones sobre el algoritmo de aprendizaje

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.

Dimensionamiento de la red. Número de neuronas ocultas

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.

Aplicaciones de la red Backpropagation

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).

Software de Redes Neuronales


Ver los Toolkit de Mathlab

Página 27

Common questions

Con tecnología de IA

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 .

También podría gustarte