Intro a Redes Neuronales

26
REDES NEURONALES REDES NEURONALES

description

explicacion en matlab

Transcript of Intro a Redes Neuronales

Page 1: Intro a Redes Neuronales

REDES NEURONALESREDES NEURONALES

Page 2: Intro a Redes Neuronales

¿Qué son las Redes Neuronales?

Modelos simplificados del sistema nervioso central

Están formadas por un elevado número de elementos simples de computación interconectados que trabajan en paralelo

Page 3: Intro a Redes Neuronales

Modelo Neurona Artificial

x1

x2

x3

x4

xm

wi1

wi2

wi3

wi4

wim

yi

Elementode Procesamiento

Salida

Entradas

Page 4: Intro a Redes Neuronales

Modelo Simple Neurona Artificial

Modelo matemático (1943) Mc Culloch-Pitts

Operación:– Suma Ponderada de las

Entradas– Si la suma supera un

umbral, se activa la salida

– En caso contrario, se inhibe

Modelo matemático:

Los pesos wij representan la sinapsis que une la neurona j (fuente) con la i (destino)

m

jijiji txwaty

1

)()1(

Page 5: Intro a Redes Neuronales

Breve Historia de las Redes Neuronales

1943 Mc Culloch-Pitts (Primeros Modelos matemáticos)

1949 D. Hebb. Aprendizaje neuronal

1956 Rochester. Primeras simulaciones de redes neuronales

50’-60’ Rosenblatt introduce el Perceptrón

1969 Minsky y Papert publican un libro estudiando los problemas del Perceptrón. COMIENZO DE LA COMIENZO DE LA DÉCADA OSCURADÉCADA OSCURA

1970 Widrow. Primera aplicación redes neuronales (ADALINE y MADALINE)

Regla de Aprendizaje Widrow-Hoff (Mínimos Cuadrados)

1974 Werbos publica el algoritmo de RetropropagaciónRetropropagación, aunque no se utiliza hasta 1985 (PDP)

1982 Hopfield analiza el comportamiento de la red mediante teoría de Lyapunov

Page 6: Intro a Redes Neuronales

Aplicación de las Redes Neuronales al Control

La red puede aproximar cualquier función no lineal continua

Son unidades de procesamiento paralelo y distribuido

Permite generalizar y adaptarse en tiempo real

Puede trabajar con conceptos cuantitativos y cualitativos simultáneamente.

Pueden modelar sistemas multivariables

Page 7: Intro a Redes Neuronales

Arquitectura de las Redes Neuronales

Neurona– Elemento básico– Formada por:

Sumador Ponderado Función de Activación

continua

x n=wx+bF(n)

y

b

Funciones continuas utilizadas:

•Función EscalónFunción Escalón

•Función UmbralFunción Umbral

•Función RampaFunción Rampa

•Función SigmoidalFunción Sigmoidal

Page 8: Intro a Redes Neuronales

Arquitectura de Red

En general, las neuronas tienen más de una entrada...

x2 n=wx+bF(n)

y

b

x1

xR

R

Entrada Neurona

x2

n=wx+bF(n)

y

x1

xR

Entrada

Neurona

b

Vector xDimensión Rx1

1x1

1x1 1x1

1xR

Page 9: Intro a Redes Neuronales

Arquitectura de red

O más de una salida ...

x2

n1

F(n)y1

b1

x1

xR

Entrada

n2

F(n)y2

b2

n3

F(n)y3

b3

nSF(n)

yS

bS

SR

Page 10: Intro a Redes Neuronales

Arquitectura de Red

O más de una capa....

x2

n1

F(n)y1

x1

xR

Entrada

Neurona

b1

Vector xT

Dimensión 1xR

1xS1

1xS1 1xS1

RxS1

n2

F(n)y2

Neurona

b2

1xS2

1xS2 1xS2

S1xS2

n3

F(n)y3

Neurona

b3

1xS3

1xS3 1xS3

S2xS3

Page 11: Intro a Redes Neuronales

Arquitectura de Red

Capa de Entrada: Capa sensorial

Capa Oculta: Procesamiento de Datos

Capa de Salida: Respuesta al entorno

Capa Entrada

Capas Ocultas

Capa Salida

ENTORNO

Actuación sobre elEntorno

Conocimiento del Mundo Exterior

Page 12: Intro a Redes Neuronales

Entrenamiento de Redes

Entrenamiento = Ajuste de los pesosEntrenamiento = Ajuste de los pesos

– Entrenamiento supervisado (99% de las aplicaciones neuronales)

– Entrenamiento no supervisado (el resto)

Según el flujo de datos:– Redes

Unidireccionales (de entrada salida)

– Redes Recurrentes (donde realimentación de la salida a la entrada)

Page 13: Intro a Redes Neuronales

Funcionamiento de las Redes

Aprendizaje

Ajuste de pesos

Ejecución

Aplicación

Entradax1

x2

:XR

Red Neuronal

Saliday1

y2

:yL

Entrenamiento

Entradax1

x2

:XR

Red Neuronal

Saliday1

y2

:yL

Ejecución

Page 14: Intro a Redes Neuronales

Perceptrón

Propuesto por Rosenblatt (1961)

F(n) es una función umbral (o escalón)

Permite clasificar vectores dividiendo el espacio de entrada en dos regiones

Sólo puede resolver problemas de separación separación LINEALLINEAL (OR-Exclusivo)

x2 i

ni

F(n)yi

bi

x1

i

xR

iR

Entrada

Neurona i

Función Umbral +1

-1

Page 15: Intro a Redes Neuronales

Reglas de Aprendizaje

La señal ri es función de (wi,x, di)

El incremento de los pesos será:

wi(t) = ri [wi(t), x(t), di(t)] x(t)

Luego:

wi(t+1) = wi(t) + wi(t)

x2 i

ni

F(n)yi

bi

x1

i

xR

iR

Entrada Neurona i

i

Señal Deseada,di

Aprendizaje

ri

Page 16: Intro a Redes Neuronales

Reglas de Aprendizaje

Regla del Perceptrón:

ri = dik-yi

k

Regla de Hebb

jiij xyw

0

2 kj

kik

jkT

ik

ik

ij

xdxsigndw

xw

Sólo puede Clasificar VECTORES DE ENTRADA Sólo puede Clasificar VECTORES DE ENTRADA LINEALMENTE SEPARABLESLINEALMENTE SEPARABLES

Page 17: Intro a Redes Neuronales

Solución al Problema Or-Exclusivo

x1

x2

[0,0] [1,0]

[1,1][1,0]

¡Utilizar Redes con dos capas!.– La Capa de Entrada

Dos Perceptrones– Capa de Salida

Perceptron adicional

Problema: ENTRENAMIENTOENTRENAMIENTO

Page 18: Intro a Redes Neuronales

Adaline (Adaptive Linear Neuron)

(1959) Widrow Función de Activación

LINEAL

Sistema de ec. Lineales solución si los vectores

x son LINEALMENTE INDEPENDIENTES

Función de COSTE:

E(w) minimiza la suma de los cuadrados de los errores.

Método de entrenamiento DESCENSO POR EL DESCENSO POR EL GRADIENTEGRADIENTE

kR

i

ki dwix

1

p

k

kTkp

k

kk dydwE1

2

1

2

2

1

2

1)( xw

Page 19: Intro a Redes Neuronales

Regla de Widrow-Hoff

Basada en el DESCENSO DESCENSO DE GRADIENTEDE GRADIENTE

Si los cambios se hacen individualmente para cada patrón de entrada:

Factor de AprendizajeFactor de Aprendizaje

)(ww wE

ki

p

k

kTk

ii x

w

Ew

1

2)(xwd

w

ki

kTki xw xwd

Page 20: Intro a Redes Neuronales

Regla de Aprendizaje Delta

Generalización de la regla la regla de Widrow-Hoffde Widrow-Hoff para funciones de Activación Activación Continuas DiferenciablesContinuas Diferenciables

Función de Coste:Función de Coste:

Aplicando descenso de descenso de gradiente (BATCH):gradiente (BATCH):

En En identificación/controlidentificación/control los los pesos se va actualizando al pesos se va actualizando al presentar nuevas entradas, presentar nuevas entradas, xx::

p

k

S

i

kTi

ki

p

k

S

i

ki

ki FdydE

1 1

2

1 1

2)(

2

1

2

1)( xww

kj

kTi

p

k

kTi

ki xFFd

wij

Exwxw

w')(

)(

1

kj

kTi

kTi

kiij xFFd

wij

Ew )(')(

)(xwxw

w

Page 21: Intro a Redes Neuronales

Perceptron Multicapa

Solución a problemas de clasificación de vectores no separables linealmente

Al utilizar funciones de activación no lineales, es posible modelar sistemas no linealesno lineales

Problema:EntrenamientoEntrenamiento 1974 Paul Werbos 1986 Grupo PDP populariza el algoritmo

Page 22: Intro a Redes Neuronales

Algoritmo de Retropropagación

Red Multicapa.Función de Activación DiferenciableActivación Diferenciable

x1

x2

x3

y1

y2

y3

1

2

3

4

5

6

7

8

y6

y7

y8

y4

y5

w11

w12

w13

w33

w23w13

w53

w43

w41 w64

w85

w74

Page 23: Intro a Redes Neuronales

Algoritmo de Retropropagación

Error Cuadrático:

Ajuste de pesos:

Relación neuronas 4 y 8

w84 n8 y8 E

Aplicando Regla de la Cadena:

Definiendo error equivalt.:

8(x) = (d8-y8)F'8(n8(x))

Ajuste Pesos Capa Salida:w84

t+1 = w84t + 8y

w74t+1 = w74

t + 7y4

w64t+1 = w64

t + 6y4

w85t+1 = w85

t + 8y5

w75t+1 = w75

t + 7y5

w65t+1 = w65

t + y5

288

277

2662

1ydydydE

0 , 1

ij

tijt

ijtij w

wEww

4888884

8

8

8

884

84 )(')(

ynFydw

n

n

y

y

E

w

wE

Page 24: Intro a Redes Neuronales

Algoritmo Retropropagación (2)

Capa Oculta. Conexión neuronas 1 y 4.

representa la relación entre y4 y E.

Calculando el primer término:

Error Equivalente:4=(6w64+7w74+8w84)F'4(n4)

w41 n4 y4

n6

n7

n8

E

y6

y7

y8

144441

4

4

4

441

41 )('~~

)(ynF

y

E

w

n

n

y

y

E

w

wE

4

~yE

848747646

848888747777

6466664

8

8

8

8

4

7

7

7

74

6

6

6

64

)(')()(')(

)(')(~

~~~

www

wnFydwnFyd

wnFydy

n

n

y

y

E

y

n

n

y

y

E

y

n

n

y

y

E

y

E

Page 25: Intro a Redes Neuronales

Algoritmo Retropropagación (3)

Agrupando:

La variación del peso w41 vendrá dada por:

1441

41)(y

w

wE

w41t+1 = w41

t + 4y1

Page 26: Intro a Redes Neuronales

Algoritmo Retropropagación (4)

Aspectos a considerar:– Pesos Iniciales. Aleatorios

y pequeños– Constante de Aprendizaje– Función Cuadrática– Número de Patrones– Tipo de Patrones– Número de Capas – Número de Neuronas

Ocultas

Variantes:– Término de momento

– Otras reglas de Actualización basadas en el método de Newton (calculando la matriz Hessiana)

w(t) = -E(t)+ w(t-1)