construccion , diseño y entrenamiento de redes neuronales artificiales

47
1 CogNova Technologies Diseño y Diseño y Entrenamiento de Entrenamiento de Redes Neuronales Redes Neuronales Artificiales Artificiales (Parte 2) (Parte 2) Construcción de una Red” Construcción de una Red”

Upload: escom

Post on 14-Jun-2015

10.132 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

1

CogNovaTechnologies

Diseño y Diseño y Entrenamiento de Entrenamiento de Redes Neuronales Redes Neuronales

ArtificialesArtificiales (Parte 2)(Parte 2)

““Construcción de una Construcción de una Red”Red”

Page 2: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

2

CogNovaTechnologies

IntroducciónIntroducción Construir una red neuronal tiene una Construir una red neuronal tiene una

inherente calidad de experimentación.inherente calidad de experimentación. Cada formula para el diseño de redes Cada formula para el diseño de redes

no es mas que una ayuda para su no es mas que una ayuda para su estimación.estimación.

En el diseño de redes neuronales no se En el diseño de redes neuronales no se puede evitar una cierta cantidad de puede evitar una cierta cantidad de Prueba y ErrorPrueba y Error..

Page 3: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

3

CogNovaTechnologies

Tamaño de la capa Tamaño de la capa ocultaoculta

Existe un compromiso entre la Existe un compromiso entre la precisión y la capacidad de precisión y la capacidad de generalización de una red neuronal; el generalización de una red neuronal; el cual dependerá del numero de cual dependerá del numero de neuronas en la capa oculta.neuronas en la capa oculta.

El número de neuronas debe ser El número de neuronas debe ser suficiente para la realización correcta suficiente para la realización correcta de la tarea, pero lo suficientemente de la tarea, pero lo suficientemente bajo para permitir la generalización.bajo para permitir la generalización.

Page 4: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

4

CogNovaTechnologies

Entre mas complejo sea el problema, Entre mas complejo sea el problema, se requiere un mayor número de se requiere un mayor número de neuronas en la capa oculta.neuronas en la capa oculta.

Cualquier problema que requiera una Cualquier problema que requiera una compresión de datos presenta una compresión de datos presenta una capa oculta con un menor número de capa oculta con un menor número de neuronas que en la capa de entrada.neuronas que en la capa de entrada.

Por ejemplo compresión de imagenesPor ejemplo compresión de imagenes

Page 5: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

5

CogNovaTechnologies

En redes recurrentes la capa En redes recurrentes la capa oculta es copiada regresando oculta es copiada regresando a la de entrada a través de a la de entrada a través de otras unidades de entrada; otras unidades de entrada; por lo que fuerza a que la por lo que fuerza a que la capa de entrada sea igual al capa de entrada sea igual al numero de unidades de numero de unidades de entrada mas el numero de entrada mas el numero de neuronas en la capa ocultaneuronas en la capa oculta

Page 6: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

6

CogNovaTechnologies

De acuerdo con Hecht-De acuerdo con Hecht-Neilson basado en el Neilson basado en el teorema de Kolmogorov, “El teorema de Kolmogorov, “El numero de neuronas en la numero de neuronas en la capa oculta no requieren ser capa oculta no requieren ser mas grande que dos veces mas grande que dos veces el numero de entradas”. el numero de entradas”.

Page 7: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

7

CogNovaTechnologies

De manera que la red neuronal De manera que la red neuronal pueda generalizar se requiere pueda generalizar se requiere que las funciones de que las funciones de transferencia sean suaves. P/ej. transferencia sean suaves. P/ej. Funciones sigmoidales.Funciones sigmoidales.

El numero de parámetros El numero de parámetros requeridos para codificar P requeridos para codificar P patrones binarios espatrones binarios es PParametros 2log

Page 8: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

8

CogNovaTechnologies

De acuerdo con Widrow & De acuerdo con Widrow & lehr, en una red el numero lehr, en una red el numero de patrones de de patrones de entrenamiento a aprender entrenamiento a aprender es reflejado en el numero es reflejado en el numero de salidas en la red.de salidas en la red.

Page 9: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

9

CogNovaTechnologies

De acuerdo con Baum and De acuerdo con Baum and Haussler; el numero de Haussler; el numero de ejemplos de entrenamiento ejemplos de entrenamiento requeridos es aproximadamente requeridos es aproximadamente igual al numero de pesos en la igual al numero de pesos en la red multiplicado por el inverso red multiplicado por el inverso del error. del error.

1#WPi 8/10 iP

Page 10: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

10

CogNovaTechnologies

Un pequeño error logrado por una Un pequeño error logrado por una red con overfitting no constituye una red con overfitting no constituye una sesión de entrenamiento exitosa.sesión de entrenamiento exitosa.

Si se desea usar una mayor cantidad Si se desea usar una mayor cantidad de pesos respecto a al conjunto de de pesos respecto a al conjunto de datos, se debe ajustar un mayor datos, se debe ajustar un mayor error de entrenamiento con objeto error de entrenamiento con objeto de conservar la capacidad de de conservar la capacidad de generalización.generalización.

Page 11: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

11

CogNovaTechnologies

Es necesario sacrificar precisión Es necesario sacrificar precisión en aras de obtener una mayor en aras de obtener una mayor capacidad de generalización.capacidad de generalización.

Para una red con una capa Para una red con una capa oculta, el numero de neuronas oculta, el numero de neuronas en la capa oculta estará dado en la capa oculta estará dado por:por:

)*( mnWh

Page 12: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

12

CogNovaTechnologies

Conclusiones: Numero Conclusiones: Numero de Neuronas Ocultas de Neuronas Ocultas (h)(h)

Nunca escoja Nunca escoja el numero de el numero de neuronas ocultasneuronas ocultas mayor a dos mayor a dos veces el numero de unidades veces el numero de unidades de entradade entrada

Puede cargar P patrones de i Puede cargar P patrones de i elementos en numero de elementos en numero de neuronas ocultas dado por:neuronas ocultas dado por: piph 2log

Page 13: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

13

CogNovaTechnologies

Nunca use mas. Si quiere una Nunca use mas. Si quiere una buena característica de buena característica de generalización use generalización use considerablemente menos.considerablemente menos.

Asegurese de tener al menos 1/Asegurese de tener al menos 1/ veces ejemplos de entrenamiento veces ejemplos de entrenamiento como tenga pesos en su red.como tenga pesos en su red.

Page 14: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

14

CogNovaTechnologies

Donde:Donde: PP es el numero de patrones de es el numero de patrones de

entrenamiento necesarios.entrenamiento necesarios. WW es el numero de pesos en la es el numero de pesos en la

capa oculta.capa oculta. es el error mínimo propuesto es el error mínimo propuesto

para la red.para la red.

1WPi

8/10 iP

Page 15: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

15

CogNovaTechnologies

El numero de unidades ocultas El numero de unidades ocultas requeridas para tareas de clasificación requeridas para tareas de clasificación se incrementa conforme al número de se incrementa conforme al número de clases en la tarea.clases en la tarea.

Existe un compromiso entre la Existe un compromiso entre la generalización (menos neuronas generalización (menos neuronas ocultas) y la precisión (mas neuronas ocultas) y la precisión (mas neuronas ocultas) lo cual será de aplicación ocultas) lo cual será de aplicación especifica.especifica.

Page 16: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

16

CogNovaTechnologies

Entre mas grande sea la Entre mas grande sea la red neuronal mayor será el red neuronal mayor será el tiempo de entrenamiento tiempo de entrenamiento que se requiera.que se requiera.

Page 17: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

17

CogNovaTechnologies

Algoritmos Algoritmos ConstructivosConstructivos

Se recomienda iniciar el Se recomienda iniciar el entrenamiento con una unidad menos entrenamiento con una unidad menos de la calculada en el limite inferior y de la calculada en el limite inferior y entrenar hasta que el error se entrenar hasta que el error se mantenga constante.mantenga constante.

Después agregar otra neurona oculta, Después agregar otra neurona oculta, con valores de pesos pequeños y se con valores de pesos pequeños y se repite el proceso.repite el proceso.

Page 18: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

18

CogNovaTechnologies

Si el error de entrenamiento es Si el error de entrenamiento es bajo y el error de la prueba es alto, bajo y el error de la prueba es alto, entonces se tienen muchos pesos.entonces se tienen muchos pesos.

Si tanto el error de entrenamiento Si tanto el error de entrenamiento y el de prueba es alto, se tienen y el de prueba es alto, se tienen muy pocos pesos.muy pocos pesos.

Si los pesos son todos muy Si los pesos son todos muy grandes entonces se tienen muy grandes entonces se tienen muy pocos pesos.pocos pesos.

Page 19: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

19

CogNovaTechnologies

El agregar pesos no es una panacea, El agregar pesos no es una panacea, puede haber otras causas de error tales puede haber otras causas de error tales como un conjunto insuficiente de datos, como un conjunto insuficiente de datos, o datos que no sean aprendibles.o datos que no sean aprendibles.

Muy importante: los pesos iniciales de Muy importante: los pesos iniciales de una red deben ser valores aleatorios en una red deben ser valores aleatorios en un pequeño intervalo (por ejemplo, +-1)un pequeño intervalo (por ejemplo, +-1)

Page 20: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

20

CogNovaTechnologies

Kurkova: Cualquier función puede Kurkova: Cualquier función puede ser aproximada cuando mucho por ser aproximada cuando mucho por una red de cuatro capas.una red de cuatro capas.

Hecht-Neilson: Solo se requieren Hecht-Neilson: Solo se requieren tres capas pero el uso de una capa tres capas pero el uso de una capa extra reducirá el numero total de extra reducirá el numero total de neuronas en las capas ocultas.neuronas en las capas ocultas.

De acuerdo a los resultados De acuerdo a los resultados publicados los problemas deben ser publicados los problemas deben ser resultos aplicando una capa oculta resultos aplicando una capa oculta o máximo dos.o máximo dos.

Page 21: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

21

CogNovaTechnologies

Funciones de Funciones de ActivaciónActivación

Funciones Sigmoidales:Funciones Sigmoidales: Función logística: su salida esta Función logística: su salida esta

acotada entre 0 y 1.acotada entre 0 y 1.

nea

1

1

Fácil implementaron en Hardware

Page 22: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

22

CogNovaTechnologies

Función Tangente hiperbólica: Función Tangente hiperbólica: Su salida esta acotada entre -1 y Su salida esta acotada entre -1 y 1.1.

nn

nn

eeee

a

)(ntanha

Nota: Aprendizaje más rápido, tiempos de entrenamiento menores

Page 23: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

23

CogNovaTechnologies

Lineal: Su salida no esta acotada.Lineal: Su salida no esta acotada.

na

Page 24: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

24

CogNovaTechnologies

Mediciones del Mediciones del ErrorError

Page 25: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

25

CogNovaTechnologies

Mediciones de errorMediciones de error La meta del entrenamiento de una La meta del entrenamiento de una

red neuronal es minimizar el error red neuronal es minimizar el error en cada unidad de salida para el en cada unidad de salida para el conjunto completo de datos de conjunto completo de datos de entrenamiento.entrenamiento.

El error puede ser positivo o El error puede ser positivo o negativo, nuestro interés esta en la negativo, nuestro interés esta en la magnitud. magnitud.

Page 26: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

26

CogNovaTechnologies

El error mas común es la El error mas común es la diferencia simple:diferencia simple:

El error total en la capa de El error total en la capa de salida: La salida: La Raíz del Error Raíz del Error Cuadrático (RSE)Cuadrático (RSE)

iii ate

222

21 nt eeee

Page 27: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

27

CogNovaTechnologies

El error medio cuadrático El error medio cuadrático (MSE)(MSE) Para una sola presentación Para una sola presentación

(Patrón)(Patrón)

1

0

2)(1 n

jjjp at

nE

Donde:

n es el numero de neuronas en la capa de salida.

t es el valor objetivo.

a es la salida de la neurona

O bien

n

eeeE np

222

21

Page 28: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

28

CogNovaTechnologies

El error medio cuadrático El error medio cuadrático (MSE)(MSE) Para una EpocaPara una Epoca

1

0

1 m

ppEm

E

Donde:

Ep es error medio cuadratico por cada presentación.

m es el numero de presentaciones (patrones)en la Epoca.

Page 29: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

29

CogNovaTechnologies

Ajuste de la Razón Ajuste de la Razón de Aprendizaje y de Aprendizaje y

el Momentoel Momento Un valor alto de Un valor alto de (0.75) (0.75)

producirá un aprendizaje mas producirá un aprendizaje mas rápido, pero incrementa el riesgo rápido, pero incrementa el riesgo de que sobre impulso la solución de que sobre impulso la solución provocando la oscilación.provocando la oscilación.

Un valor bajo de Un valor bajo de (0.1) evita el (0.1) evita el problema anterior pero hace lento problema anterior pero hace lento el entrenamiento.el entrenamiento.

Page 30: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

30

CogNovaTechnologies

Un valor alto deUn valor alto de reducirá el reducirá el riesgo de que la red sea riesgo de que la red sea atrapada en un mínimo local atrapada en un mínimo local pero también puede provocar pero también puede provocar sobre impulso de la solución, sobre impulso de la solución, tal como un valor alto de tal como un valor alto de ..

Valores característicos: Valores característicos: 25.0 9.0

Page 31: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

31

CogNovaTechnologies

Directrices de Directrices de EntrenamientoEntrenamiento

Si la razón del error disminuye Si la razón del error disminuye lentamente pero estable: se puede lentamente pero estable: se puede incrementar incrementar y y ..

Si la razón de error esta oscilando Si la razón de error esta oscilando sobre un punto: Reduzca sobre un punto: Reduzca (ayudará (ayudará a que la red converja hacia un a que la red converja hacia un punto), incremente punto), incremente (evitará el (evitará el sobre impulso de la salida).sobre impulso de la salida).

Page 32: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

32

CogNovaTechnologies

Si la razón del error no Si la razón del error no cambia: Probablemente cambia: Probablemente haya convergido a una haya convergido a una solución. solución.

Siempre guarde una copia Siempre guarde una copia de los pesosde los pesos

Page 33: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

33

CogNovaTechnologies

Entrenamiento de Entrenamiento de Redes NeuronalesRedes Neuronales

Se requiere una dosis de prueba y Se requiere una dosis de prueba y error.error.

Construir una red neuronal para Construir una red neuronal para solucionar aun el mas trivial de los solucionar aun el mas trivial de los problemas, Requiere:problemas, Requiere:

Construir varias redes con diferente Construir varias redes con diferente complejidad.complejidad.

Page 34: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

34

CogNovaTechnologies

Detener el entrenamiento en Detener el entrenamiento en diferentes puntos.diferentes puntos.

Iniciar con diferentes Iniciar con diferentes configuraciones aleatorias de configuraciones aleatorias de pesos.pesos.

Cada red debe ser guardada, Cada red debe ser guardada, probada, analizada y la más probada, analizada y la más apropiada finalmente apropiada finalmente seleccionada.seleccionada.

Page 35: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

35

CogNovaTechnologies

Formas de Formas de EntrenamientoEntrenamiento

Page 36: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

36

CogNovaTechnologies

Modos de Modos de entrenamiento:entrenamiento:Patrón o Lote (Batch)Patrón o Lote (Batch) Patrón:Patrón: los pesos son actualizados los pesos son actualizados

después de que cada patrón después de que cada patrón individual es presentado.individual es presentado.

Lote: Lote: Cada vez que se concluye una Cada vez que se concluye una época un solo error promedio se época un solo error promedio se calcula y los parámetros de la red se calcula y los parámetros de la red se actualizan en base a ese error.actualizan en base a ese error.

Page 37: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

37

CogNovaTechnologies

Características del Características del entrenamiento por entrenamiento por

LotesLotes Requiere un menor numero Requiere un menor numero

de actualizaciones: Es mas de actualizaciones: Es mas rápido.rápido.

Proporciona una medida Proporciona una medida mas precisa del cambio de mas precisa del cambio de pesos necesario.pesos necesario.

Page 38: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

38

CogNovaTechnologies

Este modo se refiere únicamente al Este modo se refiere únicamente al ajuste de los pesos. Los errores ajuste de los pesos. Los errores deben se retropropagados para deben se retropropagados para cada patrón.cada patrón.

Este modo tiene mayor Este modo tiene mayor probabilidad de ser atrapada su probabilidad de ser atrapada su solución en un mínimo local.solución en un mínimo local.

Page 39: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

39

CogNovaTechnologies

Un proyecto con redes Un proyecto con redes neuronales requiere que se neuronales requiere que se entrenen varias redes con entrenen varias redes con el mismo conjunto de el mismo conjunto de entrenamiento hasta entrenamiento hasta encontrar la mejor soluciónencontrar la mejor solución

Page 40: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

40

CogNovaTechnologies

Cuando detener el Cuando detener el entrenamientoentrenamiento

El error promedio de entrenamiento El error promedio de entrenamiento ha alcanzado un valor objetivo ha alcanzado un valor objetivo predeterminado.predeterminado.

El error promedio de entrenamiento El error promedio de entrenamiento no disminuye mas, o cae en una no disminuye mas, o cae en una cantidad insignificante.cantidad insignificante.

El error promedio del conjunto de El error promedio del conjunto de prueba independiente comienza prueba independiente comienza incrementarse (incrementarse (overfittingoverfitting))

Page 41: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

41

CogNovaTechnologies

Algoritmos de Algoritmos de entrenamientoentrenamiento

Backpropagation simple.Backpropagation simple.

Backpropagation con Backpropagation con Momento (Momento () y razón de ) y razón de

aprendizaje (aprendizaje () variable.) variable.

Page 42: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

42

CogNovaTechnologies

Algoritmo Algoritmo Backpropagation Backpropagation

EstándarEstándar 1) Construir la red con el numero 1) Construir la red con el numero

seleccionado de unidades de seleccionado de unidades de entrada, ocultas, y de salidas.entrada, ocultas, y de salidas.

2) Inicializar todos los pesos a 2) Inicializar todos los pesos a valores aleatorios pequeños.valores aleatorios pequeños.

Repetir:Repetir:– 3) Escoger un par de 3) Escoger un par de

entrenamiento aleatorioentrenamiento aleatorio

Page 43: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

43

CogNovaTechnologies

– 4) copiar el patrón de entrada 4) copiar el patrón de entrada en la capa de entrada.en la capa de entrada.

– 5) Genere un ciclo en la red de 5) Genere un ciclo en la red de tal forma que la activación tal forma que la activación de las entradas genere la de las entradas genere la activación de la capa oculta y activación de la capa oculta y la de salida.la de salida.

– 6) Calcule el error derivado 6) Calcule el error derivado entre la activación de la salida entre la activación de la salida y la salida objetivoy la salida objetivo

Page 44: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

44

CogNovaTechnologies

– 7) Retropropague el el producto 7) Retropropague el el producto sumado de de los pesos y los errores sumado de de los pesos y los errores en la capa de salida de tal forma que en la capa de salida de tal forma que calcule el error en la capa oculta.calcule el error en la capa oculta.

– 8) Actualice los pesos en cada unidad 8) Actualice los pesos en cada unidad de acuerdo al error en la unidad bajo de acuerdo al error en la unidad bajo los parámetros de entrenamiento. los parámetros de entrenamiento.

Hasta: El error sea suficientemente Hasta: El error sea suficientemente bajo de acuerdo al valor prefijado.bajo de acuerdo al valor prefijado.

Page 45: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

45

CogNovaTechnologies

Bibliografía:Bibliografía:

Applying Neural Networks, Applying Neural Networks, A Practical Guide; Kevin A Practical Guide; Kevin Swingler ; Editorial Morgan Swingler ; Editorial Morgan Kaufmann.Kaufmann.

Page 46: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

46

CogNovaTechnologies

Dudas ??Dudas ????

Page 47: Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales

47

CogNovaTechnologies

Hasta la Hasta la próxima !!!próxima !!!