Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a...

43
Inteligencia Artificial II - Tema 4 – p. 1/43 Inteligencia Artificial II Introducción a Redes Neuronales D. Balbont´ ın Noval Dpto. Ciencias de la Computaci ´ on e Inteligencia Artificial Universidad de Sevilla

Transcript of Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a...

Page 1: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 1/43

Inteligencia Artificial II

Introducción a Redes Neuronales

D. Balbontın Noval

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

Page 2: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 2/43

Neurona Artificial: Modelo Biol ogico

• La neurona es una célula que recibe señales electromagnéticas,provinientes del exterior (10%), o de otras neuronas (90%), a través delas sinápsis de las dendritas

• Si la acumulación de estímulos recibidos supera un cierto umbral, laneurona se dispara. Esto es, emite a través del axón una señal queserá recibida por otras neuronas, a través de las conexiones sinápticasde las dendritas

• Componentes: Cuerpo celular, núcleo, axón y dendritas

Page 3: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 3/43

El cerebro como Modelo Biol ogico par las redes neuronales

• El área de la conexión sináptica puede potenciar o debilitar la señalrecibida

• Las conexiones sinápticas son dinámicas. Con el desarollo y elaprendizaje algunas conexiones se potencian, otras se debilitan

• Cerebro humano: red de neuronas interconectadas

• Aproximadamente 1011 neuronas con 104 conexiones cada una

• Impulsos, que viajando por la red, activan (o no) neuronas, en funciónde los estímulos que éstas reciben. Las activadas generan nuevosimpulsos

• La activación de una neurona depende del nivel de excitaciónalcanzado en el cuerpo celular al recibir señales de otras neuronas

• Las neuronas son lentas: 10−3 sgs. para activarse/desactivarse (10−1

para reconocer a mamá visualmente)

• Es un modelo de paralelismo masivo

Page 4: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 4/43

Introducci on a Redes Neuronales Artificiales

• Red Neuronal Artificial (RNA): simulación basada en una estructura degrafo dirigido cuyos nodos son neuronas artificiales

• Las redes neuronales están compuestas de nodos o unidades(neuronas artificiales), conectadas a través de arcos dirigidos(conexión axón→ dendritas). Cada arco j → i, tiene asociado unpeso numérico wji que determina la fuerza y el signo de la conexión(simulación de la sinápsis), y sirve para propagar la activación aj de launidad j hacia la unidad i.

Page 5: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 5/43

Arquitecturas b asicas

• Red hacia adelante con capas ocultas

• Red recurrente

Page 6: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 6/43

Redes Neuronales y Aprendizaje

• Constituyen un método práctico de aprendizaje de funciones reales,discretas y vectoriales

• Se suelen utilizar en dominios en los que el volumen de datos es muyalto, y puede presentar ruido: cámaras, micrófonos, imágenesdigitalizadas, etc

• Para problemas difíciles de plantear y resolver simbólicamente

• En los que interesa la solución, pero no el por qué de la misma

• Se trata de aprendizaje paramétrico, no simbólico, y robusto al ruido

• Se usan tanto en aprendizaje supervisado como en no supervisado.Generalmente con las arquitecturas

• Redes hacia adelante (feed forward nets): perceptrón y redesmulticapas (supervisado)

• Redes recurrentes (no supervisado)

Page 7: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 7/43

ALVINN: un ejemplo de aplicaci on

• RNA entrenada para conducir un vehículo, a 70 Kms/h, en función de lapercepción visual que recibe de unos sensores

• Entrada a la red: La imagen de la carretera digitalizada como un arrayde 30× 32 pixels. Es decir, 960 datos de entrada

• Salida de la red: Indicación sobre hacia dónde torcer el volante,codificada en la forma de un vector de 30 componentes (desde girartotalmente a la izquierda, pasando por seguir recto, hasta girartotalmente a la derecha)

• Estructura: una red hacia adelante (feed-forward net), grafo dirigido conuna capa de entrada con 960 unidades, una capa oculta de 4 unidadesy una capa de salida con 30 unidades. La información fluye sólo haciaadelante, desde la capa de entrada a la oculta y desde ésta a la desalida. Cada unidad de una capa está unida con todas las unidades dela capa precedente

• Cada arco lleva asociado un peso

Page 8: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 8/43

ALVINN: un ejemplo de aplicaci on

• Entrenamiento: mediante un conductor humano, que conduce elvehículo una y otra y otra vez

• Los sensores de visión registran la imagen que el conductor vé.Secuencias de 960 datos cada una

• Otros sensores registran simultáneamente las acciones (movimientosdel volante) que éste realiza

• Una vez codificada ambas informaciones adecuadamente, disponemosde distintos pares (secuencias) de la forma (x, y), dondex = (x1, x2, . . . , xn) e y = (y1, y2, . . . , yk) (con n = 960 y k = 30),constituyen ejemplos de entrada/salida para la red.

• Objetivo: encontrar los valores de los pesos wji asociados a cada arcoj → i, de la red de tal forma que para cada dato de entrada x, quepropaguemos a lo largo de la red el valor obtenido en la salida coincidacon el valor y correspondiente (o se parezca lo más posible).

Page 9: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 9/43

Taxonomıa de Redes Neuronales (Patterson)

• Por su Arquitectura

• Red monocapa. Perceptrón y Adaline• Red multicapa• Red recurrente

• Tipo de aprendizaje

• Supervisado• No supervisado• Por refuerzo

• Tipo de entrenamiento

• Corrección de errores• Estocástico• Competitivo

Page 10: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 10/43

Taxonomıa de Redes Neuronales

• Por sus aplicaciones

• Clasificación• Reconocmiento de patrones• Optimización• Predicción. Climatológica, de audiencias, etc• Memorias asociativas• Interpretación de datos sensoriales del mundo real• Reconocimiento de voz• Visión Artificial, Reconocimiento de imágenes

• Satisfacción de restricciones• Control, de robots, vehículos, etc• Compresión de datos• Diagnosis

Page 11: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 11/43

Redes Neuronales y Aprendizaje Supervisado

• Dado un conjunto D de datos de la forma (x, y), con x ∈ Rn ey ∈ Rm, ¿podemos encontrar f : Rn→ Rm tal que f(x) = y,∀(x, y) ∈ D?. Consideremos el caso m = 1

• La unidad básica de cualquier red neuronal es la neurona artificial, quees una función f : Rn→ R

• Unidades lineales: calculan S = w · x =∑i=n

i=1 wixi

• Unidades con umbral: calculan S igualmente, pero posteriormentele aplican una función de activación σ

• Función bipolar: σ(S) =

{

1 si S > 0

−1 si S ≤ 0

• Función umbral: σ(S) =

{

1 si S > 0

0 si S ≤ 0

• Función sigmoide: σ(S) = 11+e−S

Page 12: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 12/43

Redes Neuronales: Unidades b asicas

• Unidad Bipolar (con umbral sesgado por w0)

w1

w2

wn

w0

x1

x2

xn

x0=1

.

.

.Σ AA

AAΣ wi xi

n

i=0 1 if > 0

-1 otherwise{o =Σ wi xi

n

i=0

• Unidad Sigmoide (con umbral sesgado por w0)

w1

w2

wn

w0

x1

x2

xn

x0 = 1

AAAAAAAA

.

.

net = Σ wi xii=0

n1

1 + e-neto = σ(net) =

Page 13: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 13/43

Redes Neuronales: El perceptr on

• ¿Puede una unidad básica responder al problema planteado?. Una vezelegida una unidad, ¿podemos encontrar un w = (w1, w2, . . . , wn) talque f(x) = y, ∀(x, y) ∈ D?

• Y en el caso general para cualquier valor de m, dado un conjuntoD = {(x, y)} de patrones, con x ∈ Rn e y ∈ Rm, ¿podemosencontrar f : Rn→ Rm tal que f(x) = y, ∀(x, y) ∈ D?. Una posiblerespuesta, no la única, el perceptrón

• Perceptrón: conjunto de m unidades independientes entre sí. Todasellas reciben los mismos n valores de entrada (Rosenblat, mediadosaños 50)

Page 14: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 14/43

Redes Neuronales: El perceptr on

• Efectivamente, una salida y ∈ Rm puede conseguirse usando m

unidades básicas independientes entre sí, y haciendo que cada una deellas (con los pesos adecuados), calcule cada componente yj de lasalida y esperada. (Aunque, como veremos más adelante, podríanconsiderarse otras combinaciones de unidades básicas)

• En el perceptrón, cada valor de entrada xi llega a través de un arcodirigido, y ponderado por el peso wij a cada unidad j de salida. Éstaprocesa la información, a partir de netj =

i wijxi, y devuelveoj = σ(netj)

• ¿Existe un conjunto de pesos wij tales que cada oj coincidaprecisamente con el yj esperado? ¿Podemos encontrarlo?

• En general el proceso de búsqueda de los pesos en el perceptrón, y engeneral en una red neuronal, recibe el nombre de entrenamiento

• Hay distintos métodos de entrenamiento

Page 15: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 15/43

Entrenamiento del Perceptr on

• Entrenamiento: búsqueda de los pesos adecuados. Ya que en elperceptrón las m unidades son independientes entre sí, noscentraremos en el entrenamiento del perceptron simple, es decir elperceptrón con una única unidad

• El perceptrón simple calcula, a partir de cada entradax = (x1, x2, . . . , xn), para un w = (w1, w2, . . . , wn) dado, el valor,S =

∑i=ni=1 wixi, o alternativamente S =

∑i=ni=0 wixi con x0 = 1 y

umbral −w0, y devuelve o = σ(S) [Nota: El valor σ(S), depende deltipo de unidad elegida]

• Objetivo: encontrar valores adecuados para los wi, de tal forma quepara cada (x, y) ∈ D se verifique o = σ(S) = σ(

i wixi) = y

• El entrenamiento se realiza por correcciones sucesivas, partiendo deunos pesos iniciales y de un conjunto de patrones D = {(x, y)}

Page 16: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 16/43

Entrenamiento del Perceptr on Simple

• Para cada par (x, y) ∈ D, y con los pesos wi en curso, se calcula lasalida del perceptrón. La diferencia entre el valor obtenidoo = σ(S) = σ(

i wixi) y el esperado y, se usa para corregir lospesos

• Cada peso wi es corregido en la forma: wi← wi + η(y − o)xi (reglade entrenamiento del perceptrón), donde η > 0 (pequeño), es el factorde aprendizaje

• El proceso se repite una y otra vez para los distintos patrones(x, y) ∈ D, y cada vez se actualizan los pesos

• Bajo determinadas condiciones, se puede garantizar que el procesoconverge

• Una vez entrenado puede actuar como un clasificador, un reconocedorde patrones o constituir un modelo de regresión de los datos deentrenamiento

Page 17: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 17/43

Algoritmo de Entrenamiento del Perceptr on Simple (bipolar)

• Entrada : Un conjunto de patrones D = {(x, y)}, con x ∈ Rn ey ∈ {−1, 1}

• Objetivo : Obtener un vector de pesos w = (w0, w1, . . . , wn) ∈ Rn+1,con el cual el perceptrón devuelva, para cada entradax = (x1, x2, . . . , xn) ∈ Rn, la salida esperada y ∈ {−1, 1}

• w ← (w0, w1, . . . , wn) ; pesos iniciales generados aleatoriamente• Repetir hasta que se cumpla la condición de terminación:• Para cada (x, y) del conjunto de entrenamiento hacer:

· Calcular S = w · x =∑i=n

i=0 wixi (x0 = 1)

· Calcular o = σ(S) =

{

1 si S > 0

−1 si S ≤ 0

· Para cada peso wi hacer: wi← wi + η(y − o)xi

(η factor de aprendizaje)• Devolver w

Page 18: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 18/43

Observaciones sobre el Perceptr on Simple

• En cada vuelta, si la salida obtenida es menor que la esperada, o < y,será (y − o) > 0, y por tanto los wi correspondientes a xi positivosaumentarán (y disminuirán los correspondientes a xi negativos), lo queaproximará o a y.

• Análogamente ocurre si es o > y.

• Mientras que si es y = o, los wi no se modifican y por tanto w tampoco

• Teorema: El algoritmo anterior converge en pocos pasos a un vector depesos w que calcula correctamente todos los ejemplos deentrenamiento, siempre que éstos sean linealmente separables y η

suficientemente pequeño (Minsky and Papert, 1969)

• Particularmente los perceptrones simples pueden calcular lasfunciones lógicas AND, OR y NOT (así como NAND y NOR)

• Sin embargo no pueden calcular otras, como por ejemplo XOR

Page 19: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 19/43

Limitaciones del Perceptr on Simple

• Así, si representamos los valores lógicos T y F por 1 y -1, unperceptrón simple (bipolar) que calcula la función AND, sería elcorrespondiente a los valores w0 = −0.8 y w1 = w2 = 0.5S = w0 + w1x1 + w2x2 = 0.5x1 + 0.5x2 − 0.8 es decirσ(S) = 1 ⇐⇒ x1 = x2 = 1

• Perceptrones Simples, con unidades umbral σ(S) ∈ (0, 1) y x0 = −1,para las puertas lógicas

Page 20: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 20/43

Limitaciones del Perceptr on Simple

• Sin embargo un perceptrón simple no puede representar la funciónlógica XOR (OR exclusivo)

• Los distintos casos en el XOR no son linealmente separables

Page 21: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 21/43

Gradiente Descendente y Regla Delta.

• En el caso de patrones no linealmente separables, el método delgradiente nos permite entrenar una unidad para que ajuste porregresión un modelo de los datos de entrada

• En lugar de buscar f : Rn→ R con f(x) = y, se trata de encontrar elw que minimice el error cuadrático: E(w) = 1

2

d(yd− od)2

(supuesto E(w) diferenciable), donde yd es la salida esperada para lainstancia d = (xd, yd) ∈ D, y od la salida obtenida

• En lo que sigue consideraremos sólo unidades lineales (sin función deactivación σ), que son diferenciables. Así o = w · x =

∑i=ni=0 wixi. Y

para hallar el valor de w que minimice el error seguiremos el métododel gradiente descendente

• Para este tipo de unidades, la expresión del error:E(w) = 1

2

d(yd−od)2 = 1

2

d[yd−(w0x0+w1x1+ . . .+wnxn)]2

representa una superficie cuadrática en w

Page 22: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 22/43

Gradiente Descendente

• Obtención de la Regla del Gradiente

-1

0

1

2

-2-1

01

23

0

5

10

15

20

25

w0 w1

E[w

]

En una superficie parabólica la direcciónde máximo crecimiento viene dada por elvector gradienteEl negativo del gradiente proporciona ladirección de máximo descenso hacia elmínimo de la superficie.

• Obtendremos w = (w0, w1, . . . , wn) por aproximaciones sucesivas.Partiendo de un w inicial que iremos modificando en la dirección demáximo descenso

• El gradiente es el vector de las derivadas parciales de E respecto decada wi

∇E(w) =

[

∂E

∂w0,

∂E

∂w1, . . . ,

∂E

∂wn

]

Page 23: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 23/43

Obtenci on de la regla del gradiente

• Modificaremos w en la dirección opuesta al gradiente, esto esw ← w + ∆w, siendo ∆w = −η∇E(w), y η el factor de aprendizaje

• Lo que significa que para cada componente wi será wi← wi − η ∂E∂wi

• Teniendo en cuenta que para d = (xd, yd) ∈ D, es od =∑i=n

i=0 wixid,tendremos:

∂E

∂wi

=∂

∂wi

1

2

d

(yd − od)2 =

d

(yd − od)(−xid)

y por tanto ∆wi = η∑

∀d∈D(yd − od)xid (regla del gradiente)

• Regla del Gradiente: wi← wi + η∑

d(yd − od)xid

Page 24: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 24/43

Entrenamiento de Unidades Lineales: Regla del Gradiente

• Algoritmo de entrenamiento

• Inicializar cada wi con valores aleatorios• Repetir hasta que se cumpla la condición de terminación• Inicializar cada ∆wi a cero• Para cada d = (x, y) ∈ D, hacer

· Calcular o = w · x =∑

i wixi

· Para cada componente ∆wi de ∆w, hacer∆wi← ∆wi + η(y − o)xi

• Para cada peso wi, hacer wi← wi + ∆wi

• Devolver w

• Inconveniente: el cálculo del ∆w, necesario para actualizar, en cadavuelta del bucle principal el vector de pesos w, requiere un sumatorioextendido a todos, los patrones d ∈ D de entrenamiento

Page 25: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 25/43

Entrenamiento de Unidades Lineales: Regla Delta

• Es una variante de la Regla del Gradiente. En lugar de tratar deminimizar el error cuadrático E(w) = 1

2

d(yd− od)2, cometido sobre

todos los patrones d ∈ D , procede incrementalmente tratando deminimizar, en cada paso, el error cuadrático Ed(w) = 1

2(yd − od)

2,cometido sobre cada patrón d ∈ D

• De esta forma, ∂Ed

∂wi

= (yd − od)(−xid), para cada d ∈ D, y

siendo, ∆wi = −η ∂Ed

∂wi

, tendremos, ∆wi = η(yd − od)xid, y portanto wi← wi + η(yd − od)xid

• La expresión ∆wi = η(y − o)xi es conocida como regla delta

Page 26: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 26/43

Entrenamiento de Unidades Lineales: Regla Delta

• Algoritmo de entrenamiento (regla delta)

• Inicializar cada wi con valores aleatorios• Repetir hasta que se cumpla la condición de terminación• Para cada d = (x, y) ∈ D, hacer

· Calcular o = w · x =∑

wixi

· Para cada peso wi, hacer wi← wi + η(y − o)xi

• Devolver w

Page 27: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 27/43

Regla delta: Generalizaci on para unidades con umbral

• En el caso de unidades umbral, con función de activación σ

diferenciable, se obtiene el valor de salida, o = σ(net), siendonet = w · x =

i wixi

• Tendríamos, para cada dato (x, y), el errorE(w) = 1

2(y − o)2 = 1

2(y − σ(net))2, por tanto, ∂E

∂wi

=

−(y− o)∂σ(net)∂wi

= −(y− o)∂σ(net)∂net

∂net∂wi

= −(y− o)σ′(net)xi, y

siendo ∆wi = −η ∂E∂wi

, será ∆wi = η(y − o)σ′(net)xi. Es decir,

wi← wi + η(y − o)σ′(net)xi

Page 28: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 28/43

Regla delta: Generalizaci on para unidades con umbral

• Algunos casos particulares de unidades umbral diferenciables:

• Función de activación identidad: σ(net) = net (unidad lineal)σ(net) = net⇒ σ′(net) = 1⇒

wi← wi + η(y − o)xi

• Función de activación sigmoide: σ(net) = 11+e−net (unidad

sigmoide)σ(net) = 1

1+e−net ⇒ σ′(net) = σ(net)[1 − σ(net)] =

o(1− o)⇒

wi← wi + η(y − o)o(1− o)xi

Page 29: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 29/43

Algunas Observaciones

• La regla de entrenamiento del perceptrón simple, y la regla delta parael entrenamiento de unidades lineales, son aparentemente la misma:wi← wi + η(y − o)xi

• El valor de salida o depende del tipo de unidad

• La expresión S = w · x, es la de un hiperplano en ambos casos

• Para la regla del perceptrón: o = σ(w · x) = σ(∑

i wixi)

• w representa el hiperplano separador de los datos. Clasifica lasinstancias en dos clases, según que S = w · x sea o no mayorque cero. Sólo puede usarse para datos linealmente separables

• Para la regla delta: o = σ(w · x) = w · x = (∑

i wixi)

• w representa el hiperplano más próximo a los datos deentrenamiento. Constituye por tanto un modelo de regresión

• Para ambas reglas, y con unidades sigmoide el separador sesuaviza

Page 30: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 30/43

Insertar imagen

• En la imagen de la derecha, superficie separadora de un perceptrónsigmoide. El plano separador, se suaviza, se flexibiliza

• Imagen de como el sigmoide transforma los dos semiplanos producidospor una recta, en dos regiones delimitadas por el propio sigmoide y lasrectas y = 0 y y = 1 (insertar dibujo)

Page 31: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 31/43

Mas observaciones

• El entrenamiento basado en el método del gradiente, en lugar debuscar el hiperplano

i wixi = 0 que separa a los datos, construye,minimizando el error cuadrático, un modelo de regresión de los mismos.Converge aunque los patrones no sean linealmente separables

• El método del gradiente puede utilizarse para entrenar otros tipos deunidades, no sólo las lineales donde o = S =

i wixi, siempre querepresenten una función diferenciable. Por ejemplo, aquellas cono = σ(S), siendo σ diferenciable

• Así, el sigmoide cuya función de activación: σ(S) = 11+e−S

∈ (0, 1),

es diferenciable y acotada

• Las unidades, una vez entrenadas, representan funciones f : Rn→ R

que clasifican patrones, o modelos de regresión ajustado a lospatrones usados para el entrenamiento

Page 32: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 32/43

Redes

• Combinando unidades podemos conseguir funciones del tipof : Rn→ Rm. Caso del perceptrón, con m unidades independientesentre sí

• También mediante combinaciones más complejas. Por ejemplo redes,de unidades, en la que los valores de salida de ciertas unidades sean asu vez los valores de entrada de otras

• Las estructuras más utilizadas son las redes hacia adelante (acíclicas)y las redes recurrentes (cíclicas)

• Normalmente las unidades se organizan por capas

• Redes hacia adelante: Cada unidad de una capa recibe como entradaslas salidas de las unidades de la capa anterior (excepto, lógicamente,la propia capa de entrada)

• El perceptrón es por tanto una red hacia adelante con una capa deentrada y una capa de salida. También se conoce como red monocapa(la de salida)

Page 33: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 33/43

Arquitectura de las redes hacia adelante multicapa

• Grafos dirigidos sin ciclos

• Las unidades, los nodos, se organizan por capas

• Una capa de entrada, una de salida y varias capas ocultas

• Cada unidad de una capa está conectada a cada unidad de la capasiguiente

• Las unidades de una misma capa son independientes entre sí

• La información fluye a través de las sucesivas capas desde la capa deentrada a la de salida

• Cada arco i→ j tiene asociado unpeso wij

• Una vez ajustados los pesos, los val-ores de salida de la red sólo depen-den de los de entrada

Page 34: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 34/43

Redes hacia adelante multicapa

• Al aumentar el número de capas, introducimos más parámetros, máspesos, uno por cada nueva unidad. Lo que aumenta el espacio dehipótesis donde buscar la función f : Rn→ Rm

• Combinar unidades en capas oculta, permite buscar funciones máscomplejas

Page 35: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 35/43

Observaciones sobre redes multicapa

• La capacidad de una red, su entrenamiento y calidad, va a dependerdel tipo de unidades utilizadas y de su arquitectura. Sería deseable queel flujo de datos que se propague por la red se mantenga acotado yque su capacidad no esté limitada a datos separables linealmente

• Las unidades básicas discretas (bipolar, umbral) tienen esta limitación,sólo convergen con datos linealmente separables. Podemos construirredes con ellas, pero mientras las estructuras resultantes seancombinaciones lineales de combinaciones lineales, esta limitaciónsubsiste

• Las unidades diferenciables, soslayan este problema, ya que buscanconstruir un modelo de regresión de los datos de entrenamiento.Pueden se entrenadas por el método del gradiente

• Es muy frecuente usar unidades sigmoide ya que además dediferenciables son acotadas. Su uso garantiza que el flujo en la red semantenga acotado

Page 36: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 36/43

Entrenamiento de redes multicapa

• El entrenamiento de redes multicapa se basa en un proceso decorrecciones sucesivas de los pesos iniciales

• El error en las distintas unidades de la capa de salida es fácil decalcular. Corregirlos no es trivial. Dependerá de los errores arrastradosen la red

• Cada capa mal ajustada (pesos incorrectos) propagará hacia adelanteerrores. Pero el error de las unidades ocultas no podemos conocerlo,¿cómo corregirlas?

• Idea básica: a partir del error obtenido en la capa de salida, propagarlohacia atrás, corrigiendo capa a capa los pesos que se usaron hastallegar de nuevo a la capa de entrada. Y repetir el proceso con losnuevos pesos las veces necesarias

• El cálculo de ∆wji, para cada arco de la red, requiere un estudiomatemático detallado, basado en el método del gradiente y la regladelta

Page 37: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 37/43

El Algoritmo de Retropropagaci on (resumen)

• Entrada: D = {(x, y)} y red (M capas, pesos wj, y función deactivación σ)

• Repetir hasta que se satisfaga el criterio de parada• Para cada ejemplo d = (x, y) ∈D hacer• Propagar los valores de entrada a través de la red (hacia adelante)• Para ello se calcula, para cada unidad i de cada capa l, su salida

ai = σ(ini) = σ(P

j wjiaj), donde aj es la salida de la unidad j ∈ l− 1 de la capa

anterior (aj = xj , si l = 1).• Una vez obtenidos los valores de salida en la última capa, se comparan con los esperados

y se propagan los errores (hacia atrás), hasta alcanzar la capa de entrada. La capa desalida y las restantes reciben distinto tratamiento:

• para cada nodo i ∈M de la capa de salida se calcula, ∆i ← σ′(ini)× (yi −ai)• y para cada nodo j ∈ l de las capas restantes, con l desde M − 1 a 1, se calcula,

∆j ← σ′(inj)P

i wji∆i , (con i ∈ l + 1); y se corrigen los pesos de todos los arcosj→ i, que salen de la unidad j: wji ←wji + ηaj∆i (con j ∈ l y ∀i ∈ l + 1)

• Devolver red

Page 38: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 38/43

El Algoritmo de Retropropagaci on

• Entrada: D = {(x, y)}, red (M capas, pesos iniciales wji, y funciónde activación σ)

• Repetir hasta que se satisfaga el criterio de parada

• Para cada ejemplo d = (x, y) ∈ D hacer• Para cada nodo j en la capa de entrada hacer aj ← xj

• Para capa l desde 2 a M hacer· Para cada nodo i de la capa l hacer

ini←∑

j wjiaj (∀ j ∈ l− 1) y ai← σ(ini)

• Para cada nodo i en la capa de salida hacer∆i← σ′(ini)× (yi − ai)

• Para cada capa l desde M − 1 a 1 y para cada nodo j en lacapa l hacer ∆j ← σ′(inj)

i wji∆i (∀ i ∈ l + 1)Para cada nodo i en la capa l + 1 hacerwji← wji + η × aj ×∆i

• Devolver red

Page 39: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 39/43

El Algoritmo de Retropropagaci on (con sigmoides)

• Entrada: D = {(x, y)}, red (M capas, pesos iniciales wji, y funciónde activación σ(x) = 1

1+e−x )

• Repetir hasta que se satisfaga el criterio de parada

• Para cada ejemplo d = (x, y) ∈ D hacer• Para cada nodo j en la capa de entrada hacer aj ← xj

• Para capa l desde 2 a M hacer· Para cada nodo i de la capa l hacer

ini←∑

j wjiaj (∀ j ∈ l− 1) y ai← σ(ini)

• Para cada nodo i en la capa de salida hacer∆i← ai(1− ai)× (yi − ai)

• Para cada capa l desde M − 1 a 1 y para cada nodo j en lacapa l hacer ∆j ← aj(1− aj)

i wji∆i (∀ i ∈ l + 1)Para cada nodo i en la capa l + 1 hacerwji← wji + η × aj ×∆i

• Devolver red

Page 40: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 40/43

Un ejemplo de Retropropaci on del Error en una Red Neuronal

• Considérese una red neuronal con la siguiente estructura en la que seusa el sigmoide como función de activación:

1

2

5

4

7

6

3

• Supongamos dado un ejemplo (x1, x2, x3) con salida esperada(y6, y7)

• Supongamos también que ya hemos calculado la salida ai en cadaunidad i = 1, . . . , 7

Page 41: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 41/43

Traza de la Retropropagaci on del Error

Capa Unidad Cálculos que se realizan

Salida 7 ∆7 = a7(1−a7)(y7 −a7)6 ∆6 = a6(1−a6)(y6 −a6)

Oculta 5 ∆5 = a5(1−a5)[w5,6∆6 + w5,7∆7]w5,6 ←−w5,6 + ηa5∆6

w5,7 ←−w5,7 + ηa5∆7

4 ∆4 = a4(1−a4)[w4,6∆6 + w4,7∆7]w4,6 ←−w4,6 + ηa4∆6

w4,7 ←−w4,7 + ηa4∆7

Entrada 3 ∆3 = a3(1−a3)[w3,4∆4 + w3,5∆5]w3,4 ←−w3,4 + ηa3∆4

w3,5 ←−w3,5 + ηa3∆5

2 ∆2 = a2(1−a2)[w2,4∆4 + w2,5∆5]w2,4 ←−w2,4 + ηa2∆4

w2,5 ←−w2,5 + ηa2∆5

1 ∆1 = a1(1−a1)[w1,4∆4 + w1,5∆5]w1,4 ←−w1,4 + ηa1∆4

w1,5 ←−w1,5 + ηa1∆5

Page 42: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 42/43

Antes de terminar .... Redes recurrentes

• Redes recurrentes: Permiten que sus salidas alimenten a sus entradas.Así el estado de la red (sus pesos) simula un sistema dinámico quepuede alcanzar un estado estable, exhibir oscilaciones o inclusocomportarse de forma caótica

• Presentan memoria a corto plazo• Modelizan mejor el cerebro• Más dífíciles de entender• Grafo dirigido con posibles ciclos• La salida de algunas unidades pueden alimentar sus propias

entradas• Constituyen sistemas dinámicos, cambiantes• Pueden alcanzar la estabilidad, exhibir oscilaciones o incluso tener

comportamientos caóticos• Memoria a corto plazo

Page 43: Introducción a Redes Neuronales · Inteligencia Artificial II - Tema 4 – p. 4/43 Introduccion a Redes Neuronales Artificiales´ •Red Neuronal Artificial (RNA): simulación

Inteligencia Artificial II - Tema 4 – p. 43/43

Bibliografıa

• Mitchell, T. M.: “Machine Learning”. McGrawHill, 1997.

• Patterson, Dan W.: “Artificial Neural Networks. Theory andApplications”. Prentice-Hall, 1996.

• Russell, S. y Norvig, P.: “Inteligencia Artificial. Un enfoque moderno”.Prentice-Hall Hispanoamerican, 1996.