sábado, 14 de julio de 2007

Estudio de inteligencia artificial y Redes Neurales / Bryant Arias

Resumen
En este trabajo se presenta la creación de dos Entornos Virtuales Inteligentes (EVI) con Redes Neuronales Artificiales (RNA). En un EVI se realiza el diagnóstico de problemas visuales como astigmatismo, miopía e hipermetropía. El otro se enfoca, en la percepción y el razonamiento de señales de advertencia en un entorno laboral. En el desarrollo del trabajo, se hace primero una caracterización de las Redes Neuronales Artificiales y luego se hace una simulación de ellas; de acuerdo a los resultados obtenidos, se selecciona una arquitectura de red (Perceptrón Multicapa) y ésa es la que se implementa en los EVI. Finalmente se abordan las limitantes del tiempo en el aprendizaje de la RNA y en el costo computacional aplicados a los EVI.
Palabras clave: entorno virtual inteligente, redes neuronales artificiales, perceptrón multicapa

Abstract
In this paper, the creation and application of two Intelligent Virtual Environments (IVE) with Artificial Neural Networks (ANN) are presented. In one EVI, the diagnosis of vision problems like astigmatism, myopia and hyperopia is studied. The other one focuses to the perception and reasoning of warning signals in a work environment. For the development of this paper, the characterization of Artificial Neural Networks is done, followed by the simulation; according to the results one network architecture is selected (Multilayer Perceptron) and then implemented in the IVE. Finally the time constraints in ANN learning and in computational cost applied to IVE are discussed.
Keywords: intelligent virtual environment, artificial neural networks, multilayer perceptron


INTRODUCCIÓN
En un Entorno Virtual 3D, un computador genera impresiones sensoriales que se envían a un usuario a través de sus sentidos; el tipo y la calidad de estas impresiones determinan el nivel de inmersión y la sensación de presencia en el Entorno Virtual. Lo ideal sería enviar al usuario información por intermedio de todos sus sentidos, usando una alta resolución, alta calidad y consistencia en todo momento. Sin embargo, la realidad es muy diferente, pues muchas aplicaciones estimulan sólo uno o unos pocos sentidos y muy a menudo utilizan una baja calidad en las representaciones y poseen una falta de sincronización de la información (Lozano, 2004). Es por lo anterior, que surgen los Entornos Virtuales Inteligentes (EVI), los cuales están compuestos por la unión de dos importantes áreas de la computación: la Realidad Virtual y la Inteligencia Artificial (IA), las cuales tienen múltiples aplicaciones que les permiten ser ampliamente utilizadas en campos como la medicina, la industria, la educación y la investigación, entre otras; además, su acción conjunta les permite alcanzar un completo nivel de aplicabilidad en diversas áreas (Mateus y Branch, 2012). La IA, ofrece una serie de técnicas como las Redes Neuronales Artificiales (RNA), entre otras, comunes para resolver problemas complejos de manera efectiva por su comportamiento para aprender, reconocer y aplicar relaciones entre objetos y tramas.
La Realidad Virtual es considerada desde hace varios años, como una herramienta de aplicación útil en diferentes campos, por ejemplo, en la enseñanza y el aprendizaje de diferentes áreas, como lo señalan los trabajos de: Solar y Decoing (2011), los cuales desarrollaron un entrenador virtual de fibrobroncoscopia de bajo costo para enseñanza, el cual tiene representado en 3D la tráquea y los bronquios. Algieri et al. (2012) los cuales utilizan espacios virtuales de enseñanza y aprendizaje para la anatomía, específicamente la esplacnología, adicional al material práctico, determinando con los resultados, una mayor apropiación del conocimiento. Y en otra área, Tovar et al. (2014) desarrollaron una metodología para la creación de objetos virtuales de aprendizaje con Realidad Aumentada, aplicado Ingeniería del Software y orientándolo a dispositivos móviles.
También se han realizado importantes trabajos relacionados con Redes Neuronales Artificiales (RNA) aplicados a la medicina y más específicamente en la optometría, tales como: Spenceley (2007) hace un análisis del campo visual utilizando las RNA para la diferenciación de los campos visuales normales y glaucomatosos. Libralao et al. (2004) proponen la utilización de RNA para la medición de refracción según imágenes del globo del ojo humano con el fin de extraer la información relevante para la identificación de los defectos de refracción. Luculescu y Lache (2008) en su trabajo, definen las técnicas a utilizar para la realización de un sistema de diagnóstico asistido por computador, que identifica las enfermedades maculares, que son derivadas de la diversidad de la visión humana, con alta precisión usando RNA con algoritmos de reconocimiento de imagen de la retina clásica o digital. Por otra parte, se han desarrollado trabajos orientados también al área de la medicina, pero utilizando solo Realidad Virtual como García et al. (2011) que realizan un estudio de cómo la Realidad Virtual y el Internet puede ayudar al tratamiento de la ansiedad/fobia social, mostrando indicios razonables de la efectividad de estas técnicas.
Entornos Virtuales Inteligentes orientados a otras áreas, como los juegos y la herencia cultural, se encuentran los trabajos de Tutenel y Bidarra (2008) los cuales crean un Entorno Virtual para juegos y simulaciones aplicando semántica, lo que les permite crear una ontología robusta para la generación automática de un mundo virtual, pese a que no incorporan planificación. En esta misma línea, Bonis et al. (2009) desarrollan una plataforma para museos virtuales, con una descripción semántica del contenido, para interactuar con el museo. Videira y Lidstrom (2012) desarrollan un modelo de ciudades virtuales para el planeamiento urbano, en el cual se pueden realizar cambios sin afectar los ambientes políticos y con un ahorro significativo de costos que puede representar hacerlo en la realidad, utilizando como caso de estudio la ciudad de Upsala – Suecia, de la cual recrean partes de la ciudad usando Realidad Virtual.
Con base en lo anterior, en este artículo se presenta la creación de dos Entornos Virtuales Inteligentes con RNA: uno realiza el diagnóstico de problemas visuales como astigmatismo, miopía e hipermetropía. El otro EVI, se crea para la percepción y el razonamiento de señales de advertencia en un Entorno laboral. En este trabajo, se abordan las limitantes del tiempo en el aprendizaje de la RNA y el costo computacional, las cuales son un factor común en la mayoría de los trabajos consultados. Para ello, se simulan diferentes tipos de Redes Neuronales Artificiales que se acoplen adecuadamente al diagnóstico a realizar, entre estas se elegirán las redes que requieran menor tiempo de entrenamiento, logrando así la reducción en costos por tiempo y recursos.
CASO 1: APLICACIÓN DE RNA EN UN EVI PARA PROBLEMAS VISUALES
Para realizar el diseño del ojo humano primero se realiza un estudio sobre la anatomía del ojo normal y de los ojos que poseen problemas visuales como Miopía, Hipermetropía y Astigmatismo, se eligen algunas características claves que harán que por medio del modelo se ilustre el problema que posee el paciente. Para el modelo de los ojos con Miopía e Hipermetropía el tamaño del globo ocular cambiará, mientras que para el ojo con astigmatismo será la córnea la que cambie, esta deberá ser más ovalada que la córnea del ojo normal. Entonces, se realizan cuatro ojos, uno que simule un ojo humano normal y los otros tres, que muestren los problemas de refracción delimitados en esta investigación, miopía, hipermetropía y astigmatismo.
Identificación de Variables
Para el reconocimiento de las variables con las que se entrenan las RNA, el optómetra debe ejecutarle una anamnesis al paciente, la cual consiste en realizarle una serie de preguntas de su vida personal, de su familia, de posibles síntomas, de los motivos de consulta, entre otros, con los que se llega a un diagnóstico del problema visual que posee. También se tienen en cuenta las fórmulas que arrojan los dispositivos utilizados por el especialista. Esta información se lleva a datos numéricos para que sean procesadas correctamente por las Redes Neuronales, es así como se deberán realizar preguntas de Si o No, en las que el Si se representará con un 1 y al responder con No se transformará en 0, o por medio de rangos, por ejemplo en la edad, si la persona tiene 14 años, pondrá un 1 en el campo Rango Edad 13 – 50. Una vez identificadas las variables, se construyen los posibles patrones para cada tipo de problema de refracción (astigmatismo, miopía e hipermetropía) y también para un ojo normal, formando una matriz para cada uno, información que será utilizada para el entrenamiento de las RNA.
Caracterización de diferentes tipos de RNA
En esta etapa, se hace una exploración de diferentes tipos de RNA y se identifica que el tipo de aprendizaje es un punto clave en el desarrollo de la RNA, puesto que implica que una unidad de procesamiento es capaz de cambiar su comportamiento entrada/salida como resultado de los cambios en el medio. Por lo anterior se clasifican algunas RNA por su aprendizaje (Ver Tabla 1).
Tabla 1. Clasificación ne RNA por tipo ne aprennizaje
Luego de conocer los tipos de RNA según su aprendizaje, se simularon cada una en MATLAB, para conocer su funcionamiento y comprensión con el fin de elegir la que más se adaptara a la solución del problema visual a detectar; una vez experimentado con las RNA se llegó a la conclusión de elegir, las RNA MLP y RBF por ser redes que permiten clasificación de variables según la información ingresada, por ser de aprendizaje supervisado e híbrido respectivamente, por que permiten resolver problemas de clasificación, en los que los datos serán agrupados según el tipo de problema visual al que se acomoden o en su defecto a la clasificación de un Ojo Normal.
RNA Perceptrón Multicapa (MLP)
El perceptrón multinivel es la primera topología de RNA empleada y el algoritmo de entrenamiento para una capa oculta, se presenta en la Fig. 1, el cual es una adaptación del algoritmo de García et al. (2002). Para el reconocimiento de las variables con las que se entrenó la RNA, el optómetra ejecuta una anamnesis al paciente. Esta información se lleva a datos numéricos para que sean procesados correctamente por la Red Neuronal, es así como se realizan en la anamnesis preguntas con repuestas solamente de Si o No, en las que el Si se represa con un 1 y al responder con No se transforma en 0, o por medio de rangos, por ejemplo en la edad, si la persona tiene 14 años, pondrá un 1 en el campo 13 – 50 (Ver Tabla 2).
Una vez identificado el algoritmo, se procede simular en MATLAB la RNA ingresando los datos de entrada (como se puede observar en la Tabla 2), que serán los resultados de las 12 variables definidas que componen la anamnesis de cada uno de los 120 pacientes simulados, con su respectivo objetivo, que son cada uno de los problemas de refracción. Lo anterior, con el fin de que la RNA pueda identificar cada conjunto de datos a que problema visual corresponde; este proceso se realiza en el entrenamiento de la RNA. Básicamente la arquitectura de la RNA MLP para el caso planteado de este trabajo, es una Red 12- 10-4 (12 neuronas de entrada, 10 ocultas y 4 de salida).
Fig. 1. Algoritmo ne la RNA Perceptrón Multicapa (MLP)
Tabla 2. Datos ne entrana para la RNA
Se empleó un 80% de las entradas disponibles para entrenar y se reservó un 10% para validación y el otro 10% para prueba, con el fin de verificar que los resultados que otorga la RNA si eran satisfactorios; esto es lo que se define como el proceso de overftting (Training, Validation, Testing), generando en la matriz de confusión, donde se interpreta que la diagonal principal son las clasificaciones correctas, por lo tanto se tuvo una clasificación del 99,2%. En la Fig. 2, se muestra el punto en el que el error cuadrático de estas variables se encuentra al principio la red y se adapta progresivamente al conjunto de aprendizaje, acomodándose al problema.
Este entrenamiento dio resultados satisfactorios, debido a que agrupó correctamente la cantidad de datos ingresados, según el tipo de problema visual.
RNA Función de Base Radial (RBF)
La RBF es una red cuyas funciones de activación son gaussianas. El algoritmo de entrenamiento se representa en la Fig. 3 y es también una adaptación del algoritmo de García et al. (2002).
Fig. 2. Evolución nel error ne aprennizaje ne la RNA MLP
Fig. 3. Algoritmo de la RNA Función de Base Radial (RBF)
Este tipo de RNA es de aprendizaje híbrido, por lo tanto se ingresan datos de la capa de entrada y capa oculta. Se utilizaron el mismo número de neuronas de entrada y en la capa oculta, se utilizaron 40 neuronas con función de activación Gaussiana. Una vez finalizada la simulación de cada problema visual se obtuvo resultados positivos en la detección del problema visual del ojo normal y ojo con astigmatismo, pero en la detección de problema visual en los ojos con hipermetropía y astigmatismo no fue acertado el diagnóstico, concluyendo que este tipo de RNA RBF no es el más adecuado para este caso.
SELECCIÓN DE RNA
Al implementar las dos topologías diferentes de RNA, MLP y RBF, los resultados obtenidos en cada una de los tipos de RNA mencionadas anteriormente son comparados en cuanto a características (Ver Tabla 3) como porcentaje de clasificación correcta, tiempo requerido para el entrenamiento y tamaño de la red. El cálculo del error promedio, está basado en el error cuadrático descrito en la Fig. 2.
Tabla 3. Comparación de los resultados obtenidos entre MLP y RBF
Una vez obtenidos y analizados los resultados de las simulaciones de las RNA MLP y RBF, se observa la RNA MLP se acerca a los resultados esperados con éxito en cada una de los problemas visuales simulados, en cambio en la RNA RBF no fue óptimo al simular Miopía e Hipermetropía por lo que se descarta esta RNA y por su complejidad en el procesamiento y construcción de la RNA.
La RNA MLP además de destacarse por su proximidad en los diagnósticos, se resalta por su clasificación de conjuntos de datos de forma rápida lo que hace que se cumpla las limitaciones de límite de tiempo y costo computacional planteadas en este trabajo. Se observa que para la detección de problemas de refracción es más acertada porque es óptima para problemas de clasificación, se ajusta al diagnóstico de problemas de refracción planteados en este proyecto.
implementation de la RNA MLP en el Entorno Virtual Inteligente
Se procede a realizar el modelo geométrico en 3D de los ojos humanos, (un ojo normal y tres que representan los problemas de refracción) tomando como base un polígono para la construcción de la esfera en el modelado. Para el ojo normal no presenta modificaciones, pero para el ojo con miopía se modifica para que la forma sea más alargada en el eje X, en la construcción del ojo con Hipermetropía se modificó para que se alargara en el eje Y para que cumpla con una de sus características, en el ojo con Astigmatismo se planteó una córnea alargada. Posteriormente, se procedió al texturizado y luego al renderizado, como se muestra en la Fig. 4.
Fig. 4: Ojo en 3D a) Ojo Normal. b) Ojo Miope. c) Ojo Hipermétrope. d) Ojo con Astigmatismo
En la Fig. 4, en el ítem a, el ojo es normal, porque presenta su forma totalmente redonda; en el ítem b representa un ojo con miopía, porque tiene un diámetro mayor que el ojo normal de manera que se alargue de forma horizontal generando que la refracción no llegue adecuadamente a la retina; en el ítem c, es un ojo con astigmatismo por tener la córnea más ovalada generando una visión borrosa; y por último, en el ítem d, se visualiza un ojo con hipermetropía presentando un alargamiento de forma vertical lo que no permite que la refracción no llegue adecuadamente a la retina.
Una vez definido el modelo geométrico de los ojos diseñados se construye el modelo comportamental, el cual es indispensable en un Entorno Virtual Inteligente y lo que permite un comportamiento dinámico de forma que el usuario pueda interactuar con los diseños de ojos modelados en 3D. La elaboración del algoritmo de la MLP, se realiza por fases de acuerdo a lo mostrado en la Fig. 1. Posteriormente, para elaborar una adecuada visualización del sistema, se utiliza el ingreso de preguntas por medio de un formulario que le realiza la anamnesis al paciente (Ver Fig. 5a); según las respuestas obtenidas, la Red Neuronal entrenada genera un diagnóstico (Ver Fig. 5b) y el resultado es presentado mostrando el problema visual con los ojos en 3D desarrollados en OPENGL. Finalmente al usuario se le presenta el problema visual en un Entorno Virtual que funciona de manera inteligente, de acuerdo al proceso con la RNA MLP que tuvieron sus respuestas.
Probablemente usted posee Hipermetropía, Ia visión cercana de los objetos se torna borrosa o distorsionada para usted. En el gráfico en 3D que se muestra a continuación podrá observar que los rayos de luz se enfocan después de Ia retina, debido a que Ia forma de su globo ocular se presenta más alargada verticalmente, no es totalmente esférica. Utilice Iasflechas direccionales para rotar el ojo, Lejos-Cerca TECLAS: W Y 5, Izquierda-Derecha TECLAS: A Y D.
Fig. 5: a) Formulario para la anamnesis. b) Diagnóstico. c) EVI de un problema visual
CASO 2: APLICACIÓN DE RNA EN UN EVI EN UN AMBIENTE LABORAL
De acuerdo a lo analizado y probado en el Caso 1, para este Caso, solo se implementa la RNA MLP en un personaje que se mueve en Entorno Virtual creado con la herramienta UDK, para identificar señales de advertencia en un ambiente laboral (Ver Fig. 6). El Entorno Virtual fue desarrollado por el Grupo de Computación Gráfica de la UFRGS de Porto Alegre - Brasil.
Fig. 6. Entorno Virtual Inteligente para señales de advertencia en un ambiente laboral.
Dicho entorno, fue adaptado para el caso de estudio de este trabajo, implementando en éste, algunas mejoras para poder incorporar de manera adecuada, inicialmente, la técnica de Path Finding; dicha técnica ayuda a detectar en un entorno determinado, rutas y caminos por donde debe moverse el personaje. Para la aplicación de las reglas de optimización del Path Finding, se tuvo en cuenta la simplificación en la creación de escenarios, en donde hubiese una visión ordenada y en lo posible, simple de este mismo. Otro aspecto fundamental al modelar el Entorno Virtual, es hacer que, dentro de la visión de la creación de un escenario, se creen caminos bien delimitados y lo suficientemente amplios como para que un personaje (de proporción definida por el usuario) pueda pasar a través de estos caminos; en dicho entorno, adicionalmente, se colocaron unos obstáculos aleatorios, con el fin de hacer más difícil el camino hacia los objetivos, al personaje.
Posteriormente, en este Entorno, se implementó la RNA MLP, en las máquinas de estados integradas en el código fuente del Game Engine, para realizar varias operaciones dentro de un entorno laboral controlado. El escenario describe unas oficinas en la que suceden varias señales de advertencia: 1. hay fuego en una de las esquinas de la oficina, 2. hay riesgo de corto circuito (goteras de agua cerca de un computador), 3. aviso de piso húmedo, entre otras.
Dentro de la MLP, se definieron las siguientes características: 1. Cuando el resultado de la RNA arroja como resultado uno, significa que hay presencia de alguna de las señales expuestas previamente (fuego, riesgo eléctrico, piso húmedo) y se debe realizar una acción para solucionar este acontecimiento. 2. En caso de ser cero, el personaje puede permanecer tranquilo y pasar a un estado llamado Chat (simular la conversación con compañeros de trabajo), por ejemplo.
Con base en lo anterior, las respuestas que tiene el personaje de forma inteligente en el Entorno Virtual serán: 1. Si el personaje detecta fuego, entonces realizará la acción de tocar una alarma contra incendios (Ver Fig. 7a). 2. En el caso donde se presenta riesgo eléctrico (gotera de agua sobre computador), el personaje procede a desactivar un switch de energía. 3. Para el caso que el personaje identifica que hay humedad sobre el suelo, entonces procede a dar aviso (Ver Fig. 7b). 4. Por último, para el caso en que no haya ningún tipo de señal, entonces procede a tener una conversación con sus compañeros de trabajo.
Fig. 7: a) Personaje identificando el riesgo del fuego. b) Personaje identificando el piso húmedo
CONCLUSIONES
Las Redes Neuronales Artificiales han generado un gran aporte en diferentes campos, debido a que por medio de patrones, realizan diagnósticos precisos que ayudan a agilizar los procedimientos, como para el caso de los problemas visuales, o comportamientos dinámicos, para el caso del ambiente laboral.
Si bien se pueden usar estas técnicas de Inteligencia Artificial con el fin de generar experiencias más adecuadas, teniendo en cuenta el proceso lógico de la creación de este tipo de producciones audiovisuales o Pipeline, como son los videojuegos, se debe tener un sentido del diseño que complemente este tipo de técnicas, debido a que cuenta con patrón muy poderoso que puede aprender de manera muy veloz indiferente del tipo de máquina en el que se desarrolle la experiencia. Tal caso podría ser en la ayuda de regulación de dificultad en los juegos, basado en el número de veces que se repite un mismo escenario determinado, el tiempo que se toma un jugador en completar un nivel, entre otro tipos de variables.

No hay comentarios: