Вы находитесь на странице: 1из 25

Centro de

Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
SISTEMAS INTELIGENTES
T10: Redes Neuronales
www.aic.uniovi.es/ssii
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
ndice
Redes Neuronales Artificiales
Fundamentos biolgicos
Perceptrn
Funciones de activacin
Redes de neuronas
Entrenamiento:
Perceptrn
Descenso de gradiente: regla delta
Backpropagation
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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

Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
ALVINN
Pesos entre capa oculta
y la salida (1 neurona)
Pesos entre la entrada
y la capa oculta
(1 neurona)
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
Perceptrn
{ } |
1 +
! " =
n
w w H
! !
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
! !
! ! !
Representa UNA neurona
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
!
=
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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)
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
Separador Lineal
Problema: el conjunto puede no ser linealmente
separable (Ejemplo XOR)
Solucin: emplear redes multicapa
+
+
+
+
-
-
-
-
+
+
-
-
w
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
Aprendizaje Perceptrn
Algoritmo Aprendizaje Perceptron(w,X): w es
Inicializacin aleatoria del vector de pesos <w
0
, . . . ,w
n
>
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 la red: h(x
1
,...,x
n
)= x
1
w
1
+ + x
n
w
n
+ w
0
Si ( h(x
1
,...,x
n
) != f(x
1
,...,x
n
) ) entonces
Se actualizan los pesos <w
0
, . . . ,w
n
>
Fin si
Fin Para
Fin Mientras
Retornar w
Fin Algoritmo
Para actualizar los pesos se siguen conceptos
expuestos por Hebbian (si dos neuronas estn
activas, su conexin se refuerza)
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
] = " !
x#X
(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

Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
[ ]
[ ]
( ) ( ) ( )
( ) ( ) ( )
!
!
"
"
#
$
%
&
'
(
)
*
*
=
*
*
#
$
%
&
'
(
)
*
*
=
*
*
*
*
) = +
#
$
%
&
'
(
*
*
*
*
*
*
, -
- ) = +
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
.
.

!
! !
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( )( ) [ ]
!
! !
"
" "
# # =
$
$
%
&
'
(
)
*
+ #
$
$
# =
%
&
'
(
)
*
#
$
$
# =
$
$
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
! !
Descenso de gradiente (II)
(w
1
,w
2
)
(w
1
+$w
1
,w
2
+$w
2
)
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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?
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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)


Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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
Centro de
Inteligencia Artificial
Universidad
de Oviedo
Sistemas Inteligentes - T10: Redes Neuronales
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

Вам также может понравиться