Sunteți pe pagina 1din 25

Sistemas Inteligentes - T10a: Redes Neuronales

Centro de
Inteligencia Artificial
Universidad
de Oviedo
SISTEMAS INTELIGENTES
T10a: Redes Neuronales
www.aic.uniovi.es/ssii
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
ndice
Redes Neuronales Artificiales
Fundamentos biolgicos
Perceptrn
Funciones de activacin
Redes de neuronas
Entrenamiento:
Perceptrn
Descenso de gradiente: regla delta
Backpropagation
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Redes de Neuronas Artificiales (ANNs)
Estn inspiradas en los sistemas neuronales biolgicos
Neurona: clula cerebral encargada de recoger, procesar y
transmitir seales elctricas
No alcanzan su nivel de complejidad (ni de prestaciones )
Nmero de neuronas en el cerebro humano: ~10
10
Tiempo de activacin/inhibicin: ~10-
3
Conexiones (sinapsis) por neurona: ~10
4
10
5
Reconocimiento de escenas: 0.1 segundos
Procesamiento no lineal
Masivo grado de paralelismo
Representaciones distribuidas
Adaptativo
Tratan de capturar este modelo de funcionamiento, pero:
Normalmente, menos de 1000 neuronas
No capturan todo el comportamiento neuronal
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Neuronas humanas
Soma: contiene el ncleo
celular
Dendritas: entradas
Axon/Sinapsis: conexin entre
neuronas
La informacin fluye
unidireccionalmente
El soma a travs de
axon/sinapsis puede mandar
un mensaje de
excitacin/inhibicin
(neurotransmisin)
ste ser captado por las
dendritas de otra neurona
A lo largo del tiempo
(aprendizaje), la conexin
entre dos neuronas se har
ms fuerte o ms dbil
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Definicin y propiedades
sistema compuesto por mltiples unidades de
proceso que operan en paralelo y cuya
funcionalidad depende de la estructura de la
red, de la fuerza de las conexiones, y del
procesamiento realizado en cada nodo
[DARPA, 98]
Propiedades:
Formadas por conjuntos de neuronas individuales
activadas por umbral
Muchas conexiones con pesos entre las neuronas
Procesamiento distribuido y paralelo
El aprendizaje consistente en ajustar los pesos de las
conexiones entre las neuronas
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Tipos de problemas adecuados
Entradas formadas por vectores de valores
discretos o reales
Pueden ser problemas de clasificacin o
regresin
Puede producir vectores de valores
Los usuarios finales no quieren obtener
explicaciones: no producen conocimiento
inteligible (caja negra)
Los datos de entrenamiento pueden contener
errores
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
ALVINN
Pesos entre capa oculta
y la salida (1 neurona)
Pesos entre la entrada
y la capa oculta
(1 neurona)
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Perceptrn
{ } |
1 +
=
n
w w H
r r
x
1
x
2
x
n

w
1
w
2
w
n
x
0
= 1
w
0

=
n
i
i i
x w
0

>
= =
caso otro en 1
0 si 1
) sgn( ) (
x w
x w x h
r r
r r r
Representa UNA neurona
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Funciones de Activacin
x y =
) sgn(x y =

>

<
=
1
1
l x
l x l x
l x
y
Lineal A tramos
Signo Sigmoide
Gaussiana
x
e
y

+
=
1
1
Bx
Ae y

=
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Definicin de Red de Neuronas
Conjunto de neuronas artificiales conectadas
entre s mediante una serie de arcos llamados
conexiones
Estas conexiones tienen nmeros reales
asociados, llamados pesos de la conexin
Las neuronas generalmente se distribuyen en
capas de distintos niveles, con conexiones que
unen las neuronas de las distintas capas
(pueden ser tambin de la misma capa)
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Ejemplo de Red de Neuronas
1.1
2.7
3.0
-1.3
2.7
4.2
-0.8
7.1
2.1
-1.2
1.1
0.2
0.3
CAPAS OCULTAS CAPA DE ENTRADA
E
N
T
R
A
D
A
S
A
L
I
D
A
CAPA DE SALIDA CLASE
LOS VALORES SE PROPAGAN POR LA RED
A
B
C
Se escoge la clase
que produce un valor mayor
Valor calculado usando
Los valores de entrada
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Aprendizaje en una red de neuronas
Aprendizaje: la red modifica los pesos de las conexiones
para que las salidas de la red se vayan adaptando de
manera paulatina al funcionamiento que se considera
correcto
La modificacin de los pesos depende del paradigma de
aprendizaje que estemos usando:
Aprendizaje supervisado: para cada ejemplo presentado a la
red existe una respuesta deseada. La respuesta de la red se
compara con su salida esperada, y en base a esa comparacin
se ajustan los pesos de la red
Aprendizaje no supervisado: no se especifica a la red cul es
la respuesta correcta. La red descubre las relaciones
presentes en los ejemplos
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
La red ms simple
Una neurona artificial
Aprendizaje de conceptos: ejemplos puntos en el
espacio U
n
, con su clase asociada
Separador lineal: dado un conjunto de ejemplos
determina el hiperplano capaz de discriminar los
ejemplos en dos clases
Es interesante estudiarlo porque nos permite disear
redes con ms neuronas
n n
x w x w x w w x h + + + + = ... ) (
2 2 1 1 0
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Separador Lineal
Problema: el conjunto puede no ser linealmente
separable (Ejemplo XOR)
Solucin: emplear redes multicapa
+
+
+
+
-
-
-
-
+
+
-
-
w
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Aprendizaje Perceptrn
Para actualizar los pesos se siguen conceptos expuestos por Hebbian
(si dos neuronas estn activas, su conexin se refuerza)
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Perceptrn: regla de entrenamiento
w
i
= w
i
+ w
i
w
i
= [f(x) h(x)] x
i
donde:
f(x) es el valor de la funcin objetivo en el ejemplo x
h(x) es la salida del preceptrn
es una pequea constante que controla el ritmo de
aprendizaje (decrece con el tiempo)
Funcin de activacin: con umbral
Los pesos se actualizan para cada ejemplo
El algoritmo converge si:
los ejemplos de entrada son linealmente separables
is suficientemente pequea
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Descenso de gradiente (I)
Converge slo asintticamente al mnimo an cuando el problema no es
linealmente separable
Es la base del algoritmo Backpropagation
Descenso de gradiente: consideremos una neurona lineal sin umbral
(salida continua)
h(x)=w
0
+ w
1
x
1
+ + w
n
x
n
Entrenamiento: minimizar el error cuadrtico
E[w
0
,,w
n
] =
xX
(f(x) h(x))
2
Cmo minimizarlo?
Nos movemos en la direccin que ms reduce el error
Direccin negativa del vector gradiente
Diferencias:
Perceptrn funcin de activacin con umbral, Gradiente no
Perceptrn actualizacin por ejemplo, Gradiente todos los datos
Perceptrn: minimiza w
Gradiente: minimiza error
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
[ ]
[ ]
( ) ( ) ( )
( ) ( ) ( )

=
(


=
D x
2
i i
X x
2
i i
i
i
n 1 0
x h x f
w 2
1
w
E
x h x f
2
1
w w
E
w
E
w
w
E
, ,
w
E
,
w
E
w E
w E w

K
r
r r
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( )( ) [ ]

=
(

X x
i
i
X x
i
X x
i i
x x h x f
w
E
x w x f
w
x h x f x h x f
w
x h x f 2
2
1
w
E
r r
Descenso de gradiente (II)
(w
1
,w
2
)
(w
1
+w
1
,w
2
+w
2
)
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Descenso de gradiente (III)
Algoritmo Aprendizaje Gradiente(w,X): w es
Inicializacin aleatoria del vector de pesos <w
0
, . . . ,w
n
>
Mientras (no se cumpla la condicin de parada) hacer
w
i
0 para todo i
Para cada ejemplo de entrada <(x
1
,...,x
n
), f(x
1
,...,x
n
)>
Se calcula la salida de la red: h(x
1
,...,x
n
)= x
1
w
1
+ + x
n
w
n
+ w
0
Para cada peso w
i
hacer
w
i
w
i
+ ( f(x
1
,...,x
n
) - h(x
1
,...,x
n
) ) x
i
Fin Para
Fin Para
w
i
w
i
+ w
i
Fin Mientras
Retornar w
Fin Algoritmo
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Descenso de gradiente (IV)
Es un paradigma muy importante de aprendizaje
Su estrategia de bsqueda en espacios de hiptesis
infinitos puede ser aplicada cuando:
el espacio de hiptesis contiene hiptesis que pueden
parametrizarse de una forma continua (e.g. pesos de
una funcin lineal)
podemos derivar el error respecto a los parmetros de
la hiptesis
Dificultades:
converger al mnimo puede ser lento
si hay mnimos locales no se garantiza alcanzar el
mnimo global
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Algunas consideraciones
Importancia de la constate que controla el
ritmo de aprendizaje
Dado que slo existe un mnimo global, el algoritmo
converge aunque no sea LS, siempre que sea
suficientemente pequea
Si es demasiado grande, el algoritmo puede saltarse el
mnimo
Se suele ir reduciendo su valor para evitarlos
Problemas:
Si es pequea el algoritmo es ms lento
Si hay varios mnimos locales, el algoritmo puede
quedarse atrapado en ellos y no alcanzar el mnimo
global
Cundo se debe parar el aprendizaje?
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Descenso de gradiente incremental
Es una aproximacin estocstica
Incremental: actualiza el peso tras cada ejemplo
w
i
= ( f(x
1
,...,x
n
) - h(x
1
,...,x
n
) ) x
i
Puede aproximar el mtodo del gradiente si la
constate es suficientemente pequea
Es mucho ms rpido
Aunque existan varios mnimos locales, el
mtodo incremental puede evitarlos ya que usa
los grandientes de cada ejemplo (varios)
La frmula anterior se denomina tambin Regla
Delta/LMS (Widrow-Hoff)
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Redes Multicapa (MLP)
Definicin: una red multicapa est formada por
una capa de entrada, una o ms capas
intermedias, y una capa de salida
Slo las capas ocultas y la de salida contienen
perceptrones
Permiten representar funciones no lineales
Dificultad para disearlas
Se requiere mucho tiempo de entrenamiento
Usan funciones de activacin no lineales:
sigmoide
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Backpropagation
Algoritmo BackPropagation es
Inicializacin aleatoria de todos los pesos de la red (valores pequeos)
Mientras (no se cumpla la condicin de parada) hacer
Para cada ejemplo de entrada <(x
1
,...,x
n
), f(x
1
,...,x
n
)>
Se calcula la salida de cada neurona s de salida h
s
(x
1
,...,x
n
)
Propagar los errores a travs de la red
Para cada neurona s de la capa de salida se calcula su error hacer

s
=h
s
(1-h
s
)(f
s
-h
s
)
Para cada neurona o de la capa oculta hacer

o
=h
o
(1-h
o
)
s
w
so

s
Para todos los pesos de la red
w
ji
w
ji
+ w
ji
donde w
ji
= w
ji
+
o
x
ji
Fin Mientras
Retornar pesos
Fin Algoritmo
Sistemas Inteligentes - T10a: Redes Neuronales
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Caractersticas
Usa el gradiente sobre toda la red de pesos
Fcil de generalizar para otros grafos dirigidos
Encuentra un mnimo local, no necesariamente global
A pesar de ello, es efectivo en la prctica
No hay desarrollos tericos para garantizar la convergencia
Se han desarrollado heurticos para mejorar el proceso
Aadir momentum en el clculo de los pesos
w
i,j
(n)=
j
x
i,j
+ w
i,j
(n-1)
Usar el gradiente estocstico o incremental
Entrenar la misma red con diferentes pesos iniciales, se selecciona
la que produzca un error menor en un conjunto de validacin
Se podra combina la salidad de todas las redes
Entrenamiento muy lento

S-ar putea să vă placă și