jueves, 5 de diciembre de 2013

Sistemas expertos conexionistas

Autor:
PhD. Guillermo Choque Aspiazu
http://www.eldiario.net/
Publicado en:
Diciembre 7 de 2009

En el ámbito de la inteligencia artificial, aun se dan confrontaciones entre dos tendencias, por una parte las tendencias simbólicas o simbolistas, entre las cuales se encuentran los sistemas expertos, y las tendencias no simbolistas o conexionistas, de las cuales forma parte las redes neuronales. Debido al carácter eminentemente tecnológico de la inteligencia artificial, donde el espíritu que predomina es el de resolver problemas, por sobre aquél de la búsqueda de verdades, es de esperar que en su quehacer emerjan soluciones eclécticas más fácilmente que en el dominio de las ciencias. En este dominio, por lo tanto, es de esperar que un proceso de selección, en búsqueda de los métodos más eficaces, dé lugar a soluciones híbridas, con aspectos simbólicos y no simbólicos. Tal el caso de la temática abordada, que se relaciona con un sistema experto que utiliza redes neuronales, mejor conocido como sistema experto conexionista.


El conexionismo se establece como un paradigma que permite modelar el funcionamiento del sistema nervioso a partir de formas simplificadas del funcionamiento de las neuronas que lo constituyen y de las conexiones que entre ellas se establecen. Por una parte, el funcionamiento de las neuronas de los diferentes modelos conexionistas actualmente en uso se basa en variaciones del modelo de la neurona formal establecida por McCulloch y Pitts en la década de los años 1940. En dicho formulismo se rescatan tanto las nociones de suma espacial y temporal de la fisiología celular, como la noción de activación de la neurona a partir de la resultante de potenciales post-sinápticos activadores como inhibitorios. Por otra parte, la forma en que se establecen las conexiones sinápticas de los modelos conexionistas replica la forma en que ellas se establecen en sus contrapartes biológicas. Estas conexiones pueden ser estáticas, en cuyo caso permanecen invariantes en el tiempo, o plásticas, de suerte que cambien en el curso del tiempo de acuerdo a instrucciones externas a la red, o de acuerdo a la relación de actividades entre neuronas pre y post-sinápticas.

Se puede decir que los sistemas expertos son el producto de investigaciones en el campo de la inteligencia artificial ya que ésta no intenta sustituir a los expertos humanos, sino que ayuda a efectuar con mayor rapidez y eficacia todas las tareas que realiza. En términos genéricos un sistema experto es una aplicación informática capaz de solucionar un conjunto de problemas que exigen un gran conocimiento sobre un determinado tema. Un sistema experto es un conjunto de programas que, sobre una base de conocimiento, posee información de uno o más expertos en un área específica. Estos sistemas imitan las actividades de un humano para resolver problemas de distinta índole, en diferentes dominios de acción en los cuales predomina de algún modo la inteligencia artificial. También se dice que un sistema experto se basa en el conocimiento declarativo, es decir en conocimiento sobre hechos acerca de objetos, situaciones, etc. además del conocimiento de control referido como la información sobre el seguimiento de una acción. Para que un sistema experto sea una herramienta efectiva, los usuarios deben interactuar de una manera fácil, reuniendo dos capacidades para poder cumplir esta característica: (1) Explicar su razonamiento o base del conocimiento. Los sistemas expertos se deben construir siguiendo ciertas reglas o pasos comprensibles de manera que se pueda generar la explicación para cada una de estas reglas, las mismas que a la vez se basan en hechos. (2) Adquisición de nuevos conocimientos o integrador del sistema: son mecanismos de razonamiento que sirven para modificar los conocimientos anteriores.

La fusión de redes neuronales y sistemas expertos es uno de los campos abiertos más amplios de la investigación actual en inteligencia artificial. Su conjunción está soportada, de forma teórica, por la forma de procesar la información de los humanos, donde se aprecian, ante determinadas situaciones, una respuesta rápida, no consciente, gobernada por el simple reconocimiento de patrones y, complementándose con lo anterior se requiere otro proceso de la información que puede precisar de más datos y tiempo, pero que es consciente y proporciona una mayor “calidad” en la respuesta. Las redes neuronales pueden ser una buena interfaz entre un mundo real difuso y los sistemas expertos en cuanto a la adquisición de conocimientos o a la captación de datos e información se refiere. La aproximación inversa sería que: (1) El sistema experto toma los datos del exterior, haciendo preguntas a los usuarios, conectándose a una base de datos, introduciendo heurísticas, etc.; (2) La red neuronal, una vez entrenada, analiza los datos de forma completa, rápida y masiva y (3) los resultados de la evaluación de los datos, utilidad y consistencia de los resultados o conclusiones de la red neuronal, la realiza el sistema experto, analizando y validando las salidas de la red neuronal.

Otra posible utilización compuesta de los sistemas expertos conexionistas es que: la red neuronal genera proposiciones y restricciones para los sistemas expertos, deduciendo el conocimiento que no es capaz de explicitar el experto. Además pueden completar, gracias a la capacidad de las redes neuronales de restaurar patrones incompletos, los antecedentes o consecuentes incompletos de las reglas de producción de la base de conocimiento del sistema experto. Además, las redes neuronales pueden usarse para validar los sistemas expertos, para actualizar parámetros estadísticos en módulos de sistemas expertos, etc. Finalmente, la red neuronal puede realizar un refinamiento del sistema experto a través del siguiente procedimiento: (1) Insertar en la red neuronal el conocimiento del sistema experto; (2) Entrenar la red neuronal con ejemplos clasificatorios; y (3) Extraer el conocimiento de la red neuronal en forma de reglas de producción “si… entonces” y proceder a la adición de dichas reglas en la base de conocimiento del sistema experto.

Es posible desarrollar sistemas expertos conexionistas a partir de la combinación de los sistemas basados en reglas, propio de los sistemas expertos clásicos, con las redes neuronales artificiales. Esta combinación ofrece beneficios potenciales debido a que ambos modelos computacionales se complementan de manera mutua, a partir del siguiente razonamiento: (1) Los sistemas basados en reglas poseen buenas capacidades de explicación mientras que las redes neuronales no la tienen. (2) Los sistemas basados en reglas requieren de expertos que articulen su conocimiento y las redes neuronales solamente muchos ejemplos. (3) El tiempo promedio de desarrollo de un sistema basado en reglas es de doce a dieciocho meses mientras que el de una red neuronal son pocas semanas o meses.

Esta combinación, entre sistemas basados en reglas y redes neuronales, puede lograrse a través del siguiente procedimiento detallado: (1) División de los problemas. Se tiene una máquina de inferencia con dos partes bien delimitadas, una es un sistema de producción y la otra un procedimiento para el trabajo con una red neuronal. El conocimiento sobre el dominio de aplicación en el cual trabajará el sistema experto se divide, una parte se almacena en forma de reglas de producción y la otra se codifica en los pesos de la red neuronal. Cuando se presenta un problema este se divide en subproblemas los cuales son presentados al sistema de producción o a la red, y finalmente se integran los resultados para dar la respuesta al usuario. (2) Insertar la red neuronal en el sistema basado en reglas. Una manera es usar la red neuronal para implementar la parte de la máquina de inferencia que selecciona la regla a usar, esto puede mejorar sustancialmente el tiempo de ejecución debido al paralelismo inherente a la red neuronal. Otra forma es usar una red entrenada como una subrutina que se activa cuando se cumple alguna regla. (3) Expertos artificiales. Cuando se desea utilizar un sistema basado en reglas pero no se tiene un experto humano con todas las condiciones necesarias, se puede emplear una red neuronal como un medio para obtener las reglas de producción de la base de conocimiento del sistema experto. Se entrena la red usando los ejemplos existentes y luego se analiza esta para extraer las reglas. A pesar del doble trabajo esta variante resulta más económica tanto en tiempo como en costo pues el tiempo requerido para entrenar la red es de pocas semanas o meses, y este tiempo más el de extracción de las reglas nunca llegará al tiempo de doce a dieciocho meses requerido para la ingeniería de conocimiento tradicional. Además, este experto artificial resulta más barato que el empleo de uno humano.

El empleo de las redes neuronales en el desarrollo de sistemas expertos ofrece entre sus ventajas principales el hecho de no necesitar un experto humano al cual extraerle el conocimiento. Esta es una tarea lenta, que consume mucho tiempo, se necesita que exista disposición por parte del experto y concordancia entre él y el ingeniero de conocimiento, posibilidades de que el experto pueda explicar sus métodos de solución de problemas, etc. Las redes neuronales son una alternativa pues ellas adquieren su conocimiento a partir de ejemplos. No obstante tienen también desventajas, entre las que se encuentran el hecho de necesitar una gran cantidad de ejemplos y no poder explicar cómo se alcanzan los resultados.

Para conocer más acerca del Doctor Choque y sus publicaciones, haz clic en el siguiente vínculo: