redes neuronales e inteligencia artificial

Anuncio
REDES NEURONALES E INTELIGENCIA ARTIFICIAL
Nicolay Guzmán Rojas
RESUMEN DEL PROYECTO
Una de las nuevas herramientas con que cuenta el desarrollo de productos electrónicos,
es la Inteligencia Artificial (IA), a través de ella, se implementan una serie de algoritmos
que permiten realizar prototipos, llamados “inteligentes”, pues usan procesos de
aprendizaje autónomo y adaptable, generando avances tecnológicos cada vez más
versátiles.
El presente proyecto, es una estrategia que busca generar y divulgar, en los programas
afines, disciplinarmente a ésta teoría: Tecnología en Electrónica, Tecnología en
Mecatrónica, Tecnología en Sistemas e Informática Empresarial, en la CIDE, material
didáctico como herramienta en la enseñanza de algunas estrategias de IA, generado a
partir del planteamiento de problemas, para ser solucionados mediante el uso de ésta, ya
que en ninguna de las materias propuestas, en los programas mencionados, se trata el
tema con la profundidad y tiempo requerido 1.
Se plantea la realización de una serie de actividades, conducentes a generar material de
trabajo, como guía en la enseñanza de algoritmos aplicados en IA, para que sean usados
en las diferentes materias, donde se establezca la pertinencia y el espacio para divulgar
dicho material.
El objeto de estudio es la implementación de los algoritmos usados en IA, para comprobar
su desempeño, luego generar el material didáctico que permita su divulgación, usando los
diseños elaborados, fruto de la investigación. En éste caso se toman dos referentes, uno
las Redes Neuronales, dado su impacto e importancia en el desarrollo de algoritmos, que
emulan el comportamiento del cerebro humano, frente a los algoritmos genéticos, los
cuales se adaptan a la situación que se enfrentan, obedeciendo a las leyes de la genética
evolutiva en la arquitectura del programa.
1
Ver microcurriculos de los programas mencionados de Tecnología para la CIDE.
DESCRIPCIÓN DEL PROYECTO:
A continuación se presentan los preliminares del proyecto, en los términos de referencia,
publicados en el micro-sitio para el departamento de investigación, publicados en la
página de la Corporación Educativa, CIDE 2.
PREGUNTA DE INVESTIGACION
¿Cuál es el desempeño de los algoritmos, usados en Redes Neuronales (RNA) frente
a los Algoritmos Genéticos (AG), en cuanto a tiempos de procesamiento y
aprendizaje, en la implementación de éstos a dispositivos electrónicos, diseñados
específicamente, para su verificación y divulgación en los programas de Tecnología
para la CIDE?
JUSTIFICACION
El desarrollo tecnológico, científico e industrial, en el mundo, es un movimiento que
converge en las dimensiones sociales, disciplinares y sicológicas del hombre
contemporáneo. Tal desarrollo es sabido, tiene un crecimiento exponencial, aunque se
supone que las teorías, que se llevan a la práctica, para que dicho crecimiento vertiginoso
se dé, son recientes, no es así, tales teorías datan en muchas ocasiones de medio siglo
de concepción, lo que hace que se de vigencia a éstas es la posibilidad de darles “vida”,
mediante
la
aplicación
factible,
dados
los
nuevos
descubrimientos
científicos,
específicamente en lo referente a la física y la química, entre otras disciplinas
fundamentales para el desarrollo científico. Tal panorama ha hecho que se desarrollen
nuevos dispositivos electrónicos, versátiles, adaptables y eficaces, frente al uso de la
energía, velocidad de procesamiento y eficientes en la ejecución de tareas.
La Inteligencia Artificial (IA), nace en la década de los 40, con la máquina de Alan Turing 3,
comprobándose que un proceso puede implementarse en un dispositivo electrónico. A
través de su historia, se han concebido ideas que se llevan a la práctica, mediante
algoritmos, cada uno de ellos con características específicas, pero que buscan el mismo
objetivo, generar dispositivos “inteligentes”, que suplan las tareas que para el ser humano,
2
Tomado de: http://www.cide.edu.co/doc/investigacion/TERMINOSDEREFERENCIA.pdf, Octubre
24 de 2012. Documento Online en PDF: Términos de Referencia convocatoria Interna, Proyectos
de Investigación 2012.
3
La máquina de Turing, fue desarrollada en 1936
son repetitivas o que requieren de alta precisión, alta velocidad de procesamiento y
respuesta, aunque la teoría va un paso delante de la aplicación, hoy en día se han
efectuado un sinnúmero de aplicaciones. En Colombia, el desarrollo tecnológico, se da en
los procesos de Investigación y desarrollo, Mercadeo de Innovaciones, Tecnologías de la
información y telecomunicaciones, Asistencia Técnica y consultoría, Ingeniería y diseño
Industrial, entre otros 4, requiriendo profesionales con experiencia en las últimas
tendencias, usadas en mencionado campo del desarrollo tecnológico (IA).
En los programas de formación disciplinar, relacionados con la teoría de la IA, se han
dado los espacios donde los estudiantes pueden explorar y aprender dichas teorías en las
cátedras relacionadas, desde los espacios que la academia destina, en los procesos de
Investigación y formación autónoma, brindando el apoyo pertinente para tal cometido.
Para la CIDE, es de vital importancia, brindar las condiciones necesarias, que permitan
desde los procesos de investigación, brindar a sus estudiantes las condiciones
necesarias, para explorar dichos campos del desarrollo tecnológico.
El presente proyecto es una estrategia pertinente, que busca dar respuesta a la imperante
necesidad de apoyar a los estudiantes, de los programas de tecnología en Electrónica,
Tecnología en electrónica y tecnología en Sistemas, para explorar los algoritmos
relacionados con la IA, dada la necesidad evidente, abriendo los espacios y ofreciendo
como objeto de estudio, la comparación de los niveles de desempeño de los algoritmos
usados en IA, generando material didáctico que permita evidenciar dicho parámetro de
comparación, inicialmente usando los algoritmos de las Redes Neuronales y los
algoritmos Genéticos.
OBJETIVOS
GENERAL:
Diseñar un dispositivo electrónico, bajo parámetros específicos, que permita medir las
variables de tiempos de procesamiento y capacidad de aprendizaje, al implementar los
algoritmos de IA: Redes Neuronales Artificiales (RNA) y Algoritmos Genéticos (AG’s).
4
DANE. Encuesta de desarrollo e innovación tecnológica, Industria Manufacturera 2009-2010,
Bogotá, Septiembre 11 de 2012.
ESPECIFICOS:
1. Establecer los criterios de medición de las variables a observar, velocidad de
procesamiento y capacidad de aprendizaje, en el dispositivo a diseñar.
2. Documentar, sobre los algoritmos de inteligencia artificial a utilizar, redes
neuronales y algoritmos genéticos
3. Identificar el proceso y dispositivo electrónico que permita determinar el
desempeño de los algoritmos a implementar.
4. Diseñar la propuesta, que se pretende utilizar en la medición de las variables,
usando en cada dispositivo el respectivo algoritmo.
5. Implementar la propuesta, en el ambiente controlado paras determinar los niveles
de desempeño en las variables de tiempo de procesamiento y capacidad de
aprendizaje.
6. Determinar los niveles de desempeño, de los dos dispositivos, el usado para el
algoritmo en redes neuronales y el usado con algoritmos genéticos, mediante el
método determinado para tal fin.
7. Elaborar la guía didáctica, que permita la exploración de los criterios dados, para
determinar el desempeño al implementar las RNA y los AG’s, mediante la
implementación de éstos a un dispositivo electrónico.
MARCO TEORICO
En las primeras aproximaciones al tema, se encuentra que los desarrollos que se ha dado
en torno al tema, se enfocan hacia el desarrollo de soluciones que permiten solucionar
problemas cotidianos, como el pesado de coeficientes ceptrales de la voz, reconocimiento
de caracteres mediante visión artificial, robótica, entre otros campos, un breve resumen
sobre los algoritmos a tratar se presenta a continuación:
A. Redes Neuronales
Una de las teorías relacionales, que permiten la optimización del recurso de Hardware son
las redes neuronales; dichos algoritmos pretenden, a partir de su similitud con el sistema
nervioso y las conexiones entre las neuronas, optimizar el desarrollo de sistemas que
impliquen el uso de dispositivos programables.
En la teoría se expone, que todo sistema tiene capacidad, de realizar procedimientos, la
cual se puede aprovechar para el aprendizaje a partir de situaciones en las cuales el
sistema interactúa.
En los algoritmos de programación, que tienen en cuenta las redes neuronales, se
establecen conexiones entre unidades básicas de procedimiento llamadas perceptrones.
Los perceptrones multinivel o multicapas, se pueden observa a partir del siguiente gráfico:
Figura 1. Estructura de un Perceptrón 5
Este consta de varias capas de procesamiento, una capa de entrada, capa de neuronas
ocultas y capa de neuronas de salida.
Cada capa de neuronas, realiza su propia función, la capa de neuronas de entrada,
adaptarla señal, asignándole un peso a cada una de éstas, para llevarla hacia la capa de
neuronas ocultas, las cuales se encargan del procesamiento de la señal para llevarla
hacia la capa de salida.
Cada neurona, tiene la estructura básica que se muestra a continuación.
5
Aldabas, Emiliano. Introducción al reconocimiento de patrones mediante redes neuronales.
Documento en PDF tomado de. www.eel.upc.es.
Fig. 1. Estructura básica de una neurona
En ella se encuentra que a la entrada, los pasos sinápticos, asignan a cada una de las
entradas, un peso el cual es sumado a partir de la función U k , para procesarla mediante
la función de activación, obteniendo así la señal de salida yk , la ecuación que rige la
salida se muestra a continuación:
yk =
1
1 + e−u k
Ec. 1.1 salida de una neurona 6
La relación que existe entre la salida del bloque de función de activación y la entrada del
mismo es de tipo exponencial, y como se observa, inversamente proporcional, menor que
la unidad.
En los sistemas de control, a la función que relaciona la salida con la entrada se le conoce
como función de transferencia, ésta me permite realizar un análisis en el dominio de la
frecuencia, mediante un software de simulación, como por ejemplo Matlab, el cual
además de permitirme dicha simulación, entre muchas otras características, contiene la
herramienta de simulación de las redes neuronales.
B. Algoritmos Genéticos:
6
Aldabas, Emiliano. Introducción al reconocimiento de patrones mediante redes neuronales.
Documento en PDF tomado de. www.eel.upc.es.
Los Algoritmos Genéticos (G.A’s), son algoritmos basados en la teoría de la evolución,
donde un individuo prevalece sobre los más débiles, es decir un algoritmo que tiene un
mejor desempeño que otro, será seleccionado para su implementación, en la realización
de una tarea. Esta teoría, hace parte de la computación evolutiva, que ha tenido una
amplia aceptación en el mundo de la Inteligencia Artificial (IA). Están inspirados en las
teorías evolutivas de Darwin y en las leyes de la genética de Gregor Johann Mendel.
Los algoritmos genéticos, son propuestos en la década de los años 70 por John Holland,
al desarrollar dicho algoritmo en la universidad de Michigan, usándose hoy en día para
resolver problemas de un grado de complejidad elevado, clasificados como NP
(Problemas con solución en tiempo No Polinominal). Los problemas se solucionan,
mediante la aplicación de posibles algoritmos que conducen a soluciones, llamados
cromosomas, la información que contiene los cromosomas, se conoce como genes, el
algoritmo, debe encontrar aquel individuo, mediante una función que determina la calidad
llamada Fitness.
METODOLOGIA
En el desarrollo de la propuesta, se plantea una investigación de corte experimental.
1. Estado del arte:
Se establecen estados de avance en los diseños similares a la propuesta, se
consultan las diferentes fuentes de información, en este aspecto se pretende
determinar, qué elementos aportan a la propuesta, o en qué estado de avance se
encuentran los sistemas de desarrollo afines a ésta.
2. Caracterización del desarrollo:
Se establecen las variables que se intervienen en el diseño, para éste caso, se
determina qué elementos se deben observar para establecer el desempeño del
sistema, en cuanto a velocidad de procesamiento y capacidad de aprendizaje. Se
clasifican y delimitan, las que se pretenden abordar desde la propuesta, a partir de
las establecidas, en el estado del arte, al igual que la forma como se aplicarán al
diseño a implementar. En éste paso, se levanta la información sobre el estado de
avance
3. Diseño:
Teniendo en cuenta la experiencia de los docentes, la información recopilada y los
parámetros de medición, de las variables que intervienen en la velocidad de
procesamiento y capacidad de aprendizaje, tanto de las RNA, como de los AG’s,
se establece una propuesta, mediante el diseño de los elementos mecánicos y
electrónicos que intervienen en el sistema, usando el software necesario para tal
fin.
4. Simulación y rediseño:
Se implementa en un software de simulación acorde al prototipo a diseñar. Se
ajustan las variables y se comprueban los resultados, mediante los resultados
obtenidos se realiza un rediseño de la propuesta.
5. Construcción:
Se determinan los materiales: hardware y software, a utilizar en la construcción del
dispositivo, se confronta con el estudio de factibilidad y funcionalidad, se realiza la
construcción del dispositivo.
6. Implementación:
Se ejecuta el diseño realizado, llevando a cabo el desarrollo del diseño, se
establecen
puntos
de
funcionamiento
y
se
verifican
características
de
funcionalidad, se realiza reingeniería al prototipo y se ajustan las variables no
controladas, se define el prototipo final.
7. Ajustes:
Se realizan las correcciones que el proceso de reingeniería arroje, en sus
conclusiones, se ejecuta el plan alterno a la implementación del prototipo, se lleva
a cabo el modelo final, para ponerlo en funcionamiento.
8. Conclusiones y resultados:
Se establecen los estados de avance según los resultados obtenidos y se
determinan las posibles mejoras y aplicaciones mediante la redacción de
sugerencias y recomendaciones en el capítulo de las conclusiones. Se diseña y
entrega el material didáctico, fruto de la labor de estudio, se comprueba la
factibilidad y eficacia de las guías, mediante la revisión didáctica y pedagógica,
hecha por el profesional asignado desde el departamento de investigación.
Finalizado el proceso establecido en la metodología, se pretende cumplir con el objetivo
general y los específicos, planteados para esta propuesta.
Descargar