SlideShare una empresa de Scribd logo
1 de 38
Proyecto de Fin de Carrera
Implementación de redes neuronales artificiales en
sistemas empotrados para predicción de temperaturas

Universidad CEU Cardenal Herrera

Francisco José Marín Pino
Directores de proyecto:
Dr. D. Juan Pardo Albiach
Dr. D. Francisco Zamora Martínez
Moncada, Valencia 2013
Contenidos
• Contexto
• Propuesta de proyecto
• Definición de redes neuronales
• Usos de las redes neuronales
• Definición de las redes inalámbricas de sensores
• Usos de las redes inalámbricas de sensores
• Librería de redes neuronales para sistemas empotrados
• Experimentos realizados
• Conclusiones
• Trabajo futuro

2
Contexto

• Redes neuronales.
• Redes inalámbricas de sensores.
• Integración de ambos.
• Experimentos para comprobar eficiencia.

3
Propuesta de proyecto

• El propósito del proyecto es desarrollar una librería de redes
neuronales optimizada en tamaño y requisitos para poder ser
integrada en diferentes sistemas empotrados.
• También se busca integrar esta librería en una red inalámbrica
de sensores en la medida de lo posible, con el propósito de
predecir temperaturas.
• Realización de experimentos para comprobar el funcionamiento
correcto de la red neuronal y para optimizar los parámetros de
configuración de la red de medida de temperaturas.

4
Definición de redes neuronales

• Las redes neuronales artificiales son unos sistemas de
inteligencia artificial que implementan aprendizaje automático a
partir de patrones.
• Su nombre viene dado por su comparación con las neuronas del
sistema nervioso.
• Una red neuronal está compuesta por elementos llamados
neuronas y conexiones entre ellas llamados pesos.

5
Definición de redes neuronales

• Al fin y al cabo, una red neuronal es un grafo dirigido.
• Las neuronas de las redes neuronales se agrupan, para facilitar
su comprensión y estructura, en capas.
• Existen tres procedimientos pricipales en una red neuronal feedforward: procesamiento de entradas, propagación hacia atrás
del error, y entrenamiento.

6
Definición de redes neuronales

7
Neurona
•

Las neuronas de una red neuronal toman su entrada del exterior si se
tratan de neuronas de entrada o de las salidas de otras neuronas si se
tratan de neuronas ocultas o de salida.

•

Cada neurona puede dividirse en dos partes. Durante el procesamiento
de una serie de entradas, la primera se encarga de sumar las entradas.
La segunda aplica la función de activación a dicho sumatorio. (Ver lado
derecho de cada parte)

8
Función de activación

• Cada neurona dispone de una función de activación, que
consiste en una función matemática, normalmente una función
sigmoidal, que evita que los valores de las neuronas excedan
los límites de un umbral.

9
Cálculo de errores y entrenamiento

• Para entrenar una red neuronal es necesario conocer la salida
deseada para una entrada.
• La red neuronal evalúa la entrada y genera una salida. Después
calcula un error producido mediante una función de error que
compara la salida obtenida y la deseada.
• Este error se propaga hacia atrás asignando un valor de error a
cada neurona. A partir de estos y de las entradas de cada
neurona, se calcula un gradiente que modifica los pesos para
realizar el aprendizaje.

10
Cálculo de errores y entrenamiento

• Dicho gradiente es multiplicado por un factor de aprendizaje que
regula la velocidad a la que aprende la red neuronal. Un factor
de aprendizaje demasiado pequeño puede causar que la red
neuronal necesite muchos casos o muchas iteraciones para
aprender, mientras que uno demasiado grande puede causar
desviaciones en los pesos demasiado grandes, aumentando el
resultado de la función de error en lugar de disminuirlo.

11
Neurona (continuación)
•

Durante la propagación hacia atrás del error, se aplica la derivada de la
función de activación a la entrada (que en este caso viene por la
derecha) y no es necesario aplicar ninguna otra operación por parte de
la parte de sumatorio, puesto que la derivada de la función de
sumatorio es 1 con respecto a cada una de las entradas.

•

De esta forma se calculan las derivadas del error para cada una de las
neuronas.

12
Tipos de redes neuronales

• Uno de los tipos más comunes de redes neuronales es el Feedforward o de alimentación hacia adelante. La librería creada en
este proyecto ha sido diseñada para generar este tipo de redes
neuronales.
• Existen también redes neuronales de tipo recurrente, en las
cuales las salidas de algunas capas se alimenta como entrada a
capas anteriores.

13
Usos de las redes neuronales

• Las redes neuronales artificiales se pueden utilizar para multitud
de tareas en las que se necesita la detección de patrones.
• Algunos ejemplos incluyen:
– Reconocimiento de voz
– Reconocimiento de caracteres escritos
– Detección de acciones fraudulentas en cuentas bancarias
– Guía de misiles

14
Definición de redes inalámbricas de sensores
• Las redes inalámbricas de sensores son, como su nombre
indica, redes de dispositivos con sensores de pequeño tamaño
que se comunican inalámbricamente y trabajan en conjunto para
realizar una tarea específica.

http://www.purelink.ca/

15
Red inalámbrica de sensores utilizada

• La red inalámbrica de sensores que se ha utilizado en este
proyecto consiste en una red con varios nodos capaces de
obtener temperaturas cada cierto intervalo de tiempo, y un
sumidero responsable de recoger los paquetes inalámbricos y
transmitirlos a un PC.
• Para las pruebas y experimentos se ha utilizado un único nodo
sensor de temperaturas.

16
Red inalámbrica de sensores utilizada

Nodo

Sumidero y debugger

17
Usos de las redes inalámbricas de sensores

• Las redes inalámbricas de sensores cuentan con la ventaja de
ser comúnmente fáciles de transportar y situar, debido a su
pequeño tamaño. Esto las hace útiles para una gran variedad
aplicaciones en diferentes campos.
• Algunos ejemplos:
– Monitorización médica de pacientes
– Aplicaciones militares
– Control de procesos industriales
– Seguridad y vigilancia

18
Librería de redes neuronales

• La librería de redes neuronales ha sido implementada en ANSI
C, para aumentar su compatibilidad con diferentes dispositivos y
por el tamaño reducido de sus ejecutables binarios respecto a
otros lenguajes de programación.

19
Librería de redes neuronales

• Consiste en una serie de estructuras de datos y funciones. Está
preparada para poder construir redes neuronales feed-forward a
partir de llamadas a funciones específicas para:
– Creación de capas
– Creación de conexiones entre capas
– Asignación de funciones de activación a capas
• También es capaz de generar redes a partir de topologías
descritas en ficheros, en formato April-ANN.

20
Pruebas de librería
• Para comprobar el funcionamiento correcto de la librería de
redes neuronales se implementaron una serie de pruebas
unitarias para comprobar diferentes funciones, y una prueba
final para comprobar el funcionamiento total.

21
Prueba de reconocimiento de dígitos

• Como prueba final para comprobar el funcionamiento general de
la red neuronal se ha realizado un experimento en el cual la red
neuronal aprende a reconocer dígitos en formato de imagen.

22
Prueba de reconocimiento de dígitos

• En este experimento se utilizan 100 dígitos. Los primeros 800 se
utilizan para entrenar la red neuronal. Cada imagen de dígito
tiene una dimensión de 16x16 píxeles con valores blancos o
negros. Esta es la entrada de la red neuronal, y la salida es un
vector de diez probabilidades: la de que sea cada uno de los
diez dígitos. Las 800 imágenes de dígitos se introducen en
orden aleatorio en la red neuronal y después se le proporciona
el vector de probabilidades correcto para su entrenamiento.

23
Prueba de reconocimiento de dígitos
• Después se utilizan los últimos 200 dígitos para comprobar que
el reconocimiento de dígitos funciona para casos con los que no
ha entrenado. Efectivamente, la red neuronal es capaz de
reconocer estos otros dígitos.

24
Experimentos

• La red neuronal para la predicción de temperaturas tiene la
siguiente topología:
– Capa de entrada de 24 neuronas
– Capa oculta de 8 neuronas
– Capa de salida de 8 neuronas
• Cada una de las 24 entradas es una media de 15 temperaturas,
una obtenida cada minuto, que se corresponden con los cuarto
de hora de reloj.

25
Experimentos

• El programa que entrena y utiliza la red neuronal es capaz de
interpolar valores de temperaturas en caso de realizarse
pérdidas de datos o desfases en las recepciones de las
temperaturas. Por ejemplo, un desfase de un segundo puede
causar que se obtengan temperaturas a las 12:01:59 y 12:03:00.

26
Experimentos

• Para comprobar qué tasa de aprendizaje es la mejor para este
entrenamiento se han realizado experimentos con temperaturas
obtenidas del SMLsystem durante un periodo de tiempo de un
mes. Se ha ejecutado la misma red neuronal con los mismos
datos y diferentes tasas de aprendizaje, y se han comparado los
resultados para averiguar cuál es la que más eficientemente
entrena la red neuronal.

27
Primer experimento

• En el primer experimento se ha buscado encontrar qué factor de
aprendizaje ha conseguido la menor media de errores. Para
esto se ha ejecutado el programa con diferentes factores de
aprendizaje y realizado una media aritmética de los errores.

28
29
30
Segundo experimento

• Este experimento se diseñó para averiguar qué tasa de
aprendizaje disminuye el error de la red neuronal con mayor
velocidad.
• La diferencia con el experimento anterior consiste en que la
media de errores que ha producido un factor de aprendizaje es
una medida significativa de cuán buena es esta, pero en este
experimento se mide la velocidad a la que se ha reducido ese
error en general. Es decir, el número de entrenamientos.

31
32
33
Experimentos
• En cuanto a la integración de la librería de redes neuronales con
la red inalámbrica de sensores, se ha logrado lo siguiente:
– Introducir una red neuronal simple (cálculo de XOR) en el
sumidero.
– Introducir la librería de redes neuronales en el sumidero,
generando datos falsos necesarios de temperaturas y
tiempos dentro del mismo.
• La generación de un prototipo final que obtenga las
temperaturas en tiempo real y se ejecute en el sumidero no ha
sido posible debido a no haber sido posible establecer envío de
datos necesarios (como la fecha y la inicialización de los pesos
de la red neuronal) desde el PC al sumidero.

34
Resultados

• La programación de una librería de redes neuronales artificiales
capaz de ser embebida en sistemas empotrados.
• La integración de esta librería en un dispositivo de la red
inalámbrica de sensores con una red neuronal simple, si bien
los datos no se obtuvieron en tiempo real.
• Experimentos para la obtención del mejor factor de aprendizaje
para la red neuronal con la topología indicada.

35
Trabajo futuro

• En cuanto a la librería de redes neuronales, sería posible añadir
dos parámetros más para dar más opciones a los usuarios de
esta:
– Weight decay (Decadencia de los pesos)
– Momentum (Inercia)
• En cuanto a la integración de esta con los dispositivos, el
siguiente paso sería establecer correctamente la conexión para
la recepción de datos desde el PC para poder general un
prototipo que se ejecute en el sumidero de la red inalámbrica de
sensores.

36
Agradecimientos

• A mis directores de proyecto:
– Dr. D. Juan Pardo Albiach
– Dr. D. Francisco Zamora Martínez
• A todos los profesores de Ingeniería Informática de la
Universidad CEU Cardenal Herrera.

37
Preguntas

38

Más contenido relacionado

La actualidad más candente

Utp sirn_sl2 la rna perceptron
 Utp sirn_sl2 la rna perceptron Utp sirn_sl2 la rna perceptron
Utp sirn_sl2 la rna perceptronjcbenitezp
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL BackpropagationESCOM
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaLevy GT
 
Perceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje SupervisadoPerceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje SupervisadoAndrea Lezcano
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoESCOM
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronalesgueste7b261
 
IRIN clase 140509
IRIN clase 140509IRIN clase 140509
IRIN clase 140509matallanas
 
Inteligencia artificial avanzada
Inteligencia artificial avanzadaInteligencia artificial avanzada
Inteligencia artificial avanzadaDiego Guamán
 
REDES NEURONALES Mapas con Características Autoorganizativas Som
REDES NEURONALES Mapas   con Características Autoorganizativas  SomREDES NEURONALES Mapas   con Características Autoorganizativas  Som
REDES NEURONALES Mapas con Características Autoorganizativas SomESCOM
 
RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A daniatacho
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de RetropropagaciónESCOM
 
Redes Neuronales Monocapa con Conexiones en Cascada PERCEPTRON
Redes Neuronales Monocapa con Conexiones en Cascada PERCEPTRONRedes Neuronales Monocapa con Conexiones en Cascada PERCEPTRON
Redes Neuronales Monocapa con Conexiones en Cascada PERCEPTRONESCOM
 
Perceptron Simple y Regla Aprendizaje
Perceptron  Simple y  Regla  AprendizajePerceptron  Simple y  Regla  Aprendizaje
Perceptron Simple y Regla AprendizajeRoberth Figueroa-Diaz
 
Redes neuro
Redes neuroRedes neuro
Redes neurodani
 
Utp 2015-2_ia_s2_intro a las rna
 Utp 2015-2_ia_s2_intro a las rna  Utp 2015-2_ia_s2_intro a las rna
Utp 2015-2_ia_s2_intro a las rna jcbp_peru
 
Redes neuronales final
Redes neuronales finalRedes neuronales final
Redes neuronales finalAdán Silva
 
Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...
Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...
Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...Diego Paúl Cuenca Quezada
 
Exposicion
ExposicionExposicion
ExposicionROWE
 

La actualidad más candente (20)

Utp sirn_sl2 la rna perceptron
 Utp sirn_sl2 la rna perceptron Utp sirn_sl2 la rna perceptron
Utp sirn_sl2 la rna perceptron
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL Backpropagation
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapa
 
Perceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje SupervisadoPerceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y Entrenamiento
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
IRIN clase 140509
IRIN clase 140509IRIN clase 140509
IRIN clase 140509
 
Inteligencia artificial avanzada
Inteligencia artificial avanzadaInteligencia artificial avanzada
Inteligencia artificial avanzada
 
REDES NEURONALES Mapas con Características Autoorganizativas Som
REDES NEURONALES Mapas   con Características Autoorganizativas  SomREDES NEURONALES Mapas   con Características Autoorganizativas  Som
REDES NEURONALES Mapas con Características Autoorganizativas Som
 
RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A RED NEURONAL ARTIFICIAL . I.A
RED NEURONAL ARTIFICIAL . I.A
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Redes Neuronales Monocapa con Conexiones en Cascada PERCEPTRON
Redes Neuronales Monocapa con Conexiones en Cascada PERCEPTRONRedes Neuronales Monocapa con Conexiones en Cascada PERCEPTRON
Redes Neuronales Monocapa con Conexiones en Cascada PERCEPTRON
 
Perceptron Simple y Regla Aprendizaje
Perceptron  Simple y  Regla  AprendizajePerceptron  Simple y  Regla  Aprendizaje
Perceptron Simple y Regla Aprendizaje
 
Redes neuro
Redes neuroRedes neuro
Redes neuro
 
Utp 2015-2_ia_s2_intro a las rna
 Utp 2015-2_ia_s2_intro a las rna  Utp 2015-2_ia_s2_intro a las rna
Utp 2015-2_ia_s2_intro a las rna
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes neuronales final
Redes neuronales finalRedes neuronales final
Redes neuronales final
 
Intro redes neuronales
Intro redes neuronalesIntro redes neuronales
Intro redes neuronales
 
Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...
Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...
Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de ...
 
Exposicion
ExposicionExposicion
Exposicion
 

Destacado

Maol päivien esitys 2013 lopullinen
Maol päivien esitys 2013 lopullinenMaol päivien esitys 2013 lopullinen
Maol päivien esitys 2013 lopullinensirpasuontausta
 
Europe 1870 1900 & japanese art
Europe 1870 1900 & japanese artEurope 1870 1900 & japanese art
Europe 1870 1900 & japanese artLaura Smith
 
Uloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursima
Uloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursimaUloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursima
Uloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursimaMilena Purlija
 
Como manter um Ambiente Sustentável em Times Ágeis
Como manter um Ambiente Sustentável em Times ÁgeisComo manter um Ambiente Sustentável em Times Ágeis
Como manter um Ambiente Sustentável em Times Ágeiss4nx
 

Destacado (6)

Maol päivien esitys 2013 lopullinen
Maol päivien esitys 2013 lopullinenMaol päivien esitys 2013 lopullinen
Maol päivien esitys 2013 lopullinen
 
Chernobylpp
ChernobylppChernobylpp
Chernobylpp
 
Historia de Pando
Historia de PandoHistoria de Pando
Historia de Pando
 
Europe 1870 1900 & japanese art
Europe 1870 1900 & japanese artEurope 1870 1900 & japanese art
Europe 1870 1900 & japanese art
 
Uloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursima
Uloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursimaUloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursima
Uloga Centralne Kadrovske Evidencije u upravljanju ljudskim resursima
 
Como manter um Ambiente Sustentável em Times Ágeis
Como manter um Ambiente Sustentável em Times ÁgeisComo manter um Ambiente Sustentável em Times Ágeis
Como manter um Ambiente Sustentável em Times Ágeis
 

Similar a Predicción Temperaturas RNN

Implementación de un módulo para el entrenamiento y evaluación de redes neuro...
Implementación de un módulo para el entrenamiento y evaluación de redes neuro...Implementación de un módulo para el entrenamiento y evaluación de redes neuro...
Implementación de un módulo para el entrenamiento y evaluación de redes neuro...Adrián Palacios Corella
 
Utp ia_2014-2_s6_backpropagation
 Utp ia_2014-2_s6_backpropagation Utp ia_2014-2_s6_backpropagation
Utp ia_2014-2_s6_backpropagationjcbp_peru
 
Tema 8 Aprendizaje De Sistemas Difusos Con Redes Neuronales
Tema 8 Aprendizaje De Sistemas Difusos Con Redes NeuronalesTema 8 Aprendizaje De Sistemas Difusos Con Redes Neuronales
Tema 8 Aprendizaje De Sistemas Difusos Con Redes NeuronalesESCOM
 
Redes Neuronales Artificiales
Redes Neuronales ArtificialesRedes Neuronales Artificiales
Redes Neuronales ArtificialesJose
 
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...Henry Quezada
 
Redes neuronales funciones de activación logsig y tansig
Redes neuronales funciones de activación logsig y tansigRedes neuronales funciones de activación logsig y tansig
Redes neuronales funciones de activación logsig y tansigJefferson Sarmiento
 
Redes Neuronales - Robótica
Redes Neuronales - RobóticaRedes Neuronales - Robótica
Redes Neuronales - RobóticaJoaquinMontoro
 
presentacion RNA y arquitecturas
presentacion RNA y arquitecturaspresentacion RNA y arquitecturas
presentacion RNA y arquitecturasJhonatan Navarro
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapaJefferson Guillen
 
Paper Proyecto de IAA
Paper Proyecto de IAAPaper Proyecto de IAA
Paper Proyecto de IAADiego Guamán
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronalesDanielars26
 
Redes neuronales artificiales
Redes neuronales artificialesRedes neuronales artificiales
Redes neuronales artificialesJesus Palomino
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes NeuronalesDavid852
 

Similar a Predicción Temperaturas RNN (20)

Implementación de un módulo para el entrenamiento y evaluación de redes neuro...
Implementación de un módulo para el entrenamiento y evaluación de redes neuro...Implementación de un módulo para el entrenamiento y evaluación de redes neuro...
Implementación de un módulo para el entrenamiento y evaluación de redes neuro...
 
REDES NEURONALES.pptx
REDES NEURONALES.pptxREDES NEURONALES.pptx
REDES NEURONALES.pptx
 
Utp ia_2014-2_s6_backpropagation
 Utp ia_2014-2_s6_backpropagation Utp ia_2014-2_s6_backpropagation
Utp ia_2014-2_s6_backpropagation
 
Tema 8 Aprendizaje De Sistemas Difusos Con Redes Neuronales
Tema 8 Aprendizaje De Sistemas Difusos Con Redes NeuronalesTema 8 Aprendizaje De Sistemas Difusos Con Redes Neuronales
Tema 8 Aprendizaje De Sistemas Difusos Con Redes Neuronales
 
Redes Neuronales Artificiales
Redes Neuronales ArtificialesRedes Neuronales Artificiales
Redes Neuronales Artificiales
 
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
110641.ppt
110641.ppt110641.ppt
110641.ppt
 
Redes neuronales funciones de activación logsig y tansig
Redes neuronales funciones de activación logsig y tansigRedes neuronales funciones de activación logsig y tansig
Redes neuronales funciones de activación logsig y tansig
 
Súper computadoras
Súper computadorasSúper computadoras
Súper computadoras
 
Súper computadoras
Súper computadorasSúper computadoras
Súper computadoras
 
Súper computadoras
Súper computadorasSúper computadoras
Súper computadoras
 
Redes Neuronales - Robótica
Redes Neuronales - RobóticaRedes Neuronales - Robótica
Redes Neuronales - Robótica
 
presentacion RNA y arquitecturas
presentacion RNA y arquitecturaspresentacion RNA y arquitecturas
presentacion RNA y arquitecturas
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapa
 
Paper Proyecto de IAA
Paper Proyecto de IAAPaper Proyecto de IAA
Paper Proyecto de IAA
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Redes neuronales artificiales
Redes neuronales artificialesRedes neuronales artificiales
Redes neuronales artificiales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 

Predicción Temperaturas RNN

  • 1. Proyecto de Fin de Carrera Implementación de redes neuronales artificiales en sistemas empotrados para predicción de temperaturas Universidad CEU Cardenal Herrera Francisco José Marín Pino Directores de proyecto: Dr. D. Juan Pardo Albiach Dr. D. Francisco Zamora Martínez Moncada, Valencia 2013
  • 2. Contenidos • Contexto • Propuesta de proyecto • Definición de redes neuronales • Usos de las redes neuronales • Definición de las redes inalámbricas de sensores • Usos de las redes inalámbricas de sensores • Librería de redes neuronales para sistemas empotrados • Experimentos realizados • Conclusiones • Trabajo futuro 2
  • 3. Contexto • Redes neuronales. • Redes inalámbricas de sensores. • Integración de ambos. • Experimentos para comprobar eficiencia. 3
  • 4. Propuesta de proyecto • El propósito del proyecto es desarrollar una librería de redes neuronales optimizada en tamaño y requisitos para poder ser integrada en diferentes sistemas empotrados. • También se busca integrar esta librería en una red inalámbrica de sensores en la medida de lo posible, con el propósito de predecir temperaturas. • Realización de experimentos para comprobar el funcionamiento correcto de la red neuronal y para optimizar los parámetros de configuración de la red de medida de temperaturas. 4
  • 5. Definición de redes neuronales • Las redes neuronales artificiales son unos sistemas de inteligencia artificial que implementan aprendizaje automático a partir de patrones. • Su nombre viene dado por su comparación con las neuronas del sistema nervioso. • Una red neuronal está compuesta por elementos llamados neuronas y conexiones entre ellas llamados pesos. 5
  • 6. Definición de redes neuronales • Al fin y al cabo, una red neuronal es un grafo dirigido. • Las neuronas de las redes neuronales se agrupan, para facilitar su comprensión y estructura, en capas. • Existen tres procedimientos pricipales en una red neuronal feedforward: procesamiento de entradas, propagación hacia atrás del error, y entrenamiento. 6
  • 7. Definición de redes neuronales 7
  • 8. Neurona • Las neuronas de una red neuronal toman su entrada del exterior si se tratan de neuronas de entrada o de las salidas de otras neuronas si se tratan de neuronas ocultas o de salida. • Cada neurona puede dividirse en dos partes. Durante el procesamiento de una serie de entradas, la primera se encarga de sumar las entradas. La segunda aplica la función de activación a dicho sumatorio. (Ver lado derecho de cada parte) 8
  • 9. Función de activación • Cada neurona dispone de una función de activación, que consiste en una función matemática, normalmente una función sigmoidal, que evita que los valores de las neuronas excedan los límites de un umbral. 9
  • 10. Cálculo de errores y entrenamiento • Para entrenar una red neuronal es necesario conocer la salida deseada para una entrada. • La red neuronal evalúa la entrada y genera una salida. Después calcula un error producido mediante una función de error que compara la salida obtenida y la deseada. • Este error se propaga hacia atrás asignando un valor de error a cada neurona. A partir de estos y de las entradas de cada neurona, se calcula un gradiente que modifica los pesos para realizar el aprendizaje. 10
  • 11. Cálculo de errores y entrenamiento • Dicho gradiente es multiplicado por un factor de aprendizaje que regula la velocidad a la que aprende la red neuronal. Un factor de aprendizaje demasiado pequeño puede causar que la red neuronal necesite muchos casos o muchas iteraciones para aprender, mientras que uno demasiado grande puede causar desviaciones en los pesos demasiado grandes, aumentando el resultado de la función de error en lugar de disminuirlo. 11
  • 12. Neurona (continuación) • Durante la propagación hacia atrás del error, se aplica la derivada de la función de activación a la entrada (que en este caso viene por la derecha) y no es necesario aplicar ninguna otra operación por parte de la parte de sumatorio, puesto que la derivada de la función de sumatorio es 1 con respecto a cada una de las entradas. • De esta forma se calculan las derivadas del error para cada una de las neuronas. 12
  • 13. Tipos de redes neuronales • Uno de los tipos más comunes de redes neuronales es el Feedforward o de alimentación hacia adelante. La librería creada en este proyecto ha sido diseñada para generar este tipo de redes neuronales. • Existen también redes neuronales de tipo recurrente, en las cuales las salidas de algunas capas se alimenta como entrada a capas anteriores. 13
  • 14. Usos de las redes neuronales • Las redes neuronales artificiales se pueden utilizar para multitud de tareas en las que se necesita la detección de patrones. • Algunos ejemplos incluyen: – Reconocimiento de voz – Reconocimiento de caracteres escritos – Detección de acciones fraudulentas en cuentas bancarias – Guía de misiles 14
  • 15. Definición de redes inalámbricas de sensores • Las redes inalámbricas de sensores son, como su nombre indica, redes de dispositivos con sensores de pequeño tamaño que se comunican inalámbricamente y trabajan en conjunto para realizar una tarea específica. http://www.purelink.ca/ 15
  • 16. Red inalámbrica de sensores utilizada • La red inalámbrica de sensores que se ha utilizado en este proyecto consiste en una red con varios nodos capaces de obtener temperaturas cada cierto intervalo de tiempo, y un sumidero responsable de recoger los paquetes inalámbricos y transmitirlos a un PC. • Para las pruebas y experimentos se ha utilizado un único nodo sensor de temperaturas. 16
  • 17. Red inalámbrica de sensores utilizada Nodo Sumidero y debugger 17
  • 18. Usos de las redes inalámbricas de sensores • Las redes inalámbricas de sensores cuentan con la ventaja de ser comúnmente fáciles de transportar y situar, debido a su pequeño tamaño. Esto las hace útiles para una gran variedad aplicaciones en diferentes campos. • Algunos ejemplos: – Monitorización médica de pacientes – Aplicaciones militares – Control de procesos industriales – Seguridad y vigilancia 18
  • 19. Librería de redes neuronales • La librería de redes neuronales ha sido implementada en ANSI C, para aumentar su compatibilidad con diferentes dispositivos y por el tamaño reducido de sus ejecutables binarios respecto a otros lenguajes de programación. 19
  • 20. Librería de redes neuronales • Consiste en una serie de estructuras de datos y funciones. Está preparada para poder construir redes neuronales feed-forward a partir de llamadas a funciones específicas para: – Creación de capas – Creación de conexiones entre capas – Asignación de funciones de activación a capas • También es capaz de generar redes a partir de topologías descritas en ficheros, en formato April-ANN. 20
  • 21. Pruebas de librería • Para comprobar el funcionamiento correcto de la librería de redes neuronales se implementaron una serie de pruebas unitarias para comprobar diferentes funciones, y una prueba final para comprobar el funcionamiento total. 21
  • 22. Prueba de reconocimiento de dígitos • Como prueba final para comprobar el funcionamiento general de la red neuronal se ha realizado un experimento en el cual la red neuronal aprende a reconocer dígitos en formato de imagen. 22
  • 23. Prueba de reconocimiento de dígitos • En este experimento se utilizan 100 dígitos. Los primeros 800 se utilizan para entrenar la red neuronal. Cada imagen de dígito tiene una dimensión de 16x16 píxeles con valores blancos o negros. Esta es la entrada de la red neuronal, y la salida es un vector de diez probabilidades: la de que sea cada uno de los diez dígitos. Las 800 imágenes de dígitos se introducen en orden aleatorio en la red neuronal y después se le proporciona el vector de probabilidades correcto para su entrenamiento. 23
  • 24. Prueba de reconocimiento de dígitos • Después se utilizan los últimos 200 dígitos para comprobar que el reconocimiento de dígitos funciona para casos con los que no ha entrenado. Efectivamente, la red neuronal es capaz de reconocer estos otros dígitos. 24
  • 25. Experimentos • La red neuronal para la predicción de temperaturas tiene la siguiente topología: – Capa de entrada de 24 neuronas – Capa oculta de 8 neuronas – Capa de salida de 8 neuronas • Cada una de las 24 entradas es una media de 15 temperaturas, una obtenida cada minuto, que se corresponden con los cuarto de hora de reloj. 25
  • 26. Experimentos • El programa que entrena y utiliza la red neuronal es capaz de interpolar valores de temperaturas en caso de realizarse pérdidas de datos o desfases en las recepciones de las temperaturas. Por ejemplo, un desfase de un segundo puede causar que se obtengan temperaturas a las 12:01:59 y 12:03:00. 26
  • 27. Experimentos • Para comprobar qué tasa de aprendizaje es la mejor para este entrenamiento se han realizado experimentos con temperaturas obtenidas del SMLsystem durante un periodo de tiempo de un mes. Se ha ejecutado la misma red neuronal con los mismos datos y diferentes tasas de aprendizaje, y se han comparado los resultados para averiguar cuál es la que más eficientemente entrena la red neuronal. 27
  • 28. Primer experimento • En el primer experimento se ha buscado encontrar qué factor de aprendizaje ha conseguido la menor media de errores. Para esto se ha ejecutado el programa con diferentes factores de aprendizaje y realizado una media aritmética de los errores. 28
  • 29. 29
  • 30. 30
  • 31. Segundo experimento • Este experimento se diseñó para averiguar qué tasa de aprendizaje disminuye el error de la red neuronal con mayor velocidad. • La diferencia con el experimento anterior consiste en que la media de errores que ha producido un factor de aprendizaje es una medida significativa de cuán buena es esta, pero en este experimento se mide la velocidad a la que se ha reducido ese error en general. Es decir, el número de entrenamientos. 31
  • 32. 32
  • 33. 33
  • 34. Experimentos • En cuanto a la integración de la librería de redes neuronales con la red inalámbrica de sensores, se ha logrado lo siguiente: – Introducir una red neuronal simple (cálculo de XOR) en el sumidero. – Introducir la librería de redes neuronales en el sumidero, generando datos falsos necesarios de temperaturas y tiempos dentro del mismo. • La generación de un prototipo final que obtenga las temperaturas en tiempo real y se ejecute en el sumidero no ha sido posible debido a no haber sido posible establecer envío de datos necesarios (como la fecha y la inicialización de los pesos de la red neuronal) desde el PC al sumidero. 34
  • 35. Resultados • La programación de una librería de redes neuronales artificiales capaz de ser embebida en sistemas empotrados. • La integración de esta librería en un dispositivo de la red inalámbrica de sensores con una red neuronal simple, si bien los datos no se obtuvieron en tiempo real. • Experimentos para la obtención del mejor factor de aprendizaje para la red neuronal con la topología indicada. 35
  • 36. Trabajo futuro • En cuanto a la librería de redes neuronales, sería posible añadir dos parámetros más para dar más opciones a los usuarios de esta: – Weight decay (Decadencia de los pesos) – Momentum (Inercia) • En cuanto a la integración de esta con los dispositivos, el siguiente paso sería establecer correctamente la conexión para la recepción de datos desde el PC para poder general un prototipo que se ejecute en el sumidero de la red inalámbrica de sensores. 36
  • 37. Agradecimientos • A mis directores de proyecto: – Dr. D. Juan Pardo Albiach – Dr. D. Francisco Zamora Martínez • A todos los profesores de Ingeniería Informática de la Universidad CEU Cardenal Herrera. 37