You are on page 1of 40

DCC - PUC

Inteligencia Artificial
IIC 2612
Un Agente Inductivo Toma II

Redes Neuronales Artificiales

Alvaro Soto

Ch. 5

DCC - PUC

Redes Neuronales Artificiales o


Artificial Neural Nets (ANNs)
Mtodo altamente prctico y general para
aprender funciones continuas, discretas y
vectoriales, dado un set de ejemplos
rotulados
Mtodo de aprendizaje supervisado
En este captulo veremos el tipo feed-forward

Alvaro Soto

Ch. 5

DCC - PUC

Estructura de una ANNs tipo Feed-Forward

Vector de entrada

Wij
j

Capa Entrada

Alvaro Soto

Capa Oculta

Vector de salida

Cada link tiene un


peso (weight) asociado

Capa Salida

Una ANN es caracterizada por:


1. Su estructura interna
2. Su mtodo para determinan
los pesos
3. Su funcin de activacin

Ingredientes:

Unidades Capa
Entrada

Unidades Capas
Ocultas

Unidades Capa Salida

Pesos

Ch. 5

DCC - PUC

ANNs in a Nutshell
Red Neuronal Artificial

Ejemplo:
cuando el vector de entrada es una
imagen del dgito 3 la salida debe ser
la codificacin binaria de este dgito
Alvaro Soto

Vector de salida

Vector de entrada

flujo

Red
Neuronal

0
0
1
1

Ch. 5

DCC - PUC

ANNs in a Nutshell
Atributo

Rango

Valor

Precio
Edad
No. Rec.
Repar
Clima
Cochera
Terreno
Construc.
Sector

300K-3M
0-50
1-10
1-5
C, D, N
0-5
100-1000
100-1000
1-5

900M
20
3
2
D
2
400
350
3

Edad
No. Rec.
Repar
Clima
Cochera
Terreno
Construc.

Precio ?

Sector

Alvaro Soto

Ch. 5

DCC - PUC

ANNs in a Nutshell

Atributo

Edad
No. Rec.
Repar
Clima
Cochera
Terreno
Construc.
Sector

Valor Val_Nor

20
3
2
D
2
400
350
3

0.4
0.3
0.15
0.25
0.33
0.4
0.35
0.65

Una
ANN
1.
es c
Su
estr aracte
2.
riz
uc
Su
mt tura in ada po
tern
o
los
r:
pes do pa
3.
a
ra d
os
Su
eter
func
mi n
in
an
de a
ctiv
aci
n
Alvaro Soto

Ch. 5

ANNs Replica Modelo Bologico

DCC - PUC

(o al menos lo que hoy entendemos de l)

Cada neurona recibe seales (entradas) desde otras neuronas


El efecto de cada seal de entrada depende de un ponderador o peso
sinptico que regula la conexin
Los pesos sinpticos se adaptan de manera que la red global pueda realizar
cmputos tiles: reconocer objetos, responder pruebas de IA, entender
lenguaje, etc.

Neurona Artificial
Tipo Perceptrn

Neurona Biolgica
Axon de otro neurona
Arborizaci
Arborizacin
axonal
dendritas

Sinapsis

Conexiones
de entrada

xi

yi=g( i xi wij )

wi,j

Axon

xi wij
i

Ncleo
Soma o
cuerpo

Alvaro Soto

synapsis

Conexiones
de salida

yi

Salida
Funci
Funcin de
entrada
Funci
Funcin de
activaci
activacin

Ch. 5

DCC - PUC

Neurona Biolgica

Neurona Artificial
xi wij
i

Cerebro humano

Nmero de neuronas aprox. 1011


Conexiones por neurona aprox. 104
Tiempo de paso de seal 10-3 seg.
Reconocimiento de rostro familiar en
0.1 seg.
Proceso altamente paralelo
Representacin altamente distribuida

Alvaro Soto

ANNs

Nmero de neuronas aprox. 104-6


Conexiones por neurona aprox. 102-3
Tiempo de paso de seal 10-11 seg.
Reconocimiento de rostro familiar slo
en casos controlados
Proceso paralelizable pero an no a
nivel de cerebro humano
Representacin dividida en gran
nmero de neuronas
nfasis en adecuar pesos
Estructura fija de la red
8

Ch. 5

DCC - PUC

Algo de historia
1943: McCulloch and Pitts. Binary thresholdneuron
1949: Hebb. Hebb learning rule
1959: Rosemblatt. Perceptrn
1969: Minsky. Perceptrn altamente limitados
1982: Hopfield. Hopfield nets
1986: Rumelhart. Backpropagation

Alvaro Soto

Ch. 5

Mc Culloch and Pitts:


Binary Threshold-neuron (1943)

DCC - PUC

Considerado el primer modelo de ANNs


Usada principalmente para modelar funciones lgicas
Pesos determinados mediante un anlisis de la funcin
objetivo
No existe un algoritmo de entrenamiento
xi

z =

xi wi
i

y=
Alvaro Soto

1 if

wi ,

0 otherwise

y=g(

xi wi )

y=g(z)
1

0
threshold

z10

Ch. 5

DCC - PUC

Con ustedes el singular: Perceptrn


Separ
ad
thresh or lineal c
on
old

El real descubrimiento de la magia:


Neuronas de activacin no lineal + ALGORITMO DE APRENDIZAJE
Alvaro Soto

11

Ch. 5

DCC - PUC
TOMA

Entrenamiento de un Perceptrn Lineal


1
2
E [w]
(t d od )
2 dD

Como podemos encontrar mnimo de esta


funcin de error en funcin de los pesos?
Algn comentario sobre la forma de esta funcin
de error ?
Qu tal nuestro querido amigo el gradiente?
Qu diran nuestros camaradas de estadstica?
12

Alvaro Soto

Ch. 5

DCC - PUC
TOMA

Entrenamiento de un Perceptrn Lineal


Se
sin par
th ado
re
sh r lin
ea
ol
d
l

Objetivo:
Encontrar set de pesos que minimiza error cuadrtico sobre
set de entrenamiento
Set de entrenamiento: O

x, t
x : entrada
: salida
deseada
tAlvaro
Soto

= w0 + w1 x1 + ...wn xn =

n
i =0

wi xi

1
2
Error = E [w]
(t d od )
2 dD

13

Ch. 5

DCC - PUC
TOMA

Entrenamiento de un Perceptrn Lineal


Regla de entrenamiento
Movemos pesos en direccin
opuesta al gradiente (gradient descent)

Tasa de aprendizaje
(learning rate)
Alvaro Soto

14

Ch. 5

DCC - PUC

TOMA

Entrenamiento de un Perceptrn Lineal


Algoritmo

Alvaro Soto

15

Ch. 5

DCC - PUC

Perceptrn con activacin sigmoidal

Regla de entrenamiento

Alvaro Soto

16

Ch. 5

Entrenamiento de un Perceptrn
Una Mirada Geomtrica

Alvaro Soto

DCC - PUC

17

Ch. 5

DCC - PUC
TOMA

Entrenamiento de un Perceptrn

Variantes: Modo Batch o Modo Incremental

Alvaro Soto

18

Ch. 5

DCC - PUC

TOMA

Entrenamiento de un Perceptrn

Modo Batch
sigue gradiente en
superficie de error en
set de training

w1

Alvaro Soto

Modo incremental
zig-zags por qu?
restriccin de
caso ejemplo 1

w1

w2

Restriccin de
caso ejemplo 2

w2

19

Ch. 5

DCC - PUC

Qu puede aprender un Perceptrn ?


Problemas linealmente separables

Alvaro Soto

20

Ch. 5

DCC - PUC

Problema con el Perceptrn


Cmo aprendemos el siguiente clasificador?

Alvaro Soto

OR exclusivo: x1 x2

21

Ch. 5

DCC - PUC

Solucin al problema del Perceptrn

x1 x2 = ( x1 x2 ) (~ x1 ~ x2 )

Nuevo problema:
Cmo entrenamos redes con un layer oculto (hidden layer)?

Alvaro Soto

Backpropagation al rescate

22

Ch. 5

DCC - PUC

Backpropagation permite entrenar


Multilayer networks

Alvaro Soto

23

Ch. 5

DCC - PUC

Backpropagation permite entrenar


Multilayer networks

Alvaro Soto

24

Ch. 5

DCC - PUC

El Engorroso Mundo de los Sub-ndices


Detrs de Backpropagation

Alvaro Soto

25

Ch. 5

DCC - PUC

Backpropagation en gloria y majestad

Alvaro Soto

26

Ch. 5

DCC - PUC

Recetas de cocina
Aplicar estrategia tipo annealing para controlar
dinmicamente el valor de la tasa de aprendizaje
Aplicar un factor de momentum para actualizar valor
de pesos

Cuidado con overfitting


Usar tcnicas de validacin cruzada
Estructura de la red
Criterio de trmino de iteraciones
Inicializacin de pesos
Funcin de activacin

Alvaro Soto

27

Ch. 5

DCC - PUC

Ejemplo
Podemos aprender la siguiente funcin?

Alvaro Soto

28

Ch. 5

Alvaro Soto AUU


GU
50

!
!!!!
U
U

00

oc

as
d

ee

ntr

en

am

i en

to

A
lg
n
po co
rl m
a en
un ta
id rio
ad s
es ob
in re
te e
rn l v
as al
de or g
la en
re er
d? ad
o

DCC - PUC

Ejemplo
Inputs

Hidden values

Outputs

29

Ch. 5

DCC - PUC

Valor de la tecnologa

Alvaro Soto

30

Ch. 5

DCC - PUC

Overfitting en Redes Neuronales

Alvaro Soto

31

Ch. 5

DCC - PUC

NETtalk (Sejnowski & Rosenberg, 1987)


Tarea: aprender a pronunciar palabras escritas en ingls
Set de entrenamiento: 1024 palabras con su
correspondientes fonemas
Entrada: 7 caracteres consecutivos presentados segn
una ventana que se deslizaba sobre el texto
Salida: cdigo de fonema ms cercano segn letra al
centro del texto de entrada
Estructura: 3 capas. 7x29 entradas (26 chars +
caracteres de puntuacin), 80 neuronas en capa oculta,
26 unidades en capa de salida (codificacin de fonema).
Funciones de activacin sigmoidal en capa oculta y
salida
Resultados: 95% exactitud en set de entrenamiento
despus de 50 iteraciones (pocas) usando backpropagation. 78% exactitud en set de test.
Alvaro Soto

32

Ch. 5

DCC - PUC

Ejemplo: Deteccin de autos y personas


Enfasis en la
cabeza

Pesos
Resultantes

Enfasis en los
hombros

Alvaro Soto

Enfasis en la
espalda

Red decide ignorar partes norgidas y pone nfasis en la parte


superior del cuerpo
Video Clip

33

Ch. 5

DCC - PUC

Ejemplo: ALVINN

Alvaro Soto

34

Ch. 5

DCC - PUC

Ejemplo: ALVINN

Alvaro Soto

35

Ch. 5

DCC - PUC

Reconocimiento de postura del rostro


Salida

Entrada

er
t
c
e
s te no ras
g
n ien eco ca
i
n
r
i
0
d
tra pen ara e 2
n e
p 1d
e
d
d
os t in titu o y
t
da tes xac str
0 e
o
24 t d de e el r
Se % r a d
90 stu
po

Tpicas imgenes en set de entrenamiento

Alvaro Soto

36

Ch. 5

DCC - PUC

Reconocimiento de postura del rostro


Interpretacin de los pesos

Alvaro Soto

37

Ch. 5

DCC - PUC

ANNs y la fama
Exitosamente aplicadas en una gran gama de
aplicaciones relacionadas con problemas de:

Reconocimiento de patrones
Aproximacin de funciones
Prediccin
Estrategias de control

Ejemplos:

Aprender a reconocer caracteres


Aprender a reconocer voz
Aprender a reconocer objetos en imgenes
Aprender a conducir un automvil en una carretera
Aprender a reconocer situaciones fraudulentas en
reclamos a una Isapre

AlvaroSoto

38

Ch. 5

DCC - PUC

ANNs el lado oscuro

Muchos parmetros
Difcil elegir estructura
Difcil elegir representacin para inputs y outputs
Largo tiempo de entrenamiento
Difcil de ajustar el coeficiente de aprendizaje
Fcil de quedar atrapado en ptimo local
Limitadas capacidades para aprender
dinmicamente
Difcil de entender modelos
Actualmente nfasis ha girado hacia redes de
Bayes y mquinas de vectores de soporte que
pueden ser considerados como variantes del
perceptrn
Alvaro Soto

39

Ch. 5

DCC - PUC

Cuando Considerar ANNs


Set de datos posee alta dimensionalidad ya sean
datos discretos o continuos
Set de datos esta rotulado (aprendizaje
supervisado)
Relacin compleja (altamente no lineal) entre
entrada y salida
Datos ruidosos
Podemos usar un largo tiempo para entrenamiento
pero necesitamos un tiempo rpido al momento de
hacer consultas a la red
Obtencin de un modelo generativo, comprensible
por un ser humano, no es importante (ANNs son
modelos de tipo caja negra)
Alvaro Soto

40

Ch. 5

You might also like