diseño, desarrollo e implementación, de un entrenador de redes

Transcripción

diseño, desarrollo e implementación, de un entrenador de redes
DISEÑO, DESARROLLO E IMPLEMENTACIÓN, DE UN ENTRENADOR DE REDES
NEURONALES; PARA LA SALA DE INTELIGENCIA ARTIFICIAL Y ROBÓTICA DE LA
UNIVERSIDAD AUTÓNOMA DEL CARIBE
ANTONIO JOSE BARROS MOLINARES
JOSE LUIS LOBO VASQUEZ
LAURA MILENA ZARACHE VARGAS
UNIVERSIDAD AUTÓNOMA DEL CARIBE
FACULTAD DE INGENIERÍA
PROGRAMA DE INGENIERIA DE SISTEMAS
BARRANQUILLA
2007
DISEÑO, DESARROLLO E IMPLEMENTACIÓN, DE UN ENTRENADOR DE REDES
NEURONALES; PARA LA SALA DE INTELIGENCIA ARTIFICIAL Y ROBÓTICA DE LA
UNIVERSIDAD AUTÓNOMA DEL CARIBE
ANTONIO JOSE BARROS MOLINARES
JOSE LUIS LOBO VASQUEZ
LAURA MILENA ZARACHE VARGAS
Investigación formativa con fines de graduación:
Asesor Metodológico: MsC. CLAUDIA ZAPATA
Asesor Técnico: ING. RICHARD AROCA
UNIVERSIDAD AUTÓNOMA DEL CARIBE
FACULTAD DE INGENIERÍA
PROGRAMA DE INGENIERIA DE SISTEMAS
BARRANQUILLA
2007
NOTA DE ACEPTACION
__________________________
__________________________
__________________________
_________________________
Presidente del jurado
_________________________
Jurado
_________________________
Jurado
Barranquilla, 10 de Noviembre del 2007
Dedicatoria
Al Dios de amor que me eximió - su sangre fue el precio -. Asiduo
y paciente escultor, que con martillo y cincel perfecciona su obra.
A mis padres, protectores escogidos. Las líneas de sus vidas,
están llenas de triunfos logrados con esfuerzo. A mi hermana,
cómplice y abogada. Ha hecho tantas cosas buenas por mí, que
sí me ha herido, no lo recuerdo.
A aquellos que mi corazón llama amigos. Artesanos de sonrisas y
buenos momentos.
Antonio José Barros Molinares
Dedicatoria
A mi madre quien es recuerdo y vida a mi presente.
A Dios quien es luz y sombra a mí caminar.
José Luís Lobo Vásquez
Dedicatoria
A mi hermanita Sigy quien en ocasiones se esmeró por esto
mucho más que yo misma y sin saberlo me impulso a luchar por
esto.
A mi mami, quien ha permanecido fiel y me ha apoyado aun
cuando no lo merezca.
A mi papi quien no miró las circunstancias, solo pensó en los
resultados, decidió creer que era posible y se esforzó hasta él
último momento para que yo pudiera alcanzar este triunfo. En tu
memoria Papi. No estas conmigo en mi graduación pero siempre
estarás en mi corazón. Te amo papito.
Por supuesto a Dios porque siempre busca la manera de guiarme
hacia sus propósitos. Gracias Señor.
Laura Zarache Vargas
Agradecimientos
A quienes compartieron con nosotros a lo largo de estos 5 años,
que ayudaron a lograr este sueño.
A nuestros padres por su dedicación y entrega en la formación e
instrucción de nuestras vidas.
A profesores como Ilma. Bonilla, Richard Aroca y Claudia Zapata,
quienes no dudaron en ningún momento, y entregaron
sus
conocimientos para la realización de este proyecto.
Y principalmente a Dios por permitirnos rebasar la meta
y
compartir con nosotros la verdad de su amor.
Los Autores
TABLA DE CONTENIDO
INTRODUCCION...................................................................................................................... 15
1. PLANTEAMIENTO DEL PROBLEMA ................................................................................... 18
1.1. DESCRIPCIÓN DEL PROBLEMA..................................................................................... 18
1.2. FORMULACIÓN DEL PROBLEMA ................................................................................... 19
1.3. SISTEMATIZACIÓN DEL PROBLEMA .............................................................................. 19
1.4 OBJETIVOS DE LA SOLUCION ......................................................................................... 20
1.4.1. OBJETIVO GENERAL .................................................................................................... 20
1.4.2 OBJETIVOS ESPECÍFICOS ............................................................................................ 20
1.5. JUSTIFICACIÓN................................................................................................................ 21
2. MARCOS DE REFERENCIA .............................................................................................. 23
2.1. ANTECEDENTES CIENTÍFICOS DEL PROYECTO.......................................................... 23
2.2. MARCO TEÓRICO ............................................................................................................ 26
2.2.1. INTRODUCCIÓN A LAS REDES NEURONALES........................................................... 26
2.2.2. REDES NEURONALES BIOLÓGICAS .......................................................................... 27
2.2.2.1. COMPOSICIÓN DE LAS REDES NEURONALES BIOLÓGICAS ............................... 27
2.2.2.2. DESCRIPCIÓN DEL PROCESO SINÁPTICO............................................................. 30
2.2.2.3. TIPOS DE NEURONAS .............................................................................................. 32
2.2.2.3.1. LAS NEURONAS SENSORIALES ............................................................................ 32
2.2.2.3.2. LAS NEURONAS MOTORAS ................................................................................... 32
2.2.2.3.3. LAS INTERNEURONAS ........................................................................................... 33
2.2.3. REDES NEURONALES ARTIFICIALES (RNA).............................................................. 33
2.2.3.1. HISTORIA DE LAS REDES NEURONALES ARTIFICIALES ...................................... 33
2.2.3.1.1. INICIOS CON REDES NEURONALES .................................................................... 34
2.2.3.1.2. ACOGIDA Y CRECIENTE INVESTIGACIÓN ........................................................... 35
2.2.3.1.3. EL DESPRESTIGIO Y ESTANCAMIENTO .............................................................. 36
2.2.3.1.4. NUEVOS HORIZONTES........................................................................................... 36
2.2.3.1.5. EL DESPERTAR Y LA SITUACIÓN ACTUAL ........................................................... 37
2.2.3.1.6. ESTADO ACTUAL DE LAS REDES NEURONALES ARTIFICIALES....................... 38
2.2.3.2. ELEMENTOS DE UNA RED NEURONAL ARTIFICIAL .............................................. 38
2.2.3.2.1. CARACTERÍSTICAS PRINCIPALES DE LAS NEURONAS ARTIFICIALES ............. 39
2.2.3.2.2. LA NEURONA ARTIFICIAL...................................................................................... 40
2.2.3.2.3. FUNCIONES EN EL MODELO DE NEURONA ARTIFICIAL ..................................... 42
2.2.3.3. ESTRUCTURA DE LAS REDES NEURONALES ARTIFICIALES.............................. 44
2.2.3.4. CLASIFICACIÓN DE LAS REDES NEURONALES ARTIFICIALES............................. 47
2.2.3.4.1. TIPOS DE REDES DE ACUERDO CON LAS SEÑALES QUE RECIBE ................... 47
2.2.3.4.2. TIPOS DE REDES DE ACUERDO A LA TOPOLOGÍA ............................................. 47
2.2.3.4.3. TIPOS DE REDES DE ACUERDO AL MECANISMO DE APRENDIZAJE ................ 48
2.2.3.5. EJEMPLOS DE REDES NEURONALES ARTIFICIALES............................................. 49
2.2.3.5.1. EL PERCEPTRON................................................................................................... 50
2.2.3.5.1.1. ARQUITECTURA DEL PERCEPTRON.................................................................. 51
2.2.3.5.1.2. APRENDIZAJE DEL PERCEPTRON ..................................................................... 52
2.2.3.5.1.3. LIMITANTES DEL PERCEPTRON......................................................................... 52
2.2.3.5.2. LA BACKPROPAGATION......................................................................................... 52
2.2.3.5.3. EL MODELO HOPFIELD .......................................................................................... 54
2.2.3.5.3.1. CARACTERISTICAS DE HOPFIELD ..................................................................... 54
2.2.3.5.3.1.2. FUNCIONAMIENTO DE LAS REDES HOPFIELD .............................................. 55
2.2.4. CIRCUITOS ENTRENADORES...................................................................................... 56
2.2.5. MICROCONTROLADORES............................................................................................ 57
2.2.5.1. TIPOS DE MICROCONTROLADORES ....................................................................... 58
2.2.5.1.1 PIC 16F84................................................................................................................ 58
2.2.5.1.2. COMPOSICIÓN DEL PIC 16F84 .............................................................................. 59
2.2.5.1.3. PROGRAMACIÓN DEL PIC 16F84........................................................................... 61
2.2.5.1.3.1. SET DE INSTRUCCIONES DEL PIC 16F84 .......................................................... 61
2.2.5.1.3.1.1. INSTRUCCIONES ORIENTADAS A REGISTROS.............................................. 61
2.2.5.1.3.1.2. INSTRUCCIONES ORIENTADAS A BITS .......................................................... 63
2.2.5.1.3.1.3. INSTRUCCIONES ORIENTADAS A CONSTANTES Y DE CONTROL............... 63
2.2.6. LENGUAJES DE BAJO NIVEL ....................................................................................... 64
2.2.6.1. ASSEMBLER ............................................................................................................... 65
2.2.6.1.1. INSTRUCCIONES ASSEMBLER PARA PIC 16F84 ................................................. 65
2.2.7. TÉCNICAS PEDAGÓGICAS DE APRENDIZAJE ........................................................... 66
2.2.7.1. EL APRENDIZAJE ...................................................................................................... 67
2.2.7.1.1. CONCEPTOS DE APRENDIZAJE ............................................................................ 67
2.2.7.1.2. TIPOS DE APRENDIZAJE........................................................................................ 69
2.2.7.1.2.1. CONDICIONAMIENTO CLÁSICO.......................................................................... 69
2.2.7.1.2.2. CONDICIONAMIENTO OPERANTE ...................................................................... 70
2.2.7.1.2.3. APRENDIZAJE SOCIAL ........................................................................................ 71
2.2.7.2. CONCEPCIÓN PEDAGÓGICA DE UN PROCESO DE ENSEÑANZA – APRENDIZAJE
................................................................................................................................................. 71
2.2.7.2.1
LEYES PEDAGÓGICAS........................................................................................ 72
2.2.7.2.2. CONCEPTUALIZACIÓN DEL APRENDIZAJE COMO PROCESO COGNITIVO
AFECTIVO................................................................................................................................ 73
2.2.7.2.3 LAS TAREAS DEL PROCESO DE ENSEÑANZA – APRENDIZAJE.......................... 74
2.2.7.2.4. ETAPAS METODOLÓGICAS DE UN PROCESO DE ENSEÑANZA –APRENDIZAJE
................................................................................................................................................. 75
2.3. MARCO CONCEPTUAL .................................................................................................... 77
3. DELIMITACIÓN .................................................................................................................... 84
3.1.
DELIMITACIÓN FINANCIERA ........................................................................................ 84
3.2. DELIMITACIÓN TÉCNICA ................................................................................................ 84
4. DISEÑO METODOLÓGICO.................................................................................................. 87
4.1. TIPO DE INVESTIGACIÓN............................................................................................... 87
4.2. TIPOS DE ESTUDIO. ...................................................................................................... 88
4.3.
MÉTODO ........................................................................................................................ 88
4.4. TÉCNICAS DE RECOLECCIÓN DE LA INFORMACIÓN.................................................. 89
4.4.1. TÉCNICAS DE RECOLECCIÓN PRIMARIAS................................................................. 89
4.4.1.1. OBSERVACIÓN DIRECTA ......................................................................................... 90
4.4.1.2. ENCUESTAS .............................................................................................................. 90
4.4.1.3. ENTREVISTAS ........................................................................................................... 90
4.4.2. TÉCNICAS DE RECOLECCIÓN SECUNDARIAS........................................................ 91
4.4.2.1. FICHAS BIBLIOGRÁFICAS ....................................................................................... 91
4.4.2.2. INTERNET ................................................................................................................. 91
4.5.
INSTRUMENTOS UTILIZADOS ..................................................................................... 91
4.5.1. CRONOGRAMA DE ACTIVIDADES ............................................................................... 92
4.5.2. PRESUPUESTO............................................................................................................. 92
4.6. POBLACIÓN OBJETIVO ................................................................................................... 92
4.6.1. JUSTIFICACIÓN ESTADÍSTICA DE LA MUESTRA ....................................................... 92
4.6.2. TAMAÑO DE LA MUESTRA. .......................................................................................... 93
5. ANÁLISIS E INTERPRETACIÓN DE RESULTADOS. .......................................................... 95
5.1. TABULACIÓN DE LAS ENCUESTAS............................................................................... 96
5.1.1. NOVENO SEMESTRE DE INGENIERÍA DE SISTEMAS ............................................... 96
5.1.2. DÉCIMO SEMESTRE DE INGENIERÍA DE SISTEMAS .............................................. 102
5.1.3. INGENIERÍA DE SISTEMAS NOVENO Y DÉCIMO SEMESTRE ................................ 108
5.1.4. NOVENO SEMESTRE INGENIERÍA ELECTRÓNICA ................................................. 114
5.1.5. DÉCIMO SEMESTRE INGENIERÍA ELECTRÓNICA................................................... 120
5.1.6. INGENIERÍA ELECTRÓNICA NOVENO Y DÉCIMO SEMESTRE ............................... 126
5.1.7. INGENIERÍA DE SISTEMAS E INGENIERÍA ELECTRÓNICA..................................... 132
6. PROPUESTA...................................................................................................................... 142
6.1. SOLUCIÓN ...................................................................................................................... 142
6.1.2.1. TABLA DE COMPARACIÓN ENTRE LAS DOS SOLUCIONES................................. 144
6.1.3. DESCRIPCIÓN DE LA SOLUCIÓN ............................................................................. 145
6.2. REQUERIMIENTOS DEL SISTEMA ................................................................................ 149
6.2.1. DEFINICIÓN DE REQUERIMIENTOS .......................................................................... 149
6.2.2. REQUERIMIENTOS FUNCIONALES ........................................................................... 151
6.2.3. REQUERIMIENTOS NO FUNCIONALES .................................................................... 151
6.2.4. ESPECIFICACIÓN DE REQUERIMIENTOS................................................................ 153
6.2.4.1. REQUERIMIENTOS FUNCIONALES ....................................................................... 153
6.2.4.2. REQUERIMIENTOS NO FUNCIONALES ................................................................. 155
6.2.5. NEGOCIACION DE REQUISITOS................................................................................ 160
6.2.6. EVOLUCIÓN DEL SISTEMA ........................................................................................ 162
6.2.7. MODELOS DEL SISTEMA............................................................................................ 163
6.2.7.1 ESQUEMA ELECTRÓNICO DEL CIRCUITO ENTRENADOR ................................... 163
6.2.7.2. CONEXIONES ENTRE MICROCONTROLADORES ................................................ 165
6.2.7.3. ESQUEMA DE INTERACCIÓN HOMBRE-CIRCUITO ENTRENADOR .................... 166
6.2.7.4. ESQUEMA DE INTERACCIÓN HOMBRE-QUEMADOR DE PIC............................... 167
6.2.7.5. DIAGRAMAS DE CASOS DE USO............................................................................ 168
6.2.7.5.1. CASOS DE USO ESENCIALES............................................................................. 170
6.2.7.6. MODELO CONCEPTUAL .......................................................................................... 171
6.2.7.7. DIAGRAMA DE SECUENCIA DEL SISTEMA ............................................................ 172
6.2.7.7.1. ENTRENADOR DE RNA........................................................................................ 172
6.2.7.7.2. QUEMADO DE PIC................................................................................................ 172
6.2.7.7.3. MODO ENTRENAMIENTO RNA............................................................................. 173
6.2.7.7.4. MODO EJECUCIÓN RNA....................................................................................... 173
6.2.7.8. DIAGRAMAS DE ESTADOS...................................................................................... 174
6.2.7.8.1. ENTRENADOR RNA .............................................................................................. 174
6.2.7.8.2. QUEMADOR........................................................................................................... 175
6.2.7.8.3. MODO DE EJECUCIÓN NEURONAL.................................................................... 175
6.2.7.8.4. MODO DE ENTRENAMIENTO NO SUPERVISADO NEURONAL.......................... 176
6.2.7.8.5. MODO DE ENTRENAMIENTO SUPERVISADO NEURONAL ................................ 176
6.2.7.9. GLOSARIO ................................................................................................................ 177
6.3. DISEÑO .......................................................................................................................... 179
6.4. IMPLEMENTACIÓN......................................................................................................... 182
6.4.1 CÓDIGO PERCEPTRÓN............................................................................................... 183
6.5 PRUEBAS......................................................................................................................... 202
7. CONCLUSIONES ............................................................................................................... 203
8. BIBLIOGRAFÍA. .................................................................................................................. 205
ANEXOS....................................................................................................................................211
INTRODUCCION
Desde sus inicios el hombre ha intentado comprender el entorno en el que esta
inmerso, lo cual ha causado la eterna investigación y postulación de hipótesis acerca
del origen y funcionamiento del universo; Desde la simple observación de las estrellas,
hasta el descubrimiento del complejo código genético de la vida sobre la tierra.
A pesar de la gran vastedad de temas a los cuales el hombre podría dedicarse, ningún
otro tópico lo ha cautivado tanto como la manera en que el pensamiento humano
funciona. Luego de arduas investigaciones ha conseguido entender y descomponer
este sistema en todas sus partes.
No obstante, no se ha conformado solo con esto, actualmente ha iniciado una
apresurada carrera para imitar este funcionamiento e incluso mejorarlo. Explotando así,
un viejo concepto que era solo posible en libros de ficción, la renombrada inteligencia
artificial.
Tecnologías basadas en temas como los sistemas expertos y las redes neuronales
artificiales, se están convertido en algo cotidiano en nuestras vidas. Ya no solo en las
películas existen, reconocedores de huellas o de retinas y hasta los videojuegos se
valen de RNA para sus complicados roles y premisas.
Todo lo anterior ha inspirado la investigación y desarrollo de una herramienta que
facilite la asimilación de conceptos, tales como el de “neurona artificial”, “topología
neuronal” o “el aprendizaje neuronal artificial”. Esenciales para el desarrollo de nuevos
proyectos basados en RNA.
Este proyecto se basó, en la necesidad hallada en la Universidad Autónoma del Caribe,
de crear un Entrenador de Redes Neuronales Artificiales, para la reproducción física de
R.N.A. Fue así como se indago sobre las causas y efectos de esta carencia y se
estableció el alcance del proyecto, por medio del objetivo general y los objetivos
específicos (Capitulo 1).
Al tener claro la solución y el alcance, se procedió a recolectar toda la información
necesaria para el desarrollo de este proyecto (Capitulo 2).
Al ampliar el cuerpo de conocimientos sobre R.N.A y las arquitecturas utilizadas en esta
investigación (PIC 16F84A, Circuito Quemador, etc.). Se obtuvo la autoridad necesaria
para delimitar el ámbito económico, técnico y geográfico donde estará inmerso este
proyecto (Capitulo 3).
Luego, para garantizar una satisfactoria investigación, se desarrollaron las herramientas
metodologías tales como el tipo de investigación y las técnicas de recolección de la
información (Capitulo 4).
Además, se tomaron la opinión de los principales actores del sistema (Capitulo 5).
Al terminar, lo anterior descrito se diseño e implemento la propuesta, base de esta
investigación (Capitulo 6).
1. PLANTEAMIENTO DEL PROBLEMA
Para alcanzar un mejor entendimiento de las variables que participan de este problema,
así como también de las motivaciones que inspiraron la realización de este proyecto se
describe a continuación el problema identificado.
1.1. DESCRIPCIÓN DEL PROBLEMA
Pese a las herramientas y al personal calificado con el que cuenta la universidad los
estudiantes de ingeniería de sistemas y electrónica no asimilan de manera eficiente los
conceptos vistos en áreas como “inteligencia artificial y robótica”.
Con el objetivo de precisar las metas que se quieren alcanzar con la realización de este
proyecto se describen a continuación las causas que llevaron al grupo investigador a
proponer y desarrollar este proyecto.
La Universidad Autónoma del Caribe cuenta con un laboratorio de inteligencia artificial y
robótica, diseñado con el fin de que el estudiante realice prácticas en el y desarrolle
propuestas investigativos. Sin embargo, se ha notado que el laboratorio no posee
ningún instrumento físico en el cual hacer prácticas en el área de redes neuronales, lo
cual se refleja en la deficiente asimilación de conceptos tales como, métodos de
aprendizaje y topologías de estas redes, vistos teóricamente en las aulas de clases.
Lo anterior ha generado poco interés investigativo acerca de las redes neuronales y una
evidente idealización de esta materia, lo que se evidencia en la escasa realización de
proyectos de esta área en específico. De hecho en el último año se han realizado solo
unos pocos proyectos concernientes a estos temas.
Siendo evidente la problemática nuestro proyecto consiste en la creación de una
herramienta que facilite la asimilación de los conceptos vistos acerca de redes
neuronales.
1.2. FORMULACIÓN DEL PROBLEMA
De acuerdo con la descripción del problema de investigación que se ha realizado, surge
la necesidad de responder un interrogante clave:
¿Qué herramienta se puede construir para afianzar los conocimientos adquiridos de
redes neuronales en el área de inteligencia artificial, de manera que se contribuya a la
dinamización de los procesos teórico-prácticos en el área de inteligencia artificial y
robótica?
1.3. SISTEMATIZACIÓN DEL PROBLEMA
¿Cuáles serían los beneficios obtenidos con el desarrollo de hardware que permita la
realización de prácticas en redes neuronales?
¿Qué grupos u organizaciones contribuyen a la investigación científica en el área de
inteligencia artificial en la Universidad Autónoma del Caribe?
¿Esta la universidad vinculada con alguna entidad dedicada a la investigación y
financiación de proyectos basados IA?
1.4 OBJETIVOS DE LA SOLUCION
1.4.1. OBJETIVO GENERAL
Construir un entrenador de redes neuronales para el desarrollo de prácticas, que
fortalezcan los conocimientos teóricos en el área de inteligencia artificial, de los
estudiantes de la Universidad Autónoma del Caribe.
1.4.2 OBJETIVOS ESPECÍFICOS
♦
Simular de manera eficiente, mediante la programación de microcontroladores el
comportamiento de las neuronas para posteriormente establecer una red de las
mismas con el fin de que el estudiante pueda practicar los conceptos acerca de
red neuronales .
♦
Construir el medio apropiado en el que se acoplaran las neuronas, con el fin
de intercomunicarlas.
♦
Fomentar la formación de grupos de investigación que aborden temas como la
inteligencia artificial a través de la construcción de un prototipo que facilite la
comprensión de todos los conceptos relacionados.
1.5. JUSTIFICACIÓN
La Universidad Autónoma del Caribe ha puesto a disposición del estudiantado;
Docentes, libros y las herramientas necesarias para el estudio, entendimiento, análisis y
desarrollo de redes neuronales.
Sin embargo, todavía se carece de algunos instrumentos, que faciliten la materialización
de los conocimientos teóricos adquiridos en áreas como las Redes Neuronales.
Además, si se observa detenidamente la temática desarrollada en los proyectos de
grado, se nota el escaso interés que se tiene por la utilización de los recursos
propuestos por la universidad en el área de robótica e inteligencia artificial; Hasta el
punto
que
nuestro
programa,
se
ha
visto
en
la
necesidad
de
aumentar
considerablemente los requerimientos necesarios para aprobar los proyectos de grado
cuyo
producto
final
sea
un
sistema
de información, pues la mayoría de los
estudiantes se inclinan por esta vía.
Debido a esto hemos querido enfocar nuestro proyecto de grado, al área de inteligencia
artificial, para aumentar la gama de equipos con los que cuenta el laboratorio de
robótica, y permitir así a los estudiantes un contacto real con circuitos inteligentes, al
tiempo que se motiva a las futuras generaciones de ingenieros de sistemas a que se
animen a utilizar al máximo todos los recursos que la universidad ha colocado a su
disposición.
Es nuestro deseo servir de ejemplo a otros para que se decidan por la inteligencia
artificial como opción de grado.
2. MARCOS DE REFERENCIA
Para la realización de este proyecto se hace necesario recopilar distintas clases de
información que permitan hallar cuales son las mejores opciones y los conceptos
vinculados tanto a la creación como al funcionamiento del un entrenador de redes
neuronales.
2.1. ANTECEDENTES CIENTÍFICOS DEL PROYECTO
Las redes neuronales en Colombia, están en etapa de investigación; Sin embargo, el
interés en estas, ha aumentado considerablemente en los últimos años.
Por medio, de un sondeo a través de la Web, se han encontrado proyectos de
universidades colombianas referentes a inteligencia artificial. En los cuales, se utilizan
conceptos de RNA. Entre estos cabe mencionar “Utilizando Inteligencia Artificial Para
La Detección De Escaneo De Puertos” 1
También se hallaron investigaciones de tipo exploratorio basadas en RNA:
•
“Definiciones de redes neuronales y aprendizaje supervisado (usando temple
simulado).2
•
“Comparación de la aplicación de métodos de primer y segundo orden para el
aprendizaje de redes neuronales”3
1
AMADOR, Soler. ARBOLEDA, Andrés. BEDON, Charles. Universidad del Cauca. 2006
PAZMIÑO, Catherine. HEREDIA, Lorena. RAMOS, Rosalyn. 2005.
3
Ph. Dr. RIBEIRO, Ricardo Gudwin, Ing. LINERO, Suárez, Lic. SÁNCHEZ, José Antonio
Guerrero.
2
No obstante, el proyecto más cercano al que se quiere desarrollar se titula
“Entrenamiento de una red neuronal utilizando algoritmos genéticos”4
En el caso de la Universidad Autónoma del Caribe los proyectos desarrollados en el
área de inteligencia artificial que están registrados en la base de datos, en su mayoría
son sistemas expertos basados en conocimiento. Proyectos cuyo objetivo sea la
implementación de algún tipo de red neuronal, no se encontraron.
Luego de analizar los distintos proyectos hallados; Se notó, que la implementación de
las Redes Neuronales Artificiales es lógica (software). Este proyecto además del
software propone la construcción física (circuito entrenador) de una red neuronal
artificial.
Debido a esto se quiso indagar acerca de circuitos entrenadores existentes y se han
encontrado proyectos que contemplen la elaboración de circuitos entrenadores en
entornos PIC’S. Pero, nadan tienen que ver con las RNA:
•
“Equipamiento
Programables”
•
4
Experimental:
Entrenador
Para
Circuitos
Controladores
5
“Entrenador para Circuitos Lógicos y de Control con Aplicaciones”
6
MÉNDEZ, Ricardo Rodríguez. Universitario Autónomo del Sur. Montevideo. Argentina. 2004.
Este proyecto fue aplicado a un proyecto específico, cuya realización tuvo lugar en ese mismo
lugar.
5
ZARECHT, Julio Ortega. CLERICUS, Pedro Rey. MUÑOZ, Luis Jaramillo. Universidad
Austral de Chile.
6
Hamilton Institute.
•
Finalmente en esta categoría de proyectos, se descubrió un entrenador que consta
de una interfaz grafica titulado: “Interfaz gráfica para el circuito entrenador de
microelectrónica” 7
Así mismo, en el área de la enseñanza, se consiguieron entrenadores destinados a la
práctica de diferentes conceptos electrónicos (Ninguno basado en RNA):
•
Entrenador Con 300 Practicas Electrónica Cebekit.8
•
Entrenador Con 150 Practicas Electrónica Cebekit.9
•
Entrenador 75 Prácticas Electrónica Estudio Grabación Digital. 10
•
“Entrenador 10 Prácticas Electrónica Elemental Cebek”. 1112
Por ultimo; Se podría decir, que todos los circuitos artificialmente inteligentes, deben ser
entrenados. Pero este entrenamiento es específico. Este depende de la finalidad de
cada proyecto. Este proyecto tiene como una de sus metas sentar las bases para
entrenamiento y ejecución de redes neuronales, por medio de un circuito entrenador.
7
RAMÍREZ, Tomas. Escuela Técnica Superior de Ingenieros Industriales. 1998.
Uno de los más completos laboratorios de prácticas de electrónica del mercado, que ofrece la
posibilidad de realizar 300 prácticas de un nivel medio/alto.
9
130 experimentos de electrónica de nivel medio para empezar a familiarizarse con los montajes
y desarrollos TTL, con las puertas NOR, AND, OR y NAND.
10
Consta de 75 prácticas muy didácticas para experimentar desde la tecnología electrónica más
básica hasta voz digital y grabación de sonidos.
11
Mini laboratorio para realizar 10 experimentos de nivel muy elemental con un auricular y una
lámpara de fijación.
12
Tomados de: http://www.electan.com/catalog/kits-educativos-cebek-entrenadores-electronicac-320_315.html. 8 de octubre de 2007.
8
2.2. MARCO TEÓRICO
El hombre ha conseguido descifrar muchas de las leyes que rigen el universo, de igual
manera ha logrado reproducir algunos de los modelos biológicos encontrados dentro
del, ejemplo de esto es el radar que tuvo su origen en el sonar, pieza clave en el
sistema de navegación de los murciélagos o el helicóptero inspirado en el vuelo del
colibrí.
En este afán de clonar las funciones biológicas se han dedicado a imitar el
funcionamiento de los diferentes órganos de cuerpo, de hecho existen riñones
artificiales y válvulas especializadas para mejorar el funcionamiento de un corazón en
mal estado. El próximo paso que el hombre decidió dar es la reproducción del
pensamiento humano lo que hasta hace muchos años, representaba un gran obstáculo
para la ciencia.
Sin embargo hace unas décadas, el hombre ha logrado entender las bases del
funcionamiento del cerebro humano, generando teorías y formulas que le han permitido
simular rústicamente el funcionamiento neuronal.
Es así como tienen origen las redes neuronales pieza clave para el desarrollo de esta
investigación.
2.2.1. INTRODUCCIÓN A LAS REDES NEURONALES
Las redes neuronales artificiales RNA surgen en el intento de reproducir la forma de
procesamiento
de
información
en
el
Sistema
Nervioso
Humano
y
algunas
funcionalidades de este. En especial se busca imitar el hecho de que el cerebro
humano puede realizar muchas operaciones simultáneamente (paralelismo) lo que es
una gran ventaja frente a la secuencialidad de los computadores convencionales13.
Se hace necesario para entender mejor los lineamentos que rigen una RNA y los
elementos que la conforman estudiar aunque, de manera muy somera, estos mismos
aspectos del sistema nervioso humano al cual en este documento se denominará Red
Neuronal Biológica (RNB).
2.2.2. REDES NEURONALES BIOLÓGICAS
Si se quiere conceptuar este termino, podría decirse que una RNB es el conjunto de
los elementos que en los organismos animales se relacionan con la recepción de los
estímulos y la transmisión de los impulsos nerviosos”14.
2.2.2.1. COMPOSICIÓN DE LAS REDES NEURONALES BIOLÓGICAS
Las RNB tienen como elemento principal las células nerviosas, las cuales son
conocidas también como neuronas; De hecho se estima que en cada milímetro del
cerebro hay cerca de 50.0000 neuronas15.
13
Adaptado de http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf pagina Web
vigente al 11-05-07
14
Adaptado de Biblioteca de Consulta Microsoft ® Encarta ® 2005. ©
http://www.ilustrados.com/publicaciones/EpylElpAZuyzPaNKYx.php, página Web vigente al 23 de
marzo 2007.
15
El tamaño y la forma de una neurona es variable; las hay bipolares y multipolares, en
forma de T, entre otras (Figura 1); pero independiente de esto, todas se subdividen en
un cuerpo celular, dentritas y un axón.
FIGURA 1: FORMA DE UNA NEURONA BIOLÓGICA16
El cuerpo celular o soma, contiene dentro de sí el núcleo y los demás orgánulos
habituales de las células; se encarga de las actividades metabólicas y de recibir la
información procedente de otras neuronas a través de las sinapsis. 17
16
http://www.iibce.edu.uy/uas/neuronas/#y, página Web vigente al 12 de marzo de 2007.
Dr. Blowin Claude-B., La salud, enciclopedia medica familiar, Circulo de lectores, Barcelona, 1982,
Pág. 89.
17
FIGURA 2: COMPONENTES DE UNA NEURONA BIOLÓGICA18
Las dentritas comienzan en el soma y son prolongaciones o ramificaciones cortas y
muy finas. Ellas, reciben las señales de las otras neuronas a través de las
terminaciones sinápticas o botones sinápticos de los axones. De lo anterior, podría
decirse que las dentritas son las conexiones de entrada de las neuronas.
El axón por su parte es una ramificación mucho más gruesa que las dentritas y también
mas larga, de hecho existen axones que pueden medir varios metros19. El axón tiene la
función de transmitir señales electroquímicas hacia otras neuronas. Los axones más
largos están a menudo recubiertos con una capa de mielina, la cual sirve para algo
similar al aislamiento de los cables eléctricos.
18
Tomado de Biblioteca de Consulta Microsoft ® Encarta ® 2005. ©
Dr. Blowin Claude-B., La salud, enciclopedia medica familiar, Circulo de lectores, Barcelona, 1982,
Pág. 89.
19
2.2.2.2. DESCRIPCIÓN DEL PROCESO SINÁPTICO
La sinapsis es el proceso mediante el cual las neuronas se interconectan para transmitir
señales. Estas señales se codifican como una serie de breves pulsos periódicos o
potenciales de acción, que tienen su origen en el soma y se propagan a través del axón
con destino a otra neurona.20
Durante la sinapsis, entre la terminación del axón y la dendrita de la siguiente neurona
hay un pequeño espacio llamado salto sináptico.
Cuando el axón de la célula pre-sináptica (quien genera el impulso), se encuentra cerca
de la célula destino (post-sináptica), este se ramifica en fibras conocidas como botones
sinápticos. Es en este punto donde la señal electroquímica que ha recorrido la longitud
del axón se convierte en un mensaje químico que viaja hasta la siguiente neurona. De
esta forma; “Los potenciales de acción producidos por el soma de la neurona presináptica, llegan a los botones sinápticos (figura 3). Allí, estos hacen que las vesículas
sinápticas (en azul) se rompan, liberándose así una sustancia llamada neurotransmisor.
La cual, se difunde a través del salto sináptico. Siendo captada por las dentritas de la
neurona pre-sináptica” 21
20
http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf página Web vigente al 11
de mayo de 2007.
21
Adaptado de http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf, pagina web
vigente al 6 de agosto de 2007.
FIGURA 3: DESCRIPCIÓN DEL PROCESO SINÁPTICO22
Las dentritas pasan las señales captadas al soma donde de acuerdo a la cantidad de
neurotransmisor absorbido, se eleva o disminuye el potencial eléctrico de este. Esto se
define mediante la sumatoria de las señales captadas por las dentritas si estas alcanzan
un cierto umbral se disparan uno o más impulsos que se propagaran a lo largo del axón.
Si los neurotransmisores elevan el potencial de la neurona se dice que la célula se
excito y si lo disminuyen se dice que se inhibió. Para cada neurona, hay entre 1000 y
10.000 sinapsis. 23
Es de la manera anteriormente descrita como se va transmitiendo la información y es
procesada a través de las conexiones sinápticas. El aprendizaje se produce entonces
mediante la variación de la efectividad de la sinapsis, esto es la facultad de las sinapsis
de inhibir o excitar a una neurona, cambiando así la influencia que tienen unas
neuronas sobre otras. El aprendizaje es definido entonces como la generación o
anulación de conexiones entre neuronas.
“La sinapsis se clasifica según el área de contacto de la neurona receptora en tres tipos:
•
22
axo-somática; unión entre el axón y el soma.
http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf pagina web vigente al 6
de agosto de 2007.
23
http://www.iibce.edu.uy/uas/neuronas/#y, página Web vigente al 12 de marzo de 2007.
•
axo-dendrítica; unión entre el axón y las dentritas.
•
axo-axónica; unión entre los axones.”24
2.2.2.3. TIPOS DE NEURONAS
Se dijo que las neuronas pueden ser físicamente de varios tipos pero adicionalmente se
pueden clasificar en tres grupos de acuerdo con su función:
2.2.2.3.1. LAS NEURONAS SENSORIALES
Estas son sensibles a estímulos no neuronales. Se encuentran localizadas en la piel,
los músculos, articulaciones, y órganos internos e indican presión, temperatura y dolor.
También hay neuronas sensoriales en la nariz y la lengua, estas son más
especializadas y sensibles a las formas moleculares como sabores y olores. Este tipo
de neuronas está ubicadas también en el oído interno y la retina; nos informan acerca
del sonido y nos permiten ver respectivamente. 25
2.2.2.3.2. LAS NEURONAS MOTORAS
Son las que producen estímulos en las células musculares de todos los órganos del
cuerpo, por ejemplo los músculos del corazón, intestinos, vejiga, y glándulas. 26
24
http://ohm.utp.edu.co/paginas/docencia/neuronales/Capitulo1/RNBiologica.htm, página Web
vigente al 11de mayo de 2007.
25
http://www.iibce.edu.uy/uas/neuronas/#y, página Web vigente al 12 de marzo de 2007.
26
http://www.iibce.edu.uy/uas/neuronas/#y, página Web vigente al 12 de marzo de 2007.
2.2.2.3.3. LAS INTERNEURONAS
Interconectan las neuronas sensoriales, las motoras e inclusive a ellas mismas. Las
neuronas del sistema nervioso central, incluyendo el cerebro (neuronas), son todas
interneuronas. 27
2.2.3. REDES NEURONALES ARTIFICIALES (RNA)
Las redes neuronales artificiales son estructuras de hardware y software programados
para que simulen el comportamiento normal de las neuronas biológicas presentes en
los seres vivos. Estas estructuras basan su diseño y comportamiento en dos principios
de las neuronas biológicas:
•
“El impulso que entra a una neurona por medio de la sinapsis no es el mismo que
sale. El tipo depende de la efectividad de la sinapsis, la cual es modificada mediante el
aprendizaje, reforzando o debilitando el impulso.
•
En el soma se suman las entradas de todas las dentritas. Si estas sobrepasan un
umbral se transmite un impulso sino, no se transmite nada. Después de transmitir un
impuso la neurona no puede transmitir durante un tiempo de 0,5ms a 2ms, lo que se
conoce como periodo refractario.” 28
2.2.3.1. HISTORIA DE LAS REDES NEURONALES ARTIFICIALES
Contrario a lo que podría pensarse las simulaciones e investigaciones en redes
neuronales no son temas recientes. Por el contrario, su desarrollo se ha dado a la par
27
http://www.iibce.edu.uy/uas/neuronas/#y, página Web vigente al 12 de marzo de 2007.
Adaptado de http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf, pagina web
vigente al 6 de agosto de 2007.
28
con la evolución de los sistemas de cómputo, siendo el clímax el periodo en el que las
simulaciones por computador fueron factibles por capacidad de procesamiento y bajo
costo.
En sus inicios las redes neuronales provocaron gran entusiasmo en los investigadores,
algún tiempo después muchos se desanimaron gracias a las teorías de Marvin Minsky y
Seymour Papert, quienes eran considerados autoridades en el tema de redes
neuronales, publicadas en “Perceptrons”, libro en el cual descalificaban altamente a
este tipo de redes, aun así, aunque muy pocos, los investigadores siguieron su camino
y lograron hacer grandes avances, sobrepasando las limitaciones postuladas.
Actualmente, ha resurgido el interés y la financiación de las investigaciones ha
aumentado. Si se quisiera hacer un recuento de la historia de las redes neuronales
podría dividirse de la siguiente forma:
2.2.3.1.1. INICIOS CON REDES NEURONALES
En este periodo se realizaron algunas simulaciones usando lógica formal. McCulloch y
Pitts en 1943, hicieron uso de su conocimiento en neurología para desarrollar modelos
de redes neuronales. Sus redes se componían de neuronas simples; dispositivos
binarios con umbrales fijos. Los resultados de sus modelos fueron funciones lógicas
elementales. 29
“En 1949, el fisiólogo Donald Hebb, dio conocer la conocida regla de aprendizaje en la
que aseguro que la activación repetida de una neurona por otra a través de la sinapsis
29
Adaptado de http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html, Pagina Web vigente al
10 de junio de 2007.
aumenta su conductividad, y la hace más propensa a ser activada sucesivamente,
induciendo la formación de un circuito de neuronas estrechamente conectadas entre sí.
En 1951, Minsky y Edmons, montaron la primera maquina basada en redes neuronales
“Sharc”, Sharc constaba de 300 tubos al vació y un piloto automático de un bombardero
B-24, articulados en una red de 40 neuronas artificiales que buscaban simular el
cerebro de una rata atrapada en un laberinto, la idea era que cada neurona
representaba una posición en el laberinto y la decisión entre derecha o izquierda, es
decir la ruta a seguir, estaba dada por la fuerza de sus conexiones y era realizada por el
piloto, pronto este invento fue desechado pues se concluyo que no era inteligencia ya
que, la red no ideaba ningún plan.”30
Por su lado Farley y Clark en 1954 y Rochester, Holland, Haibit y Duda en 1956; lo
intentaron usando simulaciones computacionales.
2.2.3.1.2. ACOGIDA Y CRECIENTE INVESTIGACIÓN
Para este entonces no solo la neurología influía en el desarrollo de las redes
neuronales, ya los físicos y los ingenieros hacían sus contribuciones para el progreso
de las simulaciones de redes neuronales. En el año 1958, Frank Rosenblatt avivo el
interés y la actividad en esta área cuando diseñó y desarrollo una red neuronal a la que
llamo “Perceptron”. Esta tenia tres capas y hacia uso de la regla de aprendizaje
publicada por Hebb. Este sistema pudo aprender a conectar y asociar unas entradas
dadas a una unidad de salida aleatoria.
30
Adaptado de http://jkharlos.wordpress.com/2007/09/03/redes-neuronales-artificiales/
Widrow y Hoff desarrollaron en 1960 otro sistema basado en el perceptron de
Rosenbalt; El ADALINE (ADAptive LInear Element). El ADALINE fue un dispositivo
electrónico analógico hecho de componentes simples, en él la adaptación de los pesos
se realiza teniendo en cuenta la diferencia de la salida deseada con la dada por la red
(error), tal como en el perceptron, pero el método de aprendizaje utilizado era diferente.
31
2.2.3.1.3. EL DESPRESTIGIO Y ESTANCAMIENTO
En 1969 Minsky y Papert escribieron un libro en el cual ellos generalizaban las
limitaciones de un Perceptron monocapa a sistemas multicapa. En el libro ellos decían:
"...nuestro intuitivo juicio es que la extensión (a sistemas multicapa) es una tarea
estéril". Todo lo anterior tuvo como resultado la eliminación de la financiación para los
investigadores que trabajaban con simulaciones de redes neuronales. Perjudicando así
las investigaciones en este campo pues la mayoría de los investigadores se apartaron
del tema. 32
2.2.3.1.4. NUEVOS HORIZONTES
A pesar del oscuro panorama que enfrentaban las redes neuronales como tema de
investigación, algunos valientes investigadores continuaron trabajando en el desarrollo
de métodos computacionales basados en neuromorfología para problemas de
31
Adaptado de http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html, Pagina Web vigente al
10 de junio de 2007.
32
Adaptado de http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html, Pagina Web vigente al
10 de junio de 2007.
identificación de patrones. Durante este periodo nuevos paradigmas fueron generados,
los cuales aun continúan vigentes;
•
Los desarrolladores de la ART Teoría de la resonancia adaptativa, (Adaptive
Resonance Theory); Steve Grossberg y Gail Carpenter.
•
Anderson y Kohonen quienes en 1982 desarrollaron técnicas para aprendizaje
asociativo, consistente en neuronas que sumaban sus entradas.
•
John Hopfield quien en 1982, presentó ante la Academia Nacional de las
Ciencias una red descrita con Claridad y rigor matemático la cual era una variación del
Asociador Lineal. En el mismo año Paul Werbos desarrolló y usó el método de
aprendizaje conocido como Backpropagation, destacando que es actualmente la
arquitectura de red neuronal mejor conocida y más utilizada en las aplicaciones de
redes neuronales. 33
2.2.3.1.5. EL DESPERTAR Y LA SITUACIÓN ACTUAL
Durante el final de la década de los 70s y principios de los 80s, fue importante el
resurgimiento del interés en el campo de las redes neuronales. Siendo este movimiento
altamente influenciado por factores como la aparición de libros y conferencias que
dieron a conocer las ventajas de esta técnica a personas de diferentes áreas, la
introducción de cursos en los programas académicos de las principales universidades
europeas y americanas y el financiamiento a proyectos de investigación en redes
33
Adaptado de http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html, Pagina Web vigente al
10 de junio de 2007.
neuronales en Europa, EUA y Japón que han hecho que aparezcan una gran variedad
de aplicaciones comerciales e industriales.34
2.2.3.1.6. ESTADO ACTUAL DE LAS REDES NEURONALES ARTIFICIALES
La IA esta aun muy lejana a la inteligencia animal; por ejemplo la máquina más
“inteligente”, no tiene la capacidad de un niño de 3 años y mucho menos el sentido
común de un adulto. Sin embargo, se han hecho grandes avances en este campo en
menos de un siglo, o por lo menos lo suficientes como para generar las financiaciones
de investigaciones.
Se encuentran comercialmente circuitos integrados basados en RNAs y las aplicaciones
desarrolladas resuelven problemas cada vez más complejos. Sin lugar a dudas, hoy es
un periodo de transición y fuerte evolución para la tecnología en redes neuronales. 35
2.2.3.2. ELEMENTOS DE UNA RED NEURONAL ARTIFICIAL
Las redes neuronales artificiales han sido creadas para imitar o igualar el
funcionamiento del cerebro humano, en este sentido y a pesar de que las RNA no
alcanzan la complejidad del cerebro, existen ciertos aspectos similares, de hecho se
han definido términos que hacen referencia a fenómenos que ocurren en el cerebro
durante el funcionamiento normal de una RNB.
34
Dichos términos se explican a
Tomado de http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html, Pagina Web vigente al
10 de junio de 2007.
35
Adaptado de http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html, Pagina Web vigente al
10 de junio de 2007.
continuación puesto que son la base de todas las teorías formuladas y adelantos
alcanzados en este campo.
2.2.3.2.1.
CARACTERÍSTICAS
PRINCIPALES
DE
LAS
NEURONAS
ARTIFICIALES
Como se anuncio las características principales de las neuronas artificiales, fueron
captadas a través de los estudios realizados a las neuronas biológicas; su
comportamiento y funcionamiento fueron adaptados a las neuronas artificiales, pues el
único fin de estas ultimas es simular a las neuronas biológicas. Una vez mencionado lo
anterior se puede decir que las neuroredes tienen entre sus características:
•
Adquirir conocimientos de las experiencias e irlo almacenando en el peso de las
conexiones entre neuronas.
•
Tienen alta plasticidad y adaptabilidad, esto es, capacidad del sistema nervioso
de remodelar los contactos entre neuronas y la eficiencia de las sinapsis. La plasticidad
puede explicar la capacidad de aprendizaje.
•
Son tolerantes ante los fallos, pueden sufrir daños considerables y continuar con
un buen desempeño.
•
Son masivamente paralelas; el procesamiento de la información es realizado por
un número elevado de unidades procesadoras (neuronas), cada una de la cual realiza
un tipo de procesamiento simple.
•
Son un sistema distribuido, puesto que la información no es almacenada en un
solo ente sino a través de las conexiones entre neuronas.
2.2.3.2.2. LA NEURONA ARTIFICIAL
Siendo una red de neuronas, el principal elemento de estas es precisamente la
neurona. Ahora bien en cuanto a RNA, existen varias formas de llamar a una neurona
artificial; unidad de procesamiento, neuronodo, nodo, ente otros. En este documento la
llamaremos simplemente nodo.
Un nodo no es más que un artefacto electrónico creado para emular el funcionamiento
de una neurona biológica, de manera que cada nodo (nodo) tendrá, en lo posible, las
mismas características fisiológicas y funcionales de las neuronas biológicas. (Figura 4)
FIGURA 4: COMPARACIÓN DE UNA NEURONA ARTIFICIAL Y UNA BIOLÓGICA (COMPLETAR)[36] [37]
Al igual que en el cerebro, los nodos captan señales del exterior y producen una única
salida hacia sus neuronas vecinas (una o más) luego de la realización de un calculo
interno, es decir que los neuronodos también sinaptan. En el nodo podemos identificar
los siguientes elementos; básicos en su composición. (Figura 5).
36
CIDISI. Redes Neuronales y sus aplicaciones. Facultad regional santa fe. Universidad tecnológica
nacional. Argentina. 2007.
37
http://www.inf.unitru.edu.pe/~giia/trabajos/rnonline1.pdf
FIGURA 5: ELEMENTOS BÁSICOS DE UNA NEURONA BIOLÓGICA)38
•
“Un conjunto de conexiones, cada una de las cuales esta caracterizada por un
coeficiente o peso. Estas conexiones, con su peso asociado, modelan el contacto entre
neuronas.
•
Una función de red o de propagación; la cual calcula la entrada combinada total
de todas las conexiones de entrada
•
Un núcleo central de procesamiento que se encarga de aplicar la función de
activación, la cual suele ser una función umbral
•
La salida que es por donde se transmite el valor de activación a las demás
neuronas.”[39] [40]
38
http://www.iim.umich.mx/publica/bajar/BARRERA/Articulo%204.pdf pagina Web vigente el 10 de
marzo de 2007
39
Adaptado de http://www.iim.umich.mx/publica/bajar/BARRERA/Articulo%204.pdf pagina Web
vigente el 10 de marzo de 2007
40
Adaptado de http://es.tldp.org/Presentaciones/200304curso-glisa/redes_neuronales/curso-glisaredes_neuronales-html/c14.html pagina Web vigente el 10 de marzo de 2007
2.2.3.2.3. FUNCIONES EN EL MODELO DE NEURONA ARTIFICIAL
Una neurona recibe las entradas de sus vecinas mediante un proceso electroquímico y
entrega una salida de acuerdo a la cual se sigue propagando o no un impulso hacia las
neuronas vecinas. Ahora bien para modelar este comportamiento se han definido una
serie de funciones complementarias, puesto que usan como parámetros los resultados
de las otras por ello se describe de manera mas especifica las funciones que participan
en una RNA.
•
Función de propagación (Netj)
Equivale a la combinación de las señales excitadoras e inhibidoras. En términos
matemáticos, es generalmente la suma ponderada de todas las entradas recibidas, es
decir, se suma cada entrada multiplicada por el peso correspondiente. Este valor se
conoce como potencial post-sináptico o sináptico. Ecuación 1.
Netj = ∑ (wij ⋅ yi (t ) )
Ecuación 1. Función de propagación41
•
Función de activación (F)
Combina el potencial sináptico arrojado por la función de propagación, con el estado
actual de la neurona para conseguir el futuro estado o nivel de activación [aj(t)] de la
misma (Ecuación 2). Existen varias clases de funciones de activación lineales, de
escalón o signoidales, las cuales se muestran en la figura 6.
aj (t + 1) = F (aj (t ), Netj )
Ecuación 2. Función de activación42
41
Tomado de http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/la-neuronaartificial-como-simil-de-la-neurona-biologica.htm pagina web vigente al 10 de junio de 2007
FIGURA 6: TIPOS DE FUNCIONES ACTIVACIÓN, DE IZQUIERDA A DERECHA ESCALÓN Y
43
SIGMOIDEA
•
Función de salida (Yj)
Convierte el estado de activación de la neurona en la salida de la misma hacia la
siguiente neurona. En algunos modelos esta función es la función identidad es decir que
la salida generada es el mismo nivel de activación. Ecuación 3. ver Anexo 12.
fj (aj (t )) = aj (t )
Ecuación 3. Función de salida44
42
http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/la-neurona-artificial-comosimil-de-la-neurona-biologica.htm pagina web vigente al 10 de junio de 2007
43
http://es.tldp.org/Presentaciones/200304curso-glisa/redes_neuronales/curso-glisaredes_neuronales.pdf pagina web vigente al 15 de marzo de 2007
44
http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/la-neurona-artificial-comosimil-de-la-neurona-biologica.htm pagina web vigente al 10 de junio de 2007
2.2.3.3. ESTRUCTURA DE LAS REDES NEURONALES ARTIFICIALES
Las neuronas reciben información del exterior la procesan y la transmiten a sus vecinas,
según esto es entendible que las neuronas puedan organizarse según la función que
cumplen dando como resultado varias capas en una RNA.
•
Capa de entrada
Estas neuronas reciben la información procedente de cada sinapsis para ser procesada.
•
Capa de salida
Recibe la información procedente de la capa oculta y la envía a la red. En ocasiones
realiza una parte del procesamiento.
•
Capa oculta
Las neuronas de esta capa toman la información de las neuronas de entrada, la
procesan y la entregan a las neuronas de salida. El número de estas neuronas
presentes en la red dependen del tipo de red que se quiera representar.45
FIGURA 7: CAPAS DE UNA RED NEURONAL ARTIFICIAL.46
45
Adaptado de http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/la-neuronaartificial-como-simil-de-la-neurona-biologica.htm pagina web vigente al 10 de agosto de 2007.
46
http://supervisadaextraccionrecuperacioninformacion.iespana.es/working/RedNeuronalArtificial.png
pagina web vigente al 10 de marzo de 2007.
De esta manera se tiene la red organizada según la función de sus neuronas, pero aun
no se ha descrito la manera como sus nodos se interconectan formando diversas
estructuras, en relación a esto también se puede clasificar las neuronas en tres tipos
diferentes de acuerdo a como la información fluye en la red neuronal.
•
Redes con conexiones hacia delante
En este tipo de redes cada neurona de una capa se interconecta con todas las
neuronas de la capa siguiente (unión 1-n). La clave en estas redes es que ninguna de
las salidas de la neurona de una capa es entrada de otra neurona de la misma capa.
De esta forma se asegura el fluido de la información únicamente hacia delante (feedforward). Figura 8.
FIGURA 8: RED FEED-FORWARD47
•
Redes con conexiones hacia atrás
Para este tipo de redes las conexiones también se dan desde una neurona de una capa
hacia todas las neuronas de la capa siguiente, la diferencia radica en que en estas si
esta permitida la conexión entre neuronas de la misma capa e incluso con las de los
47
http://logicalgenetics.com/assorted/recurrent-nns/feedforward-small.jpg. Pagina web vigente al 10
de mayo de 2007.
niveles anteriores (n-n). Se hace obvio el hecho de que estas neuronas deben tener por
lo menos dos capas. Figura 9.
FIGURA 9: RED FEED-BACK48
•
Redes con conexiones lineales
En este caso las conexiones se dan entre dos neuronas de diferentes capas (1-1).
Figura 10. Este modelo se usa cuando la capa de entrada es algún dispositivo lector,
display, switch.
FIGURA 10: RED CON CONEXIONES LINEALES49
48
http://www.monografias.com/trabajos38/redes-neuronales/Image10688.gif. Pagina web vigente al
10 de mayo de 2007.
49
http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/clasificacion-de-redesneuronales-respecto-al-aprendizaje.htm. Pagina web vigente al 10 de marzo de 2007.
2.2.3.4. CLASIFICACIÓN DE LAS REDES NEURONALES ARTIFICIALES
Al momento de estudiar una RNA se pueden apreiar aspectos características para
distinguir un modelo de otro; en base a esos aspectos se puede efectuar una
clasificación; Puesto que el conjunto de estos aspectos constituyen el modelo.
2.2.3.4.1. TIPOS DE REDES DE ACUERDO CON LAS SEÑALES QUE RECIBE
Para que se efectúe el entrenamiento, la red debe recibir un conjunto de información, de
l naturaleza de esta información depende el procesamiento y la salida arrojada. De
acuerdo con el tipo de entrada que admite una RNA se puede clasificar en tres grupos;
•
Redes analógicas o continuas
Los datos de entrada son valores reales continuos, acotado generalmente, por los
intervalos [-1,1] o [0,1]. En estas redes las salidas son igualmente análogas. Usan
habitualmente una función de activación sigmoidea o lineal.
•
Redes discretas
Procesan entradas binarias y la respuesta es de la misma naturaleza. Usa una
función de activación escalonada.
•
Redes híbridas
Por su parte estas redes reciben entradas discretas y la respuesta arrojada es
binaria. Un ejemplo de este tipo de redes es el perceptron.
2.2.3.4.2. TIPOS DE REDES DE ACUERDO A LA TOPOLOGÍA
La topología de una red esta enmarcada por el número de capas que esta posea, según
este criterio las RNA pueden ser de dos tipos:
•
Redes monocapa
Estas solo poseen una capa de neuronas que emiten y reciben señales del exterior,
es decir que son a la vez entradas y salidas. En este tipo de redes es permitido
conexiones de una neurona hacia ella misma.
•
Redes multicapa
En estas redes existen al menos las capas de entrada y la salida aunque en ciertos
casos puede haber una o varias capas intermedias.
2.2.3.4.3.
TIPOS
DE
REDES
DE
ACUERDO
AL
MECANISMO
DE
APRENDIZAJE
Siendo el aprendizaje la base fundamental de los mecanismos que se dan en la
neurona, se explica pues la importancia que tiene el método de aprendizaje que se elija.
Detalles como la eficiencia y la rapidez del método son fundamentales para elegir la
técnica de aprendizaje adecuada, a continuación se describen los cuatro tipos de
aprendizaje existentes:
•
Aprendizaje supervisado
Consiste en la introducción de un conjunto de entradas a la red, a la vez, que se le
indica la salida que se espera. Un aplicativo x se encarga de la comparación de las
entradas (la obtenida y la deseada) y de acuerdo a lo obtenido, se hace una
variación en los pesos con el fin de reducir la discrepancia. Este aprendizaje suele
llevar un tiempo considerable, pero es muy exacto.
•
Aprendizaje no supervisado
En este tipo se presentan a la red una serie de entradas pero no las salidas
deseadas, por lo cual la red internamente va creando un vector de salidas, es decir
que para una entrada cualquiera las respuestas serán siempre las mismas.
•
Aprendizaje reforzado
Su principio de funcionamiento es similar al propuesto en el supervisado, pero en
este la información que se presenta a la red, es la mínima para su funcionamiento,
solo se dice si la respuesta es correcta o no. 50
Adicionalmente el aprendizaje puede dividirse según el periodo donde se lleve a cabo el
aprendizaje en:
•
Redes on-line
Pueden adquirir nuevos conocimientos cuando se desee. Trabajan en tiempo real.
•
Redes off-line
Solo puede adquirir conocimiento durante el aprendizaje. No aprenden en tiempo
real.
2.2.3.5. EJEMPLOS DE REDES NEURONALES ARTIFICIALES
Se menciono la popularidad que las redes neuronales han ganado en el periodo actual,
por lo cual se ha logrado avanzar en torno al desarrollo de nuevas teorías y de nuevas
investigaciones, sin embargo aun en la actualidad sigue haciéndose uso de modelos
propuestos hace décadas y que en su momento sentaron las bases –y continúan
haciéndolo- para las redes neuronales.
50
http://www.redes-neuronale.netfirms.com/tutorial-redes-neuronales/clasificcion-de-redesneuronales-respecto-al-aprendizaje.htm
2.2.3.5.1. EL PERCEPTRON
Fue el primer modelo de RNA desarrollado (1958), fue hecho con base a la regla de
aprendizaje de Hebb. Tan pronto como Rosenbalt saco a la luz al perceptron, se
produjo en la comunidad científica un gran interés, de hecho se hicieron estudios con
redes de todos los tamaños, pero el único resultado favorable fue arrojado por el
perceptron de una capa, en la actualidad se consideran sinónimos RNA de una capa y
perceptron.
En la figura 11 se hace descripción del modelo de una neurona artificial, en donde el
soma se representa como un sumador de los estímulos externos zj, seguida de un
función no lineal yj = f(zj), en donde f(zj) es la función de activación.51
FIGURA 11: NEURONA ARTIFICIAL52
51
Adaptado de www.electronica.com.mx/neural/information/perceptron.html pagina web vigente al 5
de mayo de 2007.
52
http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina2.gif pagina web vigente al 5 de mayo de
2007.
La efectividad de la sinapsis, aquí esta dada por los pesos asignado para cada
interconexión, desde la neurona i hasta la j. en el perceptron cada entrada se multiplica
por el peso de la conexión, los resultados se suman y se comparan con un valor umbral,
el cual si es sobrepasado, se dice que la neurona se activo.
2.2.3.5.1.1. ARQUITECTURA DEL PERCEPTRON
El perceptron es una red de dos capas de neuronas, la primera se encarga de recibir las
señales y la segunda realiza todo el procesamiento. Existen autores quienes afirman
que la capa de entrada en los perceptrones, no es en si misma capa puesto que solo
recepciona las señales. En el perceptron las capas se conectan entre si con conexiones
completas, esto es, cada neurona de una capa esta conectada con todas las del
siguiente nivel.
FIGURA 12: PERCEPTRON53
53
http://es.wikipedia.org/wiki/Red_neuronal_artificial pagina web vigente al 5 de abril de 2007.
2.2.3.5.1.2. APRENDIZAJE DEL PERCEPTRON
El algoritmo de aprendizaje del perceptron es de tipo no supervisado. Para entender de
mejor manera el funcionamiento del perceptron, se han descrito a continuación los
pasos necesarios para que una red de tipo perceptron aprenda:
1. Se inicializan los pesos y el umbral.
2. Se entrega a la red un par de (entrada, salida esperada)
3. Se calcula la salida actual.
4. Si salida obtenida > 0, entonces se calcula el error
5. Adaptación de los pesos.
6. Se vuelve al paso uno.54
2.2.3.5.1.3. LIMITANTES DEL PERCEPTRON
El perceptron tiene solo una capa de entrada y otra de salida, lo cual no le permite
representar patrones complejos, de hecho solo puede hacerlo con patrones separables
en el plano, lo cual se conoce como separabilidad lineal.
Como respuesta a este
inconveniente, se le agrego una capa mas la oculta, y una neurona mas para salida.
2.2.3.5.2. LA BACKPROPAGATION
“Backpropagation es un tipo de red de aprendizaje supervisado, que emplea un ciclo
propagación – adaptación de dos fases. Una vez que se ha aplicado un patrón a la
entrada de la red como estímulo, este se propaga desde la primera capa a través de las
54
Tomado de http://www.redes-neuronales.netfirms.com/tutorial-redes-neuronales/la-neuronaartificial-como-simil-de-la-neurona-biologica.htm pagina web vigente al 10 de junio de 2007
capas superiores de la red, hasta generar una salida. La señal de salida se compara
con la salida deseada y se calcula una señal de error para cada una de las salidas.
Las salidas de error se propagan hacia atrás, partiendo de la capa de salida, hacia
todas las neuronas de la capa oculta que contribuyen directamente a la salida. Sin
embargo las neuronas de la capa oculta solo reciben una fracción de la señal total del
error, basándose aproximadamente en la contribución relativa que haya aportado cada
neurona a la salida original. Este proceso se repite, capa por capa, hasta que todas las
neuronas de la red hayan recibido una señal de error que describa su contribución
relativa al error total. Basándose en la señal de error percibida, se actualizan los pesos
de conexión de cada neurona, para hacer que la red converja hacia un estado que
permita clasificar correctamente todos los patrones de entrenamiento”55.
FIGURA 13: BACKPROPAGATION56
55
Tomado de ttp://ohm.utp.edu.co/paginas/docencia/neuronales/Capitulo2/Backpropagation/
AntecedentesB.htm 1 mayo de 2007
56
http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina3.gif pagina web vigente al 5 de mayo de
2007.
2.2.3.5.3. EL MODELO HOPFIELD
Este modelo ha sido el responsable de la mayoría de los avances en la investigación
acerca de redes neuronales, puesto que esta construido con tan alto grado de
simplificación que se hace sencillo extraer las características importantes del sistema.
El modelo propuesto por Hopfield inicialmente era monocapa con n neuronas las
cuales, tenían valores de entrada y salida binarios y funciones de activación
escalonadas. Posteriormente se presento un modelo continuo que usaba funciones de
activación sigmodales.
Las redes basadas en el modelo de Hopfield, son redes de adaptación probabilística,
recurrentes. Su arquitectura tiene solo una capa pero posee interconexión total, la regla
de aprendizaje es el no supervisado.
Contrario a lo definido para las redes recurrentes, Hopfield brinda estabilidad, pues J.
Hopfield, su creador, sentó las bases para que una red que pudiera operar con memoria
autoasociativa, es decir almacenar la información y luego poder recuperarla aunque
halla sufrido deterioro. 57
2.2.3.5.3.1. CARACTERISTICAS DE HOPFIELD
Consiste en un conjunto n de nodos interconectados entre si, que actualizan sus valores
de manera asíncrona e independiente del resto de los nodos.
57
www.electronica.com.mx/neural/information/hopfield.html pagina web vigente al 2 de mayo de
2007.
Define el estado del sistema aplicando a los valores de activación, una función umbral;
si un nodo mantiene su valor de activación se dice que el elemento se estabilizo.
Dependiendo de cómo las neuronas actualicen sus salidas se dividen en paralelas y
secuenciales; en la paralela cada neurona hace la actualización simultáneamente, la
secuencial, se actualiza en cada interacción solo la salida de una neurona.
Las redes Hopfield son off-lines pues el entrenamiento y la ejecución son dos etapas
diferentes.
2.2.3.5.3.1.2. FUNCIONAMIENTO DE LAS REDES HOPFIELD
Para estas redes son diferenciables dos procesos esenciales, el primero de ellos el
proceso de entrenamiento y el segundo la ejecución; la red esta en capacidad de
almacenar en si misma toda la información que necesite durante el entrenamiento,
luego cuando se presente un estimulo, ella evolucionara hasta generar una salida que
valla de acuerdo con la entrada o la mas parecida si la entrada fue distorsionada.
El funcionamiento de una neurona en las redes Hopfield es básicamente:
•
Cada neurona recibe la entrada del exterior y envía como salida esa misma
información a sus vecinas.
•
Cada neurona recibe la información de sus vecinas y la de ella y las suma
multiplicadas por el peso correspondiente. Obteniendo la entrada neta.
•
A la entrada se le aplica la función de transferencia. Y esa es la salida en ese
instante.
•
Se repite el proceso hasta que las neuronas se estabilicen.
2.2.4. CIRCUITOS ENTRENADORES
Son herramientas, que nos facilita la comprensión y aplicación controlada,
de los
conocimientos adquiridos en las distintas áreas de la electrónica (En este caso en
especial, los conocimientos de IA).
FIGURA 15: ENTRENADOR LÓGICO CE300 CON SERVO MOTOR CE300B 58
Este, a su vez consta de varios censores receptores de información, cuya función es
la de capturar señales del medio externo al sistema, para luego procesarlas. Y cuyo
resultado es arrojado por medio de salidas tales como, pantallas, motores, luces, etc.
Entre sus ventajas se encuentra, la de permitir montar o desmontar fácilmente circuitos
electrónicos diseñados por las personas que manipulan dichos dispositivos.
El diseñador es el encargado de adaptar el modelo a la configuración del circuito
entrenador, es decir, de establecer las conexiones físicas entre éste y el
microcontrolador59.
58
http://www.control-systems-principles.co.uk/whitepapers/spanishwp/02ServoPaper2SP.pdf 20 de
agosto de 2007
2.2.5. MICROCONTROLADORES
Un microcontrolador es un dispositivo programable capaz de realizar diferentes
actividades que requieran de procesamiento de datos digitales y del control y
comunicación digital de diferentes dispositivos. 60
FIGURA 16: MICROCONTROLADOR61
“Los microcontroladores poseen una memoria interna que almacena dos tipos de datos;
las instrucciones, que corresponden al programa que se ejecuta, y los registros, es
decir, los datos que el usuario maneja, así como registros especiales para el control de
las diferentes funciones del microcontrolador.”62
De igual forma, requiere de un programa lógico, el cual busca administrar los recursos
internos del microcontrolador y realizar las funciones para las que fue programado. El
programa es almacenado en la memoria ROM del microcontrolador.
Los microcontroladores poseen principalmente una ALU, memoria de programa,
memoria de registros, y pines I/O de entrada y salida. De igual forma, requiere de un
59
http://server-die.alc.upv.es/asignaturas/LSED/2002-g03/Soft_Hard/herramientas_para_pic.pdf .
pagina web vigente al 16 de Marzo de 2007
60
http://www.alos.5u.com/indexpic877.htm pagina web vigente al 16 de Marzo de 2007
61
http://www.superrobotica.com/images/S310130.JPG. pagina web vigente al 16 de Marzo de 2007
62
http://www.superrobotica.com/images/S310130.JPG. pagina web vigente al 16 de Marzo de 2007
programa lógico, el cual busca administrar los recursos internos del microcontrolador y
realizar las funciones para las que fue programado. El programa es almacenado en la
memoria ROM del microcontrolador.
Las
aplicaciones,
están
realizadas
en
lenguaje
maquina
(assembler)
para
microcontroladores, el cual es interpretado en forma binaria.
Es necesario transferir las aplicaciones a la memoria interna del microcontrolador y para
realizar esta tarea se emplea un programador físico, que es una herramienta hardware
cuyo propósito es el de escribir el programa en la memoria interna del dispositivo63.
2.2.5.1. TIPOS DE MICROCONTROLADORES
Existen numerosas clases de microcontroladores, cada uno orientado hacia una
aplicación especifica. Se considero pertinente mencionar solo los microcontroladores
relacionados con esta investigación. El PIC 16F84.
2.2.5.1.1 PIC 16F84
Este microcontrolador es fabricado por MicroChip Tecnologies, familia a la cual se le
denomina PIC. El modelo 16F84 posee varias características que hacen a este
microcontrolador un dispositivo muy versátil, eficiente y practico, de hecho es el mas
usado en el mercado. Algunas de estas características se mencionan a continuación:
•
63
Soporta modo de comunicación serial, posee dos pines para ello.
Adaptado de: - http://www.electronicaestudio.com/microcontrolador.htm. 16 de Marzo de 2007
- http://es.wikipedia.org/wiki/Microcontrolador. 16 de Marzo de 2007
•
Amplia memoria para datos y programa.
•
Memoria reprogramable.
•
Set de instrucciones tipo RISC que aunque reducido, posee las instrucciones
necesarias para facilitar su manejo.64
•
Poseen gran documentación a nivel mundial en Internet.
•
Son baratos y fáciles de programar.
2.2.5.1.2. COMPOSICIÓN DEL PIC 16F84
El PIC 16F84, contiene dentro de sí una serie de circuitos integrados que no cabe
enunciar, estos circuitos funcionan en base a las entradas que reciben del exterior, esto
a través de unos pines incrustados cuya función se describe a continuación:
FIGURA 17: ESTRUCTURA DEL PIC 16F8465
64
http://www.monografias.com/trabajos18/descripcion-pic/descripcion-pic.shtml pagina web vigente
al 15 de mayo de 2007.
65
http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm. pagina web vigente al 23 de
octubre de 2007.
•
RA0 hasta RA4
El RA es un Puerto bidireccional, es decir puede ser configurado como entrada o
salida. El numero que sigue a RA es el numero del puerto, así que cuenta con 5 bits.
•
RB0 hasta RB7
RB es también un Puerto bidireccional igual que el RA pero la diferencia radica en
que este cuenta con 8 bits.
•
VSS y VDD
Estos puertos suministran la electricidad al PIC. VDD es la entrada positiva y VSS es
la entrada es negativa. El voltaje máximo que acepta el PIC es 6V y el mínimo 2V.
•
OSC1/CLK IN y OSC2/CLKOUT
Estos van conectados a un reloj externo al PIC. Proporcionando un timer para el
mismo.
•
MCLR
Este pin es usado para borrar las posiciones de memorias en el PIC, cuando se esta
reprogramando.
•
INT
Este pin se usa para monitorear el PIC, dependiendo del valor se puede reiniciar o
detener cualquier programa que se este ejecutando.
•
T0CK1
Este es otro reloj, pero este funciona internamente.66
66
http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm pagina web vigente al 23 de octubre
de 2007.
2.2.5.1.3. PROGRAMACIÓN DEL PIC 16F84
Cada microcontrolador tiene un programa asociado en el cual se programa en el caso
del PIC no es la excepción, este cuenta con unas instrucciones básicas que permiten
programarlo, estas son descritas a continuación al igual que las instrucciones para el
ensamblador.
2.2.5.1.3.1. SET DE INSTRUCCIONES DEL PIC 16F84
Para entender mejor cada instrucción se explica a continuación el significado de
algunos parámetros:
f: Registro al que afecta la instrucción.
W: Acumulador.
b: Número de bit.
k: constante.
d: selección de destino del resultado de la instrucción, puede ser "0" o "1", si es "0" el
resultado se guarda en el acumulador (W) y si es "1" se guarda en el registro f al que
afecta la instrucción.
2.2.5.1.3.1.1. INSTRUCCIONES ORIENTADAS A REGISTROS
•
ADDWF f,d
Suma W y el registro f, el resultado lo guarda según d (sí d=0 se guarda en W y sí
d=1 se guarda en f).
•
ANDWF f,d
Realiza la operación AND lógica entre W y f, el resultado lo guarda según d.
•
CLRF f
Borra el registro f (pone todos sus bits a cero).
•
CLRW
Borra el acumulador.
•
COMF f,d
Calcula el complementario del registro f (los bits que están a "0" los pone a "1" y
viceversa. Resultado según d.
•
DECF f,d
Decrementa f en uno (le resta uno). Resultado según d.
•
DECFSZ f,d
Decrementa f y se salta la siguiente instrucción si el resultado es cero. Resultado
según d.
•
INCF f,d
Incrementa f en uno (le suma uno). Resultado según d.
•
INCFSZ f,d
Incrementa f y se salta la siguiente instrucción si el resultado es cero (cuando se
desborda un registro vuelve al valor 00h). Resultado según d.
•
IORWF f,d
Realiza la operación lógica OR entre W y f. Resultado según d.
•
MOVF f,d
Mueve el contenido del registro f a W sí d=0 (sí d=1 lo vuelve a poner en el mismo
registro)
•
MOVWF f
mueve el valor de W a f.
•
NOP
No hace nada, solo pierde el tiempo durante un ciclo.
•
RLF f,d
Rota el registro f hacia la izquierda a través del bit CARRY.
•
RRF f,d
Lo mismo que RLF pero hacia la derecha.
•
SUBWF f,d
Resta f y W (f - W). Resultado según d.
•
SWAPF f,d
Intercambia los 4 primeros bit de f por los otros cuatro. Resultado según d.
•
XORWF f,d
Realiza la operación lógica XOR (OR exclusiva) entre W y f. Resultado según d.
2.2.5.1.3.1.2. INSTRUCCIONES ORIENTADAS A BITS
•
BCF f,b
Pone a "0" el bit b del registro f
•
BSF f,d
Pone a "1" el bit b del registro f
•
BTFSC f,b
Se salta la siguiente instrucción si el bit b del registro f es "0"
•
BTFSS f,b
Se salta la siguiente instrucción si el bit b del registro f es "1"
2.2.5.1.3.1.3. INSTRUCCIONES ORIENTADAS A CONSTANTES Y DE
CONTROL
•
ADDLW k
Le suma el valor k al acumulador (W).
•
ANDLW k
Operación lógica AND entre W y el valor k (resultado en W).
•
CALL k
Llamada a subrutina cuyo inicio esta en la dirección k
•
CLRWDT
Borra el registro Watchdog
•
GOTO k
Salta a la dirección k de programa.
•
IORLW k
Operación lógica OR entre W y el valor k (resultado en W)
•
MOVLW k
carga el acumulador con el valor k.
•
RETFIE
Instrucción para volver de la interrupción
•
RETLW k
Carga el valor k en W y vuelve de la interrupción
•
RETURN
Vuelve de una subrutina.
•
SLEEP
El PIC pasa a modo de Standby 67
2.2.6. LENGUAJES DE BAJO NIVEL
Lenguaje de programación que proporciona poca abstracción del microprocesador de
un ordenador. Este tipo de lenguajes es utilizado para la programación de drivers. Se
trabaja en líneas de instrucciones y con orientación a la maquina. 68
67
Tomado de http://perso.wanadoo.es/chyryes/tutoriales/pic6.htm Pagina web vigete al 23 de octubre
de 2007.
68
http://es.wikipedia.org/wiki/Lenguaje_de_bajo_nivel pagina web vigente al 15 de mayo de 2007.
Estos lenguajes presentan característica frente a los otros tipos de lenguajes por que se
ejecuta rápidamente y con poco uso de memoria.
El traslado desde él a lenguaje
maquina es mucho más fácil. Aunque en termino de facilidad de lectura de las
instrucciones y programación en él es considerablemente difícil; el programador debe
conocer las instrucciones. 69
Existen varios lenguajes ensambladores; lenguajes usados para generar códigos de
bajo nivel, uno de los mas usados es Assembler.70
2.2.6.1. ASSEMBLER
El término ensamblador (del inglés assembler) se refiere a un tipo de programa
informático que se encarga de traducir un fichero fuente escrito en un lenguaje
ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente
por la máquina para la que se ha generado. El propósito para el que se crearon este
tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir
directamente en código binario, que es el único código entendible por la computadora,
es en la práctica imposible. La evolución de los lenguajes de programación a partir del
lenguaje ensamblador originó también la evolución de este programa ensamblador
hacia lo que se conoce como programa compilador.
2.2.6.1.1. INSTRUCCIONES ASSEMBLER PARA PIC 16F84
69
70
http://es.wikipedia.org/wiki/Lenguaje_de_bajo_nivel pagina web vigente al 15 de mayo de 2007.
http://es.wikipedia.org/wiki/Lenguaje_ensamblador pagina web vigente al 15 de mayo de 2007.
Existen una serie de instrucciones que son para el ensamblador y hacen de
programación una tarea mucho más sencilla y sobre todo más legible.
•
EQU
A través de esta instrucción se puede colocar nombre a un registro de memoria.
(VARIABLE1 EQU 0CH).
•
#DEFINE
Similar a EQU, pero en este caso el nombre se le coloca a la instrucción entera.
(#DEFINE BANCO1 BSF STATUS,5)
•
ORG
Indica al ensamblador la dirección de memoria de programa donde se guardará la
instrucción que vaya a continuación.
•
END
Se escribe al final del programa para indicar que ya ha acabado. Si no se coloca
arrojara error.
A la hora de empezar a programar es importante tener un orden de esta forma:
•
Los EQU y los #DEFINE van al principio y luego va el programa.
•
El programa debe ser escrito en cuatro columnas separadas por tabuladores,
•
En la primera columna se ponen las etiquetas a direcciones de programa.
•
En la segunda columna se ponen las instrucciones En la tercera columna se
ponen Los registros o parámetros a los que afecta la instrucción.
•
En la cuarta columna se ponen los comentarios que creas pertinentes seguidos
de un punto y coma.71
2.2.7. TÉCNICAS PEDAGÓGICAS DE APRENDIZAJE
71
http://perso.wanadoo.es/chyryes/tutoriales/pic7.htm. pagina web vigente al 23 de octubre de 2007.
Durante mucho tiempo se pensó que el aprendizaje solo dependía de la cantidad
esfuerzo invertido en la aprehensión de conocimientos, en la actualidad de ha
establecido que existen factores externos al estudiante que mejorar o imposibilitan de
asimilación de los conocimientos.
2.2.7.1. EL APRENDIZAJE
Si bien es cierto que el ser humano, es un ser biológico; Algo que lo separa de las
demás especies terrestres, es su capacidad de adaptarse al medio hostil en el cual se
encuentra.
La base del conocimiento, ingenio e innovación humana es su capacidad para
modificar su conducta a partir de la experiencia. Que obtiene, al
interactuar con
factores extrínsecos, en un escenario externo. En pocas palabras su “capacidad de
aprendizaje”.
2.2.7.1.1. CONCEPTOS DE APRENDIZAJE
“Aunque
no
hay
una
definición
de
aprendizaje
plenamente
satisfactoria
y
absolutamente compartida por todos los especialistas, sí existe una definición que
recibe el máximo consenso, y es ésta: se entiende por aprendizaje "un cambio más o
menos permanente de conducta que se produce como resultado de la práctica" (Kimble,
1971; Beltrán, 1984) “.72
72
Jesús Beltrán, Ed. Síntesis. Madrid, 2002. Tomado de: http://www.elprisma.com/apuntes/curso.asp?
id=11846. Pagina web vigente al 1 de octubre de 2007.
En otras palabras es:”El mecanismo psicológico que mediatiza el proceso experiencia
(la adquisición de conocimiento en relación con una realidad externa)”. 73
El aprendizaje está condicionado a la experiencia. Sin esta no, podríamos sortear
situaciones parecidas a las ya vividas, de una forma satisfactoria. De esta relación
constante entre el hombre y el medio nace el conocimiento, base de nuestra ciencia
moderna.
Sin embargo, en la búsqueda de un nuevo conocimiento -más próximo a la verdadmuchas veces es necesario “desaprender lo aprendido”. Lo que significa que en el
aprendizaje, es primordial la retroalimentación y la depuración de los errores.
Los seres humanos “Somos los únicos capaces de compartir, experiencias de éxito o
fracaso y dirigir conscientemente y voluntariamente la actividad de aprendizaje”. 74
Por ejemplo: La observación de los astros permitieron a científicos como Galileo y
Copernico. Revolucionar
la ciencia de su época, al asegurar que la tierra giraba
alrededor del sol. Convirtiéndose
así, en la antitesis del sistema
geocéntrico.
Aceptado al menos durante 1000 años.
Nadie en la actualidad pone en duda al sistema heliocéntrico. Pero, tal vez en unos
años las conclusiones de Albert Einstein, serán rebatidas y darán paso a un nuevo
cuerpo del conocimiento.
73
http://medmayor.cl/apuntes/apuntes/psico/aprendizaje.ppt. Pagina web vigente al 1 de octubre de
2007.
74
www.gestiopolis.com/recursos3/docs/rh/tecapren.htm. Pagina web vigente al 1 de octubre de 2007.
2.2.7.1.2. TIPOS DE APRENDIZAJE
Existen varias formas con las cuales se logra que un ser humano aprenda. Por medio
de la utilización de estímulos que provienen del entorno donde se encuentra.
2.2.7.1.2.1. CONDICIONAMIENTO CLÁSICO
Es la asociación que surge entre dos estímulos. Cuando el primero de ellos
(condicionado) y otro que libera en el sujeto una respuesta involuntaria (estimulo
incondicionado). Se relacionan repetitivamente en un lapso de tiempo; logrando así, que
en el sujeto, el primer estimulo provoque una nueva respuesta, Semejante a la inhibida
por el estimulo incondicionado.
Es decir, que se produce una nueva asociación en el árbol del sentido común del sujeto,
por medio del aprendizaje.
Fue el neurólogo ruso Iván P. Pávlov el que desarrolló la teoría del reflejo condicionado
junto con su colega ruso Vladimir M. Bechterev.
“Pávlov, que en un principio lo denominó ‘secreción psíquica’, observó que la salivación
provocada en los perros al oler el alimento se podía producir ante un estímulo que nada
tenía que ver con comida, Pero que había sido presentado constantemente a la hora de
comer. La salivación del perro ante un pedazo de carne es un reflejo innato o
incondicionado, pero si se hace sonar una campana en el momento en que el perro
recibe la carne, después de varias ocasiones éste salivará sin necesidad de olerla.
Bastará el sonido de la campana para provocar en el animal un reflejo condicionado.
Según Pávlov, cuando se asocia el reflejo incondicionado al reflejo condicionado, éste
se refuerza. Si el estímulo no se refuerza o ejercita, el reflejo condicionado terminará
por debilitarse y desaparecer.” 75
2.2.7.1.2.2. CONDICIONAMIENTO OPERANTE
Ocurre cuando la conducta de un sujeto es inducida a seguir ciertos patrones de
comportamiento. Es decir, es premiada si es correcta (refuerzo positivo) y castigada si
es errónea (refuerzo negativo).
Este tipo de aprendizaje se basa, en la manipulación de las posibilidades que ocurra un
suceso o estimulo proveniente del entorno del sujeto. La utilización de un refuerzo
positivo logrará que el individuo repita su conducta en un futuro y al usar un refuerzo
negativo se logrará que el sujeto inhiba la conducta por la cual fue castigado.
FIGURA 18:TEORÍA DEL CONDICIONAMIENTO OPERANTE DE SKINNER76
75
76
Tomado de Biblioteca de Consulta Microsoft ® Encarta ® 2005.
Biblioteca de Consulta Microsoft ® Encarta ® 2005.
“Como se ve en la imagen, los refuerzos positivos condicionan al ratón para que
encuentre el final del laberinto. El ratón es recompensado con un alimento cuando llega
a la primera etapa (A). Una vez que este tipo de conducta se ha arraigado, el ratón no
recibe más recompensas, hasta que alcanza la segunda etapa (B). Después de varios
intentos, el ratón debe encontrar el final del laberinto para recibir su recompensa (C). La
investigación de Skinner sobre condicionamiento operante le llevó a la conclusión de
que las recompensas más simples pueden condicionar formas complejas de
comportamiento”. 77
2.2.7.1.2.3. APRENDIZAJE SOCIAL
“Es un proceso mediante el cual la conducta de un individuo de modifica como resultado
de observar, escuchar o leer sobre la conducta de un modelo. Este modelo a imitar es
valorado positivamente por el observador, en cuanto a status, prestigio. Los modelos
pueden ser reales o simbólicos.” 78
2.2.7.2.
CONCEPCIÓN PEDAGÓGICA DE UN PROCESO DE ENSEÑANZA
– APRENDIZAJE.
Para valorar las relaciones existentes entre estos conceptos se debe primero entender
los cada uno de los términos relacionados; por educación se entiende, la educación
como un sistema de influencias conscientemente organizado, dirigido y sistematizado
sobre la base de una concepción pedagógica determinada.
77
78
Tomado de Biblioteca de Consulta Microsoft ® Encarta ® 2005.
www.gestiopolis.com/recursos3/docs/rh/tecapren.htm. Pagina web activa al 1 de octubre de 2007
Ahora bien, educación e instrucción son términos diferentes, siendo el segundo el
sistema de información, los conocimientos y procedimientos a los que el estudiante
debe alcanzar. En otras palabras la instrucción esta relacionada con los métodos
didácticos de los que se hace uso en la educación. 79
La articulación de estos conceptos da origen a la enseñanza, la cual se define desde un
punto de vista pedagógico como la dirección, orientación y control del aprendizaje,
incluyendo el autocontrol y la auto dirección en el proceso. Desde el mismo punto de
vista el aprendizaje se define como un proceso en el que el estudiante, en un contexto
especifico y con un método de dirección; desarrolla capacidades, hábitos y habilidades
que le permiten apropiarse de la cultura y de los medios para conocerla y enriquecerla.
Al concebir la relación entre la enseñanza y el aprendizaje a partir del enfoque histórico,
se asume que la educación y la enseñanza guían el desarrollo y a su vez toman en
cuenta las regularidades del propio desarrollo, este es un producto de la actividad y de
la comunicación del estudiante con dicho proceso.
Según la concepción pedagógica, todo proceso de enseñanza aprendizaje debe ser;
individual, comunicativo, motivante, cooperativo y significativo.
2.2.7.2.1
LEYES PEDAGÓGICAS
El aprendizaje es un proceso unido a la enseñanza, integrado por categorías,
configuraciones y componentes. Las relaciones entre las configuraciones del proceso
de enseñanza aprendizaje adquieren una significación especial en tanto establecen la
79
http://www.monografias.com/trabajos26/aprendizaje-desarrollador/aprendizajedesarrollador.shtml#conceppedag Pagina web activa al 1 de octubre de 2007
dinámica de sus componentes y permiten la explicación de cada uno de estos y del
proceso en su conjunto.
•
La escuela en la vida, que expresa la relación entre las categorías pedagógicas:
problema, objeto y objetivo.
•
La enseñanza mediante la afectividad, que expresa la relación entre las
configuraciones o categorías pedagógicas: objetivo, contenido y método.
El problema abarca todas aquellas lagunas del conocimiento, presentes en el objeto las
cuales deben solucionarse. El problema se convierte pues en el eje central del proceso
de enseñanza, pues se camina en busca de la solución al mismo.
El objeto es básicamente todo el contenido del cual el estudiante debe apropiarse.
El objetivo es la meta o modelo pedagógico a alcanzar.
El contenido debe ser el mismo objeto para que resulte importante al individuo.
El método es la técnica que utiliza el estudiante para apropiarse del contenido.
2.2.7.2.2. CONCEPTUALIZACIÓN DEL APRENDIZAJE COMO PROCESO
COGNITIVO AFECTIVO
En todo proceso de enseñanza aprendizaje la apropiación de conocimientos es un tipo
de actividad mediante la cual se produce la conjugación de los productos de la
experiencia ajena con los indicadores de la propia.
El método de enseñanza debe ser motivador y generar al máximo el interés por
aprender y a la vez debe ofrecer una respuesta a la necesidad de que los estudiantes
aprendan con las vivencias diarias, es decir con la realidad social que se torna
cambiante y es muy dinámica.
En cualquier método de enseñanza debe haber centrado un objetivo, o sea los logros
que se deben alcanzar en el proceso de enseñanza-aprendizaje:
•
Logros cognoscitivos; saber.
•
Logros procedimentales; saber hacer.
•
Logros actitudinales; ser, convivir.
Todos estos logros deben estar en función de desarrollar en la persona su capacidad de
pensar, sentir y actuar.
En el proceso de enseñanza- aprendizaje las personas deben afrontar la solución de
problemas nuevas, para que de esta manera aprendan a adquirir nuevos conocimientos
y a emplear dichos conocimientos.
2.2.7.2.3 LAS TAREAS DEL PROCESO DE ENSEÑANZA - APRENDIZAJE
En un proceso de enseñanza se proponen tareas que tiene por objetivo dirigir, de
manera óptima, el proceso autónomo y consciente de construcción de conocimientos,
habilidades y valores por parte de las personas, en cuyo orden y organización se
evidencia el método empleado por estos para estructurar el proceso.
Estas tareas, se implementan a través de procedimientos, técnicas y recursos, que se
estructuran en función de los medios materiales de los que se disponga.
La finalidad de las tareas de enseñanza es dirigir el aprendizaje de los estudiantes para
que su actuación este acorde con las exigencias de la sociedad.
Las tareas de enseñanza aprendizaje que deben desarrollarse para dirigir un proceso
de aprendizaje autónomo y consciente, vivencial y desarrollador se caracteriza por:
•
Encauzar la formulación de conceptos
•
Promover la emisión de hipótesis y las posibles vías de la solución
•
Orientar la construcción de conocimientos y habilidades, que permitan el empleo
de métodos y procedimientos.
•
Valorar la reflexión y la profundidad de las soluciones alcanzadas.
De igual forma la dirección de un proceso, como es el proceso de enseñanza
aprendizaje, tiene que partir de la consideración de una metodología integrada por
etapas, eslabones o momento a través d e los cuales transcurre el aprendizaje. Estas
etapas no implican una estricta sucesión temporal de pasos, por el contrario se
superponen y se desarrollan de manera integrada, no es un algoritmo, aunque en
determinado momento prevalezca una de ellas.
2.2.7.2.4. ETAPAS METODOLÓGICAS DE UN PROCESO DE ENSEÑANZA APRENDIZAJE
Las etapas de la metodología de un proceso de enseñanza aprendizaje son:
•
Motivación
Etapa inicial del aprendizaje donde se crea una expectativa que mueve el
aprendizaje. Se motiva haciendo el planteamiento del problema.
•
Comprensión
Es la atención de las personas sobre lo que es importante, consiste en el proceso de
percepción de aquellos aspectos que ha seleccionado y que le interesa aprender.
•
Sistematización
Es la etapa crucial en el proceso de enseñanza aprendizaje, aquí es donde el
estudiante se apropia de los conocimientos habilidades y valores. Aquí se desarrolla
el dominio del contenido que le fue inicialmente mostrado.
•
Transferencia
Es la ejercitación y aplicación del contenido asimilado.
•
Retroalimentación
En esta etapa se compara el resultado con respecto a lo planteado inicialmente,
valorando como fue asimilada toda la información vista. En palabras más sencillas
se evalúan los procesos, se identifica que tanto se aprendió.
2.3. MARCO CONCEPTUAL
Aprendizaje: Es la capacidad de las neuronas artificiales de adiestrarse por medio de
su experiencia.
Aprendizaje supervisado: Es un tipo de aprendizaje en cuanto a las redes neuronales,
en el cual se suministra a la red la entrada y salida deseada y esta debe ajustar su peso
tratando de minimizar el error de su salida.
Aprendizaje no supervisado: Es este caso solo se le proporciona a la red los
estímulos y esta es quien debe decidir a través de un parámetro predefinido cual será la
salida.
Artificial: Algo hecho por el hombre, no natural.
Axón: Es la salida de la neurona. Se utiliza para enviar impulsos o señales a otras
células nerviosas.
Capa: Conjunto de neuronas cuyas entradas provienen de la misma fuente y sus
salidas se dirigen al mismo destino, el cual puede ser otra capa de neuronas.
Célula: Unidad fundamental de los organismos vivos.
Circuito: Conjunto de conductores que recorre una corriente eléctrica, y en el cual hay
generalmente intercalados aparatos productores o consumidores de esta corriente.
Condicionado80: Cuando dos eventos o situaciones se asocian de manera que la
aparición de uno genera la presencia de otro.
Conexión: Punto de unión entre el axón y las dentritas de 2 o mas neuronas.
Dentritas: Inicia en el soma en forma de delgadas ramificaciones. Son las que reciben
señales provenientes de otras neuronas. En otras palabras son las conexiones de
entrada a la neurona.
Depuración81: Eliminar fallas. Corregir un problema en hardware (Significa encontrar
los errores en el diseño del circuito) o software (encontrar los errores en la lógica del
programa).
Entrenamiento: proceso que consiste en presentar de forma repetida las entradas y
sus correspondientes salidas. Para lo cual, la red produce una salida que se compara
con el peso ideal y se genera un error. El valor del error se utiliza como realimentación
para aplicar a un algoritmo de corrección de los valores o pesos de conexión entre las
neuronas.
Estímulo82: Agente físico, químico, mecánico, etc., que desencadena una reacción
funcional en un organismo.
Error: Es la diferencia entre la salida deseada de la red y la arrojada por la misma.
80
81
82
http://medmayor.cl/apuntes/apuntes/psico/aprendizaje.ppt. 1 de octubre de 2007.
Alan Freedman. Diccionario de Computación Bilingüe. Mc Graw Hill. Séptima edición. Volumen 3. 1996.
Biblioteca de Consulta Microsoft® Encarta® 2005
Experiencia: Conocimiento adquirido por medio de las situaciones vividas y sirve de
plan de acción, para solucionar problemas semejantes a los cuales nos permitieron
adquirirla.
Factores Extrínsecos: Agentes externos, procedentes del medio que pueden
influenciar en el comportamiento de un sujeto.
IA: Siglas de Inteligencia Artificial.
Inteligencia: Palabra que hace parte del término “Inteligencia artificial”. Es la capacidad
de entender o comprender y de resolver problemas. 83
Inteligencia artificial84: Desarrollo y utilización de ordenadores con los que se intenta
reproducir los procesos de la inteligencia humana.
Medio: Ecosistema, entorno o contexto con el cual interactúa un sujeto.
Microcontrolador
Es un chip que contiene pequeños circuitos que pueden ejecutar
comandos básicos de una computadora.
Mielina: Lipoproteína que constituye la vaina de las fibras nerviosas. 85
Neurona artificial: Es un circuito eléctrico que procesa las señales que recibe de otras
unidades iguales, produciendo en la salida un uno o un cero.
83
Biblioteca de consulta Microsoft Encarta 2005.
http://es.wikipedia.org/wiki/M%C3%A1quina pagina web vigente al 7 de octubre de 2007
85
Biblioteca de consulta Microsoft Encarta 2005.
84
Neurona calculadora u ocultas: Son aquellas que no tienen contacto con el medio,
sirven de puente entre las neuronas de entrada y de salida. Ayudan a disminuir el error
de la salida final de la red.
Neurona de entrada: Sirven de receptores de la información proveniente del medio con
el que interactúa la neurona.
Neurona de salida: Entrega la respuesta de la red, la cual, dependiendo del valor,
afecta el comportamiento de toda la red.
Orgánulo: Unidad estructural y funcional de una célula u organismo unicelular.86
Patrón87: Modelo que sirve de muestra para sacar otra cosa igual.
Modelo que sirve de muestra para sacar otra cosa igual.
Peso: Es el valor optimo o ideal al que debe llegar la relación entre uniones neuronales,
se incrementa su valor a través de la sinapsis entre dos neuronas.
Placa Base: Placa principal que contiene los componentes fundamentales de un
sistema de computación.
Procesar88: Inferir sobre una información dada, sometiendo la aun aserie de cálculos
para obtener una respuesta deseada.
Redes informáticas: Interconexión de dos o más dispositivos informáticos cuyo
objetivo es compartir los recursos que cada uno tiene.
86
Biblioteca de consulta Microsoft Encarta 2005.
Biblioteca de Consulta Microsoft® Encarta® 2005.
88
Biblioteca de Consulta Microsoft® Encarta® 2005.
87
Red neuronal
Conjunto de neuronas interconectadas. Dependiendo de la topología a
implementar.
Reflejo: Acción involuntaria producida por un estimulo externo.
Retroalimentación89: Es un mecanismo, mediante el cual una parte de la salida de un
sistema o de una maquina retorna como entrada. También llamada servomecanismo.
Sirve para comparar la manera como un sistema funciona en relación con el patrón
establecido para su funcionamiento.
Sensor90: Dispositivo que detecta una determinada acción externa, y la transmite
adecuadamente para ser procesada.
Sentido común: Es una recopilación constante de conocimientos adquiridos mediante
la estimulación de los sentidos, que sirven de base para decidir cursos de acción en
situaciones similares a las vividas.
Sinapsis: Establece la comunicación entre dos células. Se origina del acercamiento
entre el axón de una neurona con las dentritas de otra. Esta cuasi unión puede ser
excitadora o inhibidora según el transmisor que las libere.
Socket:
Artefacto
electrónico
donde
se
acopla
un
microprocesador
microcontrolador.
Soma: Es el cuerpo de la neurona, contiene el núcleo.
89
90
Chavenato Idalberto. Introducción a la teoria general de la administracion. Mc Graw Hill. 3 edición. 1990
Biblioteca de Consulta Microsoft® Encarta® 2005.
o
un
Switch: Mecanismo destinado a interrumpir o establecer un circuito eléctrico. Interruptor
Umbral: valor de comparación dependiendo del cual si es sobrepasado o no la neurona
se excita o se inhibe.
Unión excitadora: Produce, mediante un estímulo, un aumento de la actividad de una
neurona.
Unión inhibidora: Suspende transitoriamente la función o actividad de una neurona.
Topología: Forma. Aplicado a las redes neuronales es la forma como se conectan las
neuronas y como realizan los cálculos.
Umbral Valor mínimo de una magnitud a partir del cual se produce un efecto
determinado.
Voltaje:
Cantidad de voltios que actúan en un aparato o sistema eléctrico.
3. DELIMITACIÓN
Una vez definido el proyecto a realizar y sistematizada la información relacionada con
este, es necesario establecer los parámetros de tiempo, espacio, técnico y financiero;
en otras palabras el alcance del proyecto.
3.1.
Delimitación Financiera
Para el desarrollo y puesta en marcha del entrenador de redes neuronales, se requiere
de una serie de recursos los cuales están estipulados en el presupuesto del proyecto,
dichos recursos provienen de los investigadores del proyecto.
Ver anexo 11.
3.2. Delimitación Técnica
Para el desarrollo del proyecto se deben tener conocimientos en lenguajes de
programación secuencial, lenguaje ensamblador -de bajo nivel- para el microcontrolador
de referencia 16F84, técnicas de enseñanza-aprendizaje, Inteligencia Artificial, sistemas
neuronales biológicos, métodos de recopilación de información, así como también es de
mucha importancia tener conocimientos de electrónica (circuitos digitales).
3.2.1. Delimitación Tecnológica
Para realizar este proyecto necesitamos un simulador de PIC se usara simupic84 uno
de los más conocidos, un traductor de código ensamblador a código hexadecimal en
este caso MPASM, una tarjeta quemadora de PIC
con su respectivo software de
quemado WINPIC800; También se hará uso de microcontroladores PIC16F84.
3.3.
Delimitación Temporal Y Espacial
Con el fin de acotar de manera más precisa nuestro proyecto, procedemos a definir a
continuación límites de tiempo de desarrollo y ubicación del mismo.
3.3.1.
Delimitación Temporal
El tiempo estipulado para el desarrollo completo del proyecto es de 8 meses, el cual
incluye los dos periodos académicos cursados desde Febrero a Octubre del año 2007.
3.3.2.
Delimitación Espacial
La Universidad Autónoma del Caribe, cuyas instalaciones se encuentran ubicadas en el
departamento del Atlántico; al norte de la ciudad de Barranquilla entre la calle 90 y la
carrera 46, la cual cuenta con un laboratorio de robótica epicentro de esta investigación.
Ver anexo 5.
4. DISEÑO METODOLÓGICO
En toda investigación lo significativos son los resultados que esta arroje y los aportes
que pueda realizar a su línea de estudio, estos deben ser lo mas exactos posible, para
ello es necesario hacer uso de pautas que guíen rigurosamente el curso de acción de la
investigación y que garanticen la representatividad y confiabilidad de los resultados
arrojados por esta.
De estas pautas surgen una serie de aspectos a tener en cuenta, que para este caso
específico se describen a continuación.
4.1. TIPO DE INVESTIGACIÓN.
Esta investigación es aplicada, puesto que como su nombre lo indica su objetivo es la
aplicación, utilización y consecución de resultados por medio de la práctica de los
conocimientos ya publicados y aceptados sobre RNA, por medio de la implementación
de un entrenador.
Es de tipo descriptiva, puesto que con este proyecto se quiere
representar de forma mecánica
una neurona biológica, basándonos en las
características que a través de estudios previos, se han logrado percibir y simular.
Como lo es la interacción entre ellas para lograr un objetivo común.
Para una efectiva simulación de estas redes se hace necesaria no solo conocer las
características, sino también alterar los valores de las variables
que inciden en el
comportamiento de la neurona, por lo que bajo ese orden de ideas, la investigación es
también experimental.
4.2. TIPOS DE ESTUDIO.
Debido a que el objetivo central de este proyecto, es describir, mostrar y simular el
funcionamiento de una RNA. Será necesario, para un correcto desarrollo metodológico,
la utilización de un método de estudio descriptivo. Que como su nombre lo indica, Nos
servirá para examinar como son, como funcionan y cuales son los factores que influyen
en las RNA.
Además, será imprescindible la utilización de un método de estudio experimental. Ya
que; Si bien es cierto, que con el método descriptivo podremos analizar el
funcionamiento neuronal. Solo con el experimental podremos percibir, Cuales son los
efectos que causan en el funcionamiento de la red, la manipulación de agentes internos
y externos a la misma. Tal es el caso de las entradas, el peso de la sinapsis neuronal,
las funciones de activación, etc.
4.3.
MÉTODO
En sus inicios el método de investigación de este proyecto, se basó en la observación
directa; Que permitió identificar la situación problema (Falta de herramientas Hardware
para procesos de enseñanza–aprendizaje en ramas de la inteligencia artificial, teles
como las RNA), a resolver por medio de esta investigación descriptiva-experimental. Así
mismo, se reflexionó sobre las posibles causas y efectos, de esta problemática en la
Universidad y se formuló una posible solución (Entrenador de RNA).
Por medio de las encuestas y entrevistas, se logró recoger la opinión e los actores
principales (Alumnos y docentes) del sistema que se pretendía desarrollar. Gracias a
estas técnicas de recolección de información, se demostró que el problema era real;
Confirmando así, la necesidad de crear un entrenador de RNA.
Por consiguiente, se reunió
a través de consultas bibliográfícas y el Internet, la
información necesaria para el diseño del entrenador RNA. Tanto en su parte física
(circuito entrenador), como en su parte lógica (Códigos neuronales).
Todo, lo anteriormente descrito, se sistematizó en un cronograma de actividades, que
se utilizó para la administración del tiempo. Asegurando así, el cumplimiento de lo
pactado en los objetivos y el alcance del proyecto.
4.4. TÉCNICAS DE RECOLECCIÓN DE LA INFORMACIÓN
Para delimitar y conocer a ciencia cierta, que componentes integraran nuestro proyecto
es necesaria la utilización de distintas técnicas de recolección de información tales
como encuestas,
entrevistas entre otras, además de la revisión bibliografíca y de
fuentes secundarias.
4.4.1. TÉCNICAS DE RECOLECCIÓN PRIMARIAS
Son las fuentes principales de las que se recopila la información necesaria, confiables
por lo que se tiene un contacto directo con la fuente de información sin ningún tipo de
cambio o manipulación. Las manejadas en este caso se listan a continuación.
4.4.1.1. OBSERVACIÓN DIRECTA
Se materializo en el laboratorio de inteligencia artificial y robótica de la Universidad
Autónoma del Caribe, al observar la falta de herramientas hardware que permitan la
puesta en práctica de conocimientos en temas como redes neuronales.
4.4.1.2. ENCUESTAS
Se realizaron al personal estudiantil implicado, esto es, los estudiantes de ingenierías
electrónica y de sistemas de noveno y décimo semestre de la universidad, quienes
utilizan el laboratorio de IA y robótica, la encuesta se hizo en base a preguntas cerradas
a un numero total de 167 estudiantes; 84 de ingeniería de sistemas y 85 de ingeniería
electrónica, que fueron tabuladas para un análisis posterior. (Ver anexo 6, 7 y 8).
4.4.1.3. ENTREVISTAS
Por medio de la entrevista se obtuvo de manera explicita el aval para la realización de
este proyecto; dada la respuesta de los entrevistados, en este caso los expertos en IA
con los que cuenta la universidad. La entrevista fue elaborada con respuestas abiertas
con el fin de conocer a fondo la opinión de los entrevistados. (Ver anexo 9 y10).
4.4.2. TÉCNICAS DE RECOLECCIÓN SECUNDARIAS
Para la realización de este proyecto se acudió a fuentes secundarias como medio de
consulta, con el objetivo de documentarnos sobre los temas necesarios para el
desarrollo de esta investigación, estas fuentes secundarias fueron las siguientes:
4.4.2.1. FICHAS BIBLIOGRÁFICAS
Con el fin de de identificar claramente los libros que han servido de apoyo para el
desarrollo de esta investigación, se han diseñado fichas bibliográficas en las que se
proporciona toda la información necesaria para que el lector pueda profundizar los
conceptos estudiados en esta investigación.
Ver Anexo 14
4.4.2.2. INTERNET
Debido al carácter investigativo de los conceptos relacionados con RNA, se utilizo la
Internet como una poderosa herramienta para obtener la mayor cantidad de
información. Ver Anexo 13
4.5.
INSTRUMENTOS UTILIZADOS
Adicional a las técnicas de recolección ya mencionadas se utilizaron algunas otras
como apoyo a la investigación buscando hacer un mejor monitoreo y estructuración de
la investigación.
4.5.1. CRONOGRAMA DE ACTIVIDADES
Se identificaron las actividades críticas que hacen parte de la realización de este
proyecto y se delimitaron en términos del tiempo destinado para la realización de cada
una.
El cronograma se referencia en el anexo 3.
4.5.2. PRESUPUESTO
Se estimó un presupuesto de gastos para la realización de este proyecto con el fin de
valorar la viabilidad del mismo en cuanto a términos económicos.
El Presupuesto se referencia en el anexo 11.
4.6. POBLACIÓN OBJETIVO
Estudiantes de noveno y décimo semestre de ingeniería de sistemas y de ingeniería
electrónica de la Universidad Autónoma del caribe que hayan cursado o estén cursando
actualmente la asignatura Tecnología de sistemas II (Inteligencia artificial). El número
total de estos es 300, descritos de mejor maneja en el Anexo 4.
4.6.1. JUSTIFICACIÓN ESTADÍSTICA DE LA MUESTRA
Para sacar el tamaño de la muestra se tomó la población total de los estudiantes de
Ingeniería electrónica e ingeniería de sistemas que estén cursando actualmente noveno
(9) y décimo (10) semestre. De esta población se tomó una muestra que representara el
total de la población y a la cual se va a tomar para realizar las encuestas.
4.6.2. TAMAÑO DE LA MUESTRA.
Para determinar el tamaño de la muestra, se realizaron cálculos basados en una
formula estadística, de tipo estratificado, de la siguiente manera:
n=
N
1+ N e
Donde;
2
N = La población Objetivo
e = Error, del 5,08%
n = Muestra de la población objetivo
Por lo cual, la selección de la muestra, en esta investigación se obtuvo al analizar la
población objetivo, que fueron los estudiantes de noveno y décimo semestre de
ingeniería electrónica y de sistemas (300 estudiantes); Siendo el resultado de la
muestra:
169
estudiantes
Programa
Semestre
discriminados
Ingeniería de sistemas
de
la
siguiente
Ingeniería
electrónica
Total
Noveno
41
41
82
Décimo
43
44
87
Total
84
85
169
Tabla 1: Población objetivo
manera:
5. ANÁLISIS E INTERPRETACIÓN DE RESULTADOS.
Teniendo en cuenta, que este proyecto está destinado a facilitar el proceso enseñanzaaprendizaje de las redes neuronales, materia cursada en los grados 9 y 10 de ingeniería
electrónica y de sistemas, hemos considerado como objeto de nuestra encuesta
precisamente a estos estudiantes, ya que de sus verdaderas necesidades depende la
implementación satisfactoria de nuestra solución (Entrenador RNA).
Por ello, los interrogamos sobres sus conocimientos acerca de las RNA y descubrimos
que estos son muy escasos (solo el 17.16% conoce sobre aplicaciones que utilicen esta
tecnología). El tema esta tildado erróneamente de complicado y de accesible solo para
unos cuantos.
Sin embargo, La mayoría (84,62%) sabe que la universidad cuenta con un laboratorio
especializado en el área de robótica e inteligencia artificial. Pero, solo el 37,28 conoce
sobre los proyectos que se están realizando sobre este tema en la actualidad.
Además percibimos la necesidad, que tienen de herramientas físicas, como nuestro
entrenador, que les permita palpar los conocimientos teóricos adquiridos en las aulas de
clase (el 98,82% dijo necesitar una herramienta física para practicar los conceptos de
R.N.A.).
Contradictoriamente, el 100% piensa, que la IA será necesaria en un futuro no muy
lejano y ven en ella un método para realizarse profesionalmente, por lo cual, desean
profundizar sus conocimientos sobre estos temas.
5.1
TABULACIÓN DE LAS ENCUESTAS
A continuación se muestra el gráficamente el resultado de la encuesta practicada a los
estudiantes de noveno y décimo semestre de los programas de ingeniería mecánica y
electrónica.
5.1.1 NOVENO SEMESTRE DE INGENIERÍA DE SISTEMAS
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
7
17%
No
Si
34
83%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
12
29%
No
Si
29
71%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta con
un laboratorio de IA y robótica?
2
5%
No
Si
39
95%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha m anejado alguna herram ienta
softw are o hardw are en el laboratorio de
Inteligencia Artificial y robótica?
8
20%
No
Si
33
80%
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herramientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
19
46%
22
54%
No
Si
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con las
que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos en
el área de inteligencia artificial?
24
59%
17
41%
No
Si
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos de
inteligencia artificial desarrollados en la
universidad?
7
17%
No
Si
34
83%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para el
hom bre en su vida diaria?
8
20%
No
Si
33
80%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
2
5%
No
Si
39
95%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
11
27%
No
Si
30
73%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticam ente los
conocim ientos aprendidos?
2
5%
No
Si
39
95%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
0
0%
No
Si
41
100%
5.1.2. DÉCIMO SEMESTRE DE INGENIERÍA DE SISTEMAS
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
9
21%
No
Si
34
79%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
10
23%
No
Si
33
77%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta con
un laboratorio de IA y robótica?
0
0%
No
Si
43
100%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha manejado alguna herram ienta
softw are o hardw are en el laboratorio de
Inteligencia Artificial y robótica?
10
23%
No
Si
33
77%
.5- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herram ientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
21
49%
22
51%
No
Si
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con las
que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos en
el área de inteligencia artificial?
17
40%
26
60%
No
Si
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos de
inteligencia artificial desarrollados en la
universidad?
9
21%
No
Si
34
79%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para el
hom bre en su vida diaria?
6
14%
No
Si
37
86%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
0
0%
No
Si
43
100%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
8
19%
No
Si
35
81%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticam ente los
conocim ientos aprendidos?
0
0%
No
Si
43
100%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
0
0%
1
2
43
100%
5.1.3. INGENIERÍA DE SISTEMAS NOVENO Y DÉCIMO SEMESTRE
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
16
19%
1
2
68
81%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
22
26%
Si
No
62
74%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta
con un laboratorio de IA y robótica?
2
2%
Si
No
82
98%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha m anejado alguna herram ienta
softw are o hardw are en el laboratorio de
Inteligencia Artificial y robótica?
18
21%
Si
No
66
79%
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herram ientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
44
52%
40
48%
Si
No
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con
las que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos
en el área de inteligencia artificial?
34
40%
Si
50
60%
No
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos
de inteligencia artificial desarrollados en la
universidad?
16
19%
Si
No
68
81%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para
el hom bre en su vida diaria?
14
17%
Si
No
70
83%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
0
0%
Si
No
84
100%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
19
23%
Si
No
65
77%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticam ente los
conocim ientos aprendidos?
2
2%
Si
No
82
98%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
0
0%
Si
No
84
100%
5.1.4. NOVENO SEMESTRE INGENIERÍA ELECTRÓNICA
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
6
15%
No
Si
35
85%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
7
17%
No
Si
34
83%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta con
un laboratorio de IA y robótica?
12
29%
No
Si
29
71%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha manejado alguna herram ienta
softw are o hardw are en el laboratorio de
Inteligencia Artificial y robótica?
6
15%
No
Si
35
85%
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herram ientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
10
24%
No
Si
31
76%
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con las
que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos en
el área de inteligencia artificial?
18
44%
23
56%
No
Si
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos de
inteligencia artificial desarrollados en la
universidad?
3
7%
No
Si
38
93%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para el
hom bre en su vida diaria?
3
7%
No
Si
38
93%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
0
0%
No
Si
41
100%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
2
5%
No
Si
39
95%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticam ente los
conocim ientos aprendidos?
1
2%
No
Si
40
98%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
0
0%
1
2
41
100%
5.1.5. DÉCIMO SEMESTRE INGENIERÍA ELECTRÓNICA
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
7
16%
No
Si
37
84%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
7
16%
No
Si
37
84%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta con
un laboratorio de IA y robótica?
12
27%
No
Si
32
73%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha manejado alguna herram ienta
softw are o hardw are en el laboratorio de
Inteligencia Artificial y robótica?
9
20%
No
Si
35
80%
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herram ientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
13
30%
No
Si
31
70%
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con las
que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos en
el área de inteligencia artificial?
25
57%
19
43%
No
Si
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos de
inteligencia artificial desarrollados en la
universidad?
6
14%
No
Si
38
86%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para el
hom bre en su vida diaria?
1
2%
No
Si
43
98%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
0
0%
No
Si
44
100%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
4
9%
No
Si
40
91%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticam ente los
conocim ientos aprendidos?
3
7%
No
Si
41
93%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
2
5%
1
2
42
95%
5.1.6. INGENIERÍA ELECTRÓNICA NOVENO Y DÉCIMO SEMESTRE
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
13
15%
1
2
72
85%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
9
11%
Si
No
76
89%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta
con un laboratorio de IA y robótica?
24
28%
Si
No
61
72%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha manejado alguna herramienta
software o hardware en el laboratorio
de Inteligencia Artificial y robótica?
15
18%
Si
No
70
82%
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herram ientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
23
27%
Si
No
62
73%
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con
las que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos
en el área de inteligencia artificial?
37
44%
48
56%
Si
No
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos
de inteligencia artificial desarrollados en la
universidad?
9
11%
Si
No
76
89%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para
el hom bre en su vida diaria?
4
5%
Si
No
81
95%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
0
0%
Si
No
85
100%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
6
7%
Si
No
79
93%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticam ente los
conocim ientos aprendidos?
4
5%
Si
No
81
95%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
2
2%
Si
No
83
98%
5.1.7. INGENIERÍA DE SISTEMAS E INGENIERÍA ELECTRÓNICA
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
1.- ¿Conoce usted alguna herram ienta de
uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
29
17%
Si
No
140
83%
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
2.- ¿Ha usted escuchado hablar de Redes
Neuronales Artificiales?
18,34
12%
Si
No
138
88%
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y robótica?
3.- ¿Sabía usted que la universidad cuenta
con un laboratorio de IA y robótica?
26
15%
Si
No
143
85%
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
4.- ¿Ha m anejado alguna herram ienta
softw are o hardw are en el laboratorio de
Inteligencia Artificial y robótica?
33
20%
Si
No
136
80%
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
5.- ¿Sabe usted si actualm ente se están
realizando, practicas con herram ientas
hardw are en el laboratorio de inteligencia
artificial y robótica?
63
37%
106
63%
Si
No
6.-
¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
6.- ¿Cree usted que las herram ientas con
las que cuenta el laboratorio facilita la
com prensión de los conocim ientos vistos
en el área de inteligencia artificial?
71
42%
Si
98
58%
No
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
7.- ¿Esta inform ado acerca de los proyectos
de inteligencia artificial desarrollados en la
universidad?
25
15%
Si
No
144
85%
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
8.- ¿Piensa que la IA será indispensable para
el hom bre en su vida diaria?
18
11%
Si
No
151
89%
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
9.- ¿Para usted el conocer m as acerca de
inteligencia artificial le es útil?
0
0%
Si
No
169
100%
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
10.- ¿Ve usted en la inteligencia artificial una
m anera para adquirir ingresos?
25
15%
Si
No
144
85%
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
11.- ¿Es para usted necesaria la
im plem entación de nuevas herram ientas
hardw are para reforzar prácticamente los
conocim ientos aprendidos?
6
4%
Si
No
163
96%
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
12.- ¿Le gustaría contar con una herram ienta
hardw are que le perm ita observar m ejor el
proceso de aprendizaje de las neuronas
artificiales?
2
1%
Si
No
167
99%
Tabulación de la encuesta ver Anexo 7.
Ficha técnica de la encuesta ver anexo 8.
5.2 ANÁLISIS E INTERPRETACIÓN DE LOS RESULTADOS DE LA
ENTREVISTA
Con el propósito de conocer mas a fondo la situación de las redes neuronales
artificiales en nuestra universidad y habiendo ya conocido la perspectiva de los
estudiantes nos ha parecido necesario acudir a las autoridades en el tema, existentes
en la universidad. Para esto se redacto una entrevista tocante a los temas de redes
neuronales y se valoro la opinión de Richard Aroca, profesor involucrado con el manejo
del laboratorio de Inteligencia artificial y robótica.
Una vez realizada la ronda de entrevistas se pudo apreciar situaciones interesantes
relacionadas con el entorno de nuestro proyecto.
El primero de los hallazgos, fue que debido a la naturaleza de los temas y la cantidad
de conceptos que se relacionan con la IA, el desarrollo a fondo de los mismos en un
semestre es casi imposible por lo cual, se toman los temas de manera general, con el
fin de que el estudiante pueda interesarse y continuar estudios independientes,
adicional a esto se hace imposible la realización de practicas en hardware en cuanto a
la parte de redes neuronales, el laboratorio solo cuenta con una aplicación que permite
la administración de sistemas expertos.
También se descubrió que la universidad no esta al tanto de los estándares actuales en
cuanto a redes neuronales (no esta vinculada a ninguna organización dedicada a la
investigación y/o desarrollo de RNA), lo que se manifiesta en el desfase de los
conocimientos manejados en la universidad con respecto al desarrollo que estas redes
han tenido en la actualidad.
De igual manera, se descubrió que los estudiantes se muestran apáticos con respecto a
los temas, por lo cual se ha tenido que idear estrategias para incentivar a la
investigación y desarrollo de nuevos proyectos afines a RNA que conlleven a un nuevo
nivel educacional en el alma mater.
Finalmente, se evidenció, al igual que en las encuestas realizadas a los estudiantes, la
necesidad de un entrenador de redes neuronales, incluso los docentes a cargo de esta
materia aprueban la realización del mismo.
Libreto de entrevista Ver Anexo 10.
6. PROPUESTA
6.1. SOLUCIÓN
La solución es el diseño, desarrollo e implementación, de un entrenador de redes
neuronales; Para la sala de inteligencia artificial y robótica de la Universidad Autónoma
Del Caribe.
6.1.1. ALTERNATIVAS DE SOLUCIÓN.
Al analizar el entorno del sistema a desarrollar y al aumentar el cuerpo de
conocimientos; necesarios para la elaboración de este proyecto. Se encontraron varias
alternativas que podrían solucionar la situación problema, que es objeto de estudio en
esta investigación. Estas serán enunciadas a continuación:
Solución 1
Solución 2
Adquisición, del módulo (Neural
La solución es el diseño, desarrollo e
Network Toolbox). Perteneciente al
implementación, de un entrenador de
software.
redes neuronales; Para la sala de
inteligencia artificial y robótica de la
Universidad Autónoma Del Caribe.
Tabla 2: Alternativas de solución
6.1.2. ANÁLISIS COSTO BENEFICIO
Luego formular las posibles soluciones, Se procedió a realizar un análisis sobre estas;
El cual, arrojó los siguientes resultados.
La adquisición del modulo “Neural Network Toolbox” que es anexado a Matlab91, era
viable. Debido a que la universidad cuenta con la licencia de Matlab (este esta
altamente difundido entre los estudiantes, quienes están familiarizados con su
funcionamiento y programación). Sin embargo, el modulo es costoso (alrededor de 900
dólares). Además de esto, el problema no sería complemente resuelto, puesto que la
simulación del comportamiento neuronal seguiría siendo software y la parte hardware
continuaría sin implementar, que es el objetivo central del proyecto.
Por ello, se opto por encargar la elaboración del circuito entrenador a la empresa “E&T
SOLUTIONS LTDA”, especializada en circuitos electrónicos (el costo era mucho menor
que el módulo de Matlab. Alrededor de 202 dólares)
92
. Tanto el diseño del circuito
entrenador, como la elaboración de los códigos neuronales serian responsabilidad de
los integrantes del proyecto.
91
“MATLAB es la abreviatura de Matrix Laboratory (laboratorio de matrices). Es un programa de
análisis
numérico creado por The MathWorks en 1984. Está disponible para las plataformas Unix, Windows y Mac OS X. Se
pueden ampliar sus capacidades con Toolboxes, algunas de ellas están destinadas al procesado digital de señal,
adquisición de datos, economía, inteligencia artificial, lógica difusa... También cuenta con otras herramientas como
Simulink, que sirve para simular sistemas.
Es un software muy usado en universidades, centros de investigación y por ingenieros. En los últimos años ha
incluido muchas más capacidades, como la de programar directamente procesadores digitales de señal, crear código
VHDL y otras.” Tomado de www.Wikipedia.Com. 16 de octubre de 2007.
92
Tasa representativa del mercado para el dólar: $1978,97 pesos. Tomado del Periódico el Tiempo (Colombia). 16
de octubre de 2007.
6.1.2.1. TABLA DE COMPARACIÓN ENTRE LAS DOS SOLUCIONES
Características
Contiene una interfaz gráfica de usuario
Permite el entrenamiento de neuronas
Implementación de varias Topologías
(Perceptron, Backpropagation, Hopfield)
Genera estadísticas sobre el proceso de
Entrenamiento y ejecución
Permite el diseño de redes Neuronales
Permite trabajar con distintas funciones
de transferencia
Soporta redes multícapa
Permite el reconocimiento de patrones
Neural Network
Entrenador de Redes
Toolbox. Extend of
Neuronales
Matlab
Artificiales
Permite la creación y posterior ejecución
física de una red neuronal
Precio en el mercado
900 dólares
202 dólares93.
Tabla 3: Comparación de las soluciones
93
Tasa representativa del mercado para el dólar: $1978,97 pesos. Tomado del Periódico el Tiempo (Colombia). 16
de octubre de 2007.
6.1.3. DESCRIPCIÓN DE LA SOLUCIÓN
El entrenador de redes neuronales para el laboratorio de inteligencia artificial y robótica
consta de dos componentes principales:
♦
Hardware
♦
Software
El componente hardware esta básicamente conformado por una placa base la cual esta
dividida en cuatro módulos principales:
♦
Modulo De Acoplamiento Neuronal
FIGURA 18: MODULO DE ACOPLAMIENTO NEURONAL
En este modulo se encuentran los sockets donde serán acopladas las neuronas
(microcontroladores pic16f84) que harán parte de la red, a su vez en este modulo se
encontraran los receptores de entrada (Interruptores) y los receptores encargados de
mostrar al estudiante las salidas de la red (Leds). En el se encontrará un switch que
permitirá colocar al entrenador en modo entrenamiento o en modo ejecución.
♦
Modulo De Quemado
Puerto Serial PC
FIGURA 19: MODULO DE QUEMADO
En este modulo externo del sistema, se acoplaran los microcontroladores que simularan
el funcionamiento de una neurona. Con el objetivo de escribir en ellos los códigos
desarrollados en lenguaje ensamblador.
♦
Alimentación Eléctrica
FIGURA 20: MODULO DE ALIMENTACIÓN ELÉCTRICA
Deberá estar conectado a un adaptador de corriente de 5V que proveerá la electricidad
necesaria para que el entrenador pueda funcionar.
♦
Módulo Alternativo De Entrada Y Salida
FIGURA 21: MODULO ALTERNATIVO DE ENTRADA O SALIDA
Es un modulo de respaldo que da la opción de agregar a el entrenador otras salidas y
entradas diferentes a las por defecto.
Con respecto a la parte software de la solución es necesario mencionar que esta no
contara con una interfaz usuario-maquina, y que toda la programación se hará en
lenguaje de bajo nivel (assembler).
6.2. REQUERIMIENTOS DEL SISTEMA
Durante esta etapa se recopiló información que ayudó a la identificación de los puntos
que se van a satisfacer mediante la realización de este proyecto, además se realiza una
breve descripción de aquellos que intervienen en el problema tratado, y las diferentes
alternativas que se pueden implementar para solucionarlos.
Como resultado de esta investigación se pretende establecer los requerimientos de un
nuevo sistema, además de los recursos necesarios para su implantación.
6.2.1. DEFINICIÓN DE REQUERIMIENTOS
•
Deberá realizarse el entrenador para el PIC 16f84
•
El sistema (entrenador) deberá incluir un sistema de quemado, sea externa o
internamente para el PIC 16f84.
•
Deberá ser capas de soportar diferentes tipos de topologías de red. (Al menos
3)
•
Contara con interruptores para proporcionar señales a la red (uno por cada
PIC que soporte el entrenador)
•
Contara con LEDs para conocer las salidas de los microcontroladores (uno
por cada PIC que soporte el entrenador)
•
Contara con el mismo número en señales que vengan fuera del entrenador
•
Deberá contar con una manera de repetir señales en el entrenador.
•
Contara con los elementos necesarios para el buen funcionamiento de lis
microcontroladores.
•
Los PIC deberán ser colocados o instalados manualmente en el entrenador
•
El entrenador no tendrá conexiones entre los distintos elementos (ej: PICs
con interruptores), sino contara con orificios al lado de los elementos, para
conectarse por medio de cables de cobres delgado.
•
Los PICs Deberán tener los puertos de entrada/salida disponibles para
establecer conexiones y deshacerlas manualmente.
•
Los LEDs Deberán tener conexiones disponibles para establecer conexiones
y deshacerlas manualmente.
•
Los interruptores
Deberán tener conexiones disponibles para establecer
conexiones y deshacerlas manualmente.
6.2.2. REQUERIMIENTOS FUNCIONALES
♦
Se deberán acoplar los microcontroladores necesarios para la implementación de
la red.
♦
Se deberán establecer cuales son los puertos de entrada y cual será el de salida
para los microcontroladores.
♦
El entrenador debe mostrar si el proceso de entrenamiento es activo o inactivo.
♦
Cada neurona tendrá varias entradas pero una sola salida.
♦
Cada neurona tendrá como máximo once entradas.
♦
Las entradas pueden estar dadas por interruptores o señales externas.
♦
La salidas deberán ser vistas en los LEDs.
♦
Las entradas y las salidas de la red deben ser solo ceros y unos.
♦
La red debe pasar por una etapa de aprendizaje y una de ejecución.
♦
Se deberán establecer las conexiones entre los PICs, interruptores y LEDs.
♦
Las entradas o salidas se acoplaran a repetidores en caso que sea necesario.
6.2.3. REQUERIMIENTOS NO FUNCIONALES
♦
El entrenador deberá ser realizado para el PIC 16f84.
♦
El entrenador contara con repetidores de señales en diferentes lados del
entrenador.
♦
El entrenador contara con los elementos necesarios para el buen funcionamiento
de los microcontroladores.
♦
El entrenador contara con ranuras para la colocación y el desprendimiento de
estas manualmente.
♦
El entrenador no tendrá conexiones entre los distintos elementos, sino contara
con orificios al lado de los elementos, para conectarse por medio de cables de
cobres delgados.
♦
Los PICs Deberán tener los puertos de entrada/salida disponibles para
establecer conexiones y deshacerlas manualmente.
♦
En el entrenador se permitirá como máximo el acoplamiento de doce neuronas a
la vez.
♦
El entrenador permitirá simular como mínimo 3 topologías Perceptron, Hopfield y
Backpropagation.
♦
La aplicación que será quemada en los PICs (neuronas), deberá programarse en
lenguaje ensamblador.
♦
El entrenador no contará con una interfaz grafica de usuario.
♦
EL circuito entrenador tendrá 12 LEDs como mínimo para mostrar a sus usuarios
las salidas de la red.
♦
EL circuito entrenador tendrá 12 interruptores como mínimo para dar entradas a
la red.
♦
El entrenador, solo poseerá una única unidad de memoria permanente.
Disponible en los PICs.
♦
EL circuito entrenador tendrá un modulo de quemado externo o interno.
♦
Será necesario un software para controlar el “modulo de quemado”.
♦
El software para el quemado de los PICs, será el proporcionado por la casa
productora de los mismos.
♦
El software para el quemado de pic`s, correrá solo bajo plataformas Windows.
♦
La entrada del modo de alimentación eléctrica, Solo soportará una entrada de
110 voltios.
♦
El modulo de quemado se comunicara con el PC, por medio del puerto paralelo
Com.
6.2.4. ESPECIFICACIÓN DE REQUERIMIENTOS
A continuación se detallara cada uno de los requerimientos del sistema
6.2.4.1 REQUERIMIENTOS FUNCIONALES
♦
Se
deberán
acoplar
los
microcontroladores
necesarios
para
la
implementación de la red:
El usuario tendrá la elección de elegir cuantos PICs deberá escoger. Pero deberá
acoplarlos al entrenador para el funcionamiento.
♦
Se deberán establecer cuales son los puertos de entrada y cual será el de
salida para los microcontroladores:
El usuario tendrá que elegir cuales de los diferentes puertos que tienen los PICs
serán de entrada o de salida.
♦
El entrenador debe mostrar si el proceso de entrenamiento es activo o
inactivo:
El usuario elegirá si quiere conectar un LED del entrenador conectado con el
interruptor como señal de que la red esta en modo de ejecución.
♦
Cada neurona tendrá varias entradas pero una sola salida:
El usuario debe definir lógicamente un puerto de salida en cada PIC que desee
utilizar.
♦
Cada neurona tendrá como máximo once entradas:
El numero de puertos con que cuenta el PIC 16f84 son de 13 y el usuario elegirá
según su necesidad el numero de puertos que necesite como entradas, pero
debe elegir máximo 11, debido a que un puerto es empleado para la salida y otro
para indicarle al PIC si esta en modo de entrenamiento o de ejecución.
♦
Las entradas pueden estar dadas por interruptores o señales externas:
Lo más común es que las entradas a la red estén dadas por los interruptores,
pero si es necesario utilizar señales externas que sean escalonadas
podrá
utilizarlas.
♦
Las salidas deberán ser vistas en los LEDs:
Es necesario conocer la salida de la red y la manera de conocerla estraves de los
LEDs.
♦
Las entradas y las salidas de la red deben ser solo ceros y unos:
El microcontrolador 16f84 solo cuenta con instrucciones para la manipulación y
operación con números binarios. Debido a esto las únicas señales que puede
mandar y recibir son bits. Si es requerido para aprendizajes con números
decimales o diferentes señales, deberán convertir las entradas en bits y
mandarlas en serie a los PICs y estos a su vez mandaran señales de bits y será
necesario un convertidor de señal.
♦
La red debe pasar por una etapa de aprendizaje y una de ejecución:
Si no se conocen los pesos para que la red reconozca los patrones
correctamente. Es necesario un proceso de aprendizaje o de ajuste de pesos.
♦
Se deberán establecer las conexiones entre los PICs, interruptores y LEDs:
Si no se crean conexiones entre los interruptores y los PICs la red no resolverán
problemas y si no hay conexiones con los LEDs no se conocerán las salidas.
♦
Las entradas o salidas se acoplaran a repetidores en caso que sea
necesario:
Debido que los PICs solo tiene una sola salida y se presentaran circunstancias
donde es necesitara conectar esa salida con varias entradas en otras neuronas,
es necesario la ayuda de repetidores de señales.
6.2.4.2. REQUERIMIENTOS NO FUNCIONALES
♦
El entrenador deberá ser realizado para el PIC 16f84.
Cada microcontrolador cuenta con especificaciones distintas a otras, como lo son
las ubicaciones de los cristales de cuarzo, potencia del cristal de cuarzo, numero
de puertos, etc. Por esta causa son pocos o nulos los PICs que trabajan con las
mismas especificaciones.
♦
El entrenador contara con repetidores de señales en diferentes lados del
entrenador.
Los repetidores corresponden una ayuda necesaria cuando se debe conectar
una salida con varias entradas en otras neuronas y en otras ocasiones. Por eso
son
requeridos los repetidores y se colocaran a los lados para una mayor
organización.
♦
El entrenador contara con los elementos necesarios para el buen
funcionamiento de los microcontroladores.
Los microcontroladores necesitan de elementos externos como cristales de
cuarzo, alimentación de corriente, resistencias para el buen funcionamiento así
mismo como para interruptores y LEDs.
♦
El entrenador contara con ranuras para la colocación y el desprendimiento
de estas manualmente.
Los PICs no deberán ser fijos a la tarjeta, puesto que las redes no siempre
necesitarán del mismo número de PICs.
♦
El entrenador no tendrá conexiones entre los distintos elementos, sino
contara con orificios al lado de los elementos, para conectarse por medio
de cables de cobres delgados.
Así como tampoco se necesitan los mismos números de PICs, así tampoco se
necesitan el mismo número de conexiones para formar una red con los diferentes
PICs.
♦
Los PICs Deberán tener los puertos de entrada/salida disponibles para
establecer conexiones y deshacerlas manualmente.
Debido a que los usuarios deberán establecer y deshacer conexiones, utilizando
los puertos de los PIC, el entrenador deberá disponer estos puertos solo para
establecer conexiones a través de cables de cobre.
♦
En el entrenador se permitirá como máximo el acoplamiento de doce
neuronas a la vez.
El entrenador no deberá ser demasiado grande y ni demasiado pequeño. Por
esta razón se escogieron doce PICs.
♦
El entrenador permitirá simular como mínimo 3 topologías Perceptron,
Hopfield y Backpropagation.
El entrenador de redes neuronales estará en la capacidad de soportar estas tres
redes, a causa que son las más frecuentemente utilizadas.
♦
La aplicación que será quemada en los PICs (neuronas), deberá
programarse en lenguaje ensamblador.
Esto es debido, a que los recursos de los PICs son limitados y no están en la
capacidad de almacenar programas de alto nivel.
♦
El entrenador no contará con una interfaz grafica de usuario.
El entrenador de redes neuronales esta orientado hacia la parte hardware, mas
que la parte software.
♦
EL circuito entrenador tendrá 12 LEDs como mínimo para mostrar a sus
usuarios las salidas de la red.
Puesto que, en el entrenador solo se podrán acoplar 12 microcontroladores, es
necesaria como mínimo una salida por cada microcontrolador que soporta el
entrenador.
♦
EL circuito entrenador tendrá 12 interruptores como mínimo para dar
entradas a la red.
Puesto que, en el entrenador solo se podrán acoplar 12 microcontroladores, es
necesario como mínimo un interruptor por casa microcontrolador que soporta el
entrenador.
♦
El entrenador, solo poseerá una única unidad de memoria permanente,
Disponible en los PICs.
No es necesaria la implementación de otro tipo de memoria, ya que los PICs
serán los encargados de realizar todos los cálculos de la red.
♦
EL circuito entrenador tendrá un módulo de quemado externo o interno.
Para poder almacenar los códigos neuronales en el microcontrolador es
necesario un hardware que sirva de puente entre el computador y el PIC.
♦
Será necesario un software para controlar el “modulo de quemado”.
Como es sabido cualquier hardware necesita de un software que lo administre,
en este caso el encargado será “MPASAM”.
♦
El software para el quemado de los PICs, será el proporcionado por la casa
productora de los mismos.
A raíz de la compatibilidad, es necesario contar con el sistema que nos
proporciona la casa que desarrolla los PICs.
♦
El software para el quemado de pic`s, correrá solo bajo plataformas
Windows.
La mayoría de ordenadores con que cuenta la Universidad Autónoma Del Caribe
operan bajo sistemas operativos Windows.
♦
La entrada del modo de alimentación eléctrica, Solo soportará una entrada
de 5v voltios.
A causa del microcontrolador que solo soporta esta capacidad de energía
eléctrica.
♦
El modulo de quemado se comunicara con el PC, por medio del puerto
paralelo LPT1.
Debido a que el software que manipula el quemador de PICs, trabaja con el
puerto com, se decidió implementarlo en el quemador de PIC.
6.2.5. NEGOCIACION DE REQUISITOS
Requisito
Se deberán acoplar los microcontroladores necesarios para la
implementación de la red.
Se deberán establecer cuales son los puertos de entrada y cual será el
de salida para los microcontroladores.
El entrenador debe mostrar si el proceso de entrenamiento es activo o
inactivo.
Prioridad
Obligatorio
Obligatorio
Opcional
Cada neurona tendrá varias entradas pero una sola salida.
Obligatorio
Cada neurona tendrá como máximo once entradas.
Obligatorio
Las entradas pueden estar dadas por interruptores o señales externas.
Obligatorio
La salidas deberán ser vistas en los LEDs.
Obligatorio
Las entradas y las salidas de la red deben ser solo ceros y unos.
Obligatorio
La red debe pasar por una etapa de aprendizaje y una de ejecución.
Se deberán establecer las conexiones entre los PICs, interruptores y
LEDs.
Las entradas o salidas se acoplaran a repetidores en caso que sea
necesario.
El entrenador deberá ser realizado para el PIC 16f84.
El entrenador contara con repetidores de señales en diferentes lados
del entrenador.
El entrenador contara con los elementos necesarios para el buen
funcionamiento de los microcontroladores.
El entrenador contara con ranuras para la colocación y el
desprendimiento de estas manualmente.
El entrenador no tendrá conexiones entre los distintos elementos, sino
contara con orificios al lado de los elementos, para conectarse por
Opcional
Obligatorio
Opcional
Obligatorio
Obligatorio
Obligatorio
Obligatorio
Obligatorio
medio de cables de cobres delgados.
Los PICs Deberán tener los puertos de entrada/salida disponibles para
establecer conexiones y deshacerlas manualmente.
En el entrenador se permitirá como máximo el acoplamiento de doce
neuronas a la vez.
El entrenador permitirá simular como mínimo 3 topologías Perceptron,
Hopfield y Backpropagation.
La aplicación que será quemada en los PICs (neuronas), deberá
programarse en lenguaje ensamblador.
El entrenador no contará con una interfaz grafica de usuario.
EL circuito entrenador tendrá 12 LEDs como mínimo para mostrar a sus
usuarios las salidas de la red.
EL circuito entrenador tendrá 12 interruptores como mínimo para dar
entradas a la red.
El entrenador, solo poseerá una única unidad de memoria permanente.
Disponible en los PICs.
Obligatorio
Obligatorio
Obligatorio
Obligatorio
Obligatorio
Obligatorio
Obligatorio
Obligatorio
EL circuito entrenador tendrá un modulo de quemado externo o interno.
Obligatorio
Será necesario un software para controlar el “modulo de quemado”.
Obligatorio
El software para el quemado de los PICs, será el proporcionado por la
casa productora de los mismos.
El software para el quemado de pic`s, correrá solo bajo plataformas
Windows.
La entrada del modo de alimentación eléctrica, Solo soportará una
entrada de 110 voltios.
El modulo de quemado se comunicara con el PC, por medio del puerto
paralalelo LPT1.
Tabla 4: Negociación de requisitos
Obligatorio
Obligatorio
Obligatorio
Obligatorio
6.2.6. EVOLUCIÓN DEL SISTEMA
De manera inicial la parte software del proyecto se especializara en las dos topologías
ya mencionadas, sin embargo, de acuerdo con el interés de otros estudiantes se podrá
aumentar el numero de topologías implementadas en el entrenador.
Hasta nuestro aporte el entrenador tendrá como entrada Switches y de salida lets, otros
estudiantes podrán adaptar nuevas clases de entradas y salidas diferentes, para lo cual
se ha dejado establecido el modulo alternativo de entrada/salida.
Otra importante evolución seria la elaboración de una interfaz grafica de usuario con la
que se pueda interactuar y coordinar todos los procesos del entrenador.
Construcción de otros entrenadores que se intercomuniquen entre si para expandir la
red y realizar practicas en ellos. Se podrá incorporar otros sockets para agregar otras
neuronas a la red, con el fin de hacer combinaciones entre las diferentes topologías
existentes.
6.2.7. MODELOS DEL SISTEMA.
6.2.7.1 ESQUEMA ELECTRÓNICO DEL CIRCUITO ENTRENADOR
Entrenador RNA
Modulo de Alimentación
( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Socket
Salidas (leds)
leds)
( )( )( )( )( )( )( )( )
( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Entradas de la
red
(Interruptores)
Interruptores)
+
+
Modulo alternativo
de entradas o
salidas
FIGURA 22: CIRCUITO ENTRENADOR. VISTA SUPERIOR
+
+
+
+
+
FIGURA 22: CIRCUITO ENTRENADOR. VISTA INFERIOR
6.2.7.2. CONEXIONES ENTRE MICROCONTROLADORES
Sw: Modo Ejecución/Modo
Entrenamiento
Oscilador XT
Alimentación
FIGURA 23: MODELO ESQUEMÁTICO DE CONEXIÓN DEL MICROCONTROLADOR 16F84
6.2.7.3. ESQUEMA DE INTERACCIÓN HOMBRE-CIRCUITO ENTRENADOR
FIGURA 24: ESQUEMA INTERACCIÓN HOMBRE-MAQUINA (E.R.N.A.)
6.2.7.4. ESQUEMA DE INTERACCIÓN HOMBRE-QUEMADOR DE PIC
FIGURA 25: ESQUEMA INTERACCIÓN HOMBRE-MAQUINA (QUEMADOR.)
6.2.7.5. DIAGRAMAS DE CASOS DE USO
Entrenador RNA
Acoplar PIC
Establecer Red Neuronal
Estudiante
Estudiante
Colocar en modo Entrenamiento
Colocar en modo Ejecución
Proporcionar entradas a la Red
Generar salida de la Red
Las entradas; Pueden
provenir de otra
neurona, de un
interruptor o cualquier
otro receptor de
información.
Ejecución Neuronal
Colocar en modo Ejecución
Leer Entradas
Estudiante
Estudiante
Generar Salidas de la Red
6.2.7.5.1. CASOS DE USO ESENCIALES
Entrenador RNA
Acoplar PIC
Establecer Red Neuronal
Estudiante
Estudiante
Colocar en modo Entrenamiento
Colocar en modo Ejecución
Proporcionar entradas a la Red
Generar salida de la Red
6.2.7.6. MODELO CONCEPTUAL
-Manipula
-Contiene
Estudiant
Entrenador
1
Neuron
1
1
1
12
1
0..12
-Tiene
1
-Tiene
24
1
1..12
Salida
Entrada
-Tiene
0..12
0..12
-Puede ser
Interna
0..12
-Puede ser
Extern
6.2.7.7. DIAGRAMA DE SECUENCIA DEL SISTEMA
6.2.7.7.1. ENTRENADOR DE RNA
6.2.7.7.2. QUEMADO DE PIC
:APLICACION
:ESTUDIANTE
:QUEMADOR
Ejecutar()
Aplicación Ejecutando()
Configuración del PIC( )
Configuración Guardada()
Código del PIC()
Código Compilado()
Quemar PIC ()
Código hexadecimal (C)
PIC quemado ()
Programa quemado ( )
Almacenar Programa()
Programa almacenado ()
:PIC
6.2.7.7.3. MODO ENTRENAMIENTO RNA
6.2.7.7.4. MODO EJECUCIÓN RNA
6.2.7.8. DIAGRAMAS DE ESTADOS
6.2.7.8.1. ENTRENADOR RNA
6.2.7.8.2. QUEMADOR
6.2.7.8.3. MODO DE EJECUCIÓN NEURONAL
6.2.7.8.4. MODO DE ENTRENAMIENTO NO SUPERVISADO
NEURONAL
6.2.7.8.5. MODO DE ENTRENAMIENTO SUPERVISADO NEURONAL
1
Esperar Modo
Entrenamiento
2
Entrenamiento (true)
3
Generar
Salida de la
Red
Salida (Y)
Calcular Error
Modificar Pesos y umbral (Error)
4
5
Modificar
Umbral
Modificar
Peso
Pesos Modificados
Umbral Modificado
6.2.7.9. GLOSARIO
Acoplar PIC Consiste en insertar físicamente un microcontrolador 16f84 en
una de las 12 ranuras con las que cuenta el Circuito Entrenador. (Ver figura
17).
Calcular Error Este se halla, para conocer en que porcentaje difiere la
salida de la red, de la salida esperada por el usuario.
Código hexadecimal Código en base 16. Este sistema numérico se utiliza
como una forma abreviada para reconocer números binarios (Los números
binarios, son el principio fundamental en que se basan los computadores
digitales. Todo lo que ingresa o sale de un computador se convierte en: 1
Voltaje alto y en 0 voltaje bajo).
Esperar modo de ejecución El entrenador siempre estará pendiente del
Switch que le indicara si debe trabajar en este modo (Ver figura 18).
Esperar modo entrenamiento El entrenador siempre estará pendiente del
Switch que le indicara si debe trabajar en este modo (Ver figura 18).
Establecer Red Neuronal Es el proceso, mediante el cual se realizan las
conexiones físicas entre las distintas neuronas (este enlace entre
microcontroladores, se hará por medio de cables de cobre). Dependiendo de
la topología a implementar.
Generar Salidas De La Red Son los resultados que arroja la red neuronal.
Este depende de la topología; Pero, básicamente son señales eléctricas
mostradas a los usuarios por medio de los Leds.
Leer entradas
Las neuronas (microcontroladores) estarán siempre a la
espera de las entradas a procesar. Estas pueden, provenir del medio o de la
misma red neuronal.
Leer estados El circuito entrenador, estará constantemente atento del
estado del Switch (Ver figura 17) que le indicará en cual de los dos modos
debe funcionar; Si en modo entrenamiento o en modo ejecución (Ver modo
entrenamiento y modo ejecución).
Modificar pesos y umbrales Los pesos y umbrales se ajustan para tratar de
minimizar el error, en las salidas de la red.
Modo Ejecución Uno de los dos estados de funcionamiento del Circuito
Entrenador. En el, las neuronas reciben las entradas externas a la red
provenientes de los pulsadores, las procesan y envían sus respuestas a los
Leds.
Modo Entrenamiento Uno de los dos estados de funcionamiento del Circuito
Entrenador. En el, las neuronas se adiestran; Para que respondan
satisfactoriamente a las necesidades del usuario (reconocimiento de
patrones,
compuertas
lógicas,
etc.).
Puede
usar
dos
modos
de
entrenamiento: supervisado o no supervisado.
Proporcionar Entradas a la Red
Las entradas a la red pueden ser
introducidas por el usuario (Utilizando los interruptores) o pueden ser la
misma salida de la red; Que las retroalimenta para mejorar su respuesta.
6.3. DISEÑO
El circuito entrenador, será una tarjeta madre, que tiene como finalidad
proporcionar un medio físico donde las neuronas puedan ensamblarse; Para
formar entre ellas una topología de red neuronal. Estas topologías, se
lograrán
establecer
por
medio
de
la
conexión
de
los
distintos
microcontroladores, a través de cables de cobre. La entramada de la red,
dependerá de la topología a implementar.
Como se ha dicho anteriormente las neuronas, serán simuladas en
microcontroladores 16F84, con encapsulado “dual in line”. Que cuenta con
1Kb de memoria EEPROM (User Memory), 64 bytes de memoria RAM, 64
bytes de memoria EEPROM y 13 pines de entrada/salida (el puerto A cuenta
con 5 pines y el B con 8 pines). Ver figura 23.
Para el correcto funcionamiento de los microcontroladores, será necesario
anexar en el Circuito Entrenador Osciladores XT94. Que serán conectados a
los pines 15 y 16 del PIC. Ver figura 23.
Solo uno de los pines del microcontrolador 16f84 se configurará como salida
(Por lo cual, será necesario la utilización de repetidores de señal), esto con el
propósito de simular el proceso
de interconexión neuronal biológica
(sinapsis).
Es importante conocer; Que aunque, en este proyecto solo se desarrollarán
dos topologías (Perceptrón y Kohonen), el entrenador estará en la capacidad
de soportar cualquier topología detallada en el marco teórico; Solo
dependiendo, de los recursos del PIC 16f84 (1Kb de memoria de usuario se
representan en 1024 líneas de código).
94
Oscilador XT (cristal de cuarzo): Cristal ≤ 4MHz
Por el Circuito Entrenador, se introducirían las entradas externas a la red
(interruptores) y se visualizarían las salidas (lets) de la misma. El circuito,
podrá utilizarse en dos modos distintos de trabajo:
•
Modo entrenamiento: Donde las entradas externas de la red, no son
significativas; Se utiliza, para que las neuronas ajusten su vector de
pesos.
•
Modo ejecución: En este las entradas externas de la red, son
enviada a las neuronas, las cuales las procesan y arrojan un
resultado, que dependiendo de su entrenamiento será o no será
representativo.
En el entrenador, se ajustará a uno de estos dos modos, por medio de un
interruptor, que estará conectado al bit 0 del puerto A (Porta A,0) de todos los
microcontroladores95. Indicándoles a estos (por medio de impulsos eléctricos)
si deben “entrenarse” o “ejecutarse”. Ver figura 17.
Para
el
almacenamiento
de
los
códigos
neuronales
en
los
microcontroladores, será necesario el desarrollo de un modulo periférico para
el quemado de los PIC´S. Este se comunicará con el computador utilizando
el puerto paralelo. En el PC, será necesario la instalación del software
gratuito “MPASAM” que se encargará de transformar el código ensamblador
a hexadecimal y de administrar el proceso de quemado se encargará el
software ”WINPIC800” de los programas, en el PIC 16f84. Ver figura 19.
Para la alimentación eléctrica será necesario un adaptador de 5V. El
entrenador tendrá conectado internamente a cada uno de los orificios donde
95
Pin 17 del microcontrolador
se insertarán, el pin 5 de cada microcontrolador96, esta entrada de energía.
Ver figura 23.
Como nuestro proyecto no contará con una interfaz grafica y los códigos
neuronales deberán ser realizados en código ensamblador; No será
necesario, la utilización de ningún lenguaje de alto nivel.
Para finalizar si las nuevas topologías a implementar, exigen una mayor
capacidad de procesamiento, que la brindada por el microcontrolador 16f84.
Este se podrá reemplazar por el PIC 16f28 gama alta sin ningún
inconveniente, solo sería necesario configurarlo por medio de códigos para
que funcione con un oscilador externo.
96
Pin de alimentación (5V)
6.4. IMPLEMENTACIÓN.
Para la implementación de los códigos neuronales, se utilizo programación
de bajo nivel. Más específicamente los códigos de lenguaje ensamblador,
utilizados para la programación del microcontroladores 16f84 (instrucciones
en lenguaje máquina). Como no se necesitó una interfaz grafica de usuario,
no se diseñaron, ni se desarrollaron pantallazos para estos programas.
Para, la compilación y posterior depuración de los errores de los Códigos
Neuronales (al programas en bajo nivel la programación y depuración de
errores es mas compleja,
pero tienen la contrapartida que los códigos
generados, son más rápidos y eficientes), se utilizo la herramienta software
SIMUPIC 84, que permitió simular el comportamiento que asumiría el
microcontrolador al ejecutar dichos códigos.
FIGURA XX: SIMUPIC 84. MYCROSYSTEMS ENGINEERING.
Los Códigos Neuronales, desarrollados fueron el código para las topologías
Perceptrón y Kohonen. A continuación serán descritos.
6.4.1 CÓDIGO PERCEPTRÓN
list p=16f84
status
equ
03h
portA
equ
05h
trisA
equ
05h
num1
equ
0Ch
num2
equ
0dh
sig1
equ
0eh
sig2
equ
0fh
numr
equ
10h
sigr
equ
11h
x
equ
12h
y
equ
13h
s
equ
14h
w1
equ
15h
w2
equ
16h
v
equ
17h
t
equ
18h
umbral
equ
19h
err
equ
1ah
tmp
equ
1bh
Switch
equ
1ch
sigerr
equ
28h
sigw1
equ
1dh
sigw2
equ
1eh
sigs
equ
1fh
sigumbral
equ
20h
sigtmp
equ
21h
pinentrenar equ
22h
jinc
equ
23h
jdec
equ
24h
iinc
equ
25h
idec
equ
26h
sum
equ
27h
#define
BANK1
bsf status,5
#define
BANK0
bcf status,5
Org
0
BANK1
movlw
1Dh
;00011101 num en binario: Configura los
puertos
movwf
trisA
BANK0
;*******************************************
;**///Coloca todos los signos positivos///**
clrf
sigw1
clrf
sigw2
clrf
sigs
clrf
sigumbral
clrf
sigtmp
;**///Coloca todos los signos positivos///**
;*******************************************
;**********************************
;**///Inicializa las variables///**
bcf
portA,4
movlw
01h
movwf
w1
movwf
w2
movwf
v
movlw
03h
movwf
t
clrf
umbral
;t = 0011 los primeros 4 valores
;**///Inicializa las variables///**
;**********************************
movlw
00h
movwf
pinentrenar
;*****************************
;**///Sub Main Perseptron///**
Inicio
btfss portA,0
; si pinentrenar = 1
goto ejecucion
goto entrenar
ejecucion
call entradas
call salidared
btfss portA,4 ; si pin terminar = 1 se sale
goto inicio
goto FIN
;*****************************
;**///Etapa Entrenamiento///**
entrenar
clrf
sum
clrf
iinc
movlw 02h
movwf idec
clrf
Switch ;Se queda en 0 si esta entrenada la red
clrf
jinc
movlw
02h
movwf
dec
sicloi1
sicloj1
btfss jinc,0; coloca los valores de x
goto sicj0
goto sicj1
sicj0
bcf x,0
goto sici
sicj1
bsf x,0
sici
btfss iinc,0
goto sici0
goto sici1
sici0
bcf x,1
goto finsici
sici1
bsf x,1
finsici
call salidared
movlw
01h
movwf
err
movlw
3h
subwf
sum,0
;sum-3
btfsc status,2
goto
sict3
movlw
2h
subwf
sum,0
btfsc status,2
;sum-2
goto
sict2
movlw
1h
subwf
sum,0
;sum-1
btfsc status,2
goto
sict1
goto
sict0
;*****************************
sict3
btfsc t,3
goto sict3err2
goto sict3err1
sict3err1
movlw
01
movwf sigerr
clrw
goto finsict
sict3err2
clrf sigerr
movlw
01 ;para el valor de la resta de T - Y
goto finsict
sict2
btfsc t,2
goto sict2err2
goto sict2err1
sict2err1
movlw
01
movwf sigerr
clrw
goto finsict
sict2err2
clrf sigerr
movlw
01;para el valor de la resta de T - Y
goto finsict
sict1
btfsc t,1
goto sict1err2
goto sict1err1
sict1err1
movlw
01
movwf sigerr
clrw
goto finsict
sict1err2
clrf sigerr
movlw
01;para el valor de la resta de T - Y
goto finsict
sict0
btfsc t,0
goto sict0err2
goto sict0err1
sict0err1
movlw
01
movwf sigerr
clrw
goto finsict
sict0err2
clrf sigerr
movlw
01;para el valor de la resta de T - Y
finsict
;*****************************
subwf
y,0
btfsc
status,2
goto finsicw
;*****************************
movlw 01h
movwf Switch
movf err,0
movwf num2
movf sigerr,0
movwf sig2
btfsc
goto sicw11
goto sicw2
sicw11
x,0
movf w1,0
movwf num1
movf sigw1,0
movwf sig1
call
sumsig
movf numr,0
movwf w1
movf sigr,0
movwf sigw1
sicw2
btfsc
x,1
goto sicw21
goto sicumbral
sicw21
movf w2,0
movwf num1
movf sigw2,0
movwf sig1
call
sumsig
movf numr,0
movwf w2
movf sigr,0
movwf sigw2
sicumbral
movf umbral,0
;modifica el umbral
movwf num1
movf sigumbral,0
movwf sig1
btfsc sigerr,0
goto sicumbmas
goto sicumbmenos
sicumbmas
movlw 00h
goto sumumb
sicumbmenos
movlw 01h
sumumb
movwf sig2
call
sumsig
movf numr,0
movwf umbral
movf sigr,0
movwf sigumbral
finsicw
incf sum,1
incf jinc,1
decfsz jdec,1
goto sicloj1
;fin modifica el umbral
incf iinc,1
decfsz idec,1
goto sicloi1
;btfsc Switch,0
;goto entrenar
btfss portA,4
; si pin terminar = 1 se sale
goto inicio
goto FIN
;**///Etapa Entrenamiento///**
;*****************************
;**///Sub Main Perseptron///**
;*****************************
entradas
clrf
btfss portA,2
goto entx10
goto entx11
entx10
bcf x,0
goto entx2
entx11
bsf x,0
entx2
btfss portA,3
x
goto entx20
goto entx21
entx20
bcf x,1
goto entx3
entx21
bsf x,1
entx3
return
;***************************
;**///Función salidared///**
salidared
btfss
x,0
goto sldsum11
goto sldsum12
sldsum11
clrw
goto sldsum2
sldsum12
movf
w1,0
sldsum2
movwf num1
btfss
x,1
goto sldsum21
goto sldsum22
sldsum21
clrw
goto sldsum3
sldsum22
movf
w2,0
sldsum3
movwf num2
movf
sigw1,0
movwf sig1
movf
sigw2,0
movwf sig2
call
sumsig
movf
numr,0
movwf
s
movwf
num1
movf
sigr,0
movwf
sigs
movwf
sig1
movf
umbral,0
movwf
num2
movf
sigumbral,0
movwf
sig2
call
Mayorque
movwf y
btfss
goto sldy0
goto sldy1
y,0
sldy0
bcf portA,1
goto sldreturn
sldy1
bsf portA,1
sldreturn
return
;**/// End Función salidared///**
;***************************
;**************************
;**--///Función Suma///--**
sumsig
movf
sig2,0
subwf
sig1,0
btfss
status,2
goto sumdesigual
goto sumigual
sumigual
movf
num1,0
addwf
num2,0
movwf
numr
movf
sig1,0
movwf
sigr
return
;sig1-sig2
sumdesigual
movlw
00h
subwf
num2,0
;0 - num2
btfss
status,2
;si num2 es 0 salta
goto num2noes0
movf
sig1,0
movwf
sigr
movf
num1,0
;pasa sig1 a w y lo pasa a sigr
;pasa num1 a w y lo pasa a numr
goto movnumr
num2noes0
movf
num2,0
subwf
num1,0
;num1 - num2
btfsc
status,2
;si el bitCarreo = 0 num1 es > num2
goto
sigr0
btfss
status,0
goto
asigs2
goto
asigs1
clrf
sigr
sigr0
goto resul
asigs1
movf
sig1,0
movwf
sigr
goto resul
;si el bitCarreo = 0 num1 es > num2
asigs2
resul
movf
sig2,0
movwf
sigr
btfss
status,0
;si el num1 >= num2
num2,0
;sino se guarda num1 en w
movf
num1,0
;entonces se guarda num2 en w
btfss
status,0
;si el num1 >= num2
goto num1w
goto num2w
num2w
movf
goto btfsig
btfsig
goto subnum2
goto subnum1
subnum1
subwf
num1,0
;sino se resta num1- num2
goto movnumr
subnum2
subwf
num2,0
movnumr
movwf
numr
;entonces se resta num2 - num1
return
;**--///End Función Suma \\\--**
;**************************
;***************************
;**-//Función Mayor que\\-**
Mayorque
movf
sig2,0
subwf
sig1,0
btfss
status,2
;sig1-sig2
goto Mayordesigual
goto Mayorigual
Mayorigual
movf
num2,0
subwf
num1,0
;num1 - num2
btfsc
sig1,0
;si sig1 = 0
goto iglmenos
goto iglmas
iglmas
btfsc
status,2
;si num1 - num2 no es 0
retlw
00h
btfsc
status,0
retlw
01h
movlw
0h
subwf
num2,0
;num2 - 0h
btfss
status,2
;si num2 - 0h es 0
retlw
00h
retlw
01h
btfsc
status,0
;si num1 - num2 es neg
iglmenos
;si num1 - num2 es neg
retlw
00h
movlw
0h
subwf
num2,0
;num2 - 0h
btfss
status,2
;si num2 - 0h es 0
retlw
01h
retlw
00h
Mayordesigual
btfsc
sig1,0
retlw
00h
retlw
01h
;si num1 - num2 es neg
;**-// End Función Mayor que\\-**
;***************************
FIN
End
6.5 PRUEBAS.
En el transcurso de la investigación y posterior desarrollo del entrenador, fue
muy importante la retroalimentación y depuración de errores, fue así como el
diseño del entrenador cambió varias veces, para ajustarse a las nuevas
necesidades que encontramos al ahondar en la situación problema.
Así mismo, los códigos neuronales, al ser desarrollados en lenguaje maquina
y debido a la complejidad de este; fueron sometidos a pruebas constantes
para obtener el mejor resultado en el menor número de líneas de código
(solo contábamos con 1024 líneas de código).
Al disminuir la vida útil de los microcontroladores con cada proceso de
quemado, se opto por simular en el computador; Cada código neuronal hasta
que se lograrán los resultados deseados; Es decir, que estos se ajustarán a
las premisas de las dos topologías a implementar en este proyecto.
Esta simulación, fue echa gracias a el programa SIMUPIC 84, donde se
observo con detalle el comportamiento de los códigos y se monitoreo al
máximo si la neurona (microcontrolador) lograba culminar con éxito su
proceso de entrenamiento y posterior ejecución de lo aprendido en el anterior
proceso. El cual, no siempre fue exitoso y fue necesario en muchas
ocasiones rediseñar los códigos, hasta que se logró obtener neuronas
inteligentes que se retroalimentaban y aprendían de sus errores, para luego
dar una respuesta optima a los impulsos, que llegaban a ella de su entorno.
7. CONCLUSIONES
A pesar de las dificultades encontradas en la realización de este proyecto;
como, la falta de información veraz para el diseño de los códigos neuronales
basados en la topología “Back Propagation” o las carencias del lenguaje
ensamblador utilizado para la programación de los PIC 16f84 (Se debieron
realizar procedimientos de sumas con números negativos, simular vectores y
sus operaciones, comparación con números negativos, etc.); Se lograron los
resultados propuestos al inicio de esta investigación.
Así mismo, al profundizar los conocimientos sobre los distintos temas en que
se basan este proyecto y al desarrollar la aplicación, pudimos percibir las
diferencias entre las dos arquitecturas implementadas; Tanto en sus métodos
de aprendizaje, como en las salidas de dichas redes.
Estas topologías fueron escogidas debido a su popularidad entre las RNA,
abarcan los dos tipos de aprendizaje (supervisado y no supervisado), sus
distintas formas de ejecución e interacción entre las neuronas y su
implementación en la actualidad.
Fue un acierto, la selección de la arquitectura Perceptron, para su
implementación, Debido a que históricamente fue la primera red neuronal
que se implemento; Además, su sencillez frente a las demás topologías,
facilita el aprendizaje de conceptos tales como pesos sinápticos y reglas de
activación. Se vislumbro, que esta arquitectura a pesar de ser llamada una
red neuronal, solo cuenta con una sola neurona (en este caso, para la
implementación de las compuertas ADN y OR), ya que las entradas a la red
son los interruptores del Circuito Entrenador (estos en los diagramas son las
neuronas de la capa de entrada) por ello en el circuito entrenador no se
percibe una red perceptron entre varios microcontroladores.
En el caso de Hopfield, se pusieron en práctica conceptos aprendidos en
algebra lineal, tales como la transpuesta de un vector, producto punto entre
vectores y matrices y la suma entre una matriz A y la matriz identidad. Lo
que facilito la asimilación del método de aprendizaje y ejecución de estas
redes, basados primordialmente en estos conceptos.
Por medio de esta arquitectura se pueden percibir la conexión entre varios
microcontroladores e introducirnos en el reconocimiento de patrones.
Como se fuera poco, el entrenador permitirá ensamblar las dos topologías
mencionadas simultáneamente, percibiendo así las diferencias descritas con
anterioridad.
Para finalizar, al desarrollar el circuito entrenador y los códigos neuronales
(almacenados en los PIC 16f84) los estudiantes de la Universidad Autónoma
del Caribe tendrán un medio físico que les permitirá visualizar el
funcionamiento de una RNA y podrán entramar cualquier topología, diseñar
nuevos códigos y percibir la capacidad de aprendizaje de una red neuronal
artificial.
8. BIBLIOGRAFÍA.
•
ANGULO, José Ma Usuategui. Microcontroladores PIC diseño práctico
de sus aplicaciones. McGraw Hill.
•
DR. BLOWIN, Claude-B. La salud, enciclopedia médica familiar.
Circulo de lectores. Pág. 89. Barcelona. 1982.
•
FEEDMAN, Alan. Diccionario de computación bilingüe. McGraw Hill.
•
http://es.tldp.org/Presentaciones/200304cursoglisa/redes_neuronales/curso-glisa-redes_neuronales.pdf Pagina Web
vigente al 18 de marzo de 2007.
•
http://es.wikipedia.org/wiki/Lenguaje_de_bajo_nivel
Pagina
Web
Pagina
Web
vigente al 25 de marzo de 2007.
•
http://es.wikipedia.org/wiki/Lenguaje_ensamblador
vigente al 26 de marzo de 2007.
•
http://es.wikipedia.org/wiki/Microcontrolador. Pagina Web vigente al 26
de marzo de 2007.
•
http://es.wikipedia.org/wiki/Red_neuronal_artificial Pagina Web vigente
al 18 de marzo de 2007.
•
http://jkharlos.wordpress.com/2007/09/03/redes-neuronales-artificiales.
Pagina Web vigente al 18 de marzo de 2007.
•
http://logicalgenetics.com/assorted/recurrent-nns/feedforward-small.jpg
Pagina Web vigente al 27 de mayo de 2007.
•
http://medmayor.cl/apuntes/apuntes/psico/aprendizaje.ppt Pagina Web
vigente al 30 de marzo de 2007.
•
http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html. Pagina
Web vigente al 12 de marzo de 2007.
•
http://ohm.utp.edu.co/paginas/docencia/neuronales/Capitulo1/RNBiolo
gica.htm Pagina Web vigente al 18 de marzo de 2007.
•
http://perso.wanadoo.es/chyryes/tutoriales/pic6.htm.
Pagina
Web
pagina
Web
vigente al 23 de octubre de 2007.
•
http://perso.wanadoo.es/chyryes/tutoriales/pic7.htm.
vigente al 23 de octubre de 2007.
•
http://server-die.alc.upv.es/asignaturas/LSED/2002g03/Soft_Hard/herramientas_para_pic.pdf Pagina Web vigente al 03
de agosto de 2007.
•
http://supervisadaextraccionrecuperacioninformacion.iespana.es/worki
ng/RedNeuronalArtificial.png. Pagina Web vigente al 18 de marzo de
2007.
•
http://www.alos.5u.com/indexpic877.htm Pagina Web vigente al 03 de
agosto de 2007.
•
http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina2.gif
Pagina
Web vigente al 18 de marzo de 2007.
•
http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina3.gif
Pagina
Web vigente al 18 de marzo de 2007.
•
http://www.electan.com/catalog/kits-educativos-cebek-entrenadoreselectronica-c-320_315.html. Pagina Web vigente al 8 de octubre de
2007.
•
http://www.electronica.com.mx/neural/information/hopfield.html Pagina
Web vigente al 18 de marzo de 2007.
•
http://www.electronica.com.mx/neural/information/perceptron.html
Pagina Web vigente al 18 de marzo de 2007.
•
http://www.electronicaestudio.com/microcontrolador.htm Pagina Web
vigente al 27 de marzo de 2007.
•
http://www.elprisma.com/apuntes/curso.asp?id=11846. Pagina Web
vigente al 18 de marzo de 2007.
•
http://www.gestiopolis.com/recursos3/docs/rh/tecapren.htm
Pagina
Web vigente al 19 de Agosto de 2007.
•
http://www.iibce.edu.uy/uas/neuronas/#y Pagina Web vigente al 19 de
Agosto de 2007.
•
http://www.iim.umich.mx/publica/bajar/BARRERA/Articulo%204.pdf
Pagina Web vigente al 19 de Agosto de 2007.
•
http://www.ilustrados.com/publicaciones/EpylElpAZuyzPaNKYx.php,
Pagina Web vigente al 19 de Agosto de 2007.
•
http://www.monografias.com/trabajos18/descripcion-pic/descripcionpic.shtml pagina Web vigente al 15 de mayo de 2007.
•
http://www.monografias.com/trabajos26/aprendizajedesarrollador/aprendizaje-desarrollador.shtml#conceppedag.
Pagina
Web vigente al 19 de Agosto de 2007.
•
http://www.monografias.com/trabajos38/redesneuronales/Image10688.gif. Pagina Web vigente al 17 de Marzo de
2007.
•
http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm
pagina
Web vigente al 23 de octubre de 2007.
•
http://www.redes-neuronales.netfirms.com/tutorial-redesneuronales/clasificacion-de-redes-neuronales-respecto-alaprendizaje.htm. Pagina Web vigente al 19 de Agosto de 2007.
•
http://www.redes-neuronales.netfirms.com/tutorial-redesneuronales/la-neurona-artificial-como-simil-de-la-neuronabiologica.htm Pagina Web vigente al 17 de Marzo de 2007.
•
http://www.superrobotica.com/images/S310130.JPG
vigente al 19 de Agosto de 2007.
Pagina
Web
•
http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf
Pagina Web vigente al 17 de Marzo de 2007.
•
NILSON, Nils. Inteligencia artificial una nueva síntesis. McGraw Hill.
•
ORTIZ,
Alexander
Luís
Ocaña.
Metodología
del
aprendizaje
significativo problemico y desarrollador. Hacia una didáctica integrada.
Editorial antillas. 2004.
•
QUESADA, Miguel. Metodología de la investigación. Mytis.
•
RATIONAL, Software. Ingeniería de requisitos. Circulo de lectores.
•
RUSSELS, Stuar. Inteligencia artificial un enfoque moderno. Pentice
Hall.
LISTA DE ANEXOS
ANEXO 1:
FICHA DEL PROYECTO
ANEXO 2:
PLANIFICACION DE LAS ACTIVIDADES
ANEXO 3:
CRONOGRAMA DE ACTIVIDADES
ANEXO 4:
POBLACIÓN OBJETIVO
ANEXO 5:
UBICACIÓN DELPROYECTO
ANEXO 6:
FORMATO DE ENCUESTA.
ANEXO 7:
TABULACIÓN DE LAS ENCUESTAS.
ANEXO 8:
FICHA TÉCNICA DE LA ENCUESTA
ANEXO 9:
FORMATO DE LA ENTREVISTA
ANEXO 10:
LIBRETO DE LA ENTREVISTA
ANEXO 11:
PRESUPUESTO.
ANEXO 12:
CUADRO COMPARATIVO NEURONAS
ANEXO 13:
FICHAS DE CONSULTA.
ANEXO 14:
FICHAS BIBLIOGRAFICAS.
ANEXO 15:
TABLAS Y GRAFICOS
ANEXO No. 1: FICHA DEL PROYECTO
TITULO
Diseño, desarrollo e implementación de un entrenador de redes neuronales
que reforzara los conocimientos vistos en el curso de inteligencia artificial.
INVESTIGADORES
Nombre
Antonio José barros molinares
Dirección
Calle 3 No. 1A – 158 Puerto
Colombia (Atlántico)
Teléfono
3096125
Nombre
José Luís Lobo Vásquez
Dirección
Calle 65 No. 27 – 24
Barranquilla (Atlántico)
Teléfono
3650873
Nombre
Laura Milena Zarache Vargas
Dirección
Transversal 14D No. 42 – 75
Soledad (Atlántico)
Teléfono
316 3113460 – 3432487
PROFESIONALES DE APOYO DE LA INVESTIGACIÓN
Director de Proyecto: ING. RICHARD AROCA ACOSTA.
Profesión: INGENIERO DE SISTEMAS.
Empresa: UNIVERSIDAD AUTONOMA DEL CARIBE.
Coordinador del Proyecto: ING. ILMA BONILLA.
Profesión: INGENIERO DE SISTEMAS.
Empresa: UNIVERSIDAD AUTONOMA DEL CARIBE.
Asesor Metodológico: MsC. CLAUDIA ZAPATA.
Profesión: PROFESOR DE TIEMPO COMPLRETO (PTC)
Empresa: UNIVERSIDAD AUTONOMA DEL CARIBE.
Asesor de Técnico: ING. RICHARD AROCA ACOSTA.
Profesión: INGENIERO DE SISTEMAS.
Empresa: UNIVERSIDAD AUTONOMA DEL CARIBE.
FECHA DE INICIACIÓN DEL PROYECTO
La realización de este proyecto ha iniciado el mes de Octubre del año 2006.
FECHA DE FINALIZACION DEL PROYECTO
El presente proyecto se presentará a mediados del mes de Noviembre del
año 2007, previo a la sustentación del mismo.
AN EXO NO. 2: PLANIFICACION DE LAS ACTIVIDADES
OBJETIVO: Identificar las actividades referentes a nuestro proyecto de manera secuencial para facilitar la
ejecución y supervisión y retroalimentación de cada una de ellas.
Ítems
Actividades
(Para el periodo Feb-jun 2007)
Físico
Humano
Responsable
Laboratorio, casa
Estudiante
Grupo
Tiempo
1
Definición del problema
14 días
2
Redacción del alcance y objetivos
7dias
Casa
Estudiante
Grupo
3
Especificación de los propósitos y
motivaciones del proyecto.
7 días
Casa
Estudiante
Grupo
4
Elaboración de la introducción
37 días
Estudiante
Grupo
5
Desarrollo del capitulo 1
63 días
Estudiante
Grupo
6
Elaboración del estado del arte
7 días
Estudiante
Grupo
7
Revisión bibliografíca
21 días
Estudiante
Grupo
8
Elaboración del marco conceptual y
marco teórico
35 días
Estudiante y
asesor
Grupo
Computador, papel,
lápiz
Computador, papel,
lápiz
Computador, papel,
lápiz
Computador, papel,
lápiz
Computador, papel,
lápiz
9
10
11
12
13
14
15
16
17
18
Desarrollo del capitulo 2: Diseño
metodológico
Elaboración de los formatos de las
encuestas y entrevistas
Selección de la población objetivo y
calculo de la muestra
Definición de instrumentos
metodológicos: tipo de investigación,
tipo de estudio, etc.
Delimitación: técnica, de espacio y
tiempo
Desarrollo prueba piloto de la
encuesta
Desarrollo del capitulo 3: Análisis e
interpretación de los resultados
Desarrollo del capítulo 4: Propuesta
Descripción y justificación de la
solución
Elaboración de los modelos del
sistema
Computador, papel,
lápiz, casa
Computador, papel,
lápiz
Computador, papel,
lápiz, laboratorio
Estudiante y
asesor
Estudiante y
asesor
7 días
Computador, papel,
lápiz,
Estudiante y
asesor
Grupo
7 días
Computador, papel,
lápiz
Estudiante y
asesor
Grupo
7 días
Fotocopias
Estudiantes
Grupo
7días
Computador, papel,
lápiz
Estudiantes
Grupo
Estudiantes y
asesor
Grupo
Estudiantes
Grupo
35 días
7 días
7 días
139 días
Facultad
Estudiante
Grupo
Grupo
Grupo
7 días
Laboratorio,
biblioteca
50 días
Laboratorio, casa
Estudiantes y
asesor
Grupo
Estudiantes
Grupo
19
Elaboración del glosario
14 días
Casa, laboratorio
20
Ajustes del diseño
7 días
Laboratorio
21
Construcción del prototipo
30 días
casa
Estudiantes y
asesor
Asesor y
estudiantes
Grupo
Grupo
22
Realización de pruebas
21 días
Laboratorio, casa
Asesor,
Estudiantes
Grupo
23
Elaboración del documento con los
capítulos 1,2,3 y 4
10 días
Casa, laboratorio,
computador, papel
Estudiantes
Grupo
Ítems
Actividades
(Para el periodo jul-nov 2007)
Tiempo
Físico
Casa, laboratorio,
computador,
papel, facultad
Casa, laboratorio,
computador, papel
Casa, laboratorio,
computador, papel
Casa, laboratorio,
computador, papel
Laboratorio,
computador.
Humano
Responsable
Estudiantes
y Asesor
Grupo
Estudiantes
Grupo
Estudiantes
Grupo
Estudiantes
y Asesor
Grupo
Estudiantes
Grupo
24
Corrección capítulos 1, 2, 3 y 4
4 meses
25
Diseño de los tres aplicativos
7 semanas
26
Desarrollo de los tres aplicativos
8 semanas
27
Corrección del prototipo
6 semanas
28
Desarrollo de las Pruebas finales
4 semanas
29
Entrega del documento Final (Monografía
completa)
1 día
Facultad
Estudiantes
Grupo
30
Entrega del software completo
1 día
Facultad
Estudiantes
Grupo
AN EXO NO. 3: CRONOGRAMA DE ACTIVIDADES
Febrero
Semanas
ACTIVIDADES
1
Capitulo 0. Introducción
Definición del problema
Redacción de la identificación y
descripción del proyecto
Elaboración de la justificación del
proyecto
Especificación de las motivaciones y
propósitos del proyecto
Definición del alcance y los objetivos
del proyecto
Capitulo 1. Estado del arte
Asesorías metodológicas
Revisión bibliografíca
Detección, selección y revisión de la
bibliografía
Definición del fundamento teórico y
fundamento conceptual
Descripción de los antecedentes
científicos
Asesorías metodológicas
Capitulo 2. diseño metodológico
Asesorías metodológicas
Elaboración de formatos de las
encuestas y entrevistas
Definición del tipo de investigación y
tipo de estudio
Definición del método y técnicas de
recolección de la información
Selección del ámbito espacial y
población objetivo
Justificación estadística de la muestra
2
3
Marzo
Semanas
4
1
2
3
Abril
Semanas
4
1
2
3
Mayo
Semanas
4
1
2
3
Junio
Semanas
4
1
2
3
Agosto
Semanas
4
1
2
3
Septiembre
Semanas
4
1
2
3
4
Octubre
Semanas
1
2
3
Noviembre
Semanas
4
1
2
3
4
Febrero
Semanas
ACTIVIDADES
1
Validación previa del instrumento
Desarrollo prueba piloto de la encuesta
Asesorías metodológicas
Aprendizaje de la herramienta
Capitulo 3. Análisis e interpretación de
resultados
Asesorías metodológicas
Elaboración de diagramas
Realización del análisis
Asesorías metodológicas
Capitulo 4. Propuesta
Asesorías metodológicas
Descripción y justificación de la solución
Definición de los objetivos de la solución
Definición y especificación de los
requerimientos
Elaboración del modelo del sistema
Elaboración del glosario
Asesorías metodológicas
Ajustes del diseño
Construcción del prototipo
Desarrollo de pruebas
Entrega del avance del proyecto y el
prototipo
Corrección de los capítulos 1, 2, 3 y 4
Ajustes prototipo (hardware)
Pruebas finales
Entrega del documento fenal de la
herramienta
2
3
Marzo
Semanas
4
1
2
3
Abril
Semanas
4
1
2
3
Mayo
Semanas
4
1
2
3
Junio
Semanas
4
1
2
3
Agosto
Semanas
4
1
2
3
Septiembre
Semanas
4
1
2
3
4
Octubre
Semanas
1
2
3
Noviembre
Semanas
4
1
2
3
4
ANEXO No. 4: POBLACIÓN OBJETIVO
Programa
Semestre
Ingeniería de sistemas Ingeniería electrónica Total
Noveno
108
78
186
Décimo
81
33
114
Total
189
111
300
ANEXO No. 5: UBICACIÓN DEL PROYECTO
En el momento en que este en funcionamiento el sistema gestual, éste estará ubicado
de manera estratégica en el laboratorio de robótica de la Universidad Autónoma del
Caribe.
Calle 90
Accesos
Biblioteca
Laboratorio de
Robótica
BLOQUE G
Laboratorio de
Computación
Cafetería
ANEXO No. 6: FORMATO DE ENCUESTA.
UNIVERSIDAD AUTONOMA DEL CARIBE
PROGRAMA DE INGENIERIA DE SISTEMAS
ENCUESTA PARA LOS ESTUDIANTES DE LA UNIVERSIDAD AUTONOMA
DEL CARIBE
Población Objetivo
Estudiantes de noveno y décimo semestre de ingeniería de sistemas y de ingeniería
electrónica de la Universidad Autónoma del caribe que hayan cursado o estén cursando
actualmente la asignatura Tecnología de sistemas II (Inteligencia artificial).
Objetivo de la encuesta
Conocer la opinión de las estudiantes acerca de las herramientas software y hardware
que afianzan los conocimientos teóricos de las redes neuronales, en el área de IA.
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique conceptos de
Inteligencia Artificial (IA)?
Si ____
No___
¿Cual? ________________________
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si ____
No___
3.- ¿Sabía usted que la universidad cuenta con un laboratorio de IA y robótica?
Si ____
No___
4.- ¿Ha manejado alguna herramienta software o hardware en el laboratorio de
Inteligencia Artificial y robótica?
Si ____
No___
5.- ¿Sabe usted si actualmente se están realizando, practicas con herramientas
hardware en el laboratorio de inteligencia artificial y robótica?
Si ____
No___
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio facilita la
comprensión de los conocimientos vistos en el área de inteligencia artificial?
Si ____
No___
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial desarrollados en la
universidad?
Si ____
No___
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si ____
No___
¿Cual? ________________________
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si ____
No___
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si ____
No___
11.- ¿Es para usted necesaria la implementación de nuevas herramientas hardware
para reforzar prácticamente los conocimientos aprendidos?
Si ____
No___
12.- ¿Le gustaría contar con una herramienta hardware que le permita observar mejor el
proceso de aprendizaje de las neuronas artificiales?
Si ____
No___
ANEXO No. 7: TABULACION DELAS ENCUESTAS.
Cantidad
%
Noveno Semestre De Ingeniería De Sistemas
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
7
34
17,07
82,93
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
29
12
70,73
29,27
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
39
2
95,12
4,88
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
8
33
19,51
80,49
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
19
22
46,34
53,66
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
24
17
58,54
41,46
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
7
34
17,07
82,93
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
33
8
80,49
19,51
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
39
2
95,12
4,88
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
30
11
73,17
26,83
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
39
2
95,12
4,88
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
No
41
0
100
0
Décimo Semestre De Ingeniería De Sistemas
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
9
34
20,93
79,07
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
33
10
76,74
23,26
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
43
0
100,00
0,00
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
10
33
23,26
76,74
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
21
22
48,84
51,16
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
26
17
60,47
39,53
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
9
34
20,93
79,07
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
37
6
86,05
13,95
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
43
0
100,00
0,00
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
35
8
81,40
18,60
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
43
0
100,00
0,00
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
No
43
0
100,00
0,00
Ingeniería De Sistemas Noveno Y Décimo Semestre
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
16
68
19,05
80,95
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
62
22
73,81
26,19
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
82
2
97,62
2,38
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
18
66
21,43
78,57
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
40
44
47,62
52,38
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
50
34
59,52
40,48
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
16
68
19,05
80,95
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
70
14
83,33
16,67
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
84
0
91,00
9,00
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
65
19
77,38
22,62
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
82
2
97,62
2,38
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
No
84
0
100,00
0,00
Noveno Semestre Ingeniería Electrónica
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
6
35
14,63
85,37
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
34
7
82,93
17,07
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
29
12
70,73
29,27
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
6
35
14,63
85,37
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
10
31
24,39
75,61
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
23
18
56,10
43,90
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
3
38
7,32
92,68
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
38
3
92,68
7,32
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
41
0
100,00
0,00
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
39
2
95,12
4,88
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
40
1
97,56
2,44
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
No
41
0
100,00
0,00
Décimo Semestre Ingeniería Electrónica
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
7
37
15,91
84,09
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
42
2
84,09
15,91
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
32
12
72,73
27,27
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
9
35
20,45
79,55
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
13
31
29,55
70,45
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
25
19
56,82
43,18
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
6
38
13,64
86,36
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
43
1
97,73
2,27
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
44
0
100,00
0,00
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
40
4
90,91
9,09
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
41
3
93,18
6,82
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
No
42
2
95,45
4,55
Ingeniería Electrónica Noveno Y Décimo Semestre
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
13
72
15,29
84,71
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
76
9
89,41
10,59
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
61
24
71,76
28,24
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
15
70
17,65
82,35
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
23
62
27,06
72,94
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
9
76
10,59
89,41
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
81
4
95,29
4,71
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
85
0
100,00
0,00
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
7
34
17,07
82,93
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
79
6
92,94
7,06
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
81
4
95,29
4,71
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
No
83
2
97,65
2,35
Ingeniería De Sistemas e Ingeniería Electrónica
1.- ¿Conoce usted alguna herramienta de uso cotidiano que aplique
conceptos de Inteligencia Artificial (IA)?
Si
No
29
140
17,16
82,84
2.- ¿Ha usted escuchado hablar de Redes Neuronales Artificiales?
Si
No
138
31
81,66
18,34
3.- ¿Sabia usted que la universidad cuenta con un laboratorio de IA y
robótica?
Si
No
143
26
84,62
15,38
4.- ¿Ha manejado alguna herramienta software o hardware en el
laboratorio de Inteligencia Artificial y robótica?
Si
No
33
136
19,53
80,47
5.- ¿Sabe usted si actualmente se están realizando, practicas con
herramientas hardware en el laboratorio de inteligencia artificial y robótica?
Si
No
63
106
37,28
62,72
6.- ¿Cree usted que las herramientas con las que cuenta el laboratorio
facilita la comprensión de los conocimientos vistos en el área de inteligencia
artificial?
Si
No
98
71
57,99
42,01
7.- ¿Esta informado acerca de los proyectos de inteligencia artificial
desarrollados en la universidad?
Si
No
25
144
14,79
85,21
8.- ¿Piensa que la IA será indispensable para el hombre en su vida diaria?
Si
No
151
18
89,35
10,65
9.- ¿Para usted el conocer mas acerca de inteligencia artificial le es útil?
Si
No
169
0
100,00
0,00
10.- ¿Ve usted en la inteligencia artificial una manera para adquirir ingresos?
Si
No
144
25
85,21
14,79
11.- ¿Es para usted necesaria la implementación de nuevas herramientas
hardware para reforzar prácticamente los conocimientos aprendidos?
Si
No
163
6
96,45
3,55
12.- ¿Le gustaría contar con una herramienta hardware que le permita
observar mejor el proceso de aprendizaje de las neuronas artificiales?
Si
167
98,82
No
2
1,18
ANEXO No. 8: FICHA TECNICA DE LA ENCUESTA
FICHA TECNICA DE LA ENCUESTA
Población encuestada
Facultades:
Facultad de Ingenierías
Programas encuestados:
Ingeniería
de
Sistemas
Electrónica
Semestres cubiertos:
Noveno y Décimo semestre
Numero de encuestas realizadas
169
Total Encuestados:
Ingeniería de Sistemas:
84
Ingeniería de Electrónica:
85
Noveno de Sistemas:
41
Noveno de Electrónica:
41
Total Encuestados Noveno:
82
Décimo de Sistemas:
43
Décimo de Electrónica:
42
Total Encuestados Décimo:
85
e
Ingeniería
ANEXO No. 9: FORMATO DE LA ENTREVISTA
ENTREVISTA REALIZADA A LOS ESPERTOS EN IA DE LA
UNIVERSIDAD AUTONOMA DEL CARIBE
1.- ¿Cuál es el proceso básico que utiliza el laboratorio de inteligencia
artificial y robótica para enseñar lo referente a redes neuronales?
2.- ¿Qué datos utilizan o generan este proceso?
3.- Usted nos comentaba el otro día que existe un modulo de Matlab para
simular redes neuronales ¿La universidad cuenta con el?
4.- ¿Cuál es el tiempo y espacio necesario para desarrollar estos temas?
5.- ¿Además del laboratorio de inteligencia artificial y robótica existe otro
lugar donde se pueda enseñar y poner en práctica todo lo referente a redes
neuronales?
6.- ¿Cuenta la universidad con el personal idóneo para el manejo de estos
temas? Es decir los temas de inteligencia artificial
7.- ¿Manejan estándares específicos que permitan conocer los avances
alcanzados en el desarrollo de estos temas?; ¿Estándares en cuanto a
aplicativos?; ¿En cuanto a la metodología?; ¿Alguna referencia?
8.- ¿Considera usted que seria beneficioso contar con un instrumento que
auxilie en el proceso de enseñanza-aprendizaje de redes neuronales?
9.- ¿Las actividades trazadas en la sala de inteligencia artificial para la
enseñanza de redes neuronales son culminadas a tiempo con el
procedimiento que se utiliza actualmente?
10.- ¿Se satisfacen los requerimientos básicos establecidos por la
universidad en la enseñanza-aprendizaje de redes neuronales? ¿O esto no
esta considerado en el plan de estudio?
11.- ¿Los estudiantes son concientes de los avances que se están
presentando a nivel de sistemas y corresponden en el aprendizaje de estos?
12.- Bajo ese orden de ideas ¿Cree usted que el entrenador que estamos
postulando serviría de apoyo a ese proceso?
ANEXO No. 10: LIBRETO DE LA ENTREVISTA
ENTREVISTA REALIZADA AL ING. RICHARD AROCA
Pregunta 1.
¿Cuál es el proceso básico que utiliza el laboratorio de inteligencia
artificial y robótica para enseñar lo referente a redes neuronales?
Básicamente después que se da la teoría se desarrollan algunos tipos de
aplicaciones pero en lenguajes tradicionales como Visual Basic, pero se
trabaja nada mas la parte básica. Por otro lado se trabaja una herramienta
especializada para sistemas expertos llamada CRIP, pero desarrollar teorías
neuronales como tal es bastante complicado.
Pregunta 2.
¿Qué datos utilizan o generan este proceso?
Cuando se utilizan las redes neuronales se le meten patrones básicos;
valores binario, y los resultados se dan también en binario, simulado en los
lenguajes de alto nivel como los que te estaba explicando por ejemplo Visual
Basic.
Pregunta 3.
Usted nos comentaba el otro día que existe un modulo de Matlab para
simular redes neuronales ¿La universidad cuenta con el?
No. Ese modulo no se ha solicitado, entiendo que es muy costoso, por lo que
habría que hacer todo un proyecto para justificar su compra.
Pregunta 4.
¿Cuál es el tiempo y espacio necesario para desarrollar estos temas?
Lo que sucede es que tecnología de sistemas II así como esta enfocada
actualmente en noveno semestre es una recopilación de todo lo que se
debería dar en inteligencia artificial, entonces son muchos temas, debido a
esto lo que se hace es simplemente hacer un tratamiento básico para que el
estudiante conozca la herramienta como tal y motivarle para que el después
pueda ahondar un poco mas al respecto de los temas que le interesen. Pero
básicamente, se tocan tópicos básicos para que el estudiante se motive y
pueda utilizarla.
Pregunta 5.
¿Además del laboratorio de inteligencia artificial y robótica existe otro
lugar donde se pueda enseñar y poner en práctica todo lo referente a
redes neuronales?
Yo diría que es difícil conseguir ese espacio, pero recordando y si la mente
no me falla aquí se hizo un proyecto sobre esto. Un proyecto que no se
exactamente cual fue la temática ahora mismo, pero algo si toco ese punto,
sin embargo el resultado es mas bien una investigación, ósea es algo más
que todo teórico y otro espacio adicional a este (el laboratorio de robótica) no
lo hay.
Pregunta 6.
¿Cuenta la universidad con el personal idóneo para el manejo de estos
temas? Es decir los temas de inteligencia artificial
Bueno ahora mismo como se trabajan con temas básicas la persona que
trabaja sobre eso soy yo y como se da en pocos grupos y realmente solo se
presenta un curso en la mañana y otro en la tarde y es una materia que nada
mas tiene tres horas, pero por lo general solo se presentan tres cursos y
cuadra con los horarios que yo tengo disponibles. Por ejemplo, este
semestre como un cambio en la malla, entonces habían grupos que estaban
en décimo y salieron nuevos grupos en noveno, entonces la parte
administrativa se vio en la necesidad de contratar un profesor que esta
trabajando en la noche y yo estoy trabajando en la parte del día. Entonces
personas para esto se consiguen poco pero en el momento la universidad si
tiene las personas suficientes. En el momento en que los proyectos vallan
avanzando ahondando en profundidad y en complejidad nos veríamos en la
necesidad de buscar nuevas personas para temas específicos.
Pregunta 7.
¿Manejan estándares específicos que permitan conocer los avances
alcanzados en el desarrollo de estos temas?; ¿Estándares en cuanto a
aplicativos?; ¿En cuanto a la metodología?; ¿Alguna referencia?
Realmente se esta tratando de organizar toda la información en cuanto a los
proyectos que se van desarrollando, pero en cuanto redes neuronales un
estándar aplicado de pronto es la conformación de una red básica como el
perceptron que se maneja acá, pero entrar a manejar cosas mas complejas
de una red como tal donde tenga que manejar sus estándares, no lo hay.
Pregunta 8.
¿Considera usted que serificioso contar con un instrumento que auxilie
en el proceso de enseñanza-aprendizaje de redes neuronales?
Obviamente si, así de pronto se da la oportunidad de ahondar un poco más
en el tema. El problema es que sin herramienta de pronto uno analiza
conceptos y programa una cosa básica, pero sin herramientas que permitan
avanzar en poco tiempo es imposible. Osea, que si se hace una herramienta
de estas seria bastante beneficioso. Por ejemplo se pondría colocar trabajo
independiente al estudiante, de manera que el mismo ahonde en el tema.
Pregunta 9.
¿Las actividades trazadas en la sala de inteligencia artificial para la
enseñanza de redes neuronales son culminadas a tiempo con el
procedimiento que se utiliza actualmente?
Si, como es un proceso netamente básico en cuestiones de tiempo y el
manejo de la temática es bueno. Pero eso no es solo a nivel de marco
teórico, a nivel de proyectos se demoran como dos semestres y por lo
general todos los que se inscribe en desarrollo de proyectos en inteligencia
artificial y redes neuronales, terminan sus proyectos a tiempo y se gradúan
según las normas de la universidad.
Pregunta 10.
¿Se satisfacen los requerimientos básicos establecidos por la
universidad en la enseñanza-aprendizaje de redes neuronales? ¿O esto
no esta considerado en el plan de estudio?
Realmente eso es muy subjetivo porque inicialmente la materia inteligencia
artificial no esta definida en el pensul, aparece como una temática de
tecnología de sistemas II, ahora mismo yo estoy tratando de probar en una
tesis que estoy haciendo que la inteligencia artificial es un valor agregado
que le da mucho mas valor a un ingeniero en varios aspectos que estoy
tratando de comprobar. Pero que haya unos lineamientos de la universidad
donde realmente se deba aplicar inteligencia artificial establecida desde sus
estamentos no esta claro.
Pregunta 11.
¿Los estudiantes son concientes de los avances que se están
presentando a nivel de sistemas y corresponden en el aprendizaje de
estos?
Bueno si, pero eso a través de una campaña que se ha generado a través de
lo que te estoy contando del doctorado, a través de campañas de motivación
que yo he emprendido, hacer charlas, conferencias, talleres. La gente en las
mismas clases aprende que realmente es importante que conozca la
herramienta pero hay que motivarlo para que profundice en ella y alcance la
dimensión que están mencionando.
Pregunta 12.
Bajo ese orden de ideas ¿Cree usted que el entrenador que estamos
postulando serviría de apoyo a ese proceso?
Claro obviamente por que seria una herramienta idónea para reforzar las
practicas, el problema hasta ahora es que se ve la red neuronal desde un
punto de vista teórico y de software pero no se puede ver el aspecto de la
explicación practica, de la aplicación directa en un dispositivo que es donde
mas se utiliza las redes neuronales. Hoy en día las aplicaciones que mas
están creciendo son las de reconocimiento de patrones y a la persona le es
difícil entender a nivel de un computador como son los procesos, primero por
que los dispositivos vienen empaquetados como son los reconocedores de
huellas y los reconocedores de cualquier otra cosa biométrica, entonces la
persona no puede destapar y ver que hace, con un entrenador de estos se
podría medio simular que es lo que pasa dentro y como es que esto
realmente funciona. Por esto seria muy bienvenido un dispositivo de estos y
seria muy beneficioso.
ANEXO No. 11: PRESUPUESTO.
Utilidad
Detalle
Cantidad
Valor
Unitario
Valor total
Papelería
Lápices
Borradores
Bolígrafos
Carpeta de 3 anillos
Hojas de Block
Fotocopias
Impresiones
Empastadas
10
5
16
1
3 Remas
280
700
1
500
400
1.000
7.000
10.000
50
150
20.000
Total Papelería
5.000
2.000
16.000
7.000
30.000
14.000
105.000
20.000
199.000
Comunicación
Teléfono celular
Teléfono fijo
200 (min.)
250 (min.)
250
33
Total Comunicación
50.000
8.250
58.250
Transporte
Taxis
Buses
15
120
4000
1300
Total Trasporte
60.000
156.000
216.000
Documentación
Internet
280 (horas.)
1200
Total Documentación
Equipos
PIC`S 16f84
Cable UTP
336.000
336.000
6
3 metros
10.000
1.000
60.000
3.000
150
41
1
150
150
150
22.500
6.150
150
15
24
12
300
200
2.500
4.500
4.800
30.000
Circuito Entrenador
Resistencias de 100 Ohmios
Resistencias de 330 Ohmios
Resistencias de 10 Kohmios
Bases Para Microcontrolador de 18
Pines
Condensadores de 22 pf
Cristales de Cuarzo
DIPSWITCH
LED de 3 mm
Postes para sostener
LED de 5 mm para IND
Switches para modo
Switches para encendido
Regulador de voltaje
Jack para la alimentación
Pines Abierto para conexión
Soldadura
Adaptador
Placa Impreso de 21x 23
Fabricación física de la Placa
Montaje de Componentes
Marcación y Protección de la Placa
Chasis en Acrílico
Diseño
Total Entrenador
Total Equipos
3
40
6
1
1
1
1
1
328
10
1
1
1
1
1
1
4.000
200
500
250
1.000
1.500
1.500
1.000
100
800
20.000
15.000
30.000
15.000
10.000
150.000
-.-
12.000
8.000
3.000
250
1.000
1.500
1.500
1.000
32.800
8.000
20.000
15.000
30.000
15.000
10.000
150.000
42.850
420.000
483.000
40
25
3.500
2.000
140.000
50.000
Víveres
Almuerzos
Meriendas
190.000
Total Víveres
TOTAL PRESUPUESTO
1.009.000
ANEXO No. 12: CUADRO COMPARATIVO
NEURONAS.
REDES NEURONALES BIOLOGICAS
REDES NEURONALES ARTIFICIALES
neuronas
nodos
Conexiones sinapticas
Conexiones ponderadas
Efectividad de la sinapsis
Peso de las conexiones
Efecto excitatorio o inhibitorio de una
conexion
Signo del peso de una conexion
Efecto combinado de las sinapsis
Funcion de porpagacion de una red
Activacion -> tasa de disparo
Funcion de activacion -> salida
ANEXO No. 13: FICHAS DE CONSULTA.
METODOLOGIA DE LA INVESTIGACION
AUTOR
EDITORIAL
PROPOSITO
Miguel Quesada
Mytis
Se consulto sobre técnicas de
investigación
ENCICLOPEDIA TEMATICA GUINESS
AUTOR
EDITORIAL
PROPOSITO
Circulo de lectores
Se consulto acerca de la composición de
la neurona y los fundamentos del
aprendizaje.
LA SALUD, ENCICLOPEDIA MEDICA FAMILIAR
AUTOR
Dr. Claude-B. Blowin
EDITORIAL
Circulo de lectores
Se consulto acerca de la composición de
la neurona
PROPOSITO
DICCIONARIO DE COMPUTACIÓN BILINGÜE
AUTOR
EDITORIAL
PROPOSITO
Alan Freedman
Mc Graw Hill
Se consulto para la definición y
elaboración del glosario
INGENIERIA DE REQUISITOS
Rational Software
Circulo De Lectores
Se consulto sobre la aplicación de
PROPOSITO
ingeniería de requisitos
AUTOR
EDITORIAL
ANEXO No. 14: FICHAS BIBLIOGRAFICAS.
INTELIGENCIA ARTIFICIAL UNA NUEVA SISTEXIS
NILS NNILSON
AUTOR
MCGRAW- HILL
EDITORIAL
PROPOSITO
INTELIGENCIA ARTIFICIAL UN ENFOQUE MODERNO
Stuar Russels
AUTOR
Prentice Hall
EDITORIAL
Comceptos básicos de la inteligencia
PROPOSITO
artificial
Biblioteca de Consulta Microsoft ® Encarta ® 2005.
© 1993-2004 Microsoft Corporation.
AUTOR
EDITORIAL
Se realizaron múltiples búsquedas con
PROPOSITO
respecto a la parte teórica
MICROCONTROLADORES PIC DISEÑO PRACTICO DE SUS
APLICACIONES
Jose Angulo Ma Usuategui
AUTOR
Mcgraw Hill
EDITORIAL
Se consulto sobre las instrucciones
basicas y fundamentos de programacion
PROPOSITO
en PICs
METODOLOGÍA DEL APRENDIZAJE SIGNIFICATIVO PROBLEMICO Y
DESARROLLADOR. HACIA UNA DIDÁCTICA INTEGRADA
AUTOR
EDITORIAL
PROPOSITO
Alexander Luis Ortiz Ocaña
Editorial Antillas
Se consulto sobre fundamentos de
pedagogía
INTERNET
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
http://www.electan.com/catalog/kits-educativos-cebek-entrenadoreselectronica-c-320_315.html.
http://es.tldp.org/Presentaciones/200304cursoglisa/redes_neuronales/curso-glisa-redes_neuronales.pdf
http://es.wikipedia.org/wiki/Lenguaje_de_bajo_nivel
http://es.wikipedia.org/wiki/Lenguaje_ensamblador
http://es.wikipedia.org/wiki/Microcontrolador.
http://es.wikipedia.org/wiki/Red_neuronal_artificial
http://jkharlos.wordpress.com/2007/09/03/redes-neuronales-artificiales/
http://logicalgenetics.com/assorted/recurrent-nns/feedforward-small.jpg
http://medmayor.cl/apuntes/apuntes/psico/aprendizaje.ppt
http://members.tripod.com/jesus_alfonso_lopez/RnaIntro.html
http://ohm.utp.edu.co/paginas/docencia/neuronales/Capitulo1/RNBiolo
gica.htm
http://server-die.alc.upv.es/asignaturas/LSED/2002g03/Soft_Hard/herramientas_para_pic.pdf
http://supervisadaextraccionrecuperacioninformacion.iespana.es/worki
ng/RedNeuronalArtificial.png
http://www.alos.5u.com/indexpic877.htm
http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina2.gif
http://www.depi.itch.edu.mx/apacheco/lengs/ann/pagina3.gif
http://www.electronicaestudio.com/microcontrolador.htm
http://www.elprisma.com/apuntes/curso.asp? id=11846
http://www.iibce.edu.uy/uas/neuronas/#y
http://www.iim.umich.mx/publica/bajar/BARRERA/Articulo%204.pdf
http://www.ilustrados.com/publicaciones/EpylElpAZuyzPaNKYx.php,
http://www.monografias.com/trabajos18/descripcion-pic/descripcion-pic
http://www.monografias.com/trabajos26/aprendizajedesarrollador/aprendizaje-desarrollador.shtml#conceppedag
http://www.monografias.com/trabajos38/redesneuronales/Image10688.gif.
http://www.redes-neuronales.netfirms.com/tutorial-redesneuronales/clasificacion-de-redes-neuronales-respecto-alaprendizaje.htm
http://www.redes-neuronales.netfirms.com/tutorial-redesneuronales/la-neurona-artificial-como-simil-de-la-neuronabiologica.htm
http://www.superrobotica.com/images/S310130.JPG
http://www.uta.cl/revistas/charlas/volumen16/Indice/Ch-csaavedra.pdf
www.electronica.com.mx/neural/information/hopfield.html
•
•
www.electronica.com.mx/neural/information/perceptron.html
www.gestiopolis.com/recursos3/docs/rh/tecapren.htm

Documentos relacionados