Está en la página 1de 47

Introduccin a Las redes

Neuronales (Neurales)
CO-6612
Coordenadas iniciales:
Prof. Minaya Villasana
Oficina: CBI-112
Extension: 906 3386
forma ms fcil (preferida) de contacto: mvillasa@usb.ve

Introduccin a las Redes Neuronales Artificiales

Bibliografia:
Simon Haykin, Neural Networks: A comprehensive
Foundation, Segunda Edicin, Prentince Hall, 1998.

Christopher Bishop, Neural networks for pattern


recognition, Oxford press, 1995.
" Neural Networks Toolbox: User's guide. Version 4",

H.

Demuth and M. Beale (Disponible en


http://www.mathworks.com/access/helpdesk/h
elp/pdf_doc/nnet/nnet.pdf)
Otros recursos en internet y en biblioteca central.
Pgina del curso: http://prof.usb.ve/mvillasa/

Introduccin a las Redes Neuronales Artificiales

Sistema de Evaluacin:
Proyecto asignado (30%)
Ser una data comn para todos que deben analizar (clasificar,
interpolar) con cierto grado de dificultad asociado. Se espera
que ustedes realicen un analisis profundo de la data y obtener
los mejores resultados.
El proyecto es la ltima entrega del trimestre en semana 11/12
y lo tendrn desde la semana 8/9 (aprox.)

Proyecto de Investigacin (20%)


A discrecin del estudiante.
Trabajos publicados (mas no trabajos hechos por ustedes
mismos), temas complementarios, etc.
Consiste en una presentacin.

Tareas (50%)
Me gustan mucho las tareas (una especie de adiccin).
Las tareas vencen a las dos semanas de ser entregadas.

Introduccin a las Redes Neuronales Artificiales

Horario y dems menudencias:


Horario tentativo:
Viernes 1:30 a 4:30 p.m.
CBI-131

Para la semana 10/11 el grueso del curso


debe estar listo.

Introduccin a las Redes Neuronales Artificiales

INTRODUCCIN A LAS
REDES NEURONALES Y
SUS APLICACIONES

Introduccin a las Redes Neuronales Artificiales

Introduccin

Una red neuronal artificial es una herramienta diseada para


emular la forma en que el cerebro humano funciona

Cmo funciona el cerebro humano ?


Cmo aprende el ser humano ?
Dnde se guarda el conocimiento ?
Por qu es tan eficiente el cerebro humano ?

Introduccin a las Redes Neuronales Artificiales

Introduccin

El cerebro humano est compuesto por una gran cantidad de elementos


bsicos denominados neuronas
Bsicamente las neuronas estn formadas por:
Un cuerpo central o Ncleo
Un mecanismo de conexin con
otras neuronas (sinapsis):
Axn y dendritas

Introduccin a las Redes Neuronales Artificiales

Introduccin

http://www.4colorvision.com/pix/pyramidpix.gif

Introduccin a las Redes Neuronales Artificiales

Introduccin

Los estmulos recibidos en el cerebro son


transmitidos entre las neuronas mediante las
conexiones sinpticas.
Cuando una neurona es estimulada libera una
pequea cantidad de un componente qumico
(neurotransmisor). Este viaja a travs del axn
hasta llegar a las dendritas de otras neuronas en las
cuales el proceso se repite.
Este proceso sirve para incrementar o
disminuir la relacin entre las neuronas
involucradas en el.

As, ante un determinado estmulo ciertas


neuronas se activan y otras se inhiben

Introduccin a las Redes Neuronales Artificiales

Introduccin

Ejemplo

Respuesta
Estmulo 1

Estmulo 2

Respuesta

Introduccin a las Redes Neuronales Artificiales

Introduccin

Mediante un proceso de aprendizaje se logran establecer los


niveles correctos de activacin-inhibicin de las neuronas
Cuando este proceso se completa entonces ante determinados
estmulos sabemos como responder y aprendemos
El conocimiento adquirido est entonces en los niveles de
relacin entre las neuronas logrados durante el proceso de
aprendizaje
El cerebro es entrenado por repeticin de estmulos !

Ejemplo: Los nios !

Introduccin a las Redes Neuronales Artificiales

Introduccin

Cmo puede ser el cerebro tan eficiente ?


Por la enorme cantidad de neuronas (aprox. 100 billones) y
la manera en que estn interconectadas (aprox. 60 trillones
de sinapsis)
Por la capacidad de organizarse, construir reglas y aprender
de la experiencia

Qu es y cmo construir una red neuronal artificial?

Introduccin a las Redes Neuronales Artificiales

Introduccin

Emulando entonces el funcionamiento del cerebro construiremos


redes neuronales artificiales interconectando elementos de
procesamiento ms bsicos como las neuronas.

Hopfield network

Feedforward neural network

Kohonen network

Para entender las redes neuronales artificiales es necesario


entender y modelar las unidades ms bsicas o neuronas
artificiales

Introduccin a las Redes Neuronales Artificiales

Introduccin

Redes Neuronales Artificiales


Is a massive parallel distributed
processor that has a natural propensity
for storing experimental knowledge and
making available for use (Haykin, 1994)

Introduccin a las Redes Neuronales Artificiales

Introduccin

Beneficios de usar RNA


Generalizacin: Capacidad para producir respuestas
razonables a estimulos no presentados durante su
entrenamiento.
Adaptabilidad: La red puede ser construida para
adaptar sus pesos sinpticos al medio ambiente (reentrenar).
Robusta: Por su caracter distributivo, una red maneja
muy bien daos a su estructura (ruido).
Complejidad: Puede capturar comportamiento complejo
que no es posible con mtodos tradicionales.
No-paramtrico: No hace suposiciones a priori.

Introduccin a las Redes Neuronales Artificiales

MODELO DE UNA
NEURONA

Introduccin a las Redes Neuronales Artificiales

Modelo de una neurona

Dendritas:

Pesos sinpticos:

Para recibir el estmulo o


establecer las conexiones
sinpticas

Cada dendrita tendr un peso

wj

para guardar el conocimiento adquirido

w1
w2

wm

Axn:
Para enviar la
respuesta

Ncleo:
Para procesar la
informacin
Introduccin a las Redes Neuronales Artificiales

Modelo de una neurona

Los estmulos se consideran vectores

( x1 , x 2 , , x m )
Cada entrada del vector corresponde a un estmulo o variable en particular de la cual
se tiene cierta cantidad de observaciones o valores.
Cuando se recibe el estmulo, cada entrada de este es multiplicada por el
correspondiente peso sinptico de la dendrita que recibe dicho valor, y luego cada
uno de estos resultados se suman.

x1

w1
m

x2

xm

w2

w1 x1 + w2 x2 + + wm xm = wj xj
j=1

wm
Este valor se considera como el
estmulo que recibe la neurona
Introduccin a las Redes Neuronales Artificiales

Modelo de una neurona

El estmulo es procesado en el ncleo mediante la operacin

wj x j + b = X tW + b
j= 1

Se denomina funcin de transferencia o activacin

b es el parmetro de sesgo o bias

x1
x2

xm

w1

w2

wm

( X tW + b)

Este valor se considera como la


respuesta de la neurona al
estmulo recibido
Introduccin a las Redes Neuronales Artificiales

Modelo de una neurona

En conclusin, los parmetros del modelo de una neurona son:


La funcin de transferencia

El conjunto de pesos sinpticos

El parmetro de sesgo

Este puede ser considerado como un peso sinptico w0 = b asociado a


una dendrita que recibe siempre el estmulo x0 = 1

m
m

wj x j + b = wj x j = X tW
j=1
j= 0

1
x
X = 1


xm

b
w
W = 1


wm

Introduccin a las Redes Neuronales Artificiales

ACERCA DE LA FUNCIN
DE ACTIVACIN

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin de activacin se utiliza para limitar el rango de valores de


la respuesta de la neurona.
Generalmente los rangos de valores se limitan a [0,1] o [-1,1], sin
embargo otros rangos son posibles de acuerdo a la aplicacin o
problema a resolver.
Existen diversas funciones de activacin y la decisin entre una u
otra depender nuevamente de la aplicacin o problema a resolver.
Existen funciones de activacin comnmente utilizadas y con las
cuales
se han obtenido resultados satisfactorios en diversas
aplicaciones.

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin Umbral o threshold function


Esta funcin est definida como

1 si x 0
(x) =
0 si x < 0
La respuesta de la neurona es entonces 1 o 0.
Estos valores se pueden asociar a verdadero o falso y esta condicin
depender de si

X tW b

X tW < b

Generalmente se utiliza para establecer criterios de clasificacin. Por


ejemplo, 1=Elemento tipo A, 0=Elemento tipo B
En matlab la funcin se denomina
hard-limit function
Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

X tW +b 0

1 =
-1

0 =

-1

X tW +b 0
0
W = 1
1

1
X = x
y

X tW + b = x + y
Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

Ejemplo:

0
1
estmulo X =
1

0

0.8
1
Pesos sinpticos W =
1

0.5

sesgo

b = 1

Cul es la respuesta de la neurona si se utiliza la funcin umbral ?

X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1

( 1) = 0

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin signo
Esta funcin est definida como

1 si x < 0

( x ) = 0 si x = 0
1 si x > 0

La respuesta de la neurona es entonces -1, 0 o 1.

-1
En matlab la funcin se
denomina hardlimits
Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

X tW +b > 0

1 =
-1 =
-1

X tW +b < 0

0 =

-1

X tW +b = 0
X tW + b = x + y
Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

Ejemplo:

0
1
estmulo X =
1

0

0.8
1
Pesos sinpticos W =
1

0.5

sesgo

b = 1

Cul es la respuesta de la neurona si se utiliza la funcin signo ?

X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1

( 1) = 1

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin logstica
Esta funcin est definida como

(x ) =

1
1 + exp

( x )

x R, > 0

Es una de las funciones ms utilizadas en la construccin de redes neuronales


Es continua a valores en [0, 1] e infinitamente diferenciable
Es la versin continua de la funcin umbral y se utiliza en problemas de aproximacin

1.4

=3

1.2

=1

= 0.3

0.8
0.6
0.4

En matlab la funcin se
denomina logsig

0.2
0
-10

-5

10

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

Ejemplo:

0
1
estmulo X =
1

0

0.8
1
Pesos sinpticos W =
1

0.5

sesgo

b = 1

Cul es la respuesta de la neurona si se utiliza la funcin logstica con


parmetro 1 ?

X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1


( 1 ) =

1
1 + exp

(1)

= 0 . 2689

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin tangente hiperblica


Esta funcin est definida como

( x ) = tanh( x / 2) =

1 exp ( x )
1 + exp ( x )

x R, > 0

Es la versin continua de la funcin signo y se usa en problemas de aproximacin


Es importante por sus propiedades analticas
Es continua a valores en [-1, 1] e infinitamente diferenciable

1.5

=3

=1

0.5

= 0.3

0
-0.5

En matlab la funcin se
denomina tansig

-1
-1.5
-10

-5

10

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

Ejemplo:

0
1
estmulo X =
1

0

0.8
1
Pesos sinpticos W =
1

0.5

sesgo

b = 1

Cul es la respuesta de la neurona si se utiliza la funcin tangente


hiperblica con parmetro 2 ?

X tW +b = 0 * 0.8 +1*1 1*1 + 0 * 0.5 1 = 1


1 exp ( 2 )
(
)
1 =
=
1 + exp ( 2 )

0 . 76159

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin Lineal
Esta funcin est definida como

(x ) = x

xR

No limita la respuesta de la neurona


Se utiliza en problemas de aproximacin o estimacin lineal

3
2
1
1

En matlab la funcin se
denomina purelin

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

Una regresin lineal simple puede ser vista como la respuesta de una
neurona con funcin de activacin lineal

1
X =
x
1

b
W =
a

X tW = ax+ b

( X tW ) = ax + b

Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin Lineal acotada


Esta funcin est definida como

si x 0
0

( x ) = x si 0 x 1
1 si x 1

En matlab la funcin se
denomina satlin (saturating
linear)
Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

La funcin Lineal acotada simtrica


Esta funcin est definida como

si x 1
1

( x ) = x si 1 x 1
1 si x 1

-1

-1

En matlab la funcin se
denomina satlins (symmetric
saturating linear
Introduccin a las Redes Neuronales Artificiales

La funcin de activacin

Estmulo

X tW + b = 0 * 0.8 + 1*1 1*1 + 0 * 0.5 1 = 1


Funcin de activacin

Respuesta

Umbral o threshold

Signo

-1

logstica
Tangente Hiperblica

0.2689
-0.76159

Lineal

-1

Lineal Acotada

Lineal Acotada Simtrica

-1

La escogencia de la funcin de activacin depende de la


aplicacin o problema a resolver !
Introduccin a las Redes Neuronales Artificiales

ACERCA DE LOS PESOS


SINPTICOS

w1

w2

wm

Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Recordemos que los pesos sinpticos sirven para guardar el


conocimiento adquirido.
En analoga con el funcionamiento del cerebro, los valores de los
pesos sinpticos se obtienen mediante un proceso de aprendizaje.
Este proceso de aprendizaje puede ser dividido en: Paradigmas de
aprendizaje y algoritmos de entrenamiento.
Paradigmas de aprendizaje
Corresponden a la manera en que la red neuronal interacta o se
relaciona con el ambiente en el cual opera. Bsicamente existen 2
tipos de paradigmas:
Aprendizaje supervisado (Supervised learning)
Aprendizaje no supervisado (Non supervised learning)

Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Algoritmos de entrenamiento
Son tcnicas matemticas o heursticas bien establecidas a travs de
los cuales se obtienen los valores de los pesos sinpticos y el
parmetro de sesgo. Estos algoritmos NO modifican la funcin de
activacin elegida para el modelo de red neuronal que se entrena.
Lo que hacen es modificar los pesos sinpticos utilizando el valor
anterior de este mas un factor de correccin

nuevo

=W

viejo

+ W

y se diferencian uno de otro en la forma en que dicha correccin es


obtenida
Existen una amplia variedad de algoritmos de entrenamiento cada cual
con sus fortalezas y debilidades.
Distintos paradigmas de aprendizaje junto con distintos algoritmos de
entrenamiento producen diversas redes neuronales
Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Existen muchos algoritmos de entrenamiento, algunos de los cuales


se mencionan aqui:
Error correction learning or delta rule: es un aprendizaje supervisado,
en donde se usa el error obtenido en la presentacin del estmulo para
determinar el factor de correccin.
Competitive learning: las neuronas compiten entre si para hacerse activas
estableciendo. Solo una se activa a la vez (especializacin).
Hebbian learning: correlaciona la actividad pre y post sinptica (si ambas
neuronas se activan se fortalece la conexin y se debilita en caso contrario).
Aqu el factor de correccin es multiplicativo entre la actividad pre y post
sinptica.
Memory Based learning: la red almacena data ya procesada en memoria. Un
nuevo patrn es procesado segn su cercana (en sentido euclideo) a un patrn
en memoria.
Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Error correction learning or delta rule


Se utiliza bajo un paradigma de entrenamiento supervisado.
La respuesta de la red neuronal se compara con la respuesta
deseada y el error cometido se utiliza para modificar los pesos
sinpticos

x1
x2

xm

wk 1

Neuron

wk 2

Yk =k (wkj xj )

wkm

wkj ( +1) = wkj () + ek () x j ()

= Constante de aprendizaje

ek = dk Yk =

Error cometido

wkj
Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Hebbian learning or activity product rule


Es el postulado de entrenamiento ms antiguo y se basa en consideraciones
desarrolladas por Hebb, D.O (1949) en su libro The organization of behavior:
A neuropsychological theory
El postulado de Hebb establece bsicamente que:
Cuando dos neuronas conectadas (sinpsis) se activan
simultneamente, la relacin entre estas se fortalece. En caso
contrario, la relacin se debilita o es eliminada.
La formulacin matemtica apropiada es establecer entonces la correlacin
entre el estimulo de entrada y la respuesta a dicho estmulo y utilizar esta
informacin para actualizar el valor de los pesos sinpticos

wkj ( +1) = wkj () + yk () x j ()


wkj

xj

w kj

Yk
Neuron

Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Competitive Learning
En este tipo de algoritmos se establece un mecanismo de competencia
entre las neuronas y la respuesta de la red ante un determinado estmulo
proviene exclusivamente de la neurona ganadora

Wj (t +1) = Wj (t ) + (t ) [ X (t ) Wj (t ) ]
w kj

X (t )

Es esta caracterstica la que hace que


este tipo de algoritmos sean apropiados
para descubrir patrones en un conjunto
de datos y que por lo tanto sean usados
para clasificacin

Introduccin a las Redes Neuronales Artificiales

Los pesos sinpticos

Memory based learning

En este tipo de entrenamiento las experiencias pasadas estn


almacenadas en la memoria de ejemplos que han sido clasificados
correctamente.

En este tipo de entrenamiento un nuevo patrn de entrada es


comparado con k patrones cercanos (concepto de vecindad) y luego es
asignado la clasificacin ms frecuente en la vecindad.
Las RBF utilizan este tipo de postulado en su entrenamiento, al igual que
las redes SOM
Distancias
Euclidea : ||x-y||
Producto interno : xt*y

||x-y||
x
y
xTy
Introduccin a las Redes Neuronales Artificiales

Arquitecturas

Arquitecturas
Una capa, feedforward

Multicapa feedforward

Redes recurrentes

Introduccin a las Redes Neuronales Artificiales

Problemas

Qu tipos de problemas se pueden resolver?

Asociacin de patrones: escritura. La red es presentada con


muchos ejemplos de un patron hasta guardar el patron, luego al
ser presentado una versin con ruido esta es capaz de reconocer el
patrn.
Clasificacin: una la red es entrenada con ejemplos de clasificacin
conocida.
Aproximacin de funciones. Identificacin, problemas inversos.
Control: se conoce una seal de referencia y el objetivo es ajustar
los parmetros libres para seguir la salida deseada.
Filtro: son tiles en predicciones.

Introduccin a las Redes Neuronales Artificiales

También podría gustarte