Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1 CAPITULO 1 SISTEMAS EXPERTOS 1.1 INTRODUCCION Los sistemas expertos son programas que reproducen el proceso intelectual de un experto humano en un campo particular, pudiendo mejorar su Productividad, ahorrar tiempo y dinero, conservar sus valiosos conocimientos y difundirlos más fácilmente. Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el privilegio de razonar y pensar. En la actualidad existe un campo dentro de la inteligencia artificial al que se le atribuye esa facultad: el de los sistemas expertos. Estos sistemas permiten la creación de máquinas que razonan como el hombre, restringiéndose a un espacio de conocimientos limitado. En teoría pueden razonar siguiendo los pasos que seguiría un experto humano (médico, analista, empresario, etc.) para resolver un problema concreto. Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo de posibilidades en resolución de problemas y en aprendizaje. Su uso se extenderá ampliamente en el futuro, debido a su importante impacto sobre los negocios y la industria. El objetivo de este artículo es enseñar de forma práctica el funcionamiento de un sistema experto ¿QUE ES UN SISTEMA EXPERTO? No resulta fácil dar una definición de Sistema Experto, entre otras cosas, porque el concepto de Sistema Experto va evolucionando, ya que, a medida que se va progresando, sus funciones se van ampliando y resulta un concepto cambiante. Hace ya bastantes años, Edward Feigenbaum, de la Universidad de Stanford definió, en el Congreso Mundial de IA, un Sistema Experto como: "Un programa de computador inteligente que usa el conocimiento y procedimientos de inferencia para resolver problemas que son lo suficientemente difíciles como para requerir la intervención de un experto humano para su resolución". Hoy, con los avances conseguidos, resultaría más correcto definir un Sistema Experto como: "Un sistema informático que simula el proceso de aprendizaje, de memorización, de razonamiento, de comunicación y de acción de un experto humano en una determinada rama de la ciencia, suministrando, de esta forma, un consultor que puede sustituirle con unas ci ertas garantías de éxito". Estas características le permiten almacenar datos y conocimiento, sacar conclusiones lógicas, tomar decisiones, aprender de la experiencia y los datos existentes, comunicarse con expertos humanos o Sistemas Expertos, explicar el porqué de las decisiones tomadas y realizar acciones como consecuencia de todo lo anterior. Los sistemas expertos se pueden considerar como el primer producto verdaderamente operacional de la inteligencia artificial. 2 Son programas de ordenador diseñados para actuar como un especialista humano en un dominio particular o área de conocimiento. En este sentido, pueden considerarse como intermediarios entre el experto humano, que transmite su conocimiento al sistema, y el usuario que lo utiliza para resolver un problema con la eficacia del especialista. El sistema experto utilizará para ello el conocimiento que tenga almacenado y algunos métodos de inferencia. A la vez, el usuario puede aprender observando el comportamiento del sistema. Es decir, los sistemas expertos se pueden considerar simultáneamente como un medio de ejecución y transmisión del conocimiento. Lo que se intenta, de esta manera, es representar los mecanismos heurísticos que intervienen en un proceso de descubrimiento. Éstos mecanismos forman ese conocimiento difícil de expresar que permite que los expertos humanos sean eficaces calculando lo menos posible. Los sistemas expertos contienen ese "saber hacer". 1.2 INTELIGENCIA ARTIFICIAL La inteligencia artificial es una de las áreas más fascinantes y con más retos de las ciencias de la Computación ya que ha tomado a la inteligencia como la característica universalmente aceptada para diferenciar a los humanos de otras criaturas ya sean vivas o inanimadas, para construir programas o computadoras inteligentes. Hay preguntas profundas que surgen al hacer esta comparación, y la posibilidad de construir una inteligencia maquinista genera y estimula reacciones fuertes. En particular porque no hay una definición unánime de inteligencia para todas las áreas del conocimiento y todas las corrientes de pensamiento, y como establece McFarland, la inteligencia sólo la podemos medir por el resultado, es decir, podemos apreciar y diferenciar si un comportamiento es o no inteligente. La investigación en inteligencia artificial se ha disparado buscando solución al problema si las máquinas pueden pensar. Alan M. Turing propuso una prueba denominada el Juego de la Imitación, que actualmente se conoce como la prueba de Turing, la pretensión de la prueba es tener una herramienta objetiva no ambigua de lo que significa que una máquina pueda pensar en un lenguaje operativo. Tradicionalmente, en computación la robótica se ha visto como un área de aplicación del conocimiento en la que se integran diversos conceptos de la I.A. Según Firebaugh, la IA es el área tecnológica que necesita ser desarrollada y dominada (conocida a fondo) para acelerar la evolución de los robots. Esta visión se deriva de los aspectos en los que la I.A. ha contribuido con técnicas para la comprensión de la robótica y son: Los sistemas expertos proceden inicialmente de la inteligencia artificial a mediados de los años sesenta. En ese período se creía que bastaban unas pocas leyes de razonamiento junto con potentes ordenadores para producir resultados brillantes. Un intento en ese sentido fue el llevado a cabo por los investigadores Alan Newell y Herbert Simon que desarrollaron un programa denominado GPS (General Problema Solver; solucionador general de problemas. Podía trabajar con criptoaritmética, con las torres de Hanoi y con 3 otros problemas similares. Lo que no podía hacer el GPS era resolver problemas del mundo real, tales como un diagnóstico médico. 1.3 CARACTERÍSTICAS DE UN SISTEMA EX PERTO La característica fundamental de un sistema experto es que separa los conocimientos almacenados (base de conocimiento) del programa que los controla (motor de inferencia. Los datos propios de un determinado problema se almacenan en una base de datos aparte (base de hechos. Una característica adicional deseable, y a veces fundamental, es que el sistema sea capaz de justificar su propia línea de razonamiento de forma inteligible por el usuario. Los sistemas expertos siguen una filosofía diferente a los programas clásicos. Esto queda reflejado en la tabla 1, que resume las diferencias entre ambos tipos de procesamiento. Seria satisfactorio que se pudiera empezar con una definición exacta que sirviera como punto de partida, sin embargo la inteligencia tan novedosa no tiene siglos de antigüedad sino tan solo algunos decenios – y los sistemas expertos son una aplicación tan recientes de esta disciplina, esto que no ha habido tiempo suficiente para que cristalice su terminología. Los conceptos de este campo todavía están en proceso de cambio y sus limites son difusos, por lo que cualquier intento para obtener definiciones estrictas y exactas esta condenado al fracaso. Afortunadamente no se necesita definiciones estrictas y exactas solamente un conocimiento suficiente para manejar cómodamente los conceptos. Los que se busca es comprensión no-rigor académico. El propósito de este caso no es mas bien caracterizar los sistemas expertos con el detalle suficiente para poder reconocer los ejemplos verdaderos y rechazar los falsos. La búsqueda de dicha comprensión se aprenderá en tres pasos. Los sistemas expertos presentan características esenciales y deseables; las esenciales, sin las cuales no podrían denominarse sistemas expertos y las deseables sin las cuales en casi todos los casos no se podrían utilizar. En las siguientes secciones se describen estas características, mientras que en otras se clasifican los sistemas expertos. Características esenciales, antes de proceder con esta tarea primero se resolverá algo que para algunas personas es una constantefuente irritación. El nombre de sistemas expertos .como sucede con muchos sistemas de computación y otros campos, este surgió por casualidad y no por diseño. Podría no ser un buen termino, pero es el que utiliza la gente y tiene que aceptarse hasta que se proponga uno mejor. Como ya se menciono, la inteligencia artificial ofrece dos productos inteligentes: modelos del conocimiento humano y artefactos inteligentes. Los sistemas inteligentes pertenecen a estos últimos. Fueron creados no tanto para modelar la manera en que los expertos resuelven sus problemas y por consiguiente para entender el funcionamiento del cerebro de un experto, sino en el objetivo practico de cosechar los beneficios que aporta el pensamiento de los expertos integrados a un sistema de computación. Naturalmente, las dos áreas interactúan con efectos colaterales y efectos. La construcción de sistemas expertos equivale en cierto sentido, a crear un modelo del 4 pensamiento de los expertos, y esto permite producir mejores modelos de conocimiento tales modelos mejorados obtenido talvez de un campo diferente, permiten construir a sus ves un campo de sistemas expertos, pero todo eso es, por así decirlo, la fase final del proceso. Los artefactos inteligentes se producen primordialmente para resolver problemas y esa es la razón más importante para construir sistemas expertos de los dos métodos principales para resolver problemas que utilizan los artefactos inteligentes, ósea los generales o independientes del campo de actividad y los específicos del campo de actividad los sistemas expertos pertenecen a la segunda categoría, la de los específicos del campo de actividad. Una numerosa parte de estos específicos del campo de actividad se apoya en el conocimiento de seres humanos expertos; Tales métodos se conocen como sistemas basados en él conociendo o incluso como sistemas inteligentes basados en el conocimiento (sus siglas correspondientes son KBS e IKBS. Los sistemas expertos forman una subclase de los sistemas basados en el conocimiento, subclases centradas en una área que se reduce a un solo campo del conocimiento especializado Si el sistema no esta basado en el conocimiento, no debe denominarse sistema experto. Principal dificultad con este precepto es como diferenciar los sistemas basados en el conocimiento de los demás sistemas. Lamentablemente el conocimiento es un concepto escurridizo; los filósofos han tratado en vano definirlo durante miles de años. Para evitar las dificultades filosóficas a cerca de que exactamente el conocimiento, los profesionales consideran conocimiento a todas las reglas, los hechos, las verdades, las razones, y los datos heurísticas recopilados por expertos, que han resultado útiles en la resolución de problemas. En el campo de actividad en el que opera un sistema es un campo particular. Los sistemas expertos individuales se emplean para diagnosticar enfermedades de la sangre para mantener bajo vigilancia a los pacientes en el pulmón de acero y para asesorar a los prospectotes de minerales; Estas arrean están definidas y diferenciadas de conocimientos especializados. El MYCIN y el PROSPECTOR no guardan ninguna relación de áreas de competencia de tal sistema. Los campos de actividad son conocimientos especializados en contraste con el sentido común. Estos sistemas expertos poseen muy poco sentido común. El DART1 tiene un programa de diagnostico de maquinas, no indicara suspensión sí el equipo no-esquema. No obstante los sistemas resuelven satisfactoriamente problemas difíciles como para ser útiles aun sin sentido común. Si el área de conocimiento es estrecha, igual lo es su ámbito, estos sistemas se ocupan de un problema a la vez y a partir de los datos llegan a alguna clase de conclusión. Un sistema experto es una enorme transformación en las plantillas en las que esta expresado su conocimiento es solamente reglas de transformación; un sistema experto radica principalmente en estas reglas, el procesamiento simbólico que los hechos, las observaciones, la hipótesis se representan mediante símbolos y se manipulan como tal. El sistema experto no sabe de ninguna manera de lo que significan los símbolos ni lo que representan, pero estas reglas son capaces de convertir sus datos de entrada en alguna conclusión. Esta técnica por lo general lo lleva a cabo una computadora, efectivamente en seminarios sobre el tema es posible demostrar el funcionamiento de un sistema experto pidiendo que se lleven a cabo sus funciones; Sencillamente es más rápido preciso y conveniente implementar un programa. Un sistema experto es un sistema basado en el conocimiento que emula el pensamiento de los expertos para resolver problemas significativos en un campo especifico de conocimientos especializados. 5 1.4 PRIMER EJEMPLO DE UN SISTEMA EXPERTO SISTEMA CLÁSICO SISTEMA EXPERTO Conocimiento y procesamiento combinados en un programa Base de conocimiento separado del mecanismo de procesamiento No contiene errores Puede contener errores No da explicaciones, los datos sólo se usan o escriben Una parte del sistema experto la forma el módulo de explicación Los cambios son tediosos Los cambios en las reglas son fáciles El sistema sólo opera completo El sistema puede funcionar con pocas reglas Se ejecuta paso a paso La ejecución usa heurísticas y lógica Necesita información completa para operar Puede operar con información incompleta Representa y usa datos Representa y usa conocimiento Comparación entre un sistema clásico de procesamiento y un sistema experto EJEMPLOS Se sabe que actualmente existen mas de cincuenta sistemas expertos en funcionamiento y su numero aumenta rápidamente por ello no es difícil encontrar ejemplos, pero hay cuatro sistemas que merecen especial atención. Por así decirlo los grandes sistemas originales DEDTRAL, MYCIN, PROSPECTOR, R1 DENTRAL Se menciono que el trabajo para desarrollar comenzó en el año 1964 en la universidad de STANFORD su objetivo es formular hipótesis a cerca de la estructura molecular de un compuesto cuando el químico se enfrenta con un compuesto desconocido, su primera tarea consiste en establecer cual son los átomos que constituyen el compuesto y en que proporciones relativas se encuentran. Para efectuarla realiza pruebas analíticas y experimentos, un instrumento que se usa con frecuencia es espectrómetro de masas su funcionamiento especifico no es de gran interés pero planteado en términos muy sencillos grafica la frecuencia relativa de diferentes átomos y fragmentos moleculares en el compuesto a partir de esta información el químico tiene que determinar cual son los átomos que constituyen el compuesto y cual su disposición él la molécula su tarea ase recordar uno de esos acertijos en los que es necesario encontrar las edades de o 6 miembros de una familia a partir de sus edades combinadas y relativas pero por supuesto la tarea de un químico es mucho mas compleja la familia es grande, todos los átomos conocidos y su posibles relaciones llenarían volúmenes sin embargo el hecho mas importante de recordar, es que no existe un algoritmo científico que permite Determinar la estructura molecular a partir de los espectros de masa el DENDRAL se diseño originalmente para enumerar todas las configuraciones posibles de un conjunto de átomos, acatando las reglas de l valencia química.esta enumeración podría servirle entonces al químico como lista de verificación de posibilidades. En sentido estricto el DENDRAL hoy en DIA no es un solo programa sino una familia de programas. No obstante el algoritmo original esta en él entro de esa familia. Los otros programas ampliaron significativamente su poder. La ampliación más importante fue la que tomo el conjunto generado de casos posibles y lo redujo a un conjunto de casos posibles y lo redujo a un conjunto de casos probables para lograrlo.para lograrlo tuvo que almacenar y utilizar conocimientos heuristicos o reglas basadas en hechos químicos, en las leyes de la química y en el criterio y la experiencia de los expertos. El DENDRAL ES UNAHISTORIA DE TRIUNFO. Los resultados derivados de su uso se mencionan en mas de 50 articulos científicos, lo que demuestra no-solo su utilidad sino tambien sus fundamentos científicos.se emplea de manera regular y rutinaria, Su numero de usuarios ha crecido con tanta rapidez que en 1983 sé establecio una compañía independiente para su distribución y mejoramiento. XCON XCON es un Sistema Experto para configuraciones desarrollado por la Digital Equipment Corporation. Según los deseos individuales del cliente se configuran redes de ordenadores VAX. Ya que el abanico de productos que se ofrecen en el mercado es muy amplio, la configuración completa y correcta de un sistema de estas características es un problema de gran complejidad. Las funciones de este Sistema Experto son las siguientes: 1- ¿Pueden conjugarse los componentes solicitados por el cliente de forma conveniente y razonable? 2- ¿Los componentes de sistema especificados son compatibles y completos? Las respuestas a estas preguntas son muy detalladas.XCON es capaz de comprobar y completar los pedidos entrantes mucho más rápido y mejor que las personas encargadas hasta ahora de esa labor. MYCIN Uno de los tipos más comunes de enfermedad que sufre el ser humano son las infecciones bacterianas. Gracias a los avances en la medicina, ahora se cuenta con una gran cantidad de agentes antimicrobianos, y con su mejor conocido subconjunto de antibióticos para combatir tales infecciones sin embargo, una variedad tan amplia representa para él medico no solo una mayor libertad de elección sino también un mayor problema de selección.si hubiera un solo agente antimicrobiano eficaz contra todas las bacterias infecciosas, no existiría el problema de la selección. Desgraciadamente no existiría un medicamento tan maravilloso. Mas aun un determinado medicamento puede ser sumamente eficaz contra un tipo de bacterias pero no contra otros.en consecuencia él medica debe ser cuidadoso en su elección. Además, la eficacia solamente es uno de los criterios: También tiene que tomar en 7 cuenta las alergias del paciente, los medicamentos, que ingieren en ese momento y otras contraindicaciones parecidas. El MYCIN fue diseñado para ayudar al medico con este problema. Si se examina detalladamente la tarea del medico, es posible observar que tiene cuatro decisiones por tomar: si el paciente sufre de una infección bacteriana, que organismo es el causante, que fármacos debería de ser adecuados y cual de ellos administrar.el MYCIN fue diseñado para ayudar a tomar estas cuatro decisiones.la forma en que ayuda es la siguiente: con base en los datos del paciente y en los resultados del paciente y en los resultados del análisis, llega a una conclusión para cada una de las cuatro preguntas, exhibe estas conclusiones y su correspondiente grado de certeza, a continuación podría exhibir si se le solicita, la línea de razonamiento que siguió para llegar a esas conclusiones, la regla que utilizo durante el proseso las opciones que rechazo e incluso las referencias apropiadas a articulos y otras publicaciones que sirben para respaldar tales reglas. Provisto de esta información él medico estará en una excelente posición para formar su propia opinión. El trabajo para desarrollar el mising se inicia en el año 1972 en la universidad de estanford su nombre proviene del subfilo que se encuentra comúnmente en los nombres de muchos agentes antimicrobianos (como en “estreptomicina”. Las reglas que utiliza se obtuvieron de especialistas en el campo de las infecciones bacterianas. En una serie de pruebas seleccionadas entre diversos casos de la infección de la sangre, se compararon las conclusiones del misina con las de merdicos especialistas y generales.el mising tubo un desempeño excelente en dichas pruebas, almenos también como el de los expertos y significativamente mejor quo el de los generales. A pesar de sus buenos antecendentes, el mising no se utiliza clínicamente. La razón principal de Sto. es que los médicos no acostumbras a utilizar computadoras en tareas que según creen pueden llevar a cabo ellos mismos. También existen otras razones: el problema exige una maquina grande (LA IMPLEMENTACION GENERAL SE REALIZO EN UNA PD-10 CON 256 K DE MEMORIA); require de 20 a 30 minutos por consulta y no tiene aceso a los expedientes clinicos de tal forma que todos los datos del paciente deben introducirse mediante la consuklta su uso principal es como medio de enseñanza: gracias a sus excelentes recursos explicativos puede servir tanto a la s enseñanzas como para la representación más actuales que debe usarse durante el tema. EL PROSPECTOR El prospector es un sistema es un sistema computarizado de consulta que se diseño para llegar a los geólogos en la busca de depósitos minerales y la evolución del potencial mineralógico de grandes zonas geográficas. A sido desarrollado en estanford recearch institute desde 1978 hasta la fecha. Al igual que el MYCIN se trata de un sistema conversacional basado en reglas obtenidas de especialistas. El prospector no es realidad un solo sistema sino, ya que contiene varios modelos geológicos diferentes, se tiene informe sobre tres diferentes modelos de depósitos de arenisca uranífera y sobre modelos de cobre propílico y de molibdeno propílico. La tarea del geólogo al evaluar una zona se dificulta por el hecho que los indicios reveladores de un determinado yacimiento son raras vez inequívoca y no siempre se encuentran todos presentes. Por consiguiente debe colocarse en una balanza los signos a favor y en contra sopesar su importancia relativa e emitir un juicio de probabilidad. Por lo general es grande él numero de factores que debe considerar y la importancia de ellos resulta relativa. Estos factores hicieron que la adquisición de reglas fuera por igual problemática y difícil, sin embargo cuando se pusieron a prueba los modelos 8 cotejándolos con las zonas conocidas de prospección y con la opinión de los expertos se descubrió que PROSPECTOR concordaba con un margen. R1 Tal vez el r1 (también conocido como xcon) es él más exitoso de los sistemas expertos que se utiliza actualmente.fuede sarrollado po jhon McDermott y sus colegas en la universidad carnegie-mellon (CMU) ,a petición de digital equipment corporation (DEC). Cuando lanzo una serie de computadoras VAX, centro su estrategia de mercadotecnia en el concepto de libre elección. Deseaba conceder al cliente toda libertad posible para decidir que piezas de equipo conformarían su conformación particular. Esta libertad crea n problema difícil para la empresa: las necesidades son apenas un bosquejo de lo que constituye una configuración cono en consecuencia los clientes deben transformarse.En configuraciones completas y coherentes, es necesario agregar algunos componentes como fuentes de alimentación, gabinetes y cables. Otros se pueden especificar con mas detalle como traducir los lugares de almacenamiento en discos a unidades de disco y controladores, se debe planear la distribución del equipo al igual que especificar las longitudes de los cables y sus puntos de destino. En resumen es necesario poner atención a muchos de sus detálleselo cual requiere conocer la gama del equipo conocido y el equipo que debe acatar- El personal de DEC se dio cuenta de inmediato que si no mecanizaba este proceso gran parte de ellos tendría que dictarse al y para el colmo no muy bien. Al principio trataron de utilizar métodos tradicionales pero después de admitir que no estaban llegando a ninguna parte recurrieron a la CMU en busca de ayuda, el resultado de esta operación es el R1: un sistema para la configuración de equipos de VAX basado en el conocimiento. Las polémicas acerca del R1 se iniciaron alrededor de 1978 y el problema entro en acción en el mes de enero de 1980 en ese tiempo tenia 400 reglas y desde entonces a aumentado a mas de 4000 reglas. El DEC se calculaba que para 1984 habrían necesitado mas de 81 empleados, mas sin el R1 y están convencidos de que el programa efectúa el trabajo mucho mas mejor de lo que podríahacer la gente. No-efecto está tan convencido del poder de la técnica que pretenden utilizarla en todo sentido. Por un lado para ayudar al personal de ventas y al cliente en la selección de configuraciones coherentes que se ajusten de la mejor manea a las necesidades y por otro lado para ayudar a la preparación de lugar de trabajo, para programar la producción entrega de las configuraciones ordenadas, para ayudar a organizar las actividades de la fabrica, en el control de materiales y almacene y en otras tareas. 1.5 PARTES DE UN SISTEMA EXPERTO El subsistema de control de coherencia, Este es un componente importante de los Sistemas Expertos. Su función es la de prevenir la entrada de información incoherente en la base de conocimiento. Se trata de un componente esencial, pese a ser una incorporación reciente a este campo. El subsistema de adquisición de conocimiento, controla el flujo de nuevo conocimiento a la base de datos. Este subsistema determina si la nueva información es redundante, es decir, si está contenida ya en la base de conocimiento. Aquella información no redundante es transmitida a la base de conocimiento para que sea almacenada. 9 El motor de inferencia es el corazón de todo Sistema Experto. La misión principal de este componente es la obtención de conclusiones mediante la aplicación del conocimiento abstracto al conocimiento concreto. En el transcurso de este proceso, si el conocimiento inicial es muy limitado, y el sistema no puede obtener ninguna conclusión, se utilizará el subsistema de demanda de información. Subsistema de demanda de información este componente sirve para completar el conocimiento necesario y reanudar el proceso de inferencia hasta obtener alguna conclusión válida. En algunos casos, el usuario puede indicar la información necesaria ayudado de una interfase de usuario. La interfase de usuario es una componente importante, pues facilita la comunicación entre el Sistema Experto y el usuario. El subsistema de incertidumbre es el componente de un Sistema Experto responsable de almacenar la información de tipo incierto y de propagar la incertidumbre asociada a esta información. El subsistema de ejecución de tareas es el componente que permite realizar acciones al Sistema Experto. Estas acciones se basan en las conclusiones obtenidas por el motor de inferencia. El subsistema de explicación es otro de los componentes de los Sistemas Expertos que requieren una interfase de usuario. El usuario puede solicitar una explicación de las conclusiones obtenidas o de las acciones ejecutadas por el Sistema Experto. Una de las principales facetas de un Sistema Experto es la habilidad de aprender. En un Sistema Experto pueden considerarse dos tipos distintos de aprendizaje: estructural y parametrito; el aprendizaje estructural se refiere a algunos aspectos relacionados con la estructura del conocimiento (reglas, espacios probabilísticos, etc. El aprendizaje parametrito se refiere a los cambios de los parámetros de la base de datos. Otra faceta de un Sistema Experto es su habilidad para ganar experiencia a través de los datos disponibles. 1.6 USOS DE UN SISTEMA EXPERTO Un sistema experto es muy eficaz cuando tiene que analizar una gran cantidad de información, interpretándola y proporcionando una recomendación a partir de la misma. Un ejemplo es el análisis financiero, donde se estudian las oportunidades de inversión, dependiendo de los datos financieros de un cliente y de sus propósitos. Para detectar y reparar fallos en equipos electrónicos, se utilizan los sistemas expertos de diagnóstico y depuración, que formulan listas de preguntas con las que obtienen los datos necesarios para llegar a una conclusión. Entonces recomiendan las acciones adecuadas para corregir los problemas descubiertos. Este tipo de sistemas se utiliza también en medicina (Ej. MYCIN y PUFF), y para localizar problemas en sistemas informáticos grandes y complejos. Los sistemas expertos son buenos para predecir resultados futuros a partir del conocimiento que tienen. Los sistemas meteorológicos y de inversión en bolsa son ejemplos de utilización en este sentido. El sistema PROSPECTOR es de este tipo. 10 La planificación es la secuencia de acciones necesaria para lograr una meta. Conseguir una buena planificación a largo plazo es muy difícil. Por ello, se usan sistemas expertos para gestionar proyectos de desarrollo, planes de producción de fábricas, estrategia militar y configuración de complejos sistemas informáticos, entre otros. Cuando se necesita controlar un proceso tomando decisiones como respuesta a su estado y no existe una solución algorítmica adecuada, es necesario usar un sistema experto. Este campo comprende el supervisar fábricas automatizadas, factorías químicas o centrales nucleares. Estos sistemas son extraordinariamente críticos porque normalmente tienen que trabajar a tiempo real. El diseño requiere una enorme cantidad de conocimientos debido a que hay que tener en cuenta muchas especificaciones y restricciones. En este caso, el sistema experto ayuda al diseñador a completar el diseño de forma competente y dentro de los límites de costes y de tiempo. Se diseñan circuitos electrónicos, circuitos integrados, tarjetas de circuito impreso, estructuras arquitectónicas, coches, piezas mecánicas, etc. Por último, un sistema experto puede evaluar el nivel de conocimientos y comprensión de un estudiante, y ajustar el proceso de aprendizaje de acuerdo con sus necesidades. En la tabla se muestran los modelos funcionales de los sistemas expertos, junto al tipo de problema que intentan resolver y algunos de los usos concretos a que se destinan. 1.7 APLICACIONES DE LOS SISTEMAS EXPERTOS Interpretación Deducir situaciones a partir de datos observados Análisis de imágenes, reconocimiento del habla, inversiones financieras Predicción Inferir posibles consecuencias a partir de una situación Predicción meteorológica, previsión del tráfico, evolución de la Bolsa Diagnóstico Deducir fallos a partir de sus efectos Diagnóstico médico, detección de fallos en electrónica Diseño Configurar objetos bajo ciertas especificaciones Diseño de circuitos, automóviles, edificios, etc. Planificación Desarrollar planes para llegar a unas metas Programación de proyectos e inversiones. Planificación militar 11 Monitorización o supervisión Controlar situaciones donde hay planes vulnerables Control de centrales nucleares y factorías químicas Depuración Prescribir remedios para funcionamientos erróneos Desarrollo de software y circuitos electrónicos Reparación Efectuar lo necesario para hacer una corrección Reparar sistemas informáticos, automóviles, etc Instrucción Diagnóstico, depuración y corrección de una conducta Corrección de errores, enseñanza Control Mantener un sistema por un camino previamente trazado. Interpreta, predice y supervisa su conducta. Estrategia militar, control de tráfico aéreo Enseñanza Recoger el conocimiento y mostrarlo Aprendizaje de experiencia CAPITULO 2 REDES NEURONALES 2.1 Introducción Las Redes Neuronales Artificiales (ANN) son sistemas paralelos para el procesamiento de la información, inspirados en el modo en el que las redes de neuronas biológicas del cerebro procesan esta. Es decir que se han intentado plasmar los aspectos esenciales de una neurona real a la hora de diseñar una neurona “artificial”. Estos modelos realizan una simplificación, averiguando cuales son los elementos relevantes del sistema, bien porque la cantidad de información de que dispone es excesiva o bien porque es redundante. Una elección adecuada de sus características, más una estructura conveniente, es el procedimiento convencional utilizado para construir redes capaces de realizar una determinada tarea. Es de prever que dichas ANN tengan características similares a las del cerebro: · Sean robustas y tolerantes a fallos 12 · Sean flexibles. El cerebro se adapta a nuevas circunstancias mediante el aprendizaje. · Puedan trabajar con información borrosa, incompleta, probabilística,con ruido o inconsistente. · Sean altamente paralelas. El cerebro está formado por muchas neuronas interconectadas entre si y es, precisamente el comportamiento colectivo de todas ellas, lo que caracteriza su forma de procesar la información. El punto clave de las ANNs es la nueva estructuración de estos sistemas para el procesamiento de la información. A partir de esta información como ejemplo, las ANN aprenden. Aprender en sistemas biológicos involucra la modificación de la interconectividad entre las neuronas; este concepto también es cierto para las ANNs. Los campos de aplicación de las ANNs crecen por momentos, por ejemplo, reconocimiento de patrones, clasificación de datos, predicciones,... Su ventaja más destacada es la de solucionar problemas que con las técnicas convencionales serían demasiado complejos. Las redes neuronales, en su inicio eran una simulación de los sistemas nerviosos biológicos. De este modo una primera clasificación de los modelos de ANNs puede ser basándonos en su similitud con la realidad biológica: modelos de tipo biológico y aquellos dirigidos a aplicaciones. 2.1.1 Redes Neuronales de tipo Biológico El cerebro humano contiene aproximadamente 12 billones de células nerviosas o neuronas. Cada neurona tiene de 5600 a 60000 conexiones dendríticas provenientes de otras neuronas mientras que en el sistema nervioso hay 1014 sinapsis; teniendo cada neurona más de 1000 a la entrada y a la salida. Es importante destacar que aunque el tiempo de conmutación de la neurona es casi un millón de veces menor que las computadoras actuales, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras. La principal aplicación de estas redes, es el desarrollo de elementos sintéticos para verificar las hipótesis que conciernen a los sistemas biológicos. Las neuronas y las conexiones entre ella, llamadas sinapsis, son la clave para el procesado de la información. Observar la imagen 2.1: Imagen 2.1 Neurona Biológica 13 La mayoría de neuronas tienen una estructura parecida a la de un árbol llamadas dendritas que reciben las señales de entrada que vienen de otras neuronas a través de las sinapsis. Una neurona consta de tres partes: 1. El cuerpo de la neurona 2. Ramas de extensión (dendritas) para recibir las entradas 3. Un axón que lleva la salida de una neurona a las dendritas de otras neuronas Imagen 2.2 Red de Neuronas La interacción entre dos neuronas no es del todo conocida pero el proceso del traspaso de información es modelado como una regla de propagación representada por la red u(.). Mientras que la neurona puede ser modelada como una simple función escalón f(.). 2.1.2 La Neurona Artificial Si se tienen N neuronas, podemos ordenarlas arbitrariamente y designarlas como unidades. Su trabajo es simple y único, y consiste en recibir las entradas de las células vecinas y calcular un valor de salida, el cual es enviado a todas las células restantes. Imagen 2.3 Neurona Artificial Se conoce como capa o nivel a un conjunto de neuronas cuyas entradas provienen de la misma fuente (que puede ser otra capa de neuronas) y cuyas salidas se dirigen al mismo destino (que puede ser otra capa de neuronas). De esta manera podemos destacar tres tipos de unidades: 14 Las unidades de entrada reciben señales desde el entorno (son señales que proceden de sensores o de otros sectores del sistema). Las unidades de salida envían la señal fuera del sistema (son señales que pueden controlar directamente potencias u otros sistemas). Las neuronas de las capas ocultas pueden estar interconectadas de distinta manera, lo que denomina, lo que determina con su número, las distintas tipologías de redes neuronales. Las unidades ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema (son señales que no tienen contacto con el exterior). Imagen 2.4 Caracterización de un grupo de Neuronas 2.1.3 Conexiones Entre Neuronas Las conexiones que unen a las neuronas que forman una red neuronal artificial, tienen asociado un peso, que es el que hace que la red adquiera conocimiento. Consideremos yi como el valor de salida de una neurona i en un instante dado. Una neurona recibe un conjunto de señales que le dan información del estado de activación de todas las neuronas con las que se encuentra conectada. Cada conexión (sinapsis) entre la neurona i y la neurona j está ponderada por un peso wje. Normalmente, de forma simplificada, se considera que el efecto de cada señal es aditivo, de tal forma que la entrada neta que recibe una neurona (potencial postsináptico) netj es la suma del producto individual por el valor de la sinapsis que conecta ambas neuronas: N net j w ji yi i Esta regla muestra el procedimiento a seguir para combinar los valores de entrada a una unidad con los pesos de las conexiones que llegan a esa unidad y es conocida como regla de propagación. 2.1.4 Regla de Aprendizaje Al igual que el funcionamiento de una red depende del numero de neurones de las que disponga y de como estén conectadas entre si, cada modelo dispone de sus propias técnicas de aprendizaje. En el caso de las redes neuronales artificiales, se puede considerar que el conocimiento se encuentra en los pesos de las conexiones entre 15 neuronas. Todo proceso de aprendizaje implica cierto número de cambios en estas conexiones. En realidad puede decirse que se aprende modificando los valores de los pesos de la red. 2.1.5 Redes Neuronales para aplicaciones concretas Debido a que el conocimiento sobre el sistema nervioso en general no es completo se han de definir otras estructuras y funcionalidades distintas a las vistas en las de tipo biológico. Estas son sus principales características: · Auto-organización y Adaptatividad. Ofrecen procesos robustos y adaptativos ya que utilizan algoritmos de autoaprendizaje y autoorganización. · Procesado no lineal. Proporciona una gran capacidad de aproximar, clasificar y inmunidad frente al ruido. · Procesador paralelo. Se usan un gran número de células con un alto nivel de interconectividad. Los campos de aplicación son el procesado de señal y el de imagen. 2.2 Fases en la aplicación de Redes Neuronales Las aplicaciones del mundo real deben cumplir dos tipos diferentes de requisitos en el procesado, por eso, podemos distinguir dos fases: fase la de aprendizaje o entrenamiento y la fase de prueba. En la fase de entrenamiento se trata de determinar los pesos usando un conjunto de datos para definir el modelo neuronal. Una vez entrenado este modelo en la fase de prueba, se procesarán los patrones que constituyen la entrada habitual de la red, analizando así las prestaciones finales de la red. · Fase de prueba. Los parámetros de diseño de la red neuronal se han obtenido unos patrones representativos de las entradas, a los que denominamos patrones de entrenamiento. Según el tipo de red, y en función de las ecuaciones dinámicas de prueba, los resultados pueden ser calculados de una vez o adaptados iterativamente. Para validar el diseño, una vez calculados los pesos, se comparan los valores de las neuronas de la última capa con la salida deseada. · Fase de aprendizaje. Una característica básica de las ANNs es su capacidad de aprender. Aprenden por su actualización o cambio de los pesos sinápticos que caracterizan a las conexiones. Los pesos se adaptan de acuerdo a la información extraída de los patrones de entrenamiento nuevos que se van presentando. Según el tipo de entrenamiento, una posible clasificación de las ANNs es: 16 Redes Neuronales FIJO NO SUPERVISADO SUPERVISADO Red de Hamming Perceptrón Red de Hopfield Mapa de Características Basadas en Decisión Aprendizaje Competitivo ADALINE (LMS) Perceptrón Multicapa Modelos Temporales Dinámicos Modelos Ocultos de Markov 2.3 Estructura de las Redes Neuronales Artificiales Los aspectos más característicos de las estructuras de redes son: la estructura de conexión, el tamaño de la red y la elección entre ACON y OCON. 2.3.1 Estructuras de conexión Una red neuronalse determina por la neurona y la matriz de pesos. El comportamiento de la red depende en gran medida del comportamiento de la matriz de pesos. Existen tres tipos de capas de neuronas: la de entrada, la de salida y las ocultas. Entre dos capas de neuronas existe una red de pesos de conexión, que puede ser de los siguientes tipos: - Conexión hacia delante: es la de red de Conexión en la cual, los datos de las neuronas de una capa inferior son propagados hacia las neuronas de la capa superior. - Conexión hacia atrás: esta Conexión realiza la operación inversa a la Conexión hacia delante, es decir, los datos de las neuronas de una capa superior son llevados a otra de capa inferior. - Conexión lateral: un ejemplo típico de este tipo de Conexión es “el ganador toma todo”, que cumple un papel importante en la elección del ganador. - Conexión de retardo: es la conexión en la cual se le incorporan unos elementos de retardo para implementar modelos dinámicos y temporales, es decir, modelos que precisa memoria. Puede darse el caso que las redes sean de una capa, y su modelo de pesos sea hacia atrás o bien multicapa hacia delante. Como también es posible, conectar varias redes de una sola capa para dar lugar a redes más grandes. 2.4 Tamaño de las redes El tamaño de las redes depende del número de capas y del número de neurona ocultas por capas. Para conocer el número de capas de neuronas, a menudo se cuenta a partir del número de capas de pesos, debido a que en una red multicapa existen una o más capas de neuronas ocultas. 17 El número de neuronas ocultas está directamente relacionado con las capacidades de la red, debido a que un comportamiento correcto de la red viene determinado por el número de neuronas de la capa oculta. Elección entre ACON y OCON Típicamente, cada nodo de salida se usa para representar una clase. La elección entre una arquitectura “All-Class-in-One-Network” (ACON) o “One-Class- in-One-Network” (OCON), depende de las necesidades de nuestra aplicación, debido a que cada arquitectura posee diferentes características. La aproximación ACON se caracteriza por tener todas las clases reconocidas dentro de una super red, en cambio, la aproximación OCON se caracteriza por tener una subred para cada salida. En algunos casos es ventajoso descomponer la super red de ACON en varias subredes más pequeñas. Por ejemplo, una red de 36 salidas se puede descomponer en 12 subredes, cada una responsable de tres salidas. Las dos estructuras difieren claramente en tamaño y rapidez. Aunque el número de subredes en la estructura OCON es relativamente largo, cada subred individual tiene un tamaño menor que la red ACON. Esto se puede explicar con las figuras 3.1 y 3.2 de la página siguiente: Imagen 3.1 e Imagen 3.2 Redes Supervisadas i No Supervisadas La conclusión a la que se llega, es que la estructura OCON parece ser que aventaja a la ACON en la rapidez de reconocimiento y entrenamiento, cuando el número de clases es grande. 18 2.5 Tipos de modelos de Redes Neuronales 2.5.1 Métodos de aprendizaje. Clasificación general La clasificación general sería la siguiente: Aprendizaje Supervisado. Basadas en la decisión. De Aproximación/Optimización. Aprendizaje No Supervisado. Entrenamiento Competitivo. Redes asociativas de pesos fijos. Todos estos métodos de aprendizaje, necesitan unas reglas de entrenamiento específicas para cada uno de ellos. Ahora pasaremos a comentar los diferentes tipos de entrenamiento. 2.5.2 Aprendizaje supervisado En el aprendizaje supervisado (aprender con un maestro), la adaptación sucede cuando el sistema compara directamente la salida que proporciona la red con la salida que se desearía obtener de dicha red. Existen tres tipos básicos: por corrección de error, por refuerzo y estocástico. En el aprendizaje por corrección de error el entrenamiento consiste en presentar al sistema un conjunto de pares de datos, representando la entrada y la salida deseada para dicha entrada (este conjunto recibe el nombre de conjunto de entrenamiento). El objetivo es minimizar el error entre la salida deseada y la salida que se obtiene. El aprendizaje por refuerzo es más lento que el anterior. No se dispone de un ejemplo completo del comportamiento deseado pues no se conoce la salida deseada exacta para cada entrada sino que se conoce el comportamiento de manera general para diferentes entradas. La relación entrada-salida se realiza a través de un proceso de éxito o fracaso, produciendo este una señal de refuerzo que mide el buen funcionamiento del sistema. La función del supervisor es más la de un crítico que la de un maestro. El aprendizaje estocástico consiste básicamente en realizar cambios aleatorios de los valores de los pesos y evaluar su efecto a partir del objetivo deseado. 2.5.3 Reglas de entrenamiento Supervisado Las redes de entrenamiento supervisado han sido los modelos de redes más desarrolladas desde inicios de los diseños de redes. Los datos para el entrenamiento están constituidos por varios pares de patrones de entrenamiento de entrada y de salida. El hecho de conocer la salida implica que el entrenamiento se beneficia de la supervisión de un maestro. Dado un nuevo patrón de entrenamiento, por ejemplo, (m+1)- ésimo, los pesos serán adaptados de la siguiente forma: ij w (m )1 ijw (m) (m) ijw 19 Se puede ver un diagrama esquemático de un sistema de entrenamiento Supervisado en la siguiente figura: Imagen 4.1 Entrenamiento Supervisado 2.5.4 Aprendizaje supervisado basado en la Decisión En la regla de entrenamiento basada en la decisión, se actualizan los pesos sólo cuando se produce un error en la clasificación. Esta regla de entrenamiento es localizada y distributiva, además comprende el aprendizaje reforzado y la subred correspondiente a la clase correcta y el entrenamiento antirreforzado en la subred ganadora. Puesto que el límite de decisión depende de la función discriminante x, w , es natural ajustar el límite de decisión ajustando el vector de los pesos w tanto en la dirección del gradiente de la función discriminante (es decir, entrenamiento reforzado) o en la dirección contraria (entrenamiento antirreforzado), más adelante definiremos estos tipos de entrenamiento. w x, w donde es una tasa de entrenamiento positiva. El vector gradiente de la función con respecto a w se denota: x w, x w, T ,..., w w 1 wN 2.5.4.1 Regla de entrenamiento basada en la decisión Supongamos que S x ( )1 ,..., x (M ) es un conjunto de patrones de entrenamiento, cada uno corresponde a una de las L clases i ,i ,...,1 L . Cada clase se modela por una subred con función discriminante, digamos, x, iw i ,...,1 L . Supongamos que el patrón de entrenamiento m-ésimo x (m) se sabe que pertenece a la clase i y x (m) , w(m) x (m) , w(m) , jl j l Esto es, la clase ganadora para el patrón es la clase (subred) j-ésima. 20 Cuando j=1, entonces el patrón ninguna actualización. x (m ) es clasificado correctamente y no se necesita Cuando j i , esto es, x (m ) es mal clasificado, entonces se realiza lo siguiente: Entrenamiento reforzado: i (m )1 wi iw m x, w Entrenamiento antirreforzado: (m )1w j m w j x, w j En la regla de entrenamiento reforzado, el vector de pesos w se mueve a lo largo de la dirección positiva del gradiente, así que la función del valor discriminante aumentará, aumentando la posibilidad de la selección del futuro patrón. El entrenamiento antirreforzado mueve w a lo largo de la dirección negativa del gradiente, así que el valor de la función discriminante disminuirá, disminuyendo así la posibilidad de su futura elección. x, lw z T wl Entonces el gradiente en la fórmula de actualización, es simplemente zw Que nos lleva a la regla del perceptrón lineal. Función de base lineal. Una función discriminante RBF es una función de radio entre el patrón y el centroide, :x lw ,2 x wl x lw 2 Se usa para cada subred l. Así que el centroide lw más cercano al patrón actual es el ganador. Al aplicar la fórmula del entrenamiento basado en la decisión a la última ecuación y notando que pueden derivar: x, w x w , las siguiente reglas de entrenamiento se Entrenamiento reforzado: (m )1wi iw (m ) (m)x w j Entrenamiento antirreforzado: (m )1wj (m) wj (m)x w j 21 , x lw N k1 lk xk ikw i 2 2.5.4.2 Estructura jerárquica DBNN. Si una subred se modela como una red de una sola capa, esta red será inadecuada en general para tratar con límites de decisión complejos. Para obtener una flexibilidad máxima para tratar con límites de decisión no lineales, se utiliza una estructura jerárquica DBNN. La DBNN se caracteriza por su función de base, así como por la estructura jerárquica. La DBNN combina la regla de aprendizaje del perceptrón y la estructura jerárquica. La función de base. Para dar consciencia al esquema de índices de la estructura jerárquica, etiquetamos el nivel de subred por el índice l y la etiqueta del nivel de subnodo por el índice kl . De una forma más elaborada, la función discriminante para la subred l se denota por (x, lw ) . Para el nivel más bajo, la función discriminante para el subnodo l se denota por i x, wkl de subnodos de la subred l. donde el entero kl ,...,1 kl , y kl denota el número Las funciones de base más comunes, para los subnodos incluyen unas funciones de base lineales LBF’s (Linear Basis Functions), funciones de base radiales RBF (Radial Basis Functions), y funciones de base elípticas EBF (Elliptic Basis Function). Hay diferentes estructuras como son: - Nodo Oculto DBNNs Una aproximación sencilla es la estructura de nodo oculto dibujada en la figura. En la estructura de nodo oculto, la función discriminante no lineal se modela por una suma de varios nodos ocultos. Por ejemplo, un modelo de dos capas se puede representar cada subred. En este caso, una subred consiste en múltiples nodos ocultos, cada uno representado por una función i x, wkl . La función discriminante de la subred es una combinación lineal de los valores de los subnodos. La función discriminante de este tipo, con la apropiada función de base, puede aproximar cualquier función. Esto permite que la estructura adquiera una potencia de aproximación universal para acomodar casi cualquier límite de decisión complejo. -Subcluster DBNNs. Constituyen una alternativa a usar la suma escalada de los pesos de los nodos en la estructura de los nodos ocultos. Esta nueva alternativa usa la aproximación de “el ganador se lleva todo” (winner-take-all). Esto es, sólo el peso superior más representativo tiene un peso de l y todos los demás tienen peso cero. Para la estructura jerárquica del subcluster, introducimos las nociones del ganador local y ganador absoluto. El ganador local es el ganador de entre los subnodos dentro de la misma subred. El ganador local de la subred l está indexada por sl , esto es ls arg max l x, lw 22 Un patrón se clasifica dentro de la clase j-ésima si la subred j-ésima es la ganadora absoluta. -Algoritmo: Supongamos que varios subclasificadores se usan para representar una clase con si s j, , etc, representando los ganadores locales. Supongamos que el patron x (m ) debe pertenecer a la clase i , pero la subred j-ésima se selecciona como la ganadora x (m ) se clasifica mal, entonces se actualiza lo siguiente:absoluta. Cuando i , esto es Aprendizaje reforzado: (m )1wsi (m) w si x, wsi Aprendizaje no reforzado: sj (m )1w sj (m) w sj x, w En otras palabras, el aprendizaje antirreforzado se aplica al subclasificado que gana localmente dentro de la subred que gana de manera absoluta; y el aprendizaje reforzado se aplica al ganador local dentro de la clase ganadora. Esto es, estas estructuras jerárquicas se pueden acomodar para clasificar límites de decisión complejos, actualizándose únicamente los sublasificadores seleccionados en las subredes. Imagen 4.2 Subcluster DBNNs 2.5.4.3 Redes Neuronales de Aproximación/Optimización La formulación basadas en la aproximación se pueden ver como una aproximación/regresión para el conjunto de datos entrenados. Los datos para el entrenamiento se dan en pares de entrada/maestro, que denotaremos por X ,T x ,1 t1 ,...,xm, tm , donde M es el número de patrones de entrenamiento. Los valores deseados en los nodos de salida correspondientes a los patrones de entrada x (m ) los llamaremos maestros. El objetivo del entrenamiento de la red es encontrar los pesos óptimos para minimizar el error entre los valores del maestro y las salidas de respuesta actual. Un criterio popular es minimizar los errores cuadráticos medios entre el maestro y la salida actual. Para adquirir una capacidad de aproximación no lineal, se usan frecuentemente las redes multicapa, junto con el algoritmo de Backpropagation. La función que representa el modelo es función de las entradas y de los pesos: y x, w , si asumimos que hay una única salida. En la formulación básica del modelo 23 de aproximación, el procedimiento implica el encontrar los pesos que minimizan el error cuadrático medio (least-squares-error) LMS como función de energía: E x, w t x, w 2 . El vector de pesos w se puede adaptar para ir minimizando la función de energía a lo largo de la dirección de descenso del gradiente: w E x w t x w x w , , , ww En la fase de prueba, la célula que gana a la salida es la célula que da la máxima respuesta al patrón de entrada. 2.5.5 Modelos No Supervisados La capacidad de clasificación de la red neuronal depende del valor de los pesos sinápticos, que pueden ser preestablecidos o entrenados adaptativamente mediante mecanismos de aprendizaje. Una clase de modelos de entrenamiento no supervisado son las redes de pesos fijos. Un ejemplo son las redes de Memoria Asociativa, que se usan para obtener patrones originales libres de ruido a partir de señales incompletas o distorsionadas. La principal característica de las redes asociativas de pesos fijos es que sus pesos son preestablecidos y precalculados. Los modelos de pesos fijos tienen aplicaciones limitadas ya que no se pueden adaptar a “ambientes cambiantes”. Hay otra variedad de redes no supervisadas, llamadas Redes de Aprendizaje Competitivo, cuyos pesos se adaptan de acuerdo con reglas de aprendizaje no supervisadas. Estas redes, pueden aprender en ausencia de un maestro, como ya hemos mencionado anteriormente. En otras palabras, el entrenamiento se basa únicamente en la información de los patrones de entrada, no necesitan la supervisión de un maestro a la salida. La clase de las redes de aprendizaje competitivo se compone, por ejemplo, de Red de autoorganización. 2.5.5.1 Reglas de entrenamiento No Supervisado Para los modelos de entrenamiento No Supervisado, el conjunto de datos de entrenamiento consiste sólo en los patrones de entrada. Por lo tanto, la red es entrenada sin el beneficio de un maestro. La red aprende a adaptarse basada en las experiencias recogidas de los patrones de entrenamiento anteriores. Este es un esquema típico de un sistema No Supervisado: 24 Ejemplos típicos son La Regla de Aprendizaje de Hebb, y la Regla de Aprendizaje Competitiva. 2.6 Aprendizaje competitivo Una red básica de aprendizaje competitivo tiene una capa de neuronas de entrada y una capa de neuronas de salida. Un patrón de entrada x es un simple punto en el espacio real o binario de vectores n-dimensional. Los valores binarios (0 o 1) de representación local son más usados en los nodos de salida. Esto es, hay tantas neuronas de salida como números de clases y cada nodo de salida representa una categoría de patrones. Una red de aprendizaje competitivo está formada por una(s) red(es) excitadora hacia delante y la(s) red(es) inhibidora(s) lateral(es). La red hacia delante normalmente implementa una regla de excitaciónde aprendizaje de Hebb. Esta regla consiste en que cuando una neurona participa constantemente en activar una neurona de salida, la influencia de la neurona de entrada es aumentada. La red lateral es inhibidora por naturaleza. Esta red realiza la misión de seleccionar el ganador, normalmente por medio de un método de aprendizaje competitivo, de entre los que podemos reseñar el esquema de winner-take-all. En un circuito “winner-take-all”, la neurona de salida que da el valor más alto se le asigna el valor total (por ejemplo 1), mientras que a las demás se le da un valor de 0. El circuito de “winner-take-all” se implementa por una red (digital o analógica). Otro ejemplo de una red lateral son los mapas de Kohonen. Se deja que las neuronas de salida interactuen por medio de la red lateral, con lo que el modelo se puede entrenar para guardar cierto orden topológico. Los procedimientos de clasificación no supervisados se basan a menudo en algunas técnicas de clasificación, que forman grupos de patrones parecidos. Esta técnica de clasificación es muy útil para la clasificación. Además, juega un papel muy importante en las redes de aprendizaje competitivo. Para un procedimiento de clasificación, es necesario definir una distancia o medida de similaridad, para evaluar el grado de semejanza de los patrones. Algunas de estas distancias están en la siguiente lista, y entre ellas la más común es la distancia euclidea. Producto interno: xi , x j T xi x j xi jx cos xi , x j Distancia Euclidea con Pesos: , 2 d xi x j ix k k jx k Redes de aprendizaje competitivo básicas. Sin la supervisión de ningún maestro, las redes no supervisadas adaptan los pesos y verifican los resultados únicamente a partir de los patrones de entrada. Un esquema que se usa mucho para la adaptación de los pesos es la regla de aprendizaje competitivo, que hace que las células compitan por el derecho a responder por ellas mismas por un determinado tipo de entrada. Esto se puede ver como un sistema muy sofisticado de 25 clasificación, cuyo objetivo es dividir un conjunto de patrones de entrada en un número de clases, tal que los patrones de entrada en un número de clases tal que los patrones de la misma clase exhiben un cierto grado de similaridad. Las reglas de entrenamiento suelen ser la regla de Hebb para la red de propagación y la regla de “winner-take-all” (WTA) para la red lateral. Modelo básico de Aprendizaje. Un sistema de este tipo consiste en redes laterales y de propagación hacia delante con un número fijo de nodos de salida, esto es, un número fijo de clases. Los nodos de entrada y salida tienen valores binarios únicamente. Cuando y sólo cuando los dos, la entrada ith y la salida jth están activadas Cij 1; de otra forma xi k 1. Dado el valor de los pesos sinápticos i con la salida j, wij, y el estímulo k-th, una posible regla de aprendizaje es: g xi k ijw nk 0 ijw si y solo si Cij otros casos 1 donde g es una pequeña constante, nk es el número de unidades de entradas activas del patrón k, xi k 1 si la señal de entrada i es alta para el patrón k-th y en otro caso xi k 0 . Reglas de entrenamiento basadas en pesos normalizados. Con el fin de asegurar un ambiente de competición equitativo, las sumas de todos los pesos que van a dar las neuronas de salida deben estar normalizados. Si los pesos conectados a un nodo de salida j son g x ki xi k 1 1, entonces ijw i wij k n wij si j gana sobre el estímulo k 0 si j pierde sobre el estimulo k Entonces, si una unidad gana la competición, cada una de sus líneas de entrada cede una proporción g de su peso, y la l distribuye igualmente entre las líneas de entrada activas. Una característica importante de esta regla de entrenamiento es que la normalización es incorporada en el momento de la actualización, de forma que la suma de los pesos sinápticos a cualquier salida es 1. Reglas de aprendizaje para “Leaky Learning” (aprendizaje débil). Con el fin de preveer la existencia de neuronas que no aprenden en totalidad, se usa el aprendizaje débil. Puesto que una neurona sólo aprende si gana en algún momento, es posible que una célula nunca gane, y por lo tanto nunca aprenda. Una forma de solucionar este problema es que todos los pesos de la red intervengan en el 26 entrenamiento con distintos niveles de aprendizaje. Esto se practica en la siguiente regla de aprendizaje débil: g xi k ijw l nk ijw si j gana sobre el estimulo k xi kg w ijw si j pierde sobre el estímulo k nk En esta regla el parámetro g l es unas órdenes de magnitud más pequeño que xi k 0 . Por lo tanto, las neuronas que pierden en la competición sufren un aprendizaje menor que las neuronas ganadoras. Este cambio tiene la propiedad de que las neuronas perdedoras se van desplazando hacia la región donde yace el estímulo actual, donde empiezan a capturar algunas unidades, superando a las técnicas dinámicas convencionales. 2.7 Modelos de Redes Neuronales 2.7.1 Modelos supervisados 2.7.1.1 Perceptron Un Perceptrón unicapa no es más que un conjunto de neuronas no unidas entre sí, de manera que cada una de las entradas del sistema se conectan a cada neurona, produciendo cada una de ellas su salida individual: Un Perceptrón unicapa no es más que un conjunto de neuronas no unidas entre sí, de manera que cada una de las entradas del sistema se conectan a cada neurona, produciendo cada una de ellas su salida individual: Imagen 5.1 Modelo de Perceptron Como ya hemos dicho, un conjunto de neuronas no sirve para nada si previamente no le enseñamos qué debe hacer. en el Perceptrón podemos utilizar los metodos que conocemos: Supervisado, Por Refuerzo y No Supervisado. En el Aprendizaje Supervisado se presentan al Perceptrón unas entradas con las correspondientes salidas que queremos que aprenda. De esta manera la red primeramente calcula la salida que da ella para esas entradas y luego, conociendo el 27 error que está cometiendo, ajusta sus pesos proporcionalmente al error que ha cometido (si la diferencia entre salida calculada y salida deseada es nula, no se varían los pesos). En el Aprendizaje No Supervisado, solo se presentan al Perceptrón las entradas y, para esas entradas, la red debe dar una salida parecida. En el Aprendizaje Por Refuerzo se combinan los dos anteriores, y de cuando en cuando se presenta a la red una valoración global de como lo está haciendo. 2.7.1.2 El Perceptrón multicapa Esta estructura nació con la intención de dar solución a las limitaciones del Perceptrón clásico o unicapa, y supuso el resurgimiento del movimiento conexionista. Como su nombre indica, se trata de un unos cuantos (dos o tres) perceptrones unicapa conectados en cascada, como en la imagen 5.2. El problema de este tipo de Perceptrón está en su entrenamiento, ya que es difícil modificar correctamente los pesos de la capa oculta (la capa 1 en el ejemplo anterior). Para poder hacer aprender cosas a un Perceptrón de este tipo, se implementó el algoritmo de BackPropagation, que tal como su nombre indica tiene la función de ir propagando los errores producidos en la capa de salida hacia atrás. Imagen 5.2 Modelo de Perceptrón Multicapa Capacidad representacional Redes con alimentación hacia delante (no recurrentes) y sin capas ocultas (Rosenblatt) Cada unidad de salida es independiente de las otras ya que cada peso afecta sólo a una salida. Se puede construir cualquier multi-perceptron a partir de perceptrones de una salida Pueden representar funciones booleanas complejas. Ej: una función que detecta si más de la mitad de sus n entradas están a 1, se representan con un perceptron con todos los pesos a 1 y Sólo pueden representar funciones linealmente separables . Un ejemplo práctico de un Perceptrón multicapa podría ser su uso en visión artificial. Dada su capacidadpara generalizar, las redes neuronales ya han demostrado su importáncia en este campo. El unico problema és la lentitud que tiene para aprender. 2.7.1.3 Adaline y Madaline Este es otro de los modelos pioneros de las ANNs i el mas simple a la hora de aproximar. se basa en el criterio del error cuadràtico médio line i fué introducido por Widrow. ADALINE sigue siendo de una sola capa como el perceptron, con la unica diferència de la función de transferencia lineal (imagen 5.3) 28 El método de entrenamiento que adopta este modelo és el de adaaptación a los datos i se basa en el algoritmo de descenso del gradiente. Imagen 5.3 Función de transferéncia lineal 2.7.1.4 Backpropagation El aprendizaje con redes de neuronas se realiza actualmente siguiendo el enfoque de la Retropropagación de Gradiente Backpropagation y el de los algoritmos constructivos. El primero necesita introducir a priori el número y conexiones de las unidades ocultas, y determinar los pesos por minimización de un costo. La red así obtenida es eventualmente simplificada eliminando unidades y/o conexiones que parecen inútiles. El principal defecto de este enfoque consiste en la búsqueda de la mejor arquitectura a través de prueba y error. Por otra parte, con un enfoque constructivo se aprende al mismo tiempo el número de unidades y pesos, en el marco de una arquitectura que comienza generalmente con un perceptron. La característica de estos algoritmos es que construyen una RN adaptada a cada problema particular, usando la información contenida en el conjunto de aprendizaje y evitando rediseñar la arquitectura. El primer algoritmo constructivo fue el algoritmo Tiling, de ahí surgieron Cascade Correlation, el algoritmo Upstart, Offset y GAL entre otros. Monoplan y NetLines son dos algoritmos recientemente introducidos por el autor. De aquí en adelante, nuestra discusión será basada únicamente en los métodos constructivos. Una vez construida la red, ésta debe ser capaz de predecir la clase de datos nuevos que no estén presentes en el conjunto de aprendizaje. La calidad del algoritmo de aprendizaje se traduce en la capacidad de predicción de la RN. Esta calidad se mide a través del error de generalización, que es la proporción de clasificaciones correctas realizadas por la red sobre nuevos datos. Esta cantidad se mide empíricamente sobre una serie de problemas estándar (benchmarks) que sirven de prueba. 2.7.1.5 Otros Modelos Dentro de los supervisados encontramos diversos modelos como los descritos brevemente a continuación: Time Delay NN: Red multicapa feddforward donde las salidas de cada capa estan retenidas durante un tiempo, conectandose todas a la vez a la siguiente capa. La aplicación donde más se encuentran estas redes es en las tascas de reconociemeto optico. Probabilistic NN: Red de tres capas, que en su forma standar no entrena. El aprendizaje se realiza similar a la red de Hamming. Su mayor ventaja és que no necesita entrenamiento i la mayor desventaja que sus matrices son muy largas. Generalized Regresion NN: Red que por lo general no necesita un entrenamiento iterativo , se utiliza en problemas de clasificación o estimación de variables continuas. 29 2.7.2 Modelo No Supervisado 2.7.2.1 Redes de Hopfield El modelo Hopfiel consiste de una red monocapa con N neuronas cuyos valores de salida son binarios 0/1 ó -1/+1. En la versión original del modelo Discrete Hopfield, las funciones de activación de las neuronas eran del tipo escalón. Se trataba, por lo tanto, de una red discreta con entradas y salidas binarias; sin embargo, posteriormente Hopfield desarrolló una versión continua con entradas y salidas analógicas utilizando neurnas de activación tipo sigmiodal. Una de las características del modelo de Hopfield, es que se trata de una red auto- asociativa. Así como, varios patrones diferentes pueden ser almacenados en la red, como si se tratase de una memoria, durante la etapa de aprendizaje. Posteriormente, si se presenta a la entrada alguna de las informaciones almacenadas, la red evoluciona hasta estabilizarse, ofreciendo entonces en la salida la información almacenada, que coincide con la presentada en la entrada. Si , por el contrario, la información de entrada no coincide con ninguna de las almacenadas, por estar distorsionada o incompleta, la red evoluciona generando como salida la mas parecida. El funcionamiento de la red Hopfield se puede expresar en dos pasos: En el instante inicial se aplica la información de entrada, la salida de las neuronas coincide con la información aplicada a la entrada. La red realiza iteraciones hasta alcanzar la convergencia (hasta que Si(t+1) sea igual a Si(t)). Si(t+1)=f ( ? Wji Sj(t) - ?i ) 1 < i < n Donde f es la función de transferencia (activación) de las neuronas de la red. En el caso del modelo continuo existen dos funciones de activación de tipo sigmoidal. Si se trabaja con valores entre -1 y +1, la función que se utiliza es la tangente hiperbólica. f (x-?i ) = tgh ( ? ( x-?i ) ) Si el rango es entre 0 y 1, se utiliza la misma función que para la red Backpropagation. f (x-?i ) = 1/(1+ e-?(x-?i)) En ambos casos, ?es un parámetro que determina la pendiente de la función sigmoidal. El proceso se repite hasta que las salidas de las neuronas permanecen si cambios durante algunas iteraciones. En ese instante, la salida representa la información almacenada por la red que mas se parece a la información presentada en la red. La red Hopfield continua ofrece mas posibilidades que la discreta, ya que permite almacenar patrones formados por valores reales (por ejemplo, imágenes en color o en blanco y negro con diferentes tonalidades de gris) y además facilita la resolución de determinados problemas generales de optimización. Por ejemplo, el problema del vendedor viajero, la bipartición de grafos, el problema del emparejamiento ponderado, en todos los casos se reduce el tiempo de resolución. 30 En el caso de un reconocimiento de imágenes en una red Hopfield discreta seria mas difícil trabajar con imágenes con tonos de grises o a colores, siendo que para una red Hopfield continua es mas sencillo. 2.7.2.2 Los mapas de Kohonen Dentro de las RNA se pueden crear dos grandes grupos en función del tipo de supervisión de su aprendizaje. Si la red recibe información sobre si su funcionamiento es correcto o incorrecto, basándose en alguna medida de error entre la salida de la red y la salida deseada, entonces estamos hablando de sistemas supervisados. Si por el contrario la red no recibe ningún tipo de información entonces hablamos de sistemas no supervisados. En este último grupo los modelos buscan a partir de unos datos extraer propiedades, características, relaciones, regularidades, correlaciones o categorías existentes en ellos. Los mapas de Kohonen que se utilizarán en este trabajo son un tipo de red no supervisada. Una propiedad del cerebro es que las neuronas están ordenadas significativamente. Esto implica que estructuras idénticas en el cerebro funcionan de forma diferente debido a su diferente topología cerebral. Otra propiedad básica es la inhibición lateral. Cuando una neurona se activa, ésta produce un estado excitatorio en las células más cercanas y un efecto inhibitorio en las más lejanas. La función que recoge este proceso de excitación-inhibicion en las células tiene la forma de un sombrero mexicano. Imagen 5.5 Función de Excitación-Inhibición En 1982 Kohonen (Kohonen 1982, 1995) propuso el "kohonen's Feature Map", modelo que pretendía integrar las características de los modelos biológicos. Este nuevo modelo consiste en una Red Neuronal de dos capas, la primera de las cuales es una capa de entrada y la segunda es una "capa de competición". Las células de ambas capas están conectadas entre sí, de tal forma que una célula de la capa de entrada conecta con las de la capa de competición. Estas conexiones son ponderadas, es decir, el estímulo excita la capa de entrada, teniendo ambos la misma dimensión. 31 Imagen 5.6 Mapa de Kohonen Representaremos el estímulomediante el vector {e1, e2,..., en}, siendo {t1, t2,..., tn} el vector que representa la salida de la capa de competición, representando igualmente las conexiones entre la primera capa y la segunda mediante {m1, m2,..., mn}. De tal forma podríamos definir la salida mediante la siguiente ecuación: De tal forma que cada conjunto ordenado {m1, m2,..., mn} sea una imagen que comparamos con {e1, e2,..., en}. Por tanto, la Red deberá adaptar sus parámetros para que cada unidad esté especialmente sensibilizada a un dominio de la señal de entrada en orden regular. Para hacer esta comparación podemos utilizar diversas medidas de distancia, como por ejemplo la anteriormente utilizada en la que se utilizó el producto escalar de dos vectores, y también podríamos utilizar la distancia euclídea entre vectores, de tal forma si tenemos entonces calcularemos siendo la medida de distancia utilizada. Por tanto, se trata de presentar un estímulo, el cual se propaga por la Red dependiendo de la función de distancia utilizada, y finalmente consideraremos como mejor célula (célula ganadora) a aquella que produzca menor señal en la capa de competición. Llegados a este punto es necesario generalizar este proceso a estímulos similares para lo cual empleamos una regla de aprendizaje tipo Hebb, reforzando más aquellas unidades que hayan respondido en mayor grado al estímulo, proporcionalmente al valor del mismo. Todo lo cual puede expresarse mediante: donde a(t) es una función de "olvido" que decrece con respecto al tiempo, y una función de umbral de salida G(x). Esta función es inversamente proporcional a la respuesta de las células, ya que ésta será máxima para células con una respuesta mínima y a la inversa, mínima para células con respuesta máxima. Por tanto, aplicamos la función G a la salida de las células de la capa de competición para así poder obtener una respuesta mayor a estímulos que se aproximen más a los almacenados en las conexiones y viceversa. 32 Podemos discretizar la ecuación anterior, para ello utilizaremos un "vecindario" Nc(Si) de la célula c, el cual se define como el conjunto de aquellas células que estén a menos de una distancia Si de c; dicha distancia es discreta, por lo que debemos definir para cada célula una serie de conjuntos Nc(S1), Nc(S2), Nc(S3) .... Mediante este vecindario podemos definir la ordenación topológica de las células del sistema, lo cual equivaldría a las conexiones laterales del modelo de interacción lateral. Los vecindarios nos permiten definir las reglas de modificación sináptica, lo cual confiere a este modelo cierta similitud con el córtex cerebral. Del mismo modo el vecindario nos permitiría definir la función a de olvido, tanto de forma continua como discreta, cuyo valor disminuiría con la distancia a la célula i, para la que calcularemos los nuevos pesos. Además la función G(ti) se puede hacer igual a ti cuando i pertenezca a Nc e igual a cero en caso contrario, quedando la ecuación anterior para i Î Nc para i Ï Nc Podremos, por tanto, definir un espacio alrededor de la célula ganadora, en el cual se incrementarán las eficacias sinápticas de las células. Dicho incremento sería igual para todas las células del vecindario y no existirá dicho incremento en las células externas a dicho vecindario. Para evitar que los estímulos que se presenten en primer lugar tengan mayor relevancia que los últimos presentados, el valor a irá disminuyendo a lo largo del tiempo, y debe cumplir las siguientes inecuaciones: Esto mismo se aplica al vecindario, es decir, en un principio elegimos un vecindario grande y vamos decrementándolo hasta llegar a la unidad. Si utilizamos la distancia euclídea como medida de similaridad entre vectores la ecuación sería la siguiente: Y la actualización de los pesos: para i Î Nc siendo en caso contrario 2.7.2.3 Redes basadas en la teoría de la resonancia adaptativa 33 En los esquemas de aprendizaje competitivo no existe garantía explicita sobre la estabilidad de los grupos de patrones de entrada durante el proceso de decrecimiento del factor de aprendizaje en las sucesivas iteraciones. Las redes basadas en la teoría de la resonancia adaptativa vienen a solucionar este problema. En este tipo de redes, los vectores de pesos del elemento de procesado seleccionado como ganador sólo se actualizan con los patrones de entrada se "resuenan" con estos, es decir, si son "suficiente similares". Si no son "suficientemente similares" se genera un nuevo elemento de procesado cuyos pesos son precisanmente los del patrón de entrada utilizado. Evidentemente se hace necesario definir el concepto de "suficiente similaridad" que usualemente involucra un parametro de vigilancioa que lo controla. 2.7.2.4 Mapas autoorganizados de propiedades Estos Mapas Autoorganizados son redes con entrenamiento no supervisado que transforman patrones de entrada p-dimensionales a mapas discretos q-dimensionales (usualmente q=1 o 2) con topología ordenada, es decir, mapas en los cuales patrones de entrada próximos corresponden a puntos del mapa discreto próximos. Cada celda del mapa de salida está representado por un elemento de procesado que lleva asociado un vector de pesos p-dimensional que se modifica durante el proceso de entrenamiento. En el proceso de entrenamiento se localiza el mejor vector de pesos (usualmente en términos de distancia mínima) para cada una de las entradas y se modifica para ajustarlo a dicha entrada (usualmente este ajuste se expande para incluir los vecinos topológicos del mejor elemento de procesado en el mapa de salida). Cuando sólo se considera el ajuste del mejor vector de pesos, sin incluir sus vecinos topológicos, se habla de redes de Cuantización del Vector de Aprendizaje, que constituyen un caso particular de los Mapas Autoorganizados. Los Mapas autoorganizados se han usado para generar mapas semánticos, realizar procesos de "clustering", particionar grafos, etc. Las redes de Cuatización del Vector de Aprendizaje se utilizan exclusivamente en procesos de "clustering" y compresión de imágenes,dado que no conservan la tipología de las entradas. El tipo de esquema de aprendizaje utilizado en el cual los elementos de procesado compiten entre ellos para ganarse la actualización se denomina aprendizaje competitivo. 2.7.3 No supervisados Competitivos 2.7.3.1 Redes basadas en la teoría de la resonancia adaptativa En los esquemas de aprendizaje competitivo no existe garantía explicita sobre la estabilidad de los grupos de patrones de entrada durante el proceso de decrecimiento del factor de aprendizaje en las sucesivas iteraciones. Las redes basadas en la teoría de la resonancia adaptativa vienen a solucionar este problema. En este tipo de redes, los vectores de pesos del elemento de procesado seleccionado como ganador sólo se actualizan con los patrones de entrada se "resuenan" con estos, es decir, si son "suficiente similares". Si no son "suficientemente similares" se genera un nuevo elemento de procesado cuyos pesos son precisanmente los del patrón de entrada 34 utilizado. Evidentemente se hace necesario definir el concepto de "suficiente similaridad" que usualemente involucra un parametro de vigilancioa que lo controla. 2.8 Aplicaciones 2.8.1 Redes vs. Metodos clásicos En muchas areas donde existen problemas de predicción, clasificación, etc, existen soluciones que no estan basadas en redes neuronales pero que dan buenos resultados, o como mínimo mejores que el no hacer nada. Frente a este tipo de problemas, donde ya existe dicha solución “clásica”, las redes pueden aportar su alta no linealidad y su gran facilidad en aportar datos adicionales, tanto numéricos, como borrosos y/o subjetivos, que en técnicas convencionales o medelos “clásicos” no son tenidos en consideración. Por lo tanto, se llega a la conclusión que la utilización de redes neuronales aporta soluciones más eficientes y seguras que las convencionales. El único dilema existente frente a este tipo de problemas con una solución clásica, es la elección entre dos modos
Compartir