You are on page 1of 41

INTELIGENCIA

ARTIFICICIAL
TEMA: REDES NEURONALES

Ing. Ivn A. Calle Flores


1
La redes neuronales pueden y f (x, w )
verse como funciones con
parmetros adaptativos

y(x, w)

Hacen tareas de regresin

Hacen tareas de clasificacin

2
Orgenes

Fue uno de los primeros algoritmos que


trataban de imitar el funcionamiento
del cerebro

Modelo matemtico de las neuronas

Modelo matemtico de las conexiones


entre las neuronas

Fue ampliamente usado en los 80s y


90s, su popularidad decreci a finales
de los 90s

Actualmente es el estado del arte en


muchas aplicaciones

3
ALVINN: Autonomous land
vehicle in a neural network

4
5
Dr. Terrence Sejnowski
Salk Institute
Nettalk

6
En las sesiones anteriores se vio que los modelos lineales mas
generales para el problema de regresin y clasificacin tienen
la forma:

y( x, w ) y (x, w ) f (w x)) T

Bases
En problema con estos modelos es establecer las bases con el
fin de tener el mejor aprendizaje
Bases
( x u j )2
j ( x) exp
2 s 2
M=???

u=???
s=???

Demo_RBF_03.m 7
La red Perceptron multicapa puede
verse como una generalizacin de
estos modelos en el que las bases
son adaptables

y (x, w ) f (w T x))
Bases

La red Perceptron comprende


mltiples capas de modelos
del tipo logistic regresion

8
2. El Perceptron
Desarrollado por Frank Rosenblatt, represento
un icono en la inteligencia artificial.

En 1969, Minsky y Papert publican Perceptrons


donde demuestraron las limitaciones de esta red.
Hoy en da hay un cientos de aplicaciones que
usan redes neuronales.

Mark 1:
Hardware del
Perceptron.

9
Inspiracin: Neurona natural

10
Modelo matemtico Funcin de activacin

Descripcin matemtica
w w1 , w2 ,..., wD
T
Vector de pesos
y(x) f (w x b)
T
x x1 , x2 ,..., xD
T
Vector de entradas

11
El Perceptron representa una funcin discriminante del tipo
lineal. Separa el espacio de entradas usando hiperplanos

y(x) f (wT x b)
La superficie de decisin (lnea
en rojo) es perpendicular al
vector w.

El desplazamiento desde el
origen esta controlado por el
bas b

12
Toolbox NN - Matlab
13
El Perceptron es un tipo de red de aprendizaje supervisado, es
decir, necesita conocer los valores esperados para cada una de
las entradas presentadas.
x n C1 tn 1
a. Conjunto de entrenamiento x n , t n , n 1, 2,..., N
x n C2 tn 1

Patrn Entradas Targets


n=1 x1 (0,0) t1 1
n=2 x 2 (0,1) t 2 1
n=3 x 3 (1, 0) t 3 1
n=4 x 4 (1,1) t 4 1

Demo_perceptron_01.m 14
b. Inicializacin de la red

Se inicializan los parmetros


y(x) f (wT x b)
de la red w y b con valores
aleatorios

Ejemplos

15
c. Criterio de aprendizaje
Se desea encontrar un vector
w tal que:

x n C1 wT x n 0
x n C2 wT x n 0

Los patrones correctamente


w T x n tn 0
clasificados satisfacen

Los patrones incorrectamente EP (w) w T x ntn


clasificados dan lugar al error: nM

16
La idea es aplicar el algoritmo
( 1) ( )
gradient descent a la funcin w w EP (w)
de error del Perceptron

Reglas de aprendizaje

t 1, y 1 w ( 1) w ( ) x n
Patrn incorrectamente
clasificado
t 1, y 1 w ( 1) w ( ) x n

Patrn correctamente
clasificado t y w ( 1) w ( )

17
Demo_perceptron_02.m 18
El numero de
iteraciones es
variable

Existen diversas
soluciones

Demo_perceptron_03.m 19
Para problemas linealmente separables el teorema de convergencia
del Perceptron asegura el encuentro de una solucin
Para data no separable el Perceptron no converge

Puede presentar muchas soluciones. Estas dependen de la


inicializacin de los parmetros y el orden de presentacin
de la data
20
3. La red Perceptron multicapa
Es un modelo que comprende
mltiples capas de neuronas
con funciones de activacin
continuas

Esta red permite superar los


problemas del Perceptron

Existen mtodos poderosos y


computacionalmente eficientes
para su entrenamiento

21
Estructura

Entradas: Salidas:
x1 x11 , x12 ,..., x1D y1 y11 , y12 ,..., y1K

: :
: :
x N xN 1 , xN 2 ,..., xND y N yN 1 , yN 2 ,..., yNK

Unidades
escondidas
22
Conjunto de entrenamiento

Data

x n , t n , n 1,..., N

Entradas Targets

x n xn1 ,..., xnD

t n tn1 ,..., tnK

23
Asignacin de pesos

Primera capa
(1) Peso que une la
w ji entrada i con la
neurona escondida j

wj0
(1) Bas de la neurona
escondida j

Segunda capa
(2) Peso que une la
w kj neurona escondida
Bas j con la salida k

wk0
(2) Bas de la neurona de
salida k

24
w (1)
ji 3 w
(2)
kj

x2 2 2
2
x1 1 1
1

x0 1 z0 1

25
Capa oculta: Calculo de las activaciones

D
a j wji(1) xi wj0
(1)

i1
j 1,..., M

Considerando: x0 1

D
a j wji(1) xi
i 0

x x0 , x1 ,..., xD

26
Capa oculta: Calculo de las salidas
Cada activacin se transforma
z j = h(a j ) j 1,..., M

La funcin de activacin mas usada


h(a j ) tanh(a j )

27
w (1)
ji
a3 z3
x2
a2 z2
x1
a1 z1

x0 1 z0 1
28
Capa de salida: Calculo de las activaciones
M
ak wkj(2) zj wk0
(2)

j1

k 1,..., K

Considerando: z0 1

M
ak wkj(2) zj
j 0

z z0 , z1 ,..., zM

29
Capa de salida: Calculo de las salidas

Regresin
yk ak

Clasificacin

1
yk
1 eak

30
wkj(2)
z3
x2 a2 y1
z2
x1 a1 y1
z1

x0 1 z0 1
31
En resumen
Tiene una estructura
feed-forward
Comprende 2 etapas de
pre procesamiento
A diferencia del Perceptron
usa funciones de activacin
continuas
La funcin es diferenciable
respecto a los parmetros

Puede aproximar cualquier


tipo de funcin

32
Entrenamiento de la red Funcin de error
El entrenamiento de la red se puede ver como la minimizacin de su
funcin de error. La tarea es encontrar el vector de pesos w que
minimiza la funcin de error escogida.

La funcin de error es una funcin


continua dependiente de w

Existen mltiples puntos mnimos


los cuales satisfacen
E 0
La solucin se hace a travs de
mtodos numricos

w ( 1) w ( ) w ( )
33
Funcin de error: Regresin

Distribucin de las salidas (Gausiana):

p(t | x, w) N (t | y(x, w), 1 )

Salidas de la red Ruido de la data

Se puede demostrar que:

Funcin de probabilidad Funcin de error


1 N
E (w) y(x n , w) t n
N
p T | X, w, p t n | x n , w,
2

n 1 2 n1

34
Funcin de error: Clasificacin

Salidas 0 y(x, w) 1

p(C1 | x) y(x, w)
p(C2 | x) 1 y(x, w)

Distribucin de las salidas (Bernouli):

p(t | x, w) y(x, w)t 1 y(x, w)


1t

Funcin de probabilidad Funcin de error


N N
p T | X, w, p t n | x n , w, E (w) tn ln yn (1 tn ) ln(1 yn )
n 1 n 1

35
Calculo del gradiente del error - Backpropagation
Muchos algoritmos de optimizacin
(gradient descent, etc.) usan el
gradiente de la funcin de error

w ( 1) w ( ) w ( )

El algoritmo back propagation es


un mtodo eficiente para calcular
el gradiente de la funcin de error
T
En En
w E (1) 2
w ji wkj

36
El algoritmo backpropagation
1. Aplicar un vector de entrada x n a la red y propagarlo por la
red, obteniendo las activaciones de las unidades escondidas
y las unidades de salida
D

a3 z3
a j wji(1) xi
y2 i 0
x2
z j f a j
a2
a2 z2
x1 y1
a1 M
a1 z1
ak wkj(2) zj
j 0
x0 1
z0 1
yk f (ak )
37
2. Evaluar los deltas k de las unidades de salida

k yk tk

3. Retro propagar los k para obtener los


deltas j de las unidades escondidas

j h '(a j ) wkj(2) k
k

4. Calcular las derivadas del error


En
j zi
w ji
38
Ejercicio. Gradiente de la red Perceptron

Red de dos capas


Problema de regresin yk ak
Unidades escondidas con
funciones de activacin

ea e a h '(a) 1 h(a)2
h( a ) a a
e e
Logistic sigmoidal

1. Aplicando el patrn de entrada x n , t n a la red tenemos:


D
a j wji(1) xi M
i 0 yk wkj(2) zj
z j tanh a j
j 0

39
2. Evaluando los deltas de las salidas k yk tk

3. Evaluando los deltas de las unidades escondidas


j h '(a j ) wkj(2) k
k

j 1 z w
K
2
j kj
(2)
k
k 1

4. Las derivadas con respecto a los pesos de la primera y


segunda capa estn dados por:

En En
j xi k z j
w ji
(1)
wkj
(2)

40
Eficiencia del algoritmo backpropagation
Uno de los aspectos mas importantes del algoritmo back
propagation es su eficiencia computacional

La computacin del algoritmo tiene


un coso aproximado O(W )

Un enfoque alternativo para el calculo de las derivadas es el


uso de las diferencias finitas
En En ( w ji ) En ( w ji ) La computacin del algoritmo tiene
O( ) un coso aproximado O(W 2 )
w ji

En la practica el las diferencias finitas cumplen un rol importante ya que


permiten comprobar la implementacion del algoritmo backpropagation

41

You might also like