Conceptos de Inteligencia Artificial: Machine Learning y Sistemas Expertos

2
160

El dia de hoy inicié el tercer semestre de mis estudios de doctorado. En esta ocasión estaré estudiando Deep Learning y Reinforcement Learning.

En la clase introductoria de Deep Learning el profesor inició presentando una definición general y subdivisión del término de Inteligencia Artificial:

La inteligencia artificial es una rama de la informática que busca crear sistemas capaces de realizar tareas que normalmente requieren de la inteligencia humana.

Dentro de Inteligencia Artificial existen múltiples subcampos de estudio, que incluye Aprendizaje Automático (Machine Learning), Procesamiento de Lenguaje Natural (NLP), Robótica, Visión por Computadora, Sistemas Expertos, Planificación y Toma de Decisiones, Agentes Inteligentes y Sistemas Multiagente, Reconocimiento de Patrones, Lógica Difusa, Optimización Heurística, entre otros.

Dentro de estos campos de estudio, el profesor hizo énfasis en dos: Machine Learning y Sistemas Expertos. Dentro de Machine Learning tenemos las Redes Neuronales, de las cuales se deriva Deep Learning o Aprendizaje Profundo.

En este post voy a definir las diferencias entre Sistemas Expertos y Machine Learning, luego de investigar este tema con tal de afianzar los conceptos aprendidos en clase. Para mi no hay mejor manera que afianzar conocimientos que escribiendo sobre un tema.

Sistemas Expertos

Un sistema experto es una rama especializada de la inteligencia artificial (IA) que emula las capacidades de toma de decisiones de un experto humano en un dominio específico. Los sistemas expertos están diseñados para resolver problemas complejos razonando a través de cuerpos de conocimiento, representados principalmente como reglas del tipo «IFTHEN» en lugar de a través de código procedimental convencional.

Un ejemplo común de un sistema experto es un programa de diagnóstico médico:

Imagina que sientes algunos síntomas específicos y decides usar una aplicación de salud en tu teléfono para obtener un diagnóstico preliminar. Ingresas tus síntomas en la aplicación: fiebre, dolor de cabeza y sarpullido. La aplicación, actuando como un sistema experto, tiene una base de conocimiento con reglas del tipo «IFTHEN» que ha sido alimentada por médicos expertos.

Por ejemplo, una de las reglas podría ser: «IF el usuario tiene fiebre, dolor de cabeza y sarpullido THEN es probable que tenga dengue«.

Basándose en esta regla y en las otras que pueda tener en su base de conocimiento, la aplicación te proporciona un diagnóstico preliminar sugiriendo que podrías tener dengue y te recomienda que consultes a un médico para un diagnóstico definitivo y tratamiento.

Este es un ejemplo simplificado, pero ilustra cómo un sistema experto puede emular la toma de decisiones de un experto humano (en este caso, un médico) para resolver problemas complejos utilizando reglas «IFTHEN«.

Algunas características de los Sistemas Expertos:

  • Específicos de dominio: Los sistemas expertos están diseñados para dominios específicos, como el diagnóstico médico o la previsión financiera.
  • Razonamiento basado en reglas: Principalmente utilizan un conjunto de reglas para derivar conclusiones. Estas reglas suelen estar en la forma de «IF condición THEN acción.»
  • Razonamiento transparente: Los sistemas expertos a menudo pueden explicar su razonamiento, lo que los hace transparentes y confiables para los usuarios.
  • Falta de sentido común: A diferencia de los sistemas de IA generales, los sistemas expertos son altamente especializados y podrían no tener «sentido común» fuera de su dominio de especialización.
  • Conocimiento estático: El conocimiento en los sistemas expertos es mayormente estático, lo que significa que no cambia a menos que se actualice manualmente. Esto contrasta con los sistemas de aprendizaje automático, que pueden aprender y adaptarse con el tiempo.

Algunos componentes clave de los sistemas expertos:

  • Base de conocimiento: Este es el componente central de cualquier sistema experto. Contiene el conocimiento específico del dominio recopilado por «expertos». Este conocimiento generalmente se representa en forma de reglas, hechos y heurísticas.
  • Motor de inferencia: Este es el «cerebro» del sistema experto. Aplica reglas lógicas a la base de conocimiento para deducir nueva información. El motor de inferencia utiliza una cadena de razonamiento para llegar a una conclusión específica.
  • Interfaz de usuario: Esto permite a los usuarios interactuar con el sistema experto. Es donde los usuarios plantean preguntas y el sistema proporciona respuestas o soluciones.
  • Subsistema de adquisición de conocimiento: Este componente facilita la adición de nuevo conocimiento a la base de conocimiento. Es una forma de «aprender» o actualizar el sistema con nuevas reglas y hechos.
  • Subsistema de explicación: Esto proporciona a los usuarios explicaciones sobre el proceso de razonamiento. Si un usuario quiere entender por qué se sugirió una solución particular, el subsistema de explicación puede proporcionar una justificación basada en las reglas aplicadas.
  • Base de reglas: Un subconjunto de la base de conocimiento, la base de reglas contiene declaraciones condicionales que guían el proceso de toma de decisiones del sistema.
  • Memoria de trabajo: Aquí es donde se almacenan los datos sobre el caso específico que se está analizando. Es un almacenamiento temporal que contiene los hechos que son relevantes para la consulta del usuario actual.

Un ejemplo de un sistema experto es Sprintax, un software utilizado en la preparación de impuestos para no residentes en los Estados Unidos.

Sprintax cuenta con una extensa base de datos que alberga información sobre leyes fiscales estadounidenses, tratados fiscales internacionales y otras regulaciones pertinentes. Utilizando un razonamiento basado en reglas, Sprintax procesa la información proporcionada por el usuario para ofrecer recomendaciones adecuadas, como determinar el estatus de residencia fiscal y los formularios correspondientes a completar.

Los usuarios tienen la ventaja de interactuar directamente con este sistema, proporcionando detalles sobre su situación y obteniendo respuestas o soluciones pertinentes. Un aspecto distintivo de Sprintax es su capacidad para explicar las decisiones fiscales tomadas, brindando una mayor transparencia y fortaleciendo la confianza en el sistema.

Machine Learning (Aprendizaje Automático)

El Aprendizaje Automático, comúnmente conocido como Machine Learning, es uno de los subcampos más prominentes y revolucionarios de la Inteligencia Artificial. A diferencia de los sistemas expertos, que se basan en reglas predefinidas, el Machine Learning permite a las máquinas aprender de los datos y mejorar su rendimiento con el tiempo sin ser explícitamente programadas.

En esencia, el Machine Learning se centra en el desarrollo de algoritmos que pueden acceder a datos y utilizarlos para predecir resultados futuros o tomar decisiones sin intervención humana. Estos algoritmos se «entrenan» utilizando grandes conjuntos de datos, y una vez que han aprendido suficientemente de estos datos, pueden aplicarse a nuevos datos para hacer predicciones o decisiones precisas.

Existen diferentes tipos de aprendizaje en Machine Learning, entre los más destacados se encuentran:

  • Aprendizaje Supervisado: Donde el algoritmo se entrena con un conjunto de datos etiquetado, es decir, los datos de entrada se asocian con la respuesta correcta.
  • Aprendizaje No Supervisado: Aquí, el algoritmo se entrena con datos no etiquetados, buscando patrones o estructuras en los datos.
  • Aprendizaje por Refuerzo (Reinforcement Learning): En este tipo de aprendizaje, el algoritmo aprende tomando decisiones y recibiendo recompensas o penalizaciones basadas en esas decisiones.

Un subcampo particularmente emocionante del Machine Learning es el Deep Learning o Aprendizaje Profundo. Utiliza redes neuronales con muchas capas (de ahí el término «profundo») para analizar diversos factores de datos. Es el Deep Learning el que está detrás de muchos de los avances más significativos en áreas como la visión por computadora y el procesamiento del lenguaje natural.

En la actualidad, el Machine Learning está en el corazón de muchas aplicaciones y servicios que utilizamos a diario, desde sistemas de recomendación en plataformas de streaming hasta asistentes virtuales en nuestros dispositivos móviles.

  • Aprendizaje a partir de datos: A diferencia de la programación tradicional, donde se especifican las reglas exactas para realizar una tarea, en el Machine Learning, los algoritmos aprenden estas reglas a partir de un conjunto de datos.

  • Mejora con la experiencia: Cuanto más datos se proporcionen a un modelo de Machine Learning, generalmente mejorará su rendimiento. A medida que se expone a más situaciones o ejemplos, puede hacer predicciones más precisas.
  • Generalización: Una vez entrenado, un modelo de Machine Learning puede hacer predicciones o tomar decisiones en situaciones que no ha visto antes, basándose en lo que ha aprendido previamente.
  • Modelos basados en características: La mayoría de los algoritmos de Machine Learning requieren que los datos se presenten en forma de características. Estas características son medidas o descripciones específicas que son relevantes para el problema en cuestión.
  • Automatización de decisiones: Una vez entrenados, los modelos de Machine Learning pueden tomar decisiones automáticamente en tiempo real, lo que es útil en aplicaciones como sistemas de recomendación, detección de fraudes, entre otros.
  • Adaptabilidad: Los modelos de Machine Learning pueden adaptarse a cambios en los datos o en el entorno. Por ejemplo, un modelo que predice precios de acciones puede adaptarse a nuevas tendencias del mercado.

Para más información sobre Machine Learning los invito a ver nuestra sección dedicada en nuestro blog.

Comparación entre paradigmas

Sistemas expertos y Machine Learning son ambas ramas de la inteligencia artificial, pero abordan la resolución de problemas de maneras fundamentalmente diferentes. Aquí hay una comparación de los dos:

Naturaleza del Conocimiento

    • Sistemas Expertos: El conocimiento se codifica explícitamente en el sistema por expertos humanos. Este conocimiento suele estar en forma de reglas, hechos y heurísticas.
    • Machine Learning: El conocimiento se aprende implícitamente a partir de datos. En lugar de ser programado explícitamente, un modelo de ML aprende patrones de grandes conjuntos de datos.

Aprendizaje

    • Sistemas Expertos: No «aprenden» en el sentido tradicional. Cualquier actualización o cambio en la base de conocimientos debe hacerse manualmente.
    • Machine Learning: Los modelos de ML aprenden y mejoran automáticamente a medida que se exponen a más datos.

Transparencia

    • Sistemas Expertos:  Generalmente son más transparentes porque se basan en reglas predefinidas. El subsistema de explicación puede proporcionar justificaciones claras para las decisiones basadas en estas reglas.
    • Machine Learning: Algunos modelos de ML, especialmente los modelos de aprendizaje profundo, a menudo se ven como «cajas negras» porque su proceso de toma de decisiones puede ser difícil de interpretar.

Especificidad del Dominio

    • Sistemas Expertos: Altamente específicos para un dominio. La base de conocimientos está adaptada a un dominio específico y el sistema no funcionará fuera de ese dominio.
    • Machine Learning: Puede ser tanto específico del dominio como general. Con los datos adecuados, los modelos de ML pueden ser entrenados para diversas tareas en diferentes dominios.

Mantenimiento

    • Sistemas Expertos: Requieren actualizaciones manuales en la base de conocimientos cuando surge nuevo conocimiento del dominio.
    • Machine Learning: Puede adaptarse automáticamente a los cambios si se entrena continuamente con nuevos datos. Sin embargo, podrían requerir un nuevo entrenamiento si hay un cambio significativo en la distribución de los datos.

Dependencia de Datos

    • Sistemas Expertos: Menos dependientes de los datos. Se basan en el conocimiento experto.
    • Machine Learning: Altamente dependiente de los datos. La calidad y cantidad de datos impactan directamente en el rendimiento de los modelos de ML.

Manejo de Errores

    • Sistemas Expertos: Los errores a menudo se pueden rastrear hasta reglas o piezas de conocimiento específicas. Corregir estos podría implicar ajustar o agregar reglas.
    • Machine Learning: Los errores se abordan típicamente refinando el modelo, adquiriendo datos más representativos o ajustando hiperparámetros.

Ámbito de Aplicación

    • Sistemas Expertos: Más adecuados para dominios donde el conocimiento experto puede ser claramente articulado en reglas, como el diagnóstico médico o el razonamiento legal.
    • Machine Learning: Adecuado para tareas donde se pueden derivar patrones de datos, como reconocimiento de imágenes, procesamiento de lenguaje natural o análisis predictivo.

En resumen, mientras que los sistemas expertos se basan en el conocimiento explícito proporcionado por expertos humanos en forma de reglas, el aprendizaje automático se basa en patrones aprendidos de datos. La elección entre los dos a menudo depende de la naturaleza del problema, la disponibilidad de conocimiento experto y la cantidad de datos disponibles.

Conclusión

Tanto los sistemas expertos como el aprendizaje automático ofrecen soluciones innovadoras y eficientes en el ámbito de la inteligencia artificial, cada uno con sus propias fortalezas y limitaciones.

Mientras que los sistemas expertos emulan la toma de decisiones de expertos humanos a través de reglas codificadas, el aprendizaje automático se centra en el aprendizaje a partir de datos, permitiendo a las máquinas adaptarse y mejorar con el tiempo. Ambos enfoques tienen aplicaciones valiosas en diversos campos y contextos.

Espero que la información aquí presentada sea de utilidad para ustedes. Cualquier duda o comentario me lo pueden hacer llegar a través de la caja de comentarios.

5 1 vote
Article Rating
Suscríbete
Notify of
guest

2 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
Jorge Saucedo
Jorge Saucedo
4 months ago

Could AI stop wars around the world?