Está en la página 1de 12

INTRODUCCION A REDES Inteligencia Computacional ?

NEURONALES ARTIFICIALES Computational Intelligence


AREA : Soft-Computing
Combinación:
– Ciencias de la Computación
– Neuro-Fisiología
– Teoría del conocimiento y lógica

Héctor Allende Construcción Máquinas que


Octubre de 2005 aprendan según el Test de Turin

Corteza Cerebral Humana Biológico de neurona Modelo


11
• Aproximadamente 10 neuronas
• 1000 a 10.000 Synapsis por neurona
• Comunicación tren de impulsos electro-
quimicos ( mensaje modulado)
• Proceso Cognitivo
→ tiempo (milisegundos)
→ Operación Masiva Paralela
→ Secuencial en 100 Etapas

Desarrollo Histórico
Célula Nerviosa
• 1943 W.McCulloch, W. Pitts: Modelo ANN ( El Perceptrón )

• 1969 Minsky y Papert: El Perceptrón (limitaciones).

• 1982 J. Hopfield: Memoria Asociativa ”Redes de Hopfield".

• 1984 T. Kohonen : Redes SOM ( Self-Organizing Maps)


Soma: Información Hereditaria + Plasma +
• 1986 Rumulhart, Hunton y Williams : redescubren el BPL
Generación Señales algoritmo de "back-propagation learning" ( Paul Werbor, 1974)
Dendritas: Recepción Señales → Impulsos
Ax ón: Transmisión de Señales • 1989 K. Hornik, M. Stinchcombe, H. White: Multi-FANN y
Sinapsis: Interfaz Neuronal (Inhibitoria, Excitatoria) Aproximación Universal

–1
Aplicaciones de las ANN
Red neuronal artificial (ANN)
• Resolver problemas Complejos (Visión)
ANN: Es un sistema dinámico compuesto por redes
paralelas y distribuidas de procesadores elementales,
• Generalización ( Máquinas de Inferencia)
con la capacidad de aprender y almacenar • Establecer Relaciones no evidentes ( PR)
“ conocimiento” • Análisis de sistemas complejos
•Arquitectura • Percepción
• Comprensión y Aprendizaje
•Interacción
• Generación de nuevo conocimiento
•Función de activación • Robótica

Aplicaciones de las ANN


Aplicaciones de las ANN
• Ciencias de la Tierra
• Astronomía • Clasificación ; Clustering
• Minería • Pre-procesamiento de datos
• Energía • Reconocimiento de patrones
• Economía • Aproximación de funciones
• Medicina • Predicción de Series de Tiempo
• Sociología • Optimización Control
• Robótica

Analogías
ANN y Neuronales Biológicas
Neurona y Conexiones Sinápticas Procesador Elemental Células Biológicas Redes Neuronales Artificiales
Neuronas Unidades de proceso
Conexiones Sinápticas Conexiones Ponderadas
Efectividad de las Sinapsis Peso de las conexiones
Efecto exitatorio o inhibitorio Signo del Peso
Estimulo Total Entrada total Ponderada
Activación → Tasa de disparo Función de Activación → Salida

Neuronas: El aprendizaje se produce mediante la variación de la


efectividad de las sinapsis, de esta manera cambia la influencia que unas
neuronas ejercen sobre otras.
ANN: La regla de aprendizaje usada indica como se ajustan los pesos d e
las conexiones en función del vector entrada

–2
Modelo Neuronal:
Procesador Elemental.
Mc Culloch & Pitts 1943
PE: Es una unidad básica de procesamiento
la que posee múltiples entradas y solo una
0
1
w1i salida.

∑ bi
...

0 x (t) Cada entrada x i es ponderada por un factor


1 i (peso) w i y se calcula la suma ponderada de
0 las entradas: ∑ wi xi = a = netai
1 w ni i

n
Luego es aplicada una transformación mediante
xi(t) =1 ∑ wij xj(t-1) - bi la función de activación : salida = f (a )
j=1

Procesador elemental. Procesador elemental.

• ANN Feedforward: Se construye colocando las


neuronas en capas y conectando las salidas de
una capa con las entradas de las neuronas de la
próxima capa.
wi a=netai
xi f f(a) • Capas de una red:
Input Output – Capa de entrada Zona sensorial ( S)
Unidad de Unidad de
agregación Activación – Capa de salida Zona de Respuesta ( R)
– Capas ocultas Zona de asociaci ón ( A)

ANN: Aprendizaje y Generalización Feedforward Neural Network

Supervisado
Tipos de Aprendizaje No - Supervisado

FeedForward
Tipos de Arquitectura Single, Multiple
Recurrentes

Tipos de Funci ón de Transici ón: deterministas, probabilistas


Tipo de Algoritmo de Aprendizaje: BPL, PPL, LM, etc

17

–3
Redes Feedforward Modelo de Turing
• FANN La capa 0 no realiza procesamiento alguno, solo
distribuye las entradas a la capa siguiente

Σ xi(0) ∈ {0,1}
n

xi(t) =1 ∑ w xj(t-1) ij - bi
j=1

∀ i=1,...,n

[W =
ij
] Matriz de conectividad
x1 x2 (bi ) = vector de umbrales wij

Neuronas y Redes Simples.


Neuronas y Redes simples.
• ANN Recurrente : La salida de una • Parámetros de la Red: Los pesos {wi}.
neurona es la entrada de neuronas de • Aprendizaje o entrenamiento: Es el
capas anteriores (feedback). procedimiento mediante el cual los pesos
son ajustados .
• Conjunto de entrenamiento: Conjunto
• Feedback lateral: La salida de una de datos que consiste vectores de entrada
neurona es la entrada de otra neurona en asociado con vectores de salida
la misma capa. deseada:{(x i,y i)}.

Funciones de Activación
Neuronas como funciones
Funciones
• Las neuronas transforman una entrada no 1
0.9
Tipo Sigmoide
acotada x(t) en el tiempo t en una señal 0.8
0.7

de salida acotada f(x(t)). 0.6


0.5
0.4

• La función de activación o función de 0.3

0.2
0.4

señal: f
0.1
0
-1 -0.5 0 0.5 1

0.2

df da
• Velocidad de la señal: f& =
da dt
= f ' a& Funciones
Base Radial
0.0
-2.45 -1.64 -0.82 0.00 0.82 1.64 2.45 3.27 4.09

–4
Funciones de activación Funciones de activación

• Función de activaci ón logística:


1
f (a) =
1+ e − ca

• Es monótamente creciente para c >0


• Es derivable
df
f '≡ = cf (1 − f ) > 0
da

Funciones de activación Preguntas Abiertas


• Tamaño de las muestras
• Tangente hiperbólica :
• Cuántas Neuronas
e ca − e − ca
f ( a ) = tanh( ca ) = • Cuantas Capas
e ca + e − ca
• Tipo de Arquitectura
donde c>0. • Tipo de Aprendizaje

f ' = c(1 − f 2 ) > 0 • Algoritmos de Aprendizaje


• ¿Cuándo usar ANN Modelador

Buenas Referencias Test de Turing:

“Un computador merece ser


• C.M. Bishop, Neural Networks for Pattern llamado inteligente si puede
Recognition, Oxford University Press, 1995. hacer pensar a un ser humano
• FAQ NN: "ftp://ftp.sas.com/pub/neural/FAQ.html" que es otro ser humano”
• B.D. Ripley: Pattern Recognition and Neural
Network Cambridge University Press, 1996.
• J. Hertz, A. Krogh and R. Palmer, Introduction to the
Theory of Neural Computation, Addison-Wesley, 1991

–5
Introducción ANN Feedforward Estructura de la Red

Σ
• Capa de entrada: sensorial
– También llamada capa sensorial (capa 0)
– No existe procesamiento.
– Su función es distribuir la entrada a la
próxima capa del vector de entrada x.
• Capas Oculta: asociativa
x1 x2
– Son las capas que están ubicadas entre la
capa de entrada y salida.
PARTE 2
Backpropagation Learning

Estructura de la Red Estructura de la Red

• Capa de salida: respuesta


– Esta capa proporciona la salida de los
datos procesados.
– Entrega un vector de salida y

• Red Feedforward:
– Cada neurona recibe como entrada las
salidas de todas las neuronas de la capa
anterior.

Notación Dinámica de la Red


• w lkj es el peso por el cual la salida de la neurona j
de la capa l-1 contribuye a la entrada de la
neurona k de la capa l.
• xp es la entrada de entrenamiento p xi
• t p(xp) es el destino (salida deseada) del vector xp.
• z oi≡xi es el componente i del vector de entrada. wi A=
f f(a)
• Nl número de neuronas de la capa l. Input netai Output
• z lk es la salida de la neurona j de la capa l. Unidad de
Activación
• L es el número de capas.
• P es el número de vectores de entrenamiento.
• {(xp, t p)}p=1,..,P es el conjunto de aprendizaje

–6
Función de salida Ejecución de la Red
 N l−1

z lk = f 
 ∑ w lkj z l −1 , j 

• Función de activación logística:  j =1 
– Matriz de pesos:  wl 11 .......... . w l1 N N l−1 
 
Wl = M O M 
 wlN 1 .......... .wlN N 
1  l l l −1 

f (a ) = ; f : ℜ → ( 0,1), c > 0 , c constante


1 + exp( − ca ) – Vector de salida de la capa anterior:

z l −1 = ( z l −1 ,1 ... z l −1,N l− 1 )
T
df c exp( − ca )
= = cf ( a )[ 1 − f ( a )]
da [1 + exp( − ca )] 2 – Salida de la capa l
zl T = f (al T ) = ( f (a l1 ) .... f (a lN l ))
donde al = Wl z l −1

Aprendizaje de la Red Aprendizaje de la Red

• El proceso de aprendizaje de la red es • Función de suma de los errores


supervisado. ( Etapa Entrenamiento) cuadráticos:
1 NL
E (W ) ≡ ∑ [ z L ( x ) − t q (x )]2
2 q =1 q
donde z L q es la salida de la neurona q de la capa de salida
• El aprendizaje involucra ajustar los
pesos de manera que el error sea • Observaciones:
minimizado. – Suma total de la suma de los errores
• Uso de los Datos Crudos cuadráticos:
P
Etot(W ) ≡ ∑ E(W )
p=1

Aprendizaje de la Red Aprendizaje de la Red

• Los pesos son ajustados en tiempos discretos


• Los pesos de la red W se obtienen paso a paso. ( usando la Regla∆):
• Nw es el número total de pesos, entonces la
∂E (W )
función de error: E : ℜ Nw → ℜ wlji ( t + 1) = wlji ( t) − µ
∂wlji W (t )
N w +1
es una superficie en el espacio ℜ P ∂E p (W )
r  ∂ E ( W )  = wlji( t ) − µ ∑
• El vector gradiente: ∇ E =   p =1 ∂wlji
 ∂ w lji 
W (t )

donde µ > 0 es la constante de aprendizaje.


muestra la dirección del máximo error
cuadrático medio. ECM
Matricialmente: W (t + 1) = W (t) − µ∇E

–7
Elección del Parámetro µ Elección del Parámetro µ

El algoritmo de Backpropagation El algoritmo de Backpropagation

Previos 2. Para cada capa, excepto la capa L, el gradiente


1.- Para cada capa (excepto la de entrada), una del error con respecto a la salida neuronal se
matriz del gradiente del error se construir ía de la define como:  ∂E ∂E 
∇ Zl E ≡ LL , l = 1,.., L − 1
 ∂z lN l 
siguiente manera:  ∂ zl 1

 ∂E ∂E  3. El gradiente del error con respecto a la salida


 KK  de la red z L es conocido y depende solo de la
 ∂ w l11 ∂ w l 1 N l −1  salida de la red {z L(x p)} y los targets {tp (x p) }:
( ∇ E ) l =  M O M ,
 l = 1 ,.., L
 ∂E
 LL
∂E 

∇ Z L E = conocido
 ∂ w lN l 1 ∂ w lN l N l −1 

El algoritmo de Backpropagation Corolario

• Entonces considerando la función de error E y


• Si la función de activación es la función
la función de activación f y su derivada f ’ se
logística
calcula el gradiente del error recursivamente ∇ Z L
E = Z L (x) − t

∇zl E = Wl+1 [∇zl +1E ⊗ f ' (al+1)]


T
desde L-1 a 1. ∇zl E = cWl +1T [∇ zl +1 E ⊗ Z l+1 ⊗ (1 − Zl +1)],

(∇ E )l = c[∇ zl E ⊗ Z l ⊗ (1 − Z l )] Z T l −1
(∇E)l = [∇zl E⊗ f ' (al )]zT l−1 para las capas l=1..L
donde z o≡ x
donde z o≡ x

–8
Criterios de inicialización y parada El Algoritmo
• Pesos son inicializados con valores aleatorios U (-1;1) • El algoritmo en una aproximación de tiempo discreto.
y el proceso de ajuste continúa iterativamente. • La funciones de error y de activación y la condición
• La parada del proceso se realiza por medio de uno de de parada se asume que son elegidos y fijos.
los siguientes criterios:
1.- Elegir un número de pasos fijos.
Procedimiento de ejecución de la Red
2.- El proceso de aprendizaje continua hasta que la
1.- La capa de entrada es inicilizada, es decir, la
cantidad:
∆wlji = wlji( tiempo t +1) − wlji( tiempo t) salida de la capa de igual a la entrada x : z 0 ≡x
sea menor que alg ún valor espec ífico. Para la capas, desde 1 hasta L, hacer: zl = f (Wl zl−1)
3.- El algoritmo se detiene cuando el error total 2.- La salida final de la red es la salida de la
alcanza un mínimo en el conjunto de prueba. última capa es decir , y ≡ z L

El Algoritmo El Algoritmo

Procedimiento de Aprendizaje de la red: (b) Usando (y p,tp), calcular para la capa L ∇ z L E


1.- Inicializar los pesos con valores aleatorios
pequeños. U(-1; 1) (c) Calcular el gradiente del error, para ∇ z l E
2.- Para el conjunto de entrenamiento (x p,tp), usando b-c calcular ( ∇ E ) l
(a) Correr la red para encontrar la activación (d) Actualizar los pesos W de acuerdo a l
para todas las neuronas al y luego sus
regla delta
derivadas f’(al). La salida de la red
y p≡z L(x p)=f(al) es usada en el próximo paso. (e) Chequear la condición de parada y parar
si se cumple la condición.

SESGO (BIAS)
Sesgo (BIAS)

• Activación Neuronal:Algunos problemas no


se pueden resolver con la BN, sin introducir • Salida Neuronal: ~z T = (1 z L z )
l l1 lN l
un nuevo parámetro llamado sesgo w lk 0 • Matrices de Pesos:

 wl 10 wl 11 L wl1N l −1 
 N l −1

zlk = f  w lk 0 + ∑ w lkj z l −1, j 
~  
Wl =  M M O M 
 j =1   
 wlN l 0 wlN l 1 L wlNl N l −1 
Bias ~
⇒ zl = f ( al ) = f (Wl ~zl −1)

–9
Sesgo (BIAS)
Backpropagation (+bias)

• Matriz del gradiente del error: Si el gradiente del error con respecto a la salida
neuronal ∇ z L E es conocido, y depende sólo de la
 ∂E ∂E ∂E  salida de la red {z L(x P)} y del target {tp}
 L 
 wl10 wl11 wl1Nl −1  Entonces el gradiente del error ∇ z E se calcula

( ∇E ) l = M M O M  recursivamente
l

 
 ∂E ∂E ∂E  ∇ z l E = Wl+ 1 [∇ zl +1 E ⊗ f ' (al +1 )]
T
para L-1 hasta 1
 L 
wlNl 0 wlN l 1 wlNl Nl −1 (∇E )l = [∇ z L E ⊗ f ' (a l )]~
T
  z l −1 para las capas l hasta L
donde z 0 ≡ x

Algoritmo ( Momentum) Algoritmo ( Momentum)

• El algoritmo BPL carece de robustez


• Un procedimiento alternativo que toma en cuenta los
atractores en el proceso de aprendizaje es el
algoritmo de momentum:

∆W (t) = W (t + 1) − W (t) = − µ∇E W ( t ) + α∆W (t − 1)

donde α ∈[0,1) es el parámetro de momentum.

• El procedimiento de aprendizaje y ejecución es


equivalente al BPL clásico.

Algoritmo (Momentum) Algoritmo: Momentum

• Otra mejora del algoritmo momentum es la


eliminación de puntos planos, i.e. Si la superficie de Eliminación de puntos planos:
error es muy plana, entonces ∇E ≈ ~0 y, por lo – c f es la constante de eliminación de puntos
tanto, ∆ W ≈ ~0 planos.
– Los términos correspondientes de los pesos del
Para evitar el problema el calculo del gradiente es gradiente del error cercanos a la capa de
llevado de la siguiente manera: entrada son más pequeños que aquellos
ubicados en la capa de salida. Por lo tanto un
∇ z l E = Wt+1 [ ∇ z l+ 1 E ⊗ f ' ( a l+ 1 )] desde L-1 hasta 1
T
efecto de c f es la aceleración de la adaptación

[ ]
(∇E) l , pseudo = [∇ zl E ⊗ f ' (al ) + c f 1̂ ]zT l −1 desde l=1,..,L
de los pesos en capas cercanas a la entrada.

–10
Algoritmo: Backpropagation Adaptivo Algoritmo: Backpropagation Adaptivo

• Se asignan valores de aprendizaje individual a cada


• Ideas del algoritmo: peso basado en el comportamiento previo. Entonces
– Si la pendiente de la superficie de error es la constante de aprendizaje µ se convierte en una
suave, entonces un parámetro de aprendizaje matriz. [w lji ]
grande puede ser usado para acelerar el • La razón de aprendizaje aumenta si el gradiente en
aprendizaje en las áreas planas. la mantiene su dirección en los últimos dos pasos,
en caso contrario lo disminuye:
– Si la pendiente de la superficie de error es I µ lji (t − 1) si ∆w lji (t ) ∆w lji (t −1) ≥ 0
abrupta, entonces un pequeño parámetro de µ lji (t ) = 
aprendizaje debe ser usado para no saltar el Dµ lji (t −1) si ∆ wlji ( t) ∆ wlji ( t − 1) < 0
mínimo.
donde I ≥1 es el factor de aumento y D∈(0,1) es el
factor de disminución.

Otras Mejoras del Algoritmo BPL Algoritmo ( Momentum)


• El algoritmo BPL carece de robustez
• SuperSAB (Super Self-Adapting • Un procedimiento que toma en cuenta los atractores
Backpropagation): del proceso de aprendizaje es el algoritmo de
momentum:
– Es una combinación entre momentum y
backpropagation adaptivo. ∆ W (t ) = W (t + 1) − W (t ) = − µ∇ E W (t ) + α∆ W (t − 1)
– Usa backpropagation adaptivo para los
términos wlij que continúan el
movimiento en la misma dirección y donde α ∈[0,1) es el parámetro de momentum.
momentum para las otras.
• El procedimiento de aprendizaje y ejecución es
equivalente al BPL clásico la forma antes descrita.

Mejoras del Algoritmo (Super SAB) Mejoras del Algoritmo( Super SAB)

• Si ∆wlji ( t ) ∆w lji ( t − 1) ≥ 0 entonces: • En notación matricial:


µ lji (t ) = Iµ lji (t − 1)

∆wlji (t + 1) = − µ lji (t )
∂E
∂wlji
{ [ ~ ~
] }
µ(t) = (I −D)sign sign(∆W(t)•∆W(t −1))+ 1 +D1 • µ(t −1)
W ( t)

• Si ∆wlji (t )∆wlji(t − 1) < 0 entonces:


~
{ [ ~
∆W(t +1) = −µ(t)•∇E −α∆W(t)• 1−signsign(∆W(t)•∆W(t −1))+ 1 ]}
µ lji (t ) = Dµ lji (t − 1)

∂E
∆wlji (t + 1) = − µ lji (t ) − α∆wlji (t )
∂wlji
W (t )

–11
Algoritmo: Backpropagation Adaptivo

• En forma matricial:

{ [ ~
] ~
}
µ (t ) = ( I − D) sign sign( ∆ W ( t) • ∆W (t −1)) + 1 + D 1 • µ ( t − 1)

–12

También podría gustarte