Este documento presenta una introducción al aprendizaje automático y a las redes neuronales. Explica los objetivos de la unidad, que son conocer las principales técnicas de aprendizaje automático y profundizar en problemas de clasificación usando redes neuronales. También describe los contenidos que incluyen problemas de clasificación, redes neuronales y el modelo perceptrón. Finalmente, anticipa que en la sesión se verán problemas de clasificación y la presentación de redes neuronales.
Introducción a las Redes Neuronales para la Clasificación
1. INTELIGENCIA ARTIFICIAL - ICIF0021
Unidad 6 - Introducci´n al Aprendizaje
o
Autom´tico
a
Docente: Milton A. Ram´ Klapp
ırez
miramire@gmail.com
Universidad San Sebasti´n
a
Facultad de Ingenier´ y Tecnolog´
ıa ıa
Primer Semestre de 2011
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 1 / 38
2. Objetivos de la Unidad
Conocen las principales t´cnicas del aprendizaje autom´tico (Machine
e a
Learning).
Profundizan en problemas de clasificaci´n empleando t´cnicas de
o e
computaci´n bio-inspiradas (redes neuronales).
o
Identifican los principales tipos de redes neuronales que existen.
Resuelven problemas empleando el Modelo Perceptr´n.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 2 / 38
3. Contenidos
Problemas de clasificaci´n.
o
T´cnicas de computaci´n evolutiva: redes neuronales.
e o
Modelos de redes neuronales: perceptr´n.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 3 / 38
4. Hoy veremos
Problemas de clasificaci´n.
o
Presentaci´n de las redes neuronales.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 4 / 38
5. Problema de Clasificaci´n
o
El problema de clasificaci´n consiste en tomar caracter´
o ısticas de una
entidad:
y decidir a qu´ clase pertenece.
e
Por ejemplo:
forma redonda, color rojo, un peque˜o tallo, apariencia fresca
n
¿Qu´ es?
e
Un tomate
¿o quiz´s una manzana?
a
Un clasificador puede construirse de muchas maneras y con muchas
t´cnicas diferentes
e
pero existen conceptos comunes.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 5 / 38
6. Problema de Clasificaci´n
o
¿C´mo representar las caracter´
o ısticas de una entidad a clasificar?
Color, tama˜o, forma, temperatura, etc.
n
Las caracter´
ısticas deben ser observables o medibles por alg´n tipo
u
de sensor.
Los sensores entregan una representaci´n num´rica de lo que
o e
perciben.
La mejor representaci´n
o
Son los vectores.
Tenemos entonces: un vector de caracter´
ısticas.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 6 / 38
7. Problema de Clasificaci´n
o
Vector de Caracter´
ısticas
ısticas → tendr´ la forma
Un vector de caracter´ −
x a
→ = [x , . . . , x ]
−
x 1 n
donde cada celda xi representa una caracter´
ıstica.
Por ejemplo:
→ =[temperatura, altura, edad, peso] = [28, 1.81, 25, 88.2]
−
x
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 7 / 38
8. Problema de Clasificaci´n
o
Entonces
Un clasificador es una funci´n:
o
donde su entrada es un vector de caracter´ısticas
que tiene como salida un n´mero
u
ese n´mero representa la clase asignada
u
la decisi´n que tome debe hacerse de acuerdo a las caracter´
o ısticas.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 8 / 38
9. Problema de Clasificaci´n
o
El clasificador que veremos en esta unidad recibe el nombre de Red
Neuronal.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 9 / 38
10. Redes Neuronales
inspiraci´n biol´gica
o o
El aprendizaje en los sistemas biol´gicos est´ basado en redes muy complejas de
o a
neuronas interconectadas.
La neurona es una c´lula que recibe se˜ales electromagn´ticas, provenientes del
e n e
exterior (10%), o de otras neuronas (90%) , a trav´s de las sinapsis de las
e
dendritas.
Si la acumulaci´n de est´
o ımulos recibidos supera un cierto umbral, la neurona se
dispara. Esto es, emite a trav´s del ax´n una se˜al que ser´ recibida por otras
e o n a
neuronas, a trav´s de las conexiones sin´pticas de las dendritas.
e a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 10 / 38
11. Redes Neuronales
inspiraci´n biol´gica
o o
El ´rea de conexi´n sin´ptica puede potenciar o debilitar la se˜al
a o a n
recibida. Las conexiones sin´pticas son din´micas:
a a
con el desarrollo y el aprendizaje algunas conexiones se potencian y
otras se debilitan.
El cerebro humano es una red de neuronas interconectadas:
se calculan que posee alrededor de 1011 y que cada una tiene en
promedio 104 conexiones con otras neuronas.
Inspiradas en estos procesos biol´gicos surgen las redes neuronales
o
artificiales como un modelo formal computacional.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 11 / 38
12. Ejemplos de aplicaciones pr´cticas
a
Clasificaci´n.
o
Reconocimiento de patrones.
Optimizaci´n.
o
Predicci´n metereol´gica.
o o
Interpretaci´n de datos sensoriales del mundo real
o
reconocimiento de voz
visi´n artificial, reconocimiento de im´genes
o a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 12 / 38
13. Redes Neuronales
Generalidades
Una red neuronal es un modelo matem´tico que tiene estructura de
a
grafo dirigido cuyos nodos pasar´n a llamarse en este contexto
a
neuronas artificiales.
La capa de entrada contiene cada uno de los valores num´ricos del
e
vector de caracter´
ısticas que se quiere clasificar.
La capa de salida puede ser:
una sola neurona de salida que entregue el n´mero de clase de la
u
entrada
una serie de neuronas de salida, cada una representando una clase
posible.
Se ha demostrado a lo largo del tiempo que los mejores resultados se
obtienen con este ultimo esquema.
´
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 13 / 38
14. Funcionamiento de una red neuronal
Cada nodo o unidad o neurona artificial se conecta con otros nodos a
trav´s de arcos dirigidos, lo que viene a simular la conexi´n ax´n →
e o o
dendritas
Cada arco ai → aj sirve para propagar la salida de la unidad ai para
alimentar la entrada de aj .
Las entradas y salidas son n´meros.
u
Cada arco ai → aj tiene asociado un peso num´rico wij que
e
determina la fuerza y el signo de la conexi´n, simulando la sinapsis.
o
wij
a aj
i
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 14 / 38
15. Funcionamiento de una red neuronal
Cada unidad calcula su salida en funci´n de las entradas que recibe.
o
La salida de cada unidad sirve, a su vez, como una entrada para otra
unidad o unidades:
como veremos, los c´lculos que hay que hacer son bastante simples.
a
La red recibe una serie de se˜ales externas a trav´s del vector de
n e
caracter´
ısticas, que son captadas por las neuronas que conforman la
(capa de entrada) y devuelve al exterior la salida de algunas de sus
neuronas, llamadas neuronas de capa de salida.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 15 / 38
16. C´lculo realizado por cada unidad
a
La salida de cada unidad ai se calcula como:
n
ai = g wji aj
j=0
en donde:
g es una funci´n de activaci´n.
o o
n
la suma wji aj se hace sobre todas las neuronas ai que env´ su
ıan
j=0
salida a la unidad aj :
la excepci´n es el caso j = 0, que considera a0 = −1 como una
o
entrada ficticia con un peso w0i denominado umbral.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 16 / 38
17. C´lculo realizado por cada unidad
a
De manera intuitiva, el umbral wi0 de cada unidad se interpreta como
una cantidad que debe superar la suma de las se˜ales de entrada que
n
recibe la unidad, para que se active.
La funci´n de activaci´n g tiene el rol de normalizar la salida cuando
o o
el umbral de entrada se supera:
esto hace que la red no tenga un comportamiento tan lineal.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 17 / 38
18. C´lculo realizado por cada unidad
a
Funciones de activaci´n m´s usadas
o a
1 si x > 0
1 Funci´n signo: sgn(x) =
o
−1 si x ≤ 0
1 si x > r
2 Funci´n umbral: µr (x) =
o
0 si x ≤ r, r ∈ R
1
3 Funci´n sigmoide: σ(x) =
o
1 + e−x
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 18 / 38
19. Redes neuronales hacia adelante
Cuando el grafo que representa a la red no tiene ciclos, la red se
denomina hacia adelante, que son las que veremos en esta unidad.
Las unidades o neuronas en una red hacia adelante suelen
estructurarse en capas, de tal manera que cada capa recibe sus
entradas de la capa inmediatamente anterior:
tenemos entonces capa de entrada, capas ocultas y capa de salida
las que conforman una red multicapa.
Todo esto configura una arquitectura de red neuronal.
Otras arquitecturas que existen se llaman recurrentes, caracterizadas
porque las unidades de salida retroalimentan a las de entrada.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 19 / 38
20. Redes neuronales hacia adelante
Ejemplo de una neurona de salida
12.5
27
1.71
2 (clase 2: manzana)
62.5
19
capa de entrada capa de salida
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 20 / 38
21. Redes neuronales hacia adelante
Ejemplo de una serie de neuronas de salida
12.5
27
0 (clase 0: tomate)
1.71
1 (clase 1: plátano)
62.5
2 (clase 2: manzana)
19
capa de entrada capa oculta capa de salida
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 21 / 38
22. Redes Neuronales como clasificadores
Una red neuronal hacia adelante con n ∈ N unidades en la capa de
entrada y m ∈ N en la capa de salida, no es m´s que una funci´n de
a o
Rn en Rm .
Por lo tanto, podemos verla como una clasificador de conjuntos en
Rn :
Si la clasificaci´n es de tipo booleana (verdadero o falso; s´ o no, etc),
o ı
entonces:
hacemos m = 1;
si trabajamos con funci´n de activaci´n signo o umbral, considerar que
o o
el 1 corresponda a un S´ y un 0 a un NO;
I
si se usa sigmoide, considerar como un S´ aquellos valores sean iguales
I
o superiores a 0.5 y como NO aquellos inferiores.
Para clasificadores con m > 1 posibles valores, cada unidad de salida
corresponde con un valor de clasificaci´n.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 22 / 38
23. Redes Neuronales y Aprendizaje
Cuando hablamos de aprendizaje o entrenamiento de redes
neuronales estamos hablando de encontrar los pesos de las
conexiones entre unidades, de manera que la red se comporte de una
determinada manera, descrita por un conjunto de entrenamiento.
Espec´ıficamente, para redes neuronales hacia adelante, lo habitual es
hacer esta tarea de aprendizaje supervisado:
dado un conjunto de entrenamiento de tama˜o k ∈ N:
n
D = {(− , →) : − ∈ Rn , → ∈ Rm , d = 1, . . . , k}
xd − xd
→ y
d
→ −
yd
y una red neuronal de la que s´lo conocemos su estructura: capas y
o
n´mero de neuronas por capa.
u
La gran tarea consiste en hallar un conjunto de pesos wij de tal
manera que la funci´n de Rn en Rm se ajuste lo mejor posible a los
o
ejemplos del conjunto de entrenamiento dados por los valores de − .
→
yd
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 23 / 38
24. ¿Qu´ vimos la clase pasada?
e
Introducci´n a los problemas de clasificaci´n: componentes
o o
principales.
C´mo un clasificador se puede ver como un agente que interact´a con
o u
su medio.
Presentaci´n de las redes neuronales.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 24 / 38
25. Hoy veremos
Perceptr´n: modelo de red neuronal m´s simple que hay.
o a
Separabilidad lineal.
Entrenamiento de un perceptr´n.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 25 / 38
26. Perceptr´n
o
Es el modelo m´s b´sico de red neuronal.
a a
Posee una capa de entrada y una de salida.
Un perceptr´n con funci´n de activaci´n umbral µr es capaz de representar las
o o o
funciones booleanas b´sicas.
a
Funciona bien cuando las muestras son linealmente separables, de lo cual
hablaremos en breves instantes m´s.
a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 26 / 38
27. Perceptr´n
o
Un perceptr´n con n unidades de entrada y un vector de pesos
o
w = (w0 , . . . , wn ) y una funci´n de activaci´n umbral o bipolar,
o o
clasifica como positivos a aquellos → ∈ Rn tales que
−
x
n
wi xi > 0, x0 = −1
i=0
n
La ecuaci´n
o wi xi = 0 representa un hiperplano en Rn .
i=0
Una funci´n booleana s´lo podr´ ser representada por un perceptr´n
o o a o
umbral µr si existe un hiperplano que separa los elementos con valor
1 de los elementos con valor 0.
Toda funci´n que gr´ficamente corresponda a este hiperplano en Rn
o a
la definiremos como funci´n linealmente separable.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 27 / 38
28. Perceptr´n
o
Separabilidad Lineal
Estudiemos si la funci´n booleana ∧ es o no linealmente separable
o
∧ est´ definida para todo (x1 , x2 ) ∈ {0, 1} × {0, 1} de la siguiente
a
manera:
1 si (x1 , x2 ) = (1, 1)
∧(x1 , x2 ) =
0 en otro caso
Para eso, hay que graficar sus valores en el plano cartesiano en
funci´n de los valores que tomen x1 y x2 , y ver si podemos trazar una
o
l´
ınea recta que separe completamente los puntos que originan un
valor cero para la funci´n de los que dan uno.
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 28 / 38
29. Perceptr´n
o
Separabilidad Lineal
X2
1
0 1 X1
AND vale 1
AND vale 0
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 29 / 38
30. Perceptr´n
o
Separabilidad Lineal
X2
1
0 1
X1
Es f´cil observar que ∧ es linealmente separable.
a
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 30 / 38
31. Perceptr´n
o
Separabilidad Lineal
Averiguar si la funci´n booleana ⊕ es o no linealmente separable
o
⊕ est´ definida para todo (x1 , x2 ) ∈ {0, 1} × {0, 1} de la siguiente
a
manera:
0 si x1 = x2
⊕(x1 , x2 ) =
1 si x1 = x2
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 31 / 38
32. Perceptr´n
o
Funciones Linealmente Separables
A pesar de todas sus limitaciones expresivas, las funciones linealmente
separables tienen la ventaja de poder contar con un algoritmo de
entrenamiento simple para perceptrones con funci´n umbral
o
µr , r ∈ R.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 32 / 38
33. Perceptr´n
o
Algoritmo de Entrenamiento del Perceptr´n (umbral)
o
Entrada: D = {(− , y) : − ∈ Rn , y ∈ {0, 1}, d = 1, |D|}:conjunto de entrenamiento
→
xd →
xd
η: factor de aprendizaje
µr : funci´n de activaci´n umbral
o o
Salida: − = (w0 , . . . , wn ): vector de pesos
→
w
1: inicializar aleatoriamente − ← (w0 , . . . , wn )
→
w
2: mientras no haya que seguir ajustando los pesos hacer
3: para cada (− , y) ∈ D hacer
→
xd
n
4: o ← µr wi xi {x0 = −1}
i=0
5: para cada peso wi hacer
6: wi ← wi + η(y − o)xi {actualizaci´n de pesos}
o
7: fin para
8: fin para
9: fin mientras
10: retornar −
→w
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 33 / 38
34. Comentarios sobre el algoritmo de entrenamiento
η es una constante positiva que var´ por lo general en ]0, 1]:
ıa
se emplea para medir la tasa de aprendizaje de la red
y por lo tanto, para moderar la actualizaci´n de los pesos
o
El valor de o representa el resultado que genera la red a trav´s de su
e
neurona de salida.
El valor de y corresponde al valor esperado que entregue la red.
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 34 / 38
35. Comentarios sobre el algoritmo de entrenamiento
Teorema de Minsky y Papert [1969]
El algoritmo de entrenamiento de perceptr´n converge en un n´mero
o u
finito de iteraciones a un vector de pesos → que clasifica correctamente
−
w
todos los ejemplos de entrenamiento, siempre que estos sean linealmente
separables y η suficientemente peque˜o. n
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 35 / 38
36. Ejemplo de entrenamiento
Considere la funci´n booleana ∨ definida para todo
o
(x1 , x2 ) ∈ {0, 1} × {0, 1} de la siguiente manera:
0 si (x1 , x2 ) = (0, 0)
∨(x1 , x2 ) =
1 en otro caso
Demuestre que ∨ es linealmente separable.
Considere los siguientes par´metros de entrada:
a
conjunto de entrenamiento D: tabla de verdad del operador ∨
η = 0.5, µ0.5
vector inicial de pesos → = (0, 0.1, 0.3).
−
w
Construya la tabla de traza del algoritmo de entrenamiento de la red
neuronal e indique cu´l es el vector de pesos → que debiera generar.
a −
w
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 36 / 38
37. La soluci´n. . .
o
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 37 / 38
38. Fin de la Unidad 6
M. Ram´
ırez K. (USS) Apunte curso IA Primer Semestre 2011 38 / 38