Está en la página 1de 24

2016-2017

Aprendizaje Automatico

6. Redes Neuronales Multicapa

Francisco Casacuberta Nolla Enrique Vidal Ruiz


(fcn@dsic.upv.es) (evidal@dsic.upv.es)

Departament de Sistemas Informatics i Computacio (DSIC)

Universitat Politecnica de Valencia (UPV)

Septiembre, 2016

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.1

Pagina intencionadamente en blanco

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.2

Index

1 Redes neuronales multicapa . 2


2 Algoritmo de retropropagacion del error (BackProp) . 18
3 Variantes del BackProp . 36
4 Redes neuronales radiales . 40
5 Aplicaciones . 44
6 Notacion . 47

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.3

Modelo conexionista

Un conjunto de procesadores elementales


densamente interconectados

Nombres alternativos:
Modelo conexionista
Red neuronal artificial
Procesado distribuido y paralelo

Neurocomputador: conjunto de procesadores


hardware interconectados operando concu-
rrentemente que implementan un modelo
conexionista

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.4

Introduccion: historia (I)

1943: McCulloch y Pitt introducen un modelo matematico simple de neurona.

1949: Hebb propone una regla que modela el aprendizaje en las neuronas. En
1950 Rochester realiza una simulacion en un computador IBM.

1957: Rosenblatt introduce el Perceptron como un dispositivo hardware con


capacidad de autoaprendizaje y Widrow y Hoff proponen el Adaline para la
cancelacion de ecos en redes telefonicas.

1969: Minsky y Papert demuestran que un perceptron solo puede implementar


funciones discriminantes lineales y que esta limitacion no se puede superar
mediante multiples perceptones organizados en cascada: Para ello sera
necesario introducir funciones no-lineales.

1970-1975: Diversos autores tratan de desarrollar algoritmos de descenso por


gradiente adecuados para multiples perceptrones en cascada con funciones
no-lineales. El calculo de derivadas parciales se muestra esquivo.

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.5

Introduccion: historia (II)

1986: Rumelhart, Hinton y Williams popularizan la tecnica de retropropagacion


del error. Se basa en el uso de cierto tipo de funciones no lineales, llamadas
funciones de activacion, con las que se simplifica el calculo de derivadas
parciales necesarias para descenso por gradiente. Al parecer, tecnicas
similares haban sido ya propuests por Linnainmaa en 1970 y Werbos en 1974.

1996: Bishop, Rippley, Ney, entre otros, dan una interpretacion probabilstica
a las redes neuronales y al algoritmo de retropropagacion del error.

2006: Hinton publica en Science un artculo que inagura una nueva tendencia
denominada redes profundas. Posteriormente, en 2015 LeCun, Bengio y
Hinton publican un artculo sobre estas tecnicas en Nature. Se desarrollan
diversas tecnicas que mejoran el uso del algoritmo de retropropagacion en
redes profundas y en redes recurrentes.

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.6

Funciones discriminantes lineales y funcion de activacion

F UNCIONES DISCRIMINANTES LINEALES (FDL)


X d
d t
: R R : (x; ) = x = i x i
i=0
Notacion en coordenadas homogeneas:
def
x Rd+1, x = x0, x1, . . . , xd , x0 = 1
def
RD , = 0, 1, . . . , d D = d + 1
La componente 0 del vector de pesos es el umbral, 0 R
F UNCIONES DISCRIMINANTES LINEALES CON ACTIVACI ON (FDLA)
g : Rd R : g (x; ) = g( tx)

g : R R es una funcion de activacion


tambien denominada funcion logstica

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.7

Funciones de activacion
Sea g : R R y z R:
1. L INEAL: gL(z) = z.

+1 si z > 0
2. S ALTO O ESCAL ON: gE (z) = sgn(z) =
1 si z < 0

z si 1 < z < +1
3. R AMPA: gR(z) =
sgn(z) si |z| 1
4. R E LU (rectified linear unit): gR(z) = max(0, z)
1
5. S IGMOID: gS (z) =
1 + exp(z)
exp(z) exp(z)
6. TANGENTE HYPERB OLICA: gT (z) = tanh(z) =
exp(z) + exp(z)
z
7. R APIDA : gF (z) =
1+ | z |
exp(zi)
8. S OFTMAX : Dados z1, . . . , zM R, gM (zi) = PM para 1 i M
j=1 exp(z j )

Ejercicio: Demostrar que gT (z) = 2gS (2z) 1 z R


Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.8

Funciones de activacion
1 z
sgn(z)
1/(1+exp(-z))
tanh(z)
z/(1+abs(z))

0.5

-0.5

-1
-4 -2 0 2 4

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.9

Derivadas de las funciones de activacion


0 d gL
L INEAL: gL(z) = z gL (z) = =1
dz
 
1 si z > 0 0 si 6 0
z=
E SCAL ON: gE (z) = 0
gE (z) =
0 si z < 0 no definida si z=0

 1 1 z +1
z 1 < z < +1
R AMPA: gR(z) = 0
gR(z) = 0 |z| 1
sgn(z) |z| 1
no def. |z| = 1

1 d gS
S IGMOID: gS (z) = gS0 (z) = = gS (z) (1 gS (z))
1 + exp(z) dz
exp(z) exp(z) d gT
TANGENTE HIPERB OLICA: gT (z) = gT0 (z) = = 1 (gT (z))2
exp(z) + exp(z) dz
z d gF 1
R APIDA : gF (z) = gF0 (z) = =
1+ | z | dz (1+ | z |)2
exp(zi) 0
S OFTMAX : Para z1, . . . , zn R, gM (zi) = P gM (zi) = gM (zi) (1gM (zi))
j exp(zj )
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.10

Derivada de la funcion de activacion sigmoid


1
gS(z)=1/(1+exp(-z))
gS(z)=gS(z) (1-gS(z))
0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
-10 -5 0 5 10
z

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.11

Un perceptron de dos capas: ejemplo y notacion


+1 +1

x
1 1 2
1
0,1 10 s 10
1 2 2
1 s
1,1 11 1
x 21 2,1
2 2

Topologa

0,2
21
1
x s
2 2
3 s
0,3 1,2 2
2,2

2
x
4 13
1
0,4 s 2
3 s
1 3
1,3 2,3
x 25 2
5
1 33
0,5
35
Capa de entrada Capa oculta Capa de salida
Dinamica

1 i M0 d = 5 1 i M1 = 3 1 i M2 = 3
M0
X XM1
xi R s1i (x; ) = g( 1
ij xj ) s2i (x; ) = g( 2 1
ij sj (x))
j=0 j=0
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.12

Perceptron de dos capas


Un perceptron de dos capas consiste en una combinacion de FDLA agrupadas
en 2 capas de tallas M1 (capa oculta) y M2 (capa de salida), mas una capa de
entradas de talla M0 = d (por simplicidad no se contabilizan los umbrales):
M1
X XM1 M0
X
s2i (x; ) = g( 2
ij s1j (x; )) = g( 2
ij g( 1
jj 0 xj 0 )) 1 i M2
j=0 j=0 j 0 =0

Los parametros son = [10


1 1
, . . . , M 1 M0
2
, 10 2
, . . . , M 2 M1
] RD

Problema: Dado un conjunto de entrenamiento S = {(x1, t1), . . . , (xN , tN )},


con xn RM0 , tn RM2 , encontrar tal que s2(xn; ) aproxime lo mejor
posible a tn n, 1 n N .

En clasificacion1: M2 C y las etiquetas tn para 1 n N son de la forma



1 xn es de la clase c
1 c C tnc =
0 (o 1) xn no es de la clase c

Simplificaciones de notacion: ski (x; ) ski (x) ski k, i


1
En la actualidad el problema del entrenamiento se plantea de forma ligeramente distinta como se vera mas adelante.
Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.13

El perceptron multicapa y las funciones de activacion

Un perceptron multicapa de dos capas define una funcion RM0 RM2 :


XM1 XM1 M0
X
s2i (x) 0 xj 0 )) para 1 i M2
2 1 2 1
= g( ij sj (x)) = g( ij g( jj
j=0 j=0 j 0 =0

Si todas las funciones de activacion son lineales, un perceptron multicapa


define UNA FUNCI ON DISCRIMINANTE LINEAL, (x) = (1(x), . . . , M2 (x))t:
M1 X
X M0 M0 X
X M1 M0
X
i(x) s2i (x) = 2 1
ij jj 0 xj 0 = ( 2 1
ij jj 0 ) xj 0 = ij 0 xj 0
j=0 j 0 =0 j 0 =0 j=0 j 0 =0

Si al menos una funcion de activacion no es lineal (y, sin perdida de


generalidad, todas las funciones de activacion de la capa de salida son
lineales) un perceptron multicapa define UNA FUNCI ON DISCRIMINANTE LINEAL
GENERALIZADA :
M1
X M0
X M1
X
i(x) s2i (x) = 2
ij g( 1
jj 0 xj 0 ) = 2
ij j (x) para 1 i M2
j=0 j 0 =0 j=0

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.14

Un perceptron de tres capas


+1 +1 +1 3
s
1
2 3,1
x
1 1 1 10 3

0,1 11 10 1 2 11
s 2 s
1 11 3 3
1,1 2,1
40 3
x 2
2 s
21 2
0,2 3,2

1 2
x s s
3 2 2
0,3 1,2 2,2 3
s
3
2 3 3,3
x
13

4 13
0,4 1 2
s s
3 3 3
1
1,3 2,3 33
x 25 2 3
5 s
1 33 3 4
0,5 3,4
35 43

PM0 1
Primera capa oculta: s1i = g( j=0 ij xj ) para 1 i M1
PM1 2 1
Segunda capa oculta: s2i = g( j=0 ij sj ) para 1 i M2
PM2 3 2
Capa de salida: s3i = g( j=0 ij sj ) para 1 i M3
Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.15

Redes hacia adelante de dos capas


+1 +1

10 21
x 20
1 10 10
21
0,1

10 1 2
s
21 1 21 s
1
1,1 11
x 2,1
2
0,2

x 1 2
3 s s
2 2
0,3 1,2 2,2

x
4
0,4
1 2
s 21 s
10 3 3
1,3 33
25 2,3
x
5 10
20
0,5 35
35

PM0 1,0
Primera capa oculta: s1i = g( j=0 ij xj ) para 1 i M1
PM1 2,1 1 PM0 2,0
Capa de salida: s2i = g( j=0 ij sj + j=0 ij xj ) para 1 i M2
El perceptron multicapa es un caso particular
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.16

El perceptron multicapa como regresor


0
Regresion de Rd a Rd
(p.e. un PM de dos capas con d M0 y d0 M2)

M1
X M0
X
M0 M2
f :R R : fi(x) s2i (x) = 2
kj g( 1
jj 0 xj 0 ) 1 i M2
j=0 j 0 =0

Cualquier funcion se puede aproximar con precision


arbitraria mediante un perceptron de una o mas capas
ocultas con un numero de nodos suficientemente grande

En general, para alcanzar una precision dada, el numero de


nodos necesarios suele ser mucho menor si el numero de
capas ocultas es mayor o igual que dos

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.17

El perceptron multicapa como clasificador

Clasificacion en C clases de puntos de Rd (PM con M0 d, M2 C)

f : Rd {1, . . . , C} : f (x) = arg max s2c (x)


1cM2

Si un conjunto de entrenamiento es linealmente separable existe un


perceptron sin capas ocultas que lo clasifica correctamente

Un PM con una capa oculta de N 1 nodos puede clasificar


correctamente las muestras de cualquier conjunto de entrenamiento de
talla N . Con que poder de generalizacion?

Cualquier frontera de decision basada en trozos de hiperplanos puede


obtenerse mediante un PM con una capa oculta y un numero de nodos
adecuado [Huang & Lippmann, 1988], [Huang, Chen & Babri, 2000]

En general, el numero de nodos necesarios para aproximar una frontera


dadad suele ser mucho menor si el numero de capas ocultas es mayor
o igual que dos
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.18

Index

1 Redes neuronales multicapa . 2


2 Algoritmo de retropropagacion del error (BackProp) . 18
3 Variantes del BackProp . 36
4 Redes neuronales radiales . 40
5 Aplicaciones . 44
6 Notacion . 47

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.19

Aprendizaje de los pesos de un perceptron multicapa


PROBLEMA: Dada la topologa de un perceptron multicapa y un conjunto
de entrenamiento S = {(x1, t1), . . . , (xN , tN )}, con xn RM0 , tn RM2 ,
encontrar RD : s2(xn; ) = tn para 1 n N (o s2(xn; ) tn).

Resolver el sistema de ecuaciones no lineales s2(xn) = tn, 1 n N :


raramente tiene solucion.

Problema reformulado: Dada la topologa de un perceptron multicapa y un


conjunto de entrenamiento S = {(x1, t1), . . . , (xN , tN )}, con xn RM0 ,
tn RM2 , encontrar que minimice el error cuadratico medio:
N M2
1 XX 2
qS () = tni s2i (xn; )
2N n=1 i=1

Solucion: DESCENSO POR GRADIENTE :


l qS ()
ij = l
ij
1 l 2, 1 i Ml, 0 j Ml1
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.20

Algoritmo de retropropagacion del error (BackProp)

Actualizacion de los pesos de la capa de salida: (1 i M2, 0 j M1)

XN
2 qS ()
ij = 2 = i2(xn) s1j (xn)
ij n=1
M1
X
 0
i2(xn) = tni s2i (xn) g (2i (xn)) con 2i (xn) = 2 1
ij sj (xn)
j=0

Actualizacion de los pesos de la capa de la capa oculta: 1 i M1, 0 j M0

XN
1 qS ()
ij = 1 = i1(xn) xnj
ij n=1

M2
X M0
X
i1(xn) = r2(xn) 2
ri g 0
(1i (xn)) con 1i (xn) = 1
ij xnj
r=1 j=0

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.21

Algoritmo BackProp: calculo hacia adelante

+1 +1

x
1 1 2
1
0,1 10 s 10
1 2 2
1 s
1,1 11 1
x 21 2,1
2 2
0,2

21
1
x s
2 2
3 s
0,3 1,2 2
2,2

2
x
4 13
1
0,4 s 2
3 s
1 3
1,3 2,3
x 25 2
5
1 33
0,5
35
XM0 M1
X
s1i (x) = g(1i ) = g( 1
ij xj ) 1 i M 1 ; s2j = g(2j ) = g( 2
jk s1k (x)), 1 j M2
j=0 k=0
(para solo una muestra de entrenamiento, x, y M0 = 5, M1 = 3, M2 = 3)
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.22

BackProp: Actualizacion pesos de la capa de salida

+1 +1

x
1 1 2

0,1 10 1 10
s 2 2
1 1 s t
11 1 1
21 1,1 2,1
x 2
2 2
0,2 21
1
1
x s 2
3 2 s t
2 2
0,3 1,2 2,2

2
x 13
4
0,4 1
s 2
3 s t
1 3 3
1,3 2,3
x 25 2
5
1 33
0,5
35

12 3 = 12 s13 = (t1 s21) g 0(21) s13


(para solo una muestra de entrenamiento)
Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.23

BackProp: Actualizacion pesos de la capa oculta

+1 +1

x
1 1 2

0,1 10 1 10
s 2 2
1 s t
1 11 1
1,1 2,1 1
x 21 2 2
2
0,2 21 1

1
x s 2
3 2 s t
2
0,3 1,2 2,2 2
2
133

2
x 2
4
13
0,4 1 2
s 2
3 23 s
1 3 t
1,3 2,3 3
x 25 2 2
5 1
1 3
0,5 3 33
35

PM2
31 3 = 31 x3 = ( 2 2 0 1
r=1 r r3 )g (3 ) x3
(para solo una muestra de entrenamiento)
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.24

Regla de la cadena en el calculo de derivadas

Funcion simple de otra funcion de una variable: f, g : R R:

d f (g(x)) df dg
=
dx dg dx

Funcion de dos funciones de M variables: g1, g2 : RM R, f : R2 R

f (g1(x, . . . ), g2(x, . . . )) f g1 f g2
= +
x g1 x g2 x

Funcion de N funciones de M variables: g1, . . . , gN : RM R, f : RN R:

XN
f (g1(x, . . . ), . . . , gN (x, . . . )) f gi
=
x i=1
gi x

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.25

Derivacion del algoritmo BackProp (I)

Actualizacion de los pesos de la capa de salida kl


2
(una sola muestra, N = 1)
M M1
1X2
2  X
qS () = tl s2l ; s2l =g 2l ; 2l = 2 1
lm sm
2 m=0
l=0

 
qS () qS () 2i qS () s2i 2i  
2 = 2 2 = 2 2 2 = (1) (ti s2i ) g 0(2i ) s1j
ij i ij si i ij

 
def 0 qS () qS ()
i2 = (ti s2i ) g (2i ) = = = i2 s1j
2i ij2

2 qS ()
ij = 2 = i2 s1j 1 i M 2 , 0 j M1
ij

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.26

Derivacion del algoritmo BackProp (II)

Actualizacion de los pesos de la capa de la capa oculta ij


1
(para N = 1)
M M1 M0
1X2
2 X  X
qS () = tl g(2l ) ; 2l = 2
lm s1m; s1m =g 1m ; 1m = 1
mk xk
2 m=0
l=0 k=0
 
qS () qS () 1i qS () s1i 1i
1 = 1 =
ij 1i ij s1i 1i ij 1


M2
X 2 XM2
qS () l 0 1
= g (i ) xj = 2 0 1
l2 li g (i ) xj
2l s1i
l=0 l=0

M2
X
def
2 0 1 qS ()
i1 = l2 li g (i ) = 1 = i1 xj
ij
l=1

1 qS ()
ij = 1 = i1 xj 1 i M1 , 0 j M0
ij

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.27

BackProp para perceptrones de tres capas

Actualizacion de los pesos de la capa de salida (1 i M3, 0 j M2)

XN
qS () 
3
ij = 3 = i3(xn) s2j (xn) i3(xn) = tni s3i (xn) g 0(3i (xn))
ij n=1

Actualizacion de los pesos de la segunda capa oculta ( 1 i M2, 0 j M1)



N
X XM3
qS ()
2
ij = 2 = i2(xn) s1j (xn) i2(xn) = 3 0 2
r3(xn) ri g (i (xn))
ij n=1 r=1

Actualizacion de los pesos de la primera capa oculta ( 1 i M1, 0 j M0)



N
X M2
X
qS ()
1
ij = 1 = i1(xn) xnj i1(xn) = 2 0 1
r2(xn) ri g (i (xn))
ij n=1 r=1

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.28

Algoritmo BACK P ROP


Entrada: Una topologa, datos de entrenamiento S, un factor de aprendizaje ,
pesos iniciales ijl 1 l L, 1 i Ml, 0 j Ml1 y condiciones de convergencia
Salidas: Pesos de las conexiones que minimizan el error cuadratico medio de S
Metodo:
Mientras no converja
Para 1 l L, 1 i Ml, 0 j Ml1, inicializar ij l
=0
Para toda muestra de aprendizaje (xn, tn) S
Desde la capa de entrada a la capa de salida (l = 1, . . . , L):
Calcular li y sli = g(li) para 1 i Ml
Desde la salida a la entrada (l = L, . . . , 1) ,
Para cada nodo  (1 i Ml)
g 0(li) (tni sL
i ) si l == L
Calcular il = P l+1
g (i) ( r r ri ) en otro caso
0 l l+1

Para cada peso ij l


(0 j Ml1) calcular: ij l
+= il sl1
j
Fin para cada nodo
Fin para cada muestra
Para 1 l L, 1 i Ml, 0 j Ml1, actualizar pesos: ij l l
= ij l
+ ij
Fin mientras
El coste computacional del algoritmo BackProp es O(N D) en cada iteracion.
Septiembre, 2016 DEMO Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.29

BackProp especfico para clasificacion


En problemas de clasificacion se suele utilizar la funcion de activacion softmax en
la capa de salida. En este caso, las salidas de la red pueden considerarse como
aproximaciones a las probabilidades a posteriori de clase.
Dado un conjunto de entrenamiento S = {(x1, t1), . . . , (xN , tN )}, con xn RM0 ,
tn {0, 1}M2 , (M2 C), esto permite establecer como criterio de optimizacion,
alternativo al error cuadratico, la entropa cruzada:
N M2
1 XX
qS () = tni log s2i (xn; )
N n=1 i=1

Problema de entrenamiento: encontrar tal que la entropa cruzada sea mnima.


Solucion: DESCENSO POR GRADIENTE :
l qS ()
ij = l
1 l 2, 1 i Ml, 0 j Ml1
ij
El algoritmo basado en la minimizacion de la entropa cruzada suele producir
entrenamientos mas rapidos y mejores generalizaciones (Bishop 2006)
Ejercicio: Obtener las ecuaciones de actualizacion para la minimizacion de la entropa cruzada.
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.30

La seleccion del factor de aprendizaje

1.0

0.9

0.8
Error cuadrtico medio

=9.0
0.7

0.6

0.5

0.4
=0.09
0.3

0.2
=0.9
0.1

0.0
0 1000 2000 3000 4000 5000 6000 7000 8000
Ciclos de entrenamiento

DEMO
Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.31

Condiciones de convergencia
100
Error cuadrtico en entrenamiento
Error cuadrtico en validacin
Error de clasificacin en validacin

80
Error de clasificacin (%)
Error cuadrtico

60

40

20

Ciclos de entrenamiento

Generalizacin Sobre-entrenamiento

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.32

Codificacion
Los valores 1 (o 0, 1) solo se alcanzan asintoticamente cuando se utilizan la mayora
de las funciones de activacion como la sigmoid:

0.9
Valores deseados de salida: ti =
+0.9

Paralisis de la red: para valores grandes de z la derivada g 0(z) es muy pequena y por
tanto, los incrementos de los pesos son muy pequenos. Una forma de disminuir este
efecto es normalizar el rango de entrada.
N


1 X
j = N
xij 1 j d
d
S = {x1, . . . , xN } R i=1
N


2 1 X

j = N 1 (xij j )2 1 j d
i=1

x j j j = 0
x Rd, x : xj = for 1 j d
j
j = 1

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.33

Propiedades del BackProp


Convergencia: teorema general del descenso por gradiente (Tema 3)
Eleccion del factor de aprendizaje: Tema 3
Coste computacional: O(N D) en cada iteracion
Perceptrones de una o dos capas ocultas [Villiars and Basnard, 92]
En el mejor de los casos, los resultados de clasificacion no presentan
diferencias estadsticas significativas.
Generalmente, un perceptron de una capa oculta suele producir mejores
resultados de clasificacion que los de dos capas ocultas.
Los perceptrones de dos capas ocultas suelen converger mas rapidamente que
los perceptrones de una capa oculta.
En condiciones lmites, las salidas de un perceptron entrenado para minimizar
el error cuadratico medio de las muestras de entrenamiento de un problema de
clasificacion aproximan la distribucion a-posteriori subyacente en las muestras de
entrenamiento.
En ocasiones, se suele utilizar las salidas del perceptron como una aproximacion a esa distribucion a-posteriori (p.e.
para un perceptron de una capa oculta): s2i (x; ) P (i | x) para lo que se suele utilizar la funcion softmax como
funcion de activacion en la capa de salida, lo que permite su normalizacion.
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.34

Estimacion de la topologa

M ETODOS DE PODA :
Poda de pesos basadas en:
RELEVANCIA
CASTIGO
Poda de FDLA.

M ETODOS INCREMENTALES :
Busqueda incremental (Moddy & Utans, 1995)
Cascade-correlation (Fahlman & Lebiers, 1990)
Adaptacion estructural (Lee et al. 1990)

P OR TRANSFORMACI ON
Arboles de decision

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.35

Aspectos computacionales del aprendizaje con el PM

Sobre la intratabilidad del aprendizaje de redes neuronales (Blum and


Rivest, 1992): La busqueda de un conjunto de pesos (racionales) tal que
el perceptron multicapa (con funciones de activacion en escalon) genere
la salida deseada (en el caso de que sea posible) para cada muestra de
entrenamiento es NP-duro.

Sobre el tamano del conjunto de entrenamiento (Ripley, 1993 y Tema 2.1):


Si el perceptron multicapa tiene M nodos y un numero arbitrario de capas,
el numero de muestras de entrenamiento debe ser proporcional a D log M 
donde  es el error tolerado. Si el perceptron multicapa tiene solo una capa,
el numero de muestras de entrenamiento debe ser proporcional a D .

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.36

Index

1 Redes neuronales multicapa . 2


2 Algoritmo de retropropagacion del error (BackProp) . 18
3 Variantes del BackProp . 36
4 Redes neuronales radiales . 40
5 Aplicaciones . 44
6 Notacion . 47

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.37

BackProp incremental u on-line


BackProp batch (en cada iteracion k se procesan todas las xn, 1 n N ):
N
X
l
ij (k) = k il(xn) sl1
j (xn ) 1 l L, 1 i Ml, 1 j Ml1
n=1

BackProp on-line (en la iteracion k-esima se procesa solo xk0 , k0 = 1+k mod N ):
l
ij (k) = k il(xk0 ) sl1
j (xk0 ) 1 l L, 1 i Ml, 1 j Ml1
1.0

0.9 =0.5
Error cuadrtico medio

0.8

0.7

0.6

0.5

0.4

0.3 BATCH
0.2

0.1 ON-LINE
0.0
0 250 500 750 1000 1250 1500 1750 2000

Ciclos de entrenamiento EPOCHS

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.38

BackProp con momentum

Problema: convergencia lenta en plateaux


Posible solucion: anadir una inercia o momentum con un peso 0 < 1
XN
BP con momentum (batch): ij (k) = k
l
il(xn) sl1 l
j (xn ) + ij (k 1)
n=1
T EOREMA (Phansalkar and Sartry, 1994): Los puntos estables del algoritmo
BackProp con momentum ((k) = (k + 1)) son mnimos locales de qS ()
1.0

0.9 =0.5
=0.5
Error cuadrtico medio

0.8

0.7

0.6

0.5
=0.9 =0.9
0.4

0.3 BATCH
0.2 =0.0
=0.0
0.1 =0.5
=0.5
0.0
0 250 500 750 1000 1250 1500 1750 2000
Presentaciones de las muestras de entrenamiento

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.39

BackProp con amortiguamiento

Problema: evitar que los pesos sean muy grandes y provoquen una
paralisis de la red.

Solucion: minimizar el error cuadratico medio con regularizacion:

X
l 2
qS () + (ij )
l,i,j

Algoritmo batch, para 1 l L, 1 i Ml, 1 j Ml1

N
X
l
ij (k) = k il(xn) sjl1(xn) + 2 k ij
l
(k)
n=1

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.40

Redes neuronales radiales


Una red neuronal radial (RNR) es una FDLG de la forma:
0
d
X
m(x; ) = mi (k x i k) + m0 1mM
i=1
0
donde: x Rd, i Rd, para 1 i d0 m Rd, m0  R y es una funcion
2
basica radial tpicamente de la forma: (z) = exp 2
z
2 con R.

Para clasificacion, M C, aunque las RNR son populares para regresion.


Aprendizaje de RNR:
Aprendizaje secuencial, primero de las funciones basicas radiales (clustering)
y a continuacion los pesos (Adaline, . . . ).
Aprendizaje integrado de las funciones basicas radiales y los pesos mediante
la minimizacion del error cuadratico medio (similar al BackProp).

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.41

Ejemplo de funciones basicas radiales en R

2.5

(x) = 0.5 1(x) + 1.0 2(x) + 2.0 3(x) + 0.0


2

1.5

1
1 2 3

0.5

0
-20 -15 -10 -5 0 5 10 15 20 25
1 2 3

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.42

Ejemplo de funciones basicas radiales en R


+1

1
5 0.5

x 0
1.0
2

10
2.0

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.43

Redes neuronales radiales


+1


x 10
1
0,1
11

1
1 11
12 1
x
2
12

0,2 13

15
14
x
3 2
0,3 2

21

x
22
4 12
0,4
23

3
2 3
x
24
5
32
0,5

1id=5 1 i d0 = 2 1iM =3
Pd 2
! d0
j=1 (ij xj )
X
xi R (x; i, ) = exp i(x; ) = ij (x; j , ) + i0
2 2 j=1

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.44

Index

1 Redes neuronales multicapa . 2


2 Algoritmo de retropropagacion del error (BackProp) . 18
3 Variantes del BackProp . 36
4 Redes neuronales radiales . 40
5 Aplicaciones . 44
6 Notacion . 47

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.45

Ejemplos

Clasificacion de dgitos I

Clasificacion de dgitos II

Prediccion

Algunas demos
Aplicaciones varias
http://www.calsci.com/Applications.html
Demos en java
http://lcn.epfl.ch/tutorial/english/index.html
http://www.aispace.org/downloads.shtml

Septiembre, 2016 Departament de Sistemes Informatics i Computacio


Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.46

Algunas aplicaciones
C LASIFICACI ON
Reconocimiento de caracteres impresos y manuscritos
Exploracion petrolfera.
Aplicaciones medicas: deteccion de ataques de epilesia, ayuda al diagnostico de
la esclerosis multiple, etc.
Minera de datos
P REDICCI ON
Prevision de ocupacion en los vuelos (Inc. BehavHeuristics.)
Evolucion de los precios de solares (Ayuntamiento de Boston)
Prediccion de consumo de bebidas refrescantes (Britvic)
Prediccion metereologica (National Weather Service)
Prediccion de stocks (Carl & Associates, Neural Applications Corporation, etc.)
Prediccion de demanda electrica (Bayernwerk AG, Britvic, etc.)
Prediccion de fallos en motores electricos (Siemens)
C ONTROL AND AUTOMATIZATION
Refinado del petroleo (Texaco).
Produccion de acero (Fujitsu, Neural Applications Corporation, Nippon Steel)

Septiembre, 2016 Departament de Sistemes Informatics i Computacio

Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.47

Notacion
Funciones discriminantes lineales: (x; ) = tx para una entrada x y parametros
compuestos por vector de pesos y umbral (, 0)
Funciones discriminantes lineales con activacion: g (x; ) para una entrada x, parametros
(, 0) y g una funcion de activacion. g 0 es la derivada de la funcion de activacion g
Funcion de activacion sigmoid: gS (z)
Salida del nodo i en la capa k: ski en perceptrones multicapa y redes hacia adelante
Pesos de la conexion que va del nodo j de la capa k 1 al nodo i de la capa k en un perceptron
k k
multicapa: ij . es un vector de talla D formado por todos los pesos ij . Pesos de la conexion
k ,k 0
que va del nodo j de la capa k0 al nodo i de la capa k en una red hacia adelante: ij
Conjunto de N muestras de entrenamiento: S = {(x1, t1), . . . , (xN , tN )} con xn RM0 y
tn RMK , siendo K el numero de capas y Mk el numero de nodos de la capa k
Funcion a minimizar en el entrenamiento de un perceptron multicapa: qS () R
Clasificador en C MK clases de puntos de Rd RM0 : f : RM0 {1, . . . , MK }
Error en el nodo i de la capa k para la muestra xn: ik (xn)
k
Incremento del peso que va del nodo j en la capa k 1 al nodo i en la capa k: ij
Factor de aprendizaje, momentum y factor de regularizacion: , y
Media y desviacion tpica: y
Septiembre, 2016 Departament de Sistemes Informatics i Computacio

También podría gustarte