Download - 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
Introducción
� Modelo computacional inspirado en losneuronios biológicos y en la estructura delcerebro con capacidad de ADQUIRIR,ALMACENAR y UTILIZAR conocimientoexperimental.
3
experimental.
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
Introducción
Red Neuronal Artificial: RNARNA
5
Estructura de una RNA
6
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
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
Ejemplo de entrenamiento de una RNA
Objetivo:
9
Error=
Datos de entrenamiento
Ejemplo de entrenamiento de una RNA
Objetivo:
10
Error=
Datos de entrenamiento
Uso de la Red Neural
11
Nuevo dato, que no fue presentado durante el entrenamiento
Reglas de Aprendizaje
� Perceptron
� Delta Rule (Least Mean Square)
�� BackBack PropagationPropagation
12
Algoritmo de Back Propagation
� Para una Red Multi-Layer Perceptron
� Red de 3 camadas: 5/5/3/4
13
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.
Algoritmo de Back Propagation
� Modelo del perceptrón:
15
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
Algoritmo de Back Propagation
�� TopologiaTopologia
17
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.
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.
Calculo de
20
Calculo de
21
Calculo de ej
� Depende de la capa a la cual el procesador jpertenece
22
Calculo de ejj∈capa de salida
23
Calculo de ejj∈capa escondida
24
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
Calculo de ejj∈capa escondida
26
Calculo de ejj∈capa escondida
27
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
Calculo del Error (ej)
� 1. Procesador j pertenece a la capa de salida:
29
Calculo del Error (ej)
� 2. Procesador j pertenece a la capa escondida:
30
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.
Proceso de Aprendizaje
32
Proceso de Aprendizaje
33
Proceso de Aprendizaje
34
Proceso de Aprendizaje
35
Proceso de Aprendizaje
36
Proceso de Aprendizaje
37
Proceso de Aprendizaje
38
Proceso de Aprendizaje
39
Proceso de Aprendizaje
40
Proceso de Aprendizaje
41
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
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.
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
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
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
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
Conclusión
� El BackPropagation es el algoritmo de redesneuronales más utilizado en aplicaciones practicasde:
� Previsión
� Clasificación
� Reconocimiento de Padrones
48