1. redes neuronales

48
Redes Neuronales 1 Redes Neuronales Artificiales Juan Mauricio. [email protected]

Upload: adrian-gomez-baldeon

Post on 11-Dec-2015

303 views

Category:

Documents


2 download

DESCRIPTION

redes neuronales

TRANSCRIPT

Page 1: 1. Redes Neuronales

Redes Neuronales

1

Redes Neuronales Artificiales

Juan Mauricio.

[email protected]

Page 2: 1. Redes Neuronales

Contenido

1. Introducción

2. Modelos básicos y reglas de aprendizaje.

3. Red neural de retropropagación

4. Sistemas auto-organizados

5. Redes neurales recurrentes.

6. Aplicaciones de RNA en Ingenieria

2

6. Aplicaciones de RNA en Ingenieria

Page 3: 1. Redes Neuronales

Introducción

� Modelo computacional inspirado en losneuronios biológicos y en la estructura delcerebro con capacidad de ADQUIRIR,ALMACENAR y UTILIZAR conocimientoexperimental.

3

experimental.

Page 4: 1. Redes Neuronales

Introducción

CEREBROCEREBRO REDES NEURONALESREDES NEURONALES

Neuronio Biológico Neuronio Artificial

Red de neuronios Estructura en capas

10 billones neuronios centenas/millares

4

10 billones neuronios centenas/millares

Aprendizaje Aprendizaje

Generalización Generalización

Asociación Asociación

Reconocimiento de Reconocimiento de

padrones padrones

Page 5: 1. Redes Neuronales

Introducción

Red Neuronal Artificial: RNARNA

5

Page 6: 1. Redes Neuronales

Estructura de una RNA

6

Page 7: 1. Redes Neuronales

Estructura de una RNA

� Los pesos guardan el conocimiento (memoria) de lared neuronal

� Los pesos son ajustados de acuerdo con el errorencontrado

� La red neural es entrenada hasta que el error entrela salida y el objetivo sea satisfactorio

7

la salida y el objetivo sea satisfactorio

� La red neural es capaz de generalizar y reconocerpadrones distintos de los usados en elentrenamiento

Page 8: 1. Redes Neuronales

Estructura de una RNA

� Redes neuronales son utilizadas en aplicaciones:

� Reconocimiento de padrones ruidosos y/oincompletos

� Donde las reglas claras no pueden ser

8

� Donde las reglas claras no pueden serfácilmente formuladas

� No se necesita explicación del resultado

Page 9: 1. Redes Neuronales

Ejemplo de entrenamiento de una RNA

Objetivo:

9

Error=

Datos de entrenamiento

Page 10: 1. Redes Neuronales

Ejemplo de entrenamiento de una RNA

Objetivo:

10

Error=

Datos de entrenamiento

Page 11: 1. Redes Neuronales

Uso de la Red Neural

11

Nuevo dato, que no fue presentado durante el entrenamiento

Page 12: 1. Redes Neuronales

Reglas de Aprendizaje

� Perceptron

� Delta Rule (Least Mean Square)

�� BackBack PropagationPropagation

12

Page 13: 1. Redes Neuronales

Algoritmo de Back Propagation

� Para una Red Multi-Layer Perceptron

� Red de 3 camadas: 5/5/3/4

13

Page 14: 1. Redes Neuronales

Algoritmo de Back Propagation

� El desafio principal es definir un algoritmo deaprendizaje para la actualización de los pesos delas camadas intermedias.

� Idea Central:

Los errores de los elementos procesadores de la

14

Los errores de los elementos procesadores de lacamada de salida (conocido por el entrenamientosupervicionado), son retro-propagados para lascamadas intermediarias.

Page 15: 1. Redes Neuronales

Algoritmo de Back Propagation

� Modelo del perceptrón:

15

Page 16: 1. Redes Neuronales

Algoritmo de Back Propagation

� Características Básicas:

� Regla de Propagación: netj=∑∑∑∑xi.wji+θθθθj� Función de Activación: Función no lineal, diferenciable

en todos los puntos

� Topología: Múltiples capas

16

� Topología: Múltiples capas

� Algoritmo de aprendizaje: Supervisionado

� Valores de Entrada/Salida: Binarios {-1,1} y/ocontinuos

Page 17: 1. Redes Neuronales

Algoritmo de Back Propagation

�� TopologiaTopologia

17

Page 18: 1. Redes Neuronales

Proceso de Aprendizaje

� Proceso de minimización del error cuadrático por elmétodo del gradiente descendiente

18

� Cada peso sinaptico i del elemento procesador jes actualizado proporcionalmente al negativo dela derivada parcial del error de este procesadorcon relación al peso.

Page 19: 1. Redes Neuronales

Proceso de Aprendizaje

� E = suma de errores cuadráticos

� tpj = valor deseado de la salida del padrón “p” parael procesador “j” de la capa de salida

19

el procesador “j” de la capa de salida

� spj= estado de activación del procesador “j” de lacapa de salida cuando se presenta el padrón “p”.

� La ventaja de utilizar el error cuadrático, es que loserrores para diferentes padrones, para diferentessalidas son independientes.

Page 20: 1. Redes Neuronales

Calculo de

20

Page 21: 1. Redes Neuronales

Calculo de

21

Page 22: 1. Redes Neuronales

Calculo de ej

� Depende de la capa a la cual el procesador jpertenece

22

Page 23: 1. Redes Neuronales

Calculo de ejj∈capa de salida

23

Page 24: 1. Redes Neuronales

Calculo de ejj∈capa escondida

24

Page 25: 1. Redes Neuronales

Calculo de ejj∈capa escondida� Por el aprendizaje supervisionado, solo se conoce el

error en la capa de salida (ek)

� Error en la salida (ek) es función del potencialinterno del procesador (netk)

� La netk depende de los estados de activación de losprocesadores de la capa anterior (sj) y de los pesosde las conexiones (w )

25

procesadores de la capa anterior (s ) y de los pesosde las conexiones (wkj)

� Por lo tanto, sj de una capa escondida afecta, enmayor o menor grado, el error de todos losprocesadores de la capa subsecuente

Page 26: 1. Redes Neuronales

Calculo de ejj∈capa escondida

26

Page 27: 1. Redes Neuronales

Calculo de ejj∈capa escondida

27

Page 28: 1. Redes Neuronales

Proceso de aprendizaje

� En resumen, después del calculo de la derivada, setiene:

� Donde:

28

si = valor de entrada recibido por la conexión i

ej = valor cuadrático del error del procesador j

Page 29: 1. Redes Neuronales

Calculo del Error (ej)

� 1. Procesador j pertenece a la capa de salida:

29

Page 30: 1. Redes Neuronales

Calculo del Error (ej)

� 2. Procesador j pertenece a la capa escondida:

30

Page 31: 1. Redes Neuronales

Proceso de Aprendizaje

� El algoritmo backpropagation tiene dos fase, paracada padrón presentado:

� Feed-Forward: Las entradas se propagan por la red,de la camada de entrada hasta la camada de salida.

31

� Feed-Backward: Los errores se propagan en ladirección contraria al flujo de datos, desde la camadade salida hasta la primera camada escondida.

Page 32: 1. Redes Neuronales

Proceso de Aprendizaje

32

Page 33: 1. Redes Neuronales

Proceso de Aprendizaje

33

Page 34: 1. Redes Neuronales

Proceso de Aprendizaje

34

Page 35: 1. Redes Neuronales

Proceso de Aprendizaje

35

Page 36: 1. Redes Neuronales

Proceso de Aprendizaje

36

Page 37: 1. Redes Neuronales

Proceso de Aprendizaje

37

Page 38: 1. Redes Neuronales

Proceso de Aprendizaje

38

Page 39: 1. Redes Neuronales

Proceso de Aprendizaje

39

Page 40: 1. Redes Neuronales

Proceso de Aprendizaje

40

Page 41: 1. Redes Neuronales

Proceso de Aprendizaje

41

Page 42: 1. Redes Neuronales

Proceso de Aprendizaje

� Este proceso de aprendizaje es repetidorepetido diversasveces, hasta que, para todos los procesadores de lacapa de salida y para todos los padrones deentrenamiento, el errorerror sea menor que elespecificado.

42

Page 43: 1. Redes Neuronales

Algoritmo de Aprendizaje

� Inicialización

� Pesos iniciales con valores aleatorios y pequeños |w|≤0.1� Entrenamiento:

� Loop hasta que el error de cada procesador de salida sea≤ toleranciatolerancia

1. Se aplica un padrón de entrada Xi con el respectivovector de salida Yi deseado.

43

2. Se calcula las salidas de los procesadores, comenzandode la primera capa escondida hasta la capa de salida

3. Se calcula el error para cada procesador de la capa desalida. Si errorerror≤≤toleranciatolerancia, para todos los procesadores,se regrese al paso 1

4.4. ActualizarActualizar loslos pesospesos de cada procesador, comenzando porla capa de salida, hasta la primera capa escondida.

5. Regresar al paso 1.

Page 44: 1. Redes Neuronales

Formas de Aprendizaje

� Existen dos métodos básicos de aplicación delalgoritmo de backpropagation

� Aprendizaje en Batch

“Batch Learning”, por ciclo

44

� Aprendizaje Incremental

“on-line”, por padrón

Page 45: 1. Redes Neuronales

Aprendizaje Batch

Aprendizaje en Batch, por ciclo

Solamente ajusta los pesos después de lapresentación de todos los padrones

Cada padrón es evaluado con la misma

45

Cada padrón es evaluado con la mismaconfiguración de los pesos

Page 46: 1. Redes Neuronales

Aprendizaje Incremental

Aprendizaje en Batch, por padrón

Actualiza los pesos a cada presentación de unnuevo padrón

Los pesos son actualizados usando el

46

Los pesos son actualizados usando elgradiente del error de un único padrón

Tiende a aprender mejor el ultimo padrónpresentado

Page 47: 1. Redes Neuronales

Aprendizaje Batch x Incremental

El modo Batch necesita de menosactualizaciones de pesos (es más rapido)

Batch proporciona una medida más exacta delcambio de los pesos

47

Batch necesita más memoria

Incremental, tiene menos chance de quedarpreso en un mínimo local debido a lapresentación aleatoria de los padrones

Page 48: 1. Redes Neuronales

Conclusión

� El BackPropagation es el algoritmo de redesneuronales más utilizado en aplicaciones practicasde:

� Previsión

� Clasificación

� Reconocimiento de Padrones

48