Professional Documents
Culture Documents
Anteproyecto de trabajo de grado presentada(o) como requisito parcial para optar al tı́tulo de:
Ingeniero Electrónico
Director(a):
Ingeniero César Augusto Álvarez Gaspar
Área:
Internet de las Cosas
1 Datos Generales 1
1.1 Proponente(s), Director y Asesor(es) . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Área . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Modalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Tı́tulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Antecedentes 4
2.1 Palabras claves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Herramientas de Búsqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5 Justificación 8
6 Objetivos 9
6.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.2 Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7 Alcance y delimitación 10
8 Marco teórico 11
8.1 Redes neuronales artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1.1 Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1.2 Elementos de una red neuronal . . . . . . . . . . . . . . . . . . . . . 11
8.1.3 Arquitectura de una Red Neuronal Artificial . . . . . . . . . . . . . . 17
8.1.4 Mecanismos de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . 18
8.1.5 Tipo de asociación entre las variables de entrada y salida . . . . . . . 19
Contenido vii
9 Metodologı́a 24
10 Presupuesto 25
11 Cronograma 26
Bibliografı́a 27
Lista de Figuras
8-1. Estructura de una neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8-2. Función de transferencia escalón . . . . . . . . . . . . . . . . . . . . . . . . . 14
8-3. Funciones de transferencia mixtas . . . . . . . . . . . . . . . . . . . . . . . . 15
8-4. Funciones de activación continuas . . . . . . . . . . . . . . . . . . . . . . . . 16
8-5. Funciones de transferencia gaussiana . . . . . . . . . . . . . . . . . . . . . . 16
8-6. Arquitectura red neuronal artificial . . . . . . . . . . . . . . . . . . . . . . . 18
8-7. Arquitectura de una red IoT en el hogar. Imagen tomada de [2] . . . . . . . 22
Lista de Tablas
0-1. TABLA DE CORRECCIÓN DE LAS OBSERVACIONES DE LA PROPUES-
TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
1 Datos Generales
PROPONENTES (s)
E-mail: Firma:
jaduran@uqvirtual.edu.co
E-mail: Firma:
msabogala@uqvirtual.edu.co
E-mail: Firma:
caalvarez@uniquindio.edu.co
ASESOR 1 Nombre:
Tı́tulos Universitario:
Tiene Vinculación con la Universidad: S N
Teléfono:
E-mail: Firma:
2 1 Datos Generales
ASESOR 2 Nombre:
Tı́tulos Universitario:
Tiene Vinculación con la Universidad: S N
Teléfono:
E-mail: Firma:
1.2. Glosario
Internet de las cosas (IoT): El IoT es la convergencia de tecnologı́as donde su propósito
es crear un lazo cerrado entre el mundo fı́sico y el virtual.
Interoperabilidad: Capacidad con la que cuentan uno más dispositivos o sistemas de in-
tercambiar información y hacer uso de ella.
Peso o Peso sináptico (w): Valor dado a las conexiones entre neuronas.
Persona a Persona (P2P): Conexión realizada entre dos nodos de igual comportamiento
entre sı́, dentro de un determinado sistema.
Máquina a Máquina (M2M): Es la conexión realizada entre máquinas. Una máquina hace
referencia a cualquier dispositivo(s) electrónico(s) y se comunica con a través de internet con
un servidor.
Software: Se refiere a los diferentes programas que permiten ejecutar una determinada
tarea a través de una computadora o dispositivo móvil.
Software de diseño asistido por computadora (CAD): Tipo de software utilizado para
el diseño y simulación en diferentes áreas de trabajo.
1.3. Área
Este proyecto esta relacionado con las áreas de electrónica e Internet de las Cosas.
1.4. Modalidad
Proyecto de aplicación
1.5. Tı́tulo
Implementación de una tarjeta de internet de las cosas (IoT) capaz de emular una red
neuronal sencilla.
1.6. Tema
En este proyecto se desarrollará una tarjeta emuladora de red neuronal, la cual tendrá una
conexión vı́a a internet a través de una interfaz gráfica. Esta servira para realizar la confi-
guración de la red neuronal.
El tema será desarrollado durante la ejecución del proyecto, de acuerdo con la siguiente
distribución:
Búsqueda bibliográfica: 20 %
Interfaz.
Control inteligente.
Función de activación.
Umbral de activación.
Neurona.
Conexión
El constante crecimiento de la tecnologı́a, hace del IoT una herramienta fundamental para
esto. Según [2], se generará un cambio en la manera en la cual se procesa la información
y se presenta dichos resultados. Todo esto con el fin de mejorar tecnológica y socialmente.
Pudiendo ası́ esta tecnologı́a, intervenir en campos como el desarrollo de ciudades, transporte
inteligente, educación, salud, agricultura y medio ambiente, como se menciona en [9].
En [5] se diseñó e implementó un esquema basado en IoT, capaz de manejar y tener control
sobre el ahorro de la energı́a eléctrica. La generación de dispositivos o esquemas inteligentes
reducen de manera significativa el error en las medidas y/o el consumo de energı́a en los
mismos, según sea el caso. Estos sistemas hacen posible obtener una mayor efectividad, por
lo cual se hacen adaptables a cualquier aplicación, para mejorar drásticamente su rendimien-
to; o en la generación de nuevas tecnologı́as que cuenten inicialmente con dichas capacidades.
predicción. Lo anterior depende del apropiado entrenamiento que reciba la red neuronal para
que pueda realizar un análisis preciso de las variables.
Un experimento que no cuente con un alto grado de precisión en sus mediciones puede hacer-
lo poco confiable. Cuando se experimenta con una cantidad elevada de variables o de datos,
la precisión de estos hará que los análisis correspondientes sean veraces. En [1] se presentó
un problema de precisión al momento de realizar la validación de los datos obtenidos. Allı́ se
optó por la implementación de redes neuronales para adquirir un nivel de precisión más ele-
vado en sus medidas. El éxito de este proceso se vio reflejado en el entrenamiento de dicha red
por medio de una retroalimentación diferencial, el cual es un algoritmo que minimiza el error.
Ahora bien, en [3] se contó con una problemática similar a la mencionada anteriormente,
en este caso se presentan diferentes tipos de arcilla, en los cuales se define su calidad de-
pendiendo de las propiedades que las componen. En esta situación se requiere un alto grado
de precisión para disminuir la cantidad de producto rechazado, por baja calidad. Esto fue
realizado mediante la implementación de una red neuronal, la cual realizó un análisis de
sus propiedades, para ası́ definir el producto óptimo. Donde el factor fundamental para el
logro final de precisión obtenido del 95 porciento, fue la implementación de un entrenamiento
adaptativo sobre la red neuronal.
Una red neuronal bien entrenada tiene como resultado la agilización de procesos a un grado
mucho más elevado de precisión, como se mostró en [1] y [3], donde su objetivo primordial
era obtener el error mı́nimo posible en la medición. Pero dicha cualidad de una red neuronal
puede ser aplicada a cualquier otro parámetro o sistema de medida o identificación.
Actualmente a nivel industrial se cuenta con una gran demanda de operación y capacidad,
donde el cumplimiento de estos procesos y la mejora de los mismos se ven reflejado en las
ganancias de las empresas. Como se muestra en [7] donde se tenı́an grandes falencias en la
identificación de un producto en masa, lo cual hacı́a que los tiempos de operación aumen-
taran drásticamente afectando sus ganancias. Entonces se decidió por la implementación
de un sistema de visión artificial que utiliza redes neuronales para la identificación. Dicho
procedimiento mejoró ampliamente un sistema que era casi obsoleto, donde esté aumentó
el porcentaje de efectividad y redujo de forma considerable los tiempos de operación en la
identificación. El manejo efectivo de la red neuronal permitió agilizar este proceso drásti-
camente, siendo esta una herramienta que cada vez toma mayor importancia debido a la
fidelidad de los resultados finalmente obtenidos.
4 Descripción del problema
Actualmente, la tecnologı́a se está enfocando hacia el diseño de dispositivos inteligentes, es
decir, que estos sean autónomos y cuenten con la capacidad suficiente para poder realizar
las tareas que les fueron asignadas. Una de las técnicas que hacen posible que un dispositivo
tenga dichas capacidades son las redes neuronales artificiales, las cuales aumentan su capa-
cidad de rendimiento. La necesidad de los dispositivos inteligentes, converge en la conexión
constante a internet, debido a que la mayorı́a de las aplicaciones o funciones de los disposi-
tivos hacen uso de internet para poder llevar a cabo sus tareas.
Para suplir dicha necesidad, existen tecnologı́as capaces de realizar este proceso, una de ellas
es conocida como IoT. La cual, establece una conexión entre el mundo fı́sico y el virtual. Para
ello se deben cumplir con una serie de competencias como lo son: comunicación y operación,
capacidad de direccionamiento, identificación, detección, procesamiento de la información,
localización e interfaces de usuario. Donde, cada una de estas se asocia con una tecnologı́a.
Ahora bien, la problemática fundamental en este proyecto es, poder establecer un manejo
apropiado de los datos obtenidos a partir de la conexión de un dispositivo capaz de emu-
lar una red neuronal a través del internet de las cosas. Es decir, contar con una supervisión
constante, mediante registros, gráficas, procesos de verificación y validación entre otros, para
controlar la red neuronal a través de internet.
5 Justificación
Debido a que los avances tecnológicos buscan que los dispositivos electrónicos procuren ser
inteligentes, se pretende mediante este proyecto reducir la brecha de este proceso, estable-
ciendo la conexión entre un dispositivo fı́sico e internet. Ası́, a partir de esta investigación
se logrará contar con los conocimientos necesarios para desempeñarse en este tema, como
también establecer la importancia de IoT, las redes neuronales artificiales, y sus beneficios
para la implementación en trabajos futuros. Dentro de este proceso investigativo, se buscará
magnificar no solo las cualidades vistas en el IoT, sino también, la riqueza y los alcances que
se pueden desarrollar dentro de una red neuronal. Ası́, el principal recurso que abarca este
proyecto es la conexión vı́a internet de un dispositivo y el manejo adecuado de sus datos para
establecer un control sobre los mismos, además de su utilidad en las nuevas tecnologı́as y en
el desarrollo académico. Lo anterior se puede ver como el uso de IoT sobre una red neuronal
para la toma de decisiones inteligentes a partir de los datos obtenidos por esta.
En la Universidad del Quindı́o existen investigaciones en campos como el control y los siste-
mas digitales, que se podrı́an ser ampliamente beneficiados con un conocimiento más profun-
do de estos temas y aplicarlos en sus respectivos procesos académicos o también diferentes
aplicaciones a nivel profesional. Futuras implementaciones de sistemas similares podrı́an ob-
tener mayor capacidad de rendimiento con un posible costo operacional más bajo y con una
manipulación adecuada de las variables obtenidas.
Cabe resaltar que este proyecto abrirá un nuevo camino en las investigaciones en la Univer-
sidad del Quindı́o, para el mejoramiento y la implementación de nuevas redes neuronales,
de capacidades más complejas. Se podrán operar sistemas de alta complejidad y además
mejorar el rendimiento de dispositivos ya existentes, o la creación de nuevas tecnologı́as fun-
damentadas en el IoT.
6.1. General
Implementación de una tarjeta de Internet de las Cosas que emule una Red Neuronal Artifi-
cial.
6.2. Especı́ficos
Diseñar la tarjeta de Internet de las Cosas.
8.1.1. Definición
Una red neuronal artificial consiste en la interconexión de elementos generalmente acondi-
cionados y con una estructura especı́fica, las cuales interaccionan con objetos del mundo real
y cuyo objetivo es tratar de modelar la información como el sistema nervioso biológico [10].
neuronas restantes. En los sistemas que se modelen, se puede de forma sencilla caracterizar
tres tipos de unidades: entradas, salidas y ocultas. Las unidades de entrada son las encarga-
das de recibir las señales del dominio, que a su vez son las entradas de la red. Las señales
que ingresan a estas unidades de entrada, pueden ser señales externas. Las unidades de sali-
da hacen referencia directamente a las señales de salida sistema, es decir, estas unidades se
encargan de enviar la señal fuera del sistema. Las unidades ocultas son aquellas en las cuales
sus entradas y salidas se encuentran dentro de los sistemas, es decir, no tiene ningún tipo de
contacto con el exterior. En la figura 8-1 se puede ver, la estructura de una neurona y sus
principales caracterı́sticas.
Es necesario aclarar que, el conjunto de unidades (neuronas) que tienen en común una misma
fuente como entrada y que sus salidas están dirigidas a un mismo destino, se conoce como
capa o nivel.
Estado de activación
El estado de activación de un conjunto de unidades está representado por un vector de N
números reales A(t), como se observa en la ecuación 8-1, donde se tiene que:
8.1 Redes neuronales artificiales 13
Todas las neuronas que hacen parte de la red, se encuentran en cierto estado. Para simpli-
ficar el concepto de activación, en el sistema se hablan de dos estados en reposo y excitado,
los cuales se denominan estados de activación, además que, cada uno de estos estados tiene
asociado un valor. Los valores de activación o bien pueden ser discreto o continuos. Si estos
valores son discretos, llegan a tomar un grupo de valores que en general son binarios. Ahora
bien, se tiene que para un estado esté activo su valor deberá ser 1, en cuanto al 0, éste
indicará que la neurona está en reposo. En otros modelos se hablan de un conjunto continuo,
esto quiere decir que, los estados de activación hacen parte de un conjunto continuo, para
este caso se le asigna un valor en [0,1] o también en el intervalo de [-1,1] [4].
Dentro de estas funciones, se encuentran 4 funciones que son generalmente las más utilizadas,
con las cuales se determinan diferentes tipos de neuronas, estas funciones son:
Función escalón
Función Sigmoidal
Función gaussiana
Cuando se presentan salidas en la red binarias se utiliza la función escalón. Para obtener
una salida de una neurona es necesario superar o igualar cierto valor umbral. El equivalente
a no suministrar una función de salida es utilizar la función lineal, la cual es empleada en
muy pocas ocasiones. En el caso que se desee contar con una salida analógica en la neurona
se hará uso de las funciones mixta y sigmoidal[4]. Ahora, se estudiará con más detalle cada
una de las distintas funciones.
14 8 Marco teórico
Función escalón: La manera más sencilla para activar una neurona es si se considera que
esta es binaria. En este caso, se realiza una asociación de la función de transferencia escalón
a neuronas binarias, en las cuales cuando la sumatoria de las entradas es mayor o igual
que cero. Como se mencionó anteriormente la activación va a depender de las sumatoria de
las entradas, si esta es mayor o igual al umbral de la neurona la activación será 1, en caso
contrario ésta será 0 [4]. En la figura 8-2 se evidencia este comportamiento.
Función lineal y mixta: Se tiene que, la función lineal o identidad corresponde a f (x) = x.
Ahora bien para las neuronas de función mixta, se pueden tener tres opciones. La primera,
es que si al sumar todas las señales de entrada ésta es menor al lı́mite inferior, la activación
tomará el valor de 0 o −1. Para la segunda, la suma de todas las señales de entrada dará
por resultado un número mayor al lı́mite superior, entonces la activación deberá ser igual
a 1. Para el tercer caso, el valor de la suma está comprendido entre el lı́mite inferior y su-
perior, por lo cual la activación se define como una función lineal de la suma de las señales
de entrada. En la figura 8-3 , se ve reflejado lo mencionado anteriormente, es decir, para
cualquiera de los dos casos, donde se toma el lı́mite superior de la suma de todas entradas
8.1 Redes neuronales artificiales 15
de activación[4].
Los enlaces o conexiones que se presentan en una red neuronal artificial tienen asociado un
peso, el cual brinda a la neurona la capacidad de adquirir conocimiento. Considerando la
neurona i en un instante de tiempo, con y como la representación de sus datos de salida.
Una neurona constantemente está en comunicación con las demás neuronas a las que se
encuentra conectada, para saber su estado de activación. A La conexión entre la neurona
i y la neurona j se le es asociado un peso wij . Generalmente se considera que el efecto
de cada señal es aditivo, de manera tal, que la entrada pura que recibe una neurona es la
suma del producto de cada señal individual por el valor de la conexión entre ambas neuronas.
Para establecer la influencia que tiene la neurona j sobre la neurona i se utiliza una matriz
W con todos los pesos wji . De esta manera hay tres tipos de interacción entre las neuronas
y se determina según el valor de wji . En el caso que wji = 0 se supone que no hay un enlace
establecido entre las neuronas. Si wji > 0 indica que la conexión es excitadora, es decir, que
siempre que la neurona i esté activada la neurona j recibirá un dato que la hará propensa a
la activación. Finalmente, si wji < 0 será un tipo de conexión inhibidora, en la cual si i se
encuentra activada j recibirá una señal la cual la hará propensa a la desactivación [4].
da este determina el tipo de salida que deberı́a obtenerse en la red. El supervisor también
se encarga de comprobar dicha salida y en caso de ser necesario modificar los pesos de las
conexiones, con la intención de obtener la salida deseada [4].
Este tipo de aprendizaje no requiere de ningún agente externo para realizar el proceso de
aprendizaje. Es decir, la red ajusta los pesos de las conexiones por sı́ misma. La red no recibe
ningún tipo de información externa que le señale si la salida es la deseada o no; por esta
razón, se consideran estas redes como capaces de autoorganizarse.
Debido a lo no presencia de un supervisor, estas redes deben establecer caracterı́sticas, perio-
dicidad, correlaciones o jerarquı́as que sean posibles determinar entre los datos presentados
en la correspondiente entrada. Este tipo de redes dependen fundamentalmente del algorit-
mo de aprendizaje y de la topologı́a utilizada. Finalmente, se considera que algunas de las
redes que presentan un aprendizaje no supervisado desarrollan un mapeo de caracterı́sticas,
obteniendo en la salida de las neuronas un acondicionamiento geométrico que representa las
caracterı́sticas de los datos de entrada, esto con el fin de que si se presentan datos simila-
res a la entrada, sean las neuronas de salida más próximas a esto las que se vean afectadas [4].
Ahora bien, el internet ha pasado por muchas fases a medida que fue evolucionando, el IoT
se encuentra en la última de ella, y corresponde a las conexiones de las personas, datos y
objetos directamente. El principal objetivo de IoT es crear una conexión entre el mundo
fı́sico e internet, con el fin de obtener un grado de inteligencia superior por parte de los
objetos. Ya que actualmente la mayorı́a de los objetos carece de estas capacidades [2].
8.2.1. Definición
El internet de las cosas es una tecnologı́a basada en el internet global que permite la inter-
conexión de objetos y sistemas de monitoreo. Los cuales comparten información en tiempo
real la cual permita ser fácilmente interpretable [9].
Como se mencionó anteriormente el IoT es la conexión de las personas, procesos, datos y
objetos. La información compartida en estas conexiones tiene como resultado una mejor ca-
pacidad y experiencias económicas como sociales [2].
8.2.2. Personas
Sin lugar a dudas uno de los componentes más importantes a la hora de hablar del IoT es la
necesidad que presentan los usuarios de establecer comunicaciones con objetos o personas.
La mayorı́a de estos se conectan a internet a través de dispositivos como: computadores,
celulares, tablets, etc. Es por esto que dichos usuarios son un factor primordial en esta tec-
nologı́a, ya que, a medida que el IoT evoluciona aparecerán nuevos tipos de conexiones, que
8.2 Internet de las cosas (IoT) 21
8.2.3. Procesos
Los procesos se conocen como todo lo que pasa dentro de la conexión, si los procesos son
medianamente buenos, las conexiones que se estén realizando adquieren un valor más alto,
dentro de las demás. Cabe aclarar, que si el proceso es bueno, las conexiones brindaran infor-
mación confiable a la persona que lo esté realizando además que lo hará de la mejor forma [2].
8.2.4. Datos
Los datos corresponden a la forma de representar la información que es generada por la
persona o máquinas y procesada por el objeto. Estos datos combinados con un análisis que
se haga de ellos, no sólo proporcionará información importante sino que también permitirá la
toma de decisiones tanto de la persona como de la máquina. Dentro de la industria este pro-
ceso ayudarı́a mucho en el mejoramiento de un producto o en la producción de los mismos [2].
8.2.5. Objetos
Los objetos, son instrumentos fı́sicos que están conectados a internet. La función de estos
instrumentos, es poder tomar información y procesarla de forma tal, que sea más fácil para
el usuario analizarla. Estos también son los encargados de realizar las tareas que sean desig-
nadas por las personas[2]. Un objeto puede ser representado por cualquier cosa, IoT le da
brinda la capacidad de hacerlo inteligente.
Figura 8-7: Arquitectura de una red IoT en el hogar. Imagen tomada de [2]
Los protocolos determinan la manera de transmitir y recibir los mensajes, la forma en la cual
se establecerá la comunicación y demás requisitos para asegurar la interoperabilidad. Cuando
8.2 Internet de las cosas (IoT) 23
se cuenta con un grupo de protocolos estrechamente relacionados entre sı́ para realizar una
comunicación, a esto se le denomina “paquete de protocolo”. El paquete de protocolo tiene
como fin garantizar la interoperabilidad entre los dispositivos [2].
Paquetes de protocolo
Los paquetes de protocolo cumplen básicamente con las siguientes funciones:
Detección de errores y retransmisión del mensaje tanto de los dispositivos como del
sistema en general.
Dichos paquetes pueden ser implementados tanto en el software como en el hardware o me-
diante una combinación de ambos. Uno de los paquetes de protocolo más comunes es el de
control de transmisión/protocolo de internet (TCP/IP). Cualquier dispositivo que tenga una
comunicación a través de internet debe usar este protocolo [2].
9 Metodologı́a
La realización de este proyecto fundamentalmente se basa en la construcción de una tarjeta
emuladora de red neuronal artificial, donde además se obtendrá la información allı́ obtenida
por medio de una interfaz vı́a Internet.
Para culminar, se realizaran pruebas del adecuado funcionamiento del sistema, en general.
10 Presupuesto
11 Cronograma
Bibliografı́a
[1] Cruz Salazar, Luis A. ; Muñoz Aldana, David ; Contreras Montes, Juan
A. Implementación de redes neuronales y lógica difusa para la clasificación de patrones
obtenidos por un Sónar. 2013
[2] Evans, Dave. Internet de las cosas cómo la próxima evolución de Internet lo cambia
todo. 2011
[3] Gómez, Jairo ; Sánchez, Jaime ; Ocampo, Aquiles ; Restrepo, José William: Apli-
cación de redes neuronales en la clasificación de arcillas. (2012)
[4] Hilera, José Ramón ; Martinez, Victor José: Redes neuronales artificiales: funda-
mentos modelos y aplicaciones. 2000
[5] Kun, Tsai L. ; Fang, Leu Y. ; lsun, YouI: Residence Energy Control System Based
on Wireless Smart Socket and IoT. (2016)
[6] Álvarez Blanco, Jorge ; Fernández Lau, Rogelio ; Pérez Lovelle, Sonia ; Ley-
va Pérez, Exiquio: Predicción de resultados académicos de estudiantes de informática
mediante el uso de redes neuronales. (2016)
[7] Maldonado, Luis Carlos ; Peña, César Augusto ; Gualdrón, Oscar: Identificación
automática de cilindros de almacenamiento de gas utilizando redes neuronales tipo
Hopfield. (2012)
[10] Sanz Molina, Alfredo ; Martı́n del Brı́o, Bonifacio: Redes neuronales y sistemas
difusos. 2002