You are on page 1of 30

Introduccin a

Redes Neuronales Artificiales


Reconocimiento de Patrones
M.Sc.dIE
Enrique Ferreira
27 de agosto de 2010
Reconocimiento de Patrones 2
2
7
/
0
8
/
2
0
1
0
Objetivos
Introducir el concepto de redes neuronales,
perspectiva histrica, estructuras principales y
aplicaciones fundamentales
Describir en detalle algunas estructuras y
algoritmos a utilizar en el contexto de
reconocimiento de patrones
Conceptos de optimizacin
Conceptos de sistemas dinmicos
Reconocimiento de Patrones 3
2
7
/
0
8
/
2
0
1
0
Hiptesis de trabajo
No se pretenden cubrir todas las estructuras
neuronales y sus algoritmos respectivos
Complejidad
Objetivos y duracin del curso
Dar las herramientas para que Uds. puedan
seguir profundizando en el tema conforme a sus
necesidades o inters.
Reconocimiento de Patrones 4
2
7
/
0
8
/
2
0
1
0
Organizacin
Motivacin, Historia
Ingeniera inversa de procesos biolgicos para el
desarrollo de nuevos modelos de computacin
Resolucin de problemas complejos
Introduccin
Conceptos fundamentales, notacin a usar
Ejemplos de redes neuronales
Concepto de Aprendizaje
Mtodos de entrenamiento
Aplicaciones
Problemas fundamentales
Reconocimiento de Patrones 5
2
7
/
0
8
/
2
0
1
0
Perspectiva Histrica
Modelado de la estructura y funcionamiento cerebral
Es un modelo computacional completamente diferente del
desarrollado en las computadoras digitales actuales.
distribuido
paralelo
no-lineal
auto-organizable
capacidad de aprendizaje
Realiza ciertas tareas mucho ms rpido que las
computadoras actuales, trabajando a velocidades mucho ms
lentas
reconocimiento de patrones, lenguaje, actividad sensorial y
motora
no circunscrito solamente al cerebro humano
Evolutivamente optimizado
alta especializacin anatmica y funcional
plasticidad: capacidad de adaptacin
Reconocimiento de Patrones 6
2
7
/
0
8
/
2
0
1
0
Perspectiva Histrica
Modelado de la estructura y funcionamiento cerebral
Estructura funcional dentro del funcionamiento global del
individuo
sistema reactivo
especializacin
Neurona como unidad bsica funcional del sistema
Topologa de red o interconexin entre neuronas
Funcionamiento
entrada-salida
flexible, adaptable, a travs de aprendizaje
Receptores
Red
Neuronal
Efectores
Estmulos Respuesta
Realimentacin
Reconocimiento de Patrones 7
2
7
/
0
8
/
2
0
1
0
Funcionamiento Cerebral
Modelado de la estructura y
funcionamiento cerebral
Estructura jerrquica en capas
Niveles de organizacin y funcionamiento
cerebral
crecen en complejidad
Sinapsis: nivel elemental de comunicacin
Microcircuitos neuronales:
ensamble de sinapsis que producen
operacin deseada (~ASIC)
orden de m y velocidades de ms.
Circuitos locales:
ensambles de neuronas ( ~ 1 mm) para
desarrollar operaciones localizadas del
cerebro
Inter-regionales:
mapas, caminos que involucran diferentes
partes del cerebro
Sistema Nervioso Central
Circuitos Inter-regionales
Circuitos Locales
Neuronas
rbol dendrtico
Microcircuitos neuronales
Sinapsis
Molculas
Reconocimiento de Patrones 8
2
7
/
0
8
/
2
0
1
0
Neurona biolgica
Estructura
cuerpo: del orden de 100 m
dendritas: receptores (apical, basal)
axn: trasmisor de impulsos
Redes, interconexin
sinapsis: conexin entre neuronas
excitadora o inhibidora
base qumica, neuro-trasmisores
potenciales de accin
descarga neuronal (burst) (~ 50mV)
del orden de miles de sinapsis por
neurona (en dendritas y axn)
Modelos
axn: lnea de trasmisin
modelo elctrico
Reconocimiento de Patrones 9
2
7
/
0
8
/
2
0
1
0
Neurona Artificial
Modelo simplificado de neurona
biolgica
esttico
representacin entrada-salida.
Mltiples entradas, salida nica
diferente influencia de entradas en
salida mediante pesos (w
i
)
w: parmetros de la neurona
Relacin entrada-salida no-lineal
diferentes opciones para f(.)
step, sat, sigm, tanh
Capacidad de adaptacin
variacin de sus pesos con algn
objetivo
Existen otros modelos
agregando dinmica,
modelos no deterministas
relacionados con estructuras de redes
especificas
f(.)
u
1
u
2
y
w
1

w
n
w
2
u
n
funcin de
activacin
Sumador
pesos sinpticos
salida
Entradas w
0
bias
s
Reconocimiento de Patrones 10
2
7
/
0
8
/
2
0
1
0
Redes Neuronales Artificiales
Interconexin entre neuronas
Decide flujo de informacin en red
Total
genera lazos en flujo de datos
redes recurrentes
Parcial
en capas: entrada, internas, salida
Recurrente: contiene lazos
Feedforward: no contiene lazos
Junto con pesos y funciones de salida de cada
neurona definen comportamiento global de la red
Se debe definir la forma de actualizacin de
estados de cada neurona en la red
secuencial, asncrono, sincrnico
especialmente importante en redes recurrentes o
con dinmica temporal
u
y
Reconocimiento de Patrones 11
2
7
/
0
8
/
2
0
1
0
Ejemplo de Neurona: Perceptron
Perceptron
Separa espacio con hiperplano
y = f ( w
1
x
1
+ w
2
x
2
+ ... + w
n
x
n
),
f(s) = { 1 si s0, 0 si s<0 }
Puede incluir offset w
0
.
Importante histricamente
estudiado muy detalladamente (Minsky y Papert 69)
Es un clasificador lineal en 2 clases.
bueno si patrones linealmente separables
XOR problem
Anlogo a clasificador de Bayes gaussiano.
minimiza probabilidad de error
clasificador denominado paramtrico
Ya desarrollado en discriminantes lineales
w
t
.x=0
x
1
x
2
Reconocimiento de Patrones 12
2
7
/
0
8
/
2
0
1
0
Ejemplo de Neurona: Adaline
Adaptive Linear Element
Estructura:
Como un Perceptron pero con
funcin lineal a la salida.
Permite trabajar con problemas
mas generales
Widrow y Hoff propusieron un
mtodo ms eficiente
computacionalmente denominado
LMS para determinar parmetros
del Adaline (1962).
similar a aplicar gradiente
descendente
muy intuitivo
( )
( )
p
i
p p
i p
p p
p
n
i
i i
x x y y w
x y y E
w x w y
) (
) (
2
1 2
0
1
=
=
+ =

y=0
Reconocimiento de Patrones 13
2
7
/
0
8
/
2
0
1
0
Ejemplo de Red: Perceptron Multicapa
Perceptron Multicapa
Todos los nodos tienen igual funcin
de salida
Representacin matricial
x: activacin neuronal
v: entrada neta
W
i
: pesos en capa i
x
1
1
x
2
1
x
1
2
x
2
2
x
3
2
x
2
3
x
1
3
W
ij
1
W
ij
2
u
1
u
2
y
1
y
2
W
ij
3
u
e
u f

+
=
1
1
) (
( )
( )
L
i i
l l
l
l
ni
j
j ij l
l
i i
x y
l X W f X
u W f v f x
=
> =

= =

1 ,
1
1
1
1
1
Reconocimiento de Patrones 14
2
7
/
0
8
/
2
0
1
0
Ejemplo de Red: Perceptron Multicapa
Representacin ordenada
Werbos (1972)
Red lineal
Activaciones dependen:
entradas
activaciones de neuronas
precedentes
Derivadas ordenadas
backpropagation
1
2
3
4
5
7
6
W
ij
1
W
ij
2
u
1
u
2
y
1
y
2
W
ij
3
u
1
u
2
y
1
y
2 1 2 3 4 5 6 7

+ =

= =
i
i
j
ni
k
k ik j ij i i
u w x w f x
1
1 1
0
Reconocimiento de Patrones 15
2
7
/
0
8
/
2
0
1
0
Ejemplo: Radial Basis Function Network
Red feed-forward
Combinacin lineal de funciones base o
receptores dadas.
Funciones Base:
Gaussianas, Logistic
Normalizadas en gral
Aplicaciones
Aproximacin funcional, interpolacin
Clasificacin de datos
Clustering
Modelado y control de sistemas
dinmicos
Comparable con sistema FIS
W
i
x
1
x
2
y

=
= =
N
i
x
i
N
i
i i
i
i
e w x R w x y
1
2
1
2
2
. ) ( . ) (

Reconocimiento de Patrones 16
2
7
/
0
8
/
2
0
1
0
Ejemplo: Redes de Hopfield
Hopfield
McCulloch-Pitts (1943): modelo discreto.
Recurrente, totalmente conectada
Asociada con sistema dinmico
Actualizacin de activaciones
Extensiones: Neuronas con constante de
tiempo, uso de probabilidad en salida
Concepto de energa y entropa desarrollado
Aplicaciones
Descripcin de sistemas cristalinos, y
fenmenos fsicos asociados
Uso en optimizacin
ej: TSP, distribucin, despacho de carga
Memoria asociativa
Deducir patrn asociado a partir de dato
parcial
Representables en hardware
VLSI
u
y
( )

=
=

+ =

= =

=
p
p
j
p
i ij
ij
j i ij
i
j
j ij i
i
i
i
j
j ij i
i
j
j ij i
X X
N
W
X X W E
U X W f X
dt
dX
U X W g X P
U X W X
1
2
1
1
sgn

Reconocimiento de Patrones 17
2
7
/
0
8
/
2
0
1
0
Mapas Auto-Organizados
Self-organizing maps (Kohonen, 1982)
Identificar estructura en datos de trabajo
conservan topologa de datos
Hiptesis:
Entradas similares producen salidas similares
Conjuntos entrada-salida similares agrupables
Estructura
red de una capa
distribucin espacial especificada
capa competitiva
entradas: dimensin de espacio
Pueden usarse neuronas con dinmica
Neuronas competitivas - seleccin
Dada entrada, selecciona neurona con mayor
activacin
Uso de pesos para inhibicin lateral
Cooperacin:
Adaptacin restringida a vecindad de neurona
seleccionada
Aplicaciones
Clasificacin de datos, Clustering
Componentes principales (PCA)
Codificacin
Entradas (u)
capa
2D
Reconocimiento de Patrones 18
2
7
/
0
8
/
2
0
1
0
Propiedades: Mapeo Universal
Pregunta:
Qu tipo de funciones puedo representar con una ANN?
La idea se remonta al problema #13 de Hilbert
(1900).
Representar funcin de N variables como combinacin lineal de
funciones en una variable (bajar dimensionalidad del
problema)
Respuesta:
Puedo representar el conjunto de funciones suaves.
Hay varias pruebas para diferentes arquitecturas
Kolgomorov (1957)
Cybenko (1960)
Hornik (1989)
Chen (1991)
Reconocimiento de Patrones 19
2
7
/
0
8
/
2
0
1
0
Propiedades: Mapeo Universal
Idea:
Usando red con 2 capas
ocultas es posible crear
funciones tipo localizadas que
combinadas pueden formar
cualquier funcin suave
Prueba intuitiva:
Fcil de ver en R
2
R.
Red: y = ANN (x
1
,x
2
)
Paso 1:
Que mapeo obtengo con una
sola neurona?
y = logsig(.x
1
)
y = logsig(.x
2
)
Reconocimiento de Patrones 20
2
7
/
0
8
/
2
0
1
0
Propiedades: Mapeo Universal
Paso 2:
Uso Perceptron Multicapa
Puedo lograr pico en
cualquier valor de x
1
con
red de 1 sola capa oculta
el ancho del pico depende
del valor de b.
Puedo hacer lo mismo con
x
2
.

x
1
1
y

b
b
b
-b
1
1
-1
Reconocimiento de Patrones 21
2
7
/
0
8
/
2
0
1
0
Propiedades: Mapeo Universal
Paso 3:
Agrupo redes en cada entrada
en una sola red para
combinar picos en x
1
y x
2
.
Ajustando parmetros puedo
obtener un pico bien definido
centrado en cualquier punto
de R
2
.

x
1
1
y

b
b
b
-b
1
1
-2

x
2
1
b
b
b
-b
1
1
Reconocimiento de Patrones 22
2
7
/
0
8
/
2
0
1
0
Propiedades: Mapeo Universal
Paso 4:
Agregando una capa
adicional
2 capas ocultas
Combinando estos picos
se puede aproximar
cualquier funcin de R
2

R con el grado de error


que desee.

x
1
1

a
b1
c1
-a
1
1
-2

x
2
1
a
d1
e1
-a
1
1

x
1
1

a
bn
cn
-a
1
1
-2

x
2
1
a
dn
en
-a
1
1

y
f
1
f
n
Reconocimiento de Patrones 23
2
7
/
0
8
/
2
0
1
0
Otras Propiedades
Discriminante universal:
Posibilidad de generar regiones para clasificar datos
Similar a mapeo universal
Generalizacin:
Capacidad de inferir resultados sobre valores de entrada no usados
anteriormente.
Basada en:
capacidad interpoladora por continuidad funcional de salida
capacidad de extrapolacin (cotas y dimensin VC)
Importante a la hora de determinar tamao de red a usar
Robustez:
Al malfuncionamiento de alguna neurona (fault tolerance)
Debido al almacenamiento distribuido de la informacin.
Adaptabilidad:
A travs de sus parmetros (pesos, activacin)
Tambin con la estructura de la red.
Reconocimiento de Patrones 24
2
7
/
0
8
/
2
0
1
0
Aprendizaje
Dada estructura de red, proceso de modificacin
de sus parmetros para lograr un
comportamiento deseado de la misma
Estructura de la red tambin puede ser aprendida
Mtodos de aprendizaje:
Supervisado
existe tutor que me dice lo que la red debe hacer
ej: reproducir mapeo entrada-salida dado (patrn)
No supervisado
generar clasificacin propia de conjunto de patrones
ej: clustering
Reinforcement Learning
aprende basado en seal de evaluacin : bien/mal (reward)
ej: ajedrez, backgammon (seal de refuerzo: gan/perd)
Reconocimiento de Patrones 25
2
7
/
0
8
/
2
0
1
0
Aprendizaje: On-line vs Off-line
Diferentes formas de adaptar la red de acuerdo
con la forma en que se usa la informacin de
entrenamiento (e.g. patrones).
Aprendizaje Off-line (batch)
adaptacin de parmetros de la red tomando el conjunto
total de patrones de entrenamiento
usualmente llamado poca (epoch)
problemtico con muchos datos
Aprendizaje On-line (recursivo)
adaptacin de parmetros hecha a medida que los
patrones son obtenidos o usados en la red
Mtodos intermedios
adaptacin cada k patrones (epoch size)
Reconocimiento de Patrones 26
2
7
/
0
8
/
2
0
1
0
Aprendizaje: Optimizacin
La capacidad de aprender proviene de la eleccin de los
parmetros de la red.
Comportamiento deseado de la red error asociado
Adaptacin de parmetros optimizacin de una funcin de
error
Mtodos de optimizacin:
Error lineal en parmetros
mnimos cuadrados y derivados
batch o recursivo
Error no-lineal en los parmetros
con/sin uso de derivadas
batch o recursivo
Ms complejos que lineales
Combinacin de ambos segn arquitectura de ANN
Aprendizaje de la estructura de ANN
En gral se realiza en un lazo superior del algoritmo (batch).
Reconocimiento de Patrones 27
2
7
/
0
8
/
2
0
1
0
Aplicaciones
Aproximacin funcional
y=f(x)
Supervisado:
{(x
i
,y
i
) | y
i
=f(x
i
) }
Interpolacin,
extrapolacin
Reconocimiento de
patrones
Clasificacin
Imgenes, voz, lenguaje
Supervisado: (u
i
, clase
i
)
no-supervisado
extraccin de
caractersticas
Identificacin de modelos
Series temporales
trayectorias (u
k
, y
k
),
k=1..N
Modelado de Sistemas
fsicos
dx/dt = f(x,u,t),
y=g(x,u,t)
Neuro-Control
Planificacin, Regulacin,
Seguimiento
Robtica, sistemas
complejos
Supervisado,
Reinforcement Learning
Reconocimiento de Patrones 28
2
7
/
0
8
/
2
0
1
0
Simplificaciones prcticas
Trabajaremos con redes feedforward
elimina dinmica interna
puede existir dinmica a partir de interconexiones con
otros sistemas
mapa esttico entrada-salida
uso extendido en aplicaciones
reconocimiento de patrones
data mining
neuro-fuzzy y neuro-control
mayor desarrollo terico y experiencia prctica
mapeo universal
aprendizaje
algoritmos, convergencia, complejidad
regularizacin
Reconocimiento de Patrones 29
2
7
/
0
8
/
2
0
1
0
Software para ANN
Stuttgart Neural Network
Simulator (SNNS)
muy desarrollado
Unix, Linux
estructuras y algoritmos de
entrenamiento
http://www-ra.informatik.uni-
tuebingen.de/SNNS/
Matlab, Scilab
toolboxes especficos
GUI (matlab: nntool)
anlisis, optimizacin
WEKA
Programas especficos
Dentro de aplicaciones
Estadstica, Control
Reconocimiento de Patrones 30
2
7
/
0
8
/
2
0
1
0
Referencias
C. Bishop, Neural Networks for Pattern
Recognition, Oxford Press, 1995.
Simon Haykin, Neural Networks, Prentice Hall,
1999.
Hertz, Krogh and Palmer, Introduction to the
Theory of Neural Computation, Addison-Wesley,
1991.
Jang et al. Neuro-fuzzy and Soft Computing,
Cap. 8-11, Prentice Hall, 1997.
Duda and Hart, Cap. 5 y 6.

You might also like