Está en la página 1de 30

UNIVERSIDAD SAN FRANCISCO DE ASIS

Asignatura: Inteligencia Artificial

Carrera: Ingeniería de Sistemas

Docente: Ing. Margarita Bernarda López Mariaca

Semestre: Octavo

Universitario: Mauricio Alejandro Castillo Roque

Año: 2012

Trabajo de Investigación

DEFINICIONES DE REDES NEURONALES

Una red neuronal es un sistema compuesto de muchos elementos


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

Otras definiciones nos dicen que:

Las redes neuronales son una forma de un sistema computarizado


multi-proceso con:
 Elementos de procesamiento sencillos.
 Alto grado de interconexión.
 Mensajes simples escalares.
 Interacción adaptable entre elementos.

El concepto de Red Neuronal Artificial está inspirado en las Redes


Neuronales Biológicas. Una Red Neuronal Biológica, es un dispositivo no
lineal altamente paralelo, caracterizado por su robustez y su tolerancia a
fallos. Sus principales características son las siguientes:

 Aprendizaje mediante adaptación de sus pesos sinápticos a los


cambios en el entorno.
 Manejo de imprecisión, ruido e información probabilística.
 Generalización a partir de ejemplos.

Las Redes Neuronales Artificiales intentan imitar algunas, o todas, de


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

Una Red Neuronal viene caracterizada por su topología, por la intensidad


de la conexión entre sus pares de neuronas (pesos), por las propiedades
de los nodos y por las reglas de actualización de pesos. Las reglas de
actualización, también llamadas de aprendizaje, controlan los pesos y/o
estados de los elementos de procesados (neuronas).

Los principales aspectos de este modelo de computación distribuida son


los siguientes:

 Un conjunto de unidades de procesamiento.


 Un estado de activación ak para cada unidad, que es equivalente a
la salida de la unidad.
 Conexiones entre unidades, generalmente definida por un peso
Wjk, que determina el efecto de la unidad j sobre la unidad k.
 Una regla de propagación que determina la entrada de la unidad
Ska partir de sus entradas externas.
 Una función de activación Fk que determina el estado de activación
en función de la entrada de la unidad (en algunos casos la función
de activación tiene en cuenta la activación actual de la unidad).
 Una entrada externa (u offset llamado también umbral) bk para
cada unidad.
 Un método para modificar los valores de los pesos (regla de
aprendizaje).
 Un entorno de trabajo en el que sistema opere, compuesto por
señales de entrada y, si es necesario, señales de error.

Normalmente, la dinámica de actuación es definir una función objetivo


que representa el estado completo de la red y localizar el conjunto de
mínimos de esa función que se corresponden con los diferentes estados
estables de la red.

ELEMENTOS DE UNA RED NEURONAL.

Los elementos individuales de cálculo que forman los modelos de


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

Figura 1.7 Esquema de una Neurona Artificial.

(1.1)

Donde:

1. a: es la salida de la neurona.
2. Fk: es la función de transferencia de la neurona.
3. Wij: es la matriz de pesos.
4. Pi:es el patrón de entrenamiento.
5. bk:es el umbral de activación de la neurona.

Este esquema de elemento de procesado tiene las siguientes


características:

 Cada elemento de procesado puede tener varias entradas


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

CONEXIÓN ENTRE UNIDADES.

En la mayor parte de los casos se asume que cada unidad recibe


contribuciones aditivas de las unidades que están conectadas a ellas. La
entrada total de la unidad k es la suma ponderada de las entradas que
recibe más el término de offset.

(1.2)

Donde:

1. nk: es la salida lineal de la neurona.


2. Wij: es la matriz de pesos.
3. Pi:es el patrón de entrenamiento.
4. bk:es el umbral de activación de la neurona.

Cuando el peso de la contribución es positivo se considera que la


entrada es excitatoria y cuando el peso es negativo que es inhibitoria.
Este tipo de expresiones que calculan la entrada total se denominan
reglas de propagación y, en general, pueden tener diferentes
expresiones.

FUNCIONES DE ACTIVACIÓN Y SALIDA

Además de la regla de propagación es necesario poseer expresiones


para las funciones de activación (calculan la activación en función de la
entrada total) y funciones de salida (calculan la salida en función de la
activación).

La función de activación calcula la activación de la unidad en función de


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

La función de salida empleada usualmente es la función identidad y así


la salida de la unidad de procesado es idéntica a su nivel de activación.

Las redes neuronales están formadas por un conjunto de neuronas


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

La arquitectura más usada en la actualidad de una red neuronal, se


presente en la Fig. 1.8, la cual consiste en:

1. Una primera capa de entradas, que recibe información del


exterior.
2. Una serie de capas ocultas (intermedias), encargadas de realizar
el trabajo de la red.
3. Una capa de salidas, que proporciona el resultado del trabajo de la
red al exterior.
Figura 1.8 Esquema de una red neuronal antes del entrenamiento. Los
círculos representan neuronas, mientras las flechas representan
conexiones entre las neuronas.

El número de capas intermedias y el número de neuronas de cada capa


dependerá del tipo de aplicación al que se vaya a destinar la red
neuronal.

FUNCIONES DE ACTIVACIÓN Y SALIDA

Un modelo más académico que facilita el estudio de una neurona, puede


visualizarse en la Fig. 1.9.

Figura 1.9 Neurona de una sola entrada.


Donde:

1. nk: es la salida lineal de la neurona.


2. Wij: es la matriz de pesos.
3. Pi:es el patrón de entrenamiento.
4. bk:es el umbral de activación de la neurona.

Las entradas a la red serán ahora presentadas en el vector p, que para


el caso de una sola neurona contiene solo un elemento, w sigue
representando los pesos y la nueva entrada b es una ganancia que
refuerza la salida del sumador n, la cual es la salida neta de la red; la
salida total está determinada por la función de transferencia , la cual
puede ser una función lineal o no lineal de n, y que es escogida
dependiendo de las especificaciones del problema que la neurona tenga
que resolver; aunque las RNA se inspiren en modelos biológicos no
existe ninguna limitación para realizar modificaciones en las funciones
de salida, así que se encontrarán modelos artificiales que nada tienen
que ver con las características del sistema biológico.

Funcion Escalón (Hardlim)

La Fig. 1.10, muestra como esta función de transferencia acerca la


salida de la red a cero, si el argumento de la función es menor que cero
y la lleva a uno si este argumento es mayor que uno. Esta función crea
neuronas que clasifican las entradas en dos categorías diferentes,
característica que le permite ser empleada en la red tipo Perceptrón.

(1.3)
Figura 1.10 Función de Transferencia Escalón (Hardlim).

El ícono para la función escalón (Hardlim) reemplazará a la letra f en la


expresión general, cuando se utilice la función Hardlim.

Una modificación de esta función puede verse en la Fig. 1.11, la que


representa la función de transferencia Escalón Simétrica (Hardlims) que
restringe el espacio de salida a valores entre 1 y –1.

(1.4)
Figura 1.11 Función de Transferencia de Escalón Simétrica.
Función de Transferencia lineal (purelin)

La salida de una función de transferencia lineal es igual a su entrada, la


cual se representa en la figura 1.12.

(1.5)

Figura 1.12 Función de Transferencia Lineal (purelin).

En la gráfica del lado derecho de la figura 1.12, puede verse la


característica de la salida a de la red, comparada con la entrada p, más
un valor de ganancia b, neuronas que emplean esta función de
transferencia son utilizadas en la red tipo Adaline.
Función de Transferencia sigmoidal (logsig)

Esta función toma los valores de entrada, los cuales pueden oscilar
entre más y menos infinito, y restringe la salida a valores entre cero y
uno, de acuerdo a la expresión:

(1.6)

Esta función es comúnmente usada en redes multicapa, como la


Backpropagation, en parte porque la función logsig es diferenciable,
como se muestra en la Fig. 1.13.

Figura 1.13 Función de Transferencia Sigmoidal.

La Fig. 1.14, hace una relación de las principales funciones de


transferencia empleadas en el entrenamiento de redes neuronales.

Función en
Nombre Relación Entrada /Salida icono
Matlab

Limitador Fuerte hardlim

Limitador Fuerte Simétrico hardlims

Lineal Positiva poslin

Lineal purelin
Lineal Saturado satlin

Lineal Saturado Simétrico satlins

Sigmoidal Logarítmico logsig

Tangente Sigmoidal
tansig
Hiperbólica
a=1 Neurona con n max
Competitiva compet
a=0 El resto de las neuronas
Figura 1.14 Funciones de Transferencia.

ESTRUCTURAS GENERALES DE LAS REDES NEURONALES


PERCEPTRÓN

En 1943, Warren McCulloc y Walter Pitts originaron el primer modelo de


operación neuronal, el cual fué mejorado en sus aspectos biológicos por
Donald Hebb en 1948. En 1962 Bernard Widrow propuso la regla de
aprendizaje Widrow-Hoff, y Frank Rosenblatt desarrolló una prueba de
convergencia, y definió el rango de problemas para los que su algoritmo
aseguraba una solución. El propuso los 'Perceptrons' como herramienta
computacional, mostrado en la Fig. 1.15.
Figura 1.15 Modelo del Perceptrón Simple.

BACKPROPAGATION

En la red multicapa, se interconectan varias unidades de procesamiento


en capas, las neuronas de cada capa no se interconectan entre sí. Sin
embargo, cada neurona de una capa proporciona una entrada a cada
una de las neuronas de la siguiente capa, esto es, cada neurona
transmitirá su señal de salida a cada neurona de la capa siguiente. La
Fig. 1.16 muestra un ejemplo esquemático de la arquitectura de este
tipo de redes neuronales.
Figura 1.16 Red Backpropagation.

HOPFIELD

La Red de Hopfield que se muestra en la Fig. 1.17, es recurrente y


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

KOHONEN

Existen evidencias que demuestran que en el cerebro existen neuronas


que se organizan en muchas zonas, de forma que las informaciones
captadas del entorno a través de los órganos sensoriales se representan
internamente en forma de capas bidimensionales. Por ejemplo, en el
sistema visual se han detectado mapas del espacio visual en zonas de
córtex (capa externa del cerebro). También en el sistema auditivo se
detecta organización según la frecuencia a la que cada neurona alcanza
la mayor respuesta (organización tono tópica).

Aunque en gran medida esta organización neuronal está predeterminada


genéticamente, es probable que de ella se origine mediante el
aprendizaje. Esto sugiere, por tanto, que el cerebro podría poseer la
capacidad inherente de formar mapas topológicos de las informaciones
recibidas del exterior. De hecho, esta teoría podría explicar su poder de
operar con elementos semánticos: algunas áreas del cerebro
simplemente podrían crear y ordenar neuronas especializadas o grupos
con características de alto nivel y sus combinaciones. Se trataría, en
definitiva, de construir mapas espaciales para atributos y características.

1.9 MECANISMOS DE APRENDIZAJE.

Construir un sistema que aprenda ha sido tradicionalmente uno de los


objetivos más escurridizos de la inteligencia artificial. El aprendizaje, es
un proceso de adaptación al entorno; durante el se crean y manipulan
representaciones que sean capaces de explicar dicho entorno.

En las redes neuronales la esencia del aprendizaje se encuentra en la


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

 La red neuronal se encuentra estimulada por el entorno, cambia


como consecuencia de esos estímulos y responde de manera
diferente al entorno a causa de los cambios que se han producido
en sus estructura interna.

Existen tres paradigmas de aprendizaje: Supervisado, No supervisado (o


auto supervisado) y Reforzamiento (se puede considerar como un caso
especial del aprendizaje supervisado).

Existen una gran cantidad variedad de algoritmos dentro de cada una de


estas categorías.

Supervisado

En el aprendizaje supervisado (aprender con un maestro), la adaptación


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

En el aprendizaje por corrección de error el entrenamiento consiste en


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

El aprendizaje por refuerzo, es más lento que el anterior. No se dispone


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

El aprendizaje estocástico consiste básicamente en realizar cambios


aleatorios de los valores de los pesos y evaluar su efecto a partir del
objetivo deseado.

Regla del Perceptrón

Supongamos que tenemos un conjunto de muestras de aprendizaje


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

1. 1. Iniciar la red con un conjunto aleatorio de pesos para las


conexiones.
2. 2. Seleccionar un vector de entrada x del conjunto de muestras de
entrenamiento.
3. 3. Si el perceptrón proporciona una salida incorrecta, modificar
todas las conexiones  mediante la expresión:

(1.7)

1. 4. Volver al paso 2.

Cuando la red responde de forma correcta los pesos de las conexiones


no se modifican.
Regla Delta

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

(1.8)

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

Supongamos que vamos a entrenar una red para localizar el hiperplano


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

La función de error, dada por el método del menor error cuadrático


medio, es la suma de los cuadrados de los errores individuales de cada
patrón. Es decir, el error total E viene dado por:

(1.9)

En donde el índice p recorre el conjunto de patrones de entrada y


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

En donde ϒ es una constante de proporcionalidad. La derivada se puede


descomponer mediante la siguiente expresión:

(1.11)

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


comienzo,

(1.12)

Y:

(1.13)

con lo cual:

(1.14)

En donde , es la diferencia entre la salida deseada y la salida


real para el patrón de entrada p.

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

Regla Delta generalizada


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

En donde:

(1.16)

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

(1.17)

La medida de error Ep viene definida como el error cuadrático total para


el patrón p en las unidades de salida N0.

(1.18)

Considerando E, como la suma de los errores cuadráticos podemos ver


que la variación del error respecto a los pesos viene dada por:

(1.19)

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

(1.20)

Se puede obtener una regla de actualización de pesos equivalente a la


regla Delta, resultando un descenso en el valor del gradiente sobre la
superficie de error si se realizan los cambios de los pesos de acuerdo a
la expresión:
(1.21)

La conclusión más importante, es que el cálculo recursivo de los factores


Delta puede implementarse propagando las señales de error desde la
capa de salida a capas ocultas de la red.

El cálculo de  puede realizarse en términos de un producto de dos


factores; uno que refleje el cambio del error como función de la salida
de las unidades y otro que refleje el cambio de la salida como función de
los cambios en la entrada; es decir:

(1.22)

Ahora bien, el segundo factor no es otro que la derivada parcial de la


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

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


podemos obtener que:

(1.23)

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

(1.24)

En el segundo caso, no se conoce como contribuye la unidad al error de


salida de la red, pero la medida de error se puede escribir como función
de los pesos de las unidades de la capa oculta a la capa de salida:
(1.25)

Con lo cual:

(1.26)

Extendiendo este cálculo de forma recursiva se pueden calcular los


cambios en los pesos de todas las unidades de la red. Este
procedimiento, se denomina regla Delta generalizada para redes
feedforward con unidades no lineales.

No supervisado

En el aprendizaje no supervisado (o auto supervisado), la red se


sintoniza a las regularidades estadísticas de datos de entrada de forma
tal que se formen categorías que optimizan, respecto a los parámetros
libres de la red, una medida de calidad de la tarea que se quiere realizar
con la red. El funcionamiento de estas redes se basa en la búsqueda de
características, regularidades, correlaciones y categorías del conjunto de
datos de entrada.

Existen diferentes interpretaciones que se le pueden dar a las salidas


generadas por una red que utilice este tipo de aprendizaje: similaridad
(semejanzas entre la información actual y la información pasada),
clusterización (establecimiento de clases), codificación (versión
codificada de las entradas) o mapeo (representación topográfica de los
datos de entrada).

Aprendizaje competitivo

El aprendizaje competitivo, es un proceso que divide el conjunto de


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

Selección de la unidad ganadora mediante producto.

Asumamos que los patrones de entrada y los pesos están normalizados


a la unidad. Cada unidad de salida o calcula su valor de activación a
partir del producto del vector del patrón de entrada por el vector de
pesos:
(1.27)

A continuación, se selecciona el elemento de procesado de salida que


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

Una vez que se ha seleccionado el elemento de procesado k ganador, se


adaptan sus pesos (sólo del elemento ganador) de acuerdo a la
expresión siguiente:

(1.28)

Cuando no se pueden utilizar patrones normalizados la elección del


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

Reforzamiento

En el aprendizaje con reforzamiento, la red aprende de relaciones


entrada-salida. Sin embargo, al contrario que en el aprendizaje
supervisado, el sistema conoce si la salida es correcta o no, pero no
conoce la salida correcta.

El Perceptrón

La primera red neuronal conocida, fue desarrollada en 1943 por Warren


McCulloch y Walter Pitts; la cual consistía en una suma de las señales de
entrada, multiplicadas por unos valores de pesos escogidos
aleatoriamente. La entrada es comparada con un patrón preestablecido
para determinar la salida de la red. Si en la comparación, la suma de las
entradas multiplicadas por los pesos es mayor o igual que el patrón
preestablecido la salida de la red es uno (1), en caso contrario la salida
es cero (0). Al inicio del desarrollo de los sistemas de inteligencia
artificial, se encontró gran similitud entre su comportamiento y el de los
sistemas biológicos y en principio se creyó que este modelo podía
computar cualquier función aritmética o lógica.

La red tipo Perceptrón fue inventada por el psicólogo Frank Rosenblatt


en el año 1957. Su intención era ilustrar algunas propiedades
fundamentales de los sistemas inteligentes en general, sin entrar en
mayores detalles con respecto a condiciones específicas y desconocidas
para organismos biológicos concretos. Rosenblatt creía que la
conectividad existente en las redes biológicas tiene un elevado
porcentaje de aleatoriedad, por lo que se oponía al análisis de McCulloch
Pitts en el cual se empleaba lógica simbólica para analizar estructuras
bastante idealizadas. Rosenblatt opinaba que la herramienta de análisis
más apropiada era la teoría de probabilidades, y esto lo llevó a una
teoría de separabilidad estadística que utilizaba para caracterizar las
propiedades más visibles de estas redes de interconexión ligeramente
aleatorias.

Por otro lado, el primer modelo de Perceptrón fue desarrollado en un


ambiente biológico imitando el funcionamiento del ojo humano, el
fotoperceptrón como se le llamo era un dispositivo que respondía a
señales ópticas; como se muestra en el figura 2.1, en la cual la luz
incide en los puntos sensibles (S) de la estructura de la retina, cada
punto S responde en forma todo-nada a la luz entrante, los impulsos
generados por los puntos S, en donde se transmiten a las unidades de
asociación (A) de la capa de asociación; cada unidad A está conectada a
un conjunto aleatorio de los puntos S, denominados conjunto fuente de
la unidad A, y las conexiones pueden ser tanto excitatorias como
inhibitorias. Las conexiones tienen los valores posibles +1, -1 y 0
respectivamente, cuando aparece un conjunto de estímulos en la retina,
una unidad A se activa si la suma de sus entradas sobrepasa algún valor
umbral; si la unidad esta activada, A produce una salida que se envía a
la siguiente capa de unidades.
Figura 2.1: Modelo del Perceptrón de Rosenblatt.

De forma similar, las unidades A están conectadas a unidades de


respuesta (R) dentro de la capa de respuesta y la conectividad vuelve a
ser aleatorio entre capas, pero se añaden conexiones inhibitorias de
realimentación procedentes de la capa de respuesta y que llegan a la
capa de asociación, también hay conexiones inhibitorias entre las
unidades R. Todo el esquema de conexiones se describe en forma
general en un diagrama de Euler, para un Perceptrón sencillo con dos
unidades de respuesta como se representa en la figura 2.2.

Figura 2.2: Esquema de conexiones de un Perceptrón Sencillo.

El Perceptrón era inicialmente un dispositivo de aprendizaje, en su


configuración inicial no estaba en capacidad de distinguir patrones de
entrada muy complejos, sin embargo mediante un proceso de
aprendizaje era capaz de adquirir esta capacidad. En esencia, el
entrenamiento implicaba un proceso de refuerzo mediante el cual la
salida de las unidades A, se incrementaba o se decrementaba
dependiendo de si las unidades A contribuían o no a las respuestas
correctas del Perceptrón para una entrada dada. Se aplicaba una
entrada a la retina, y el estímulo se propagaba a través de las capas
hasta que se activase una unidad de respuesta. Si se había activado la
unidad de respuesta correcta, se incrementaba la salida de las unidades
A que hubieran contribuido. Si se activaba una unidad R incorrecta, se
hacía disminuir la salida de las unidades A que hubiesen contribuido.

Mediante estas investigaciones se pudo demostrar que el Perceptrón era


capaz de clasificar patrones correctamente, en lo que Rosenblatt
denominaba un entorno diferenciado, en el cual cada clase estaba
formada por patrones similares. El Perceptrón también era capaz de
responder de manera congruente frente a patrones aleatorios, pero su
precisión iba disminuyendo a medida que aumentaba el número de
patrones que intentaba aprender.

En el año de 1969 Marvin Minsky y Seymour Papert publicaron su libro:


"Perceptrons: An introduction to Computational Geometry", el cual para
muchos significó el final de las redes neuronales. En el se presentaba un
análisis detallado del Perceptrón, en términos de sus capacidades y
limitaciones, en especial en cuanto a las restricciones que existen para
los problemas que una red tipo Perceptrón puede resolver; la mayor
desventaja de este tipo de redes es su incapacidad para solucionar
problemas que no sean linealmente separables.

Minsky y Papert se apartaban de la aproximación probabilística de


Rosenblatt y volvían a las ideas de cálculo de predicados en el análisis
del Perceptrón. Su idea de Perceptrón aparece en la figura 2.3.

Figura 2.3: Perceptrón según Minsky y Papert.


La estructura de un Perceptrón sencillo es similar a la del elemento
general de procesamiento que se muestra en la figura 2.3; en la que se
observa la adición de una condición umbral en la salida. Si la entrada
neta, a esta condición es mayor que el valor umbral, la salida de la red
es 1, en caso contrario es 0.

La función de salida de la red en la figura 2.3 es llamada función umbral


o función de transferencia, es decir:

(2.1)

A pesar de esta limitación, el Perceptrón es aún hoy una red de gran


importancia, pues con base en su estructura se han desarrollado otros
modelos de red neuronal como la red Adaline y las redes multicapa.

Características

El perceptrón simple es un modelo neuronal sin capa oculta, el cual


maneja información binaria a su entrada y a su salida y su regla de
aprendizaje por corrección de error es de tipo supervisado, realizando
un entrenamiento offline, tiene una gran aplicación para reconocimiento
de patrones sencillos de tipo linealmente separables, por ejemplo
clasificar compuertas lógicas como AND y OR o aplicaciones más
específicas como el reconocimiento de caracteres impresos alfa-
numéricos.

Arquitectura

La arquitectura de una red perceptrón consiste de una capa de S


neuronas perceptrón, conectadas a r entradas a través de un conjunto
de pesos Wij como se muestra en la figura 2.4. Como ya se mencionó
anteriormente, los índices de la red i y j indican que Wij es la fuerza de
conexión de la j-ésima entrada a la i-ésima neurona.
Figura 2.4: Arquitectura de una Red Perceptrón

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

Figura 2.5: Perceptrón Simple

La única neurona de salida del Perceptrón realiza la suma ponderada de


las entradas, resta el umbral y pasa el resultado a una función de
transferencia de tipo escalón. La regla de decisión es responder +1 si el
patrón presentado pertenece a la clase A, o –1 si el patrón pertenece a
la clase B (figura 2.4), la salida depende de la entrada neta (n = en
donde presenta la suma de las entradas pi ponderadas).
La red tipo Perceptrón emplea principalmente dos funciones de
transferencia, función escalón (hardlim) con salidas 1, 0 o función
escalón simétrica (hardlims) con salidas 1, -1; su uso depende del valor
de salida que se espera para la red; es decir, sí la salida de la red es
unipolar o bipolar; sin embargo, la función hardlims es preferida sobre la
hardlim, ya que el tener un cero multiplicando algunas de los valores
resultantes del producto de las entradas por el vector de pesos,
ocasiona que estos no se actualicen y que el aprendizaje sea más lento.

Una técnica utilizada para analizar el comportamiento de redes como el


Perceptrón es presentar en un mapa las regiones de decisión creadas en
el espacio multidimensional de entradas de la red, en estas regiones se
visualiza qué patrones pertenecen a una clase y cuáles a otra, el
Perceptrón separa las regiones por un hiperplano cuya ecuación queda
determinada por los pesos de las conexiones y el valor umbral de la
función de activación de la neurona, en este caso los valores de los
pesos pueden fijarse o adaptarse empleando diferentes algoritmos de
entrenamiento.

Para ilustrar el proceso computacional del Perceptrón considere la matriz


de pesos en forma general.

(2.2)

Los pesos para una neurona están representados por un vector


compuesto de los elementos de la i-ésima fila de W:

(2.3)

De esta forma y empleando la función de transferencia en escalón


hardlim la salida de la neurona i de la capa de salida:

(2.4)

El Perceptrón, al constar de una sola capa de entrada y otra de salida


con una única neurona, tiene una capacidad de representación bastante
limitada, este modelo sólo es capaz de discriminar patrones muy
sencillos, patrones linealmente separables (concepto que se estudiará
en la sección 2.1.4), el caso más conocido es la imposibilidad del
Perceptrón de representar la función OR EXCLUSIVA.

Algoritmo de Aprendizaje

El algoritmo de aprendizaje es supervisado, en el cual, la regla es


provista como un conjunto del comportamiento propio de la red:

Donde:

pq: Es la entrada de la red.

tq: Es la salida destino correspondiente.

La regla de aprendizaje es un procedimiento para modificar los pesos y


los niveles de umbral de activación en una red neuronal.

La principal aportación de Rosenblatt fue el desarrollo de una regla de


aprendizaje simple y automática aplicada al reconocimiento de patrones.

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

La regla de aprendizaje siempre converge a los pesos correctos de la red


si es que existen los pesos que solucionen dicho problema.

El entrenamiento comienza asignándole valores iniciales pequeños en


forma aleatoria a los parámetros de la red y , por medio de las
siguientes ecuaciones:

Para el vector de pesos W:

(2.5)
Para el umbral b:

(2.6)
Para el error e:

(2.7)
En donde:

W: Es la matriz de pesos sinápticos.

b: Es el umbral de activación.

p: Es el patrón de análisis.

e: Es el error.

t: Es el valor objetivo relacionado con el patrón

α: Es la velocidad de aprendizaje.

Aplicaciones

El rango de tareas que el Perceptrón puede manejar es mucho mayor


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

NETtalk, es un Perceptrón que es capaz de transformar texto en inglés


en sonido individual (representaciones fonéticas) y la pronunciación con
la utilización de un sintetizador de voz; cuenta con aproximadamente
300 nodos de neuronas (siendo 80 en la capa oculta) y 20,000
conexiones individuales.

Infografía

www.scribd.com/RedesNeuronales