domingo, 1 de noviembre de 2009

LAS FUENTES DEL CONOCIMIENTO: ¿CÓMO APRENDEN LAS MÁQUINAS?



Desde las primeras reflexiones de los filósofos griegos se introdujo la distinción entre dos fuentes principales de conocimiento: la razón y la sensibilidad, a cada una de las cuales dan un peso diferenciado las diferentes propuestas filosóficas que se han sucedido históricamente.

El conocimiento racional es aquel que nos proporciona lo que hay de permanente y fundamental en las cosas, sus elementos esenciales, a través de la razón, que produce diferentes formas de conocimiento: una inmediata, como la intuición; otras mediatas, como la deducción, la inducción , la reflexión, etc..., que están ligadas generalmente a algún tipo de experiencia.

El conocimiento sensible, por el contrario, pone de manifiesto los aspectos cambiantes de las cosas, sus aspectos u apariencias, a partir de la información que nos transmiten los sentidos.

Ambos tipos de conocimiento, racional y sensible, se dan siempre mezclados. Pero en la historia de la filosofía encontramos propuestas que dan un mayor peso a uno o a otro.

¿CÓMO APRENDEN LAS MÁQUINAS?

Para aprender por sí mismo observando a un especialista humano en acción, un sistema experto utiliza el aprendizaje automático.

Para que una computadora pueda reproducir el comportamiento intelectual de un ser humano, es imprescindible que exista una cantidad adecuada de conocimientos. Por lo que se hace necesario identificar, dar forma, y representar los conocimientos que permiten razonar. Lo ideal es que el sistema experto haga todo esto por sí mismo.

El ser humano recurre a muchos conocimientos de todo tipo para realizar hasta los trabajos más sencillos. Los conocimientos más utilizados por los humanos son los heurísticos, es decir reglas prácticas e imprecisas, casi siempre eficaces. Los conocimientos heurísticos no se expresan, ya que sólo se pueden aprender con la práctica.

Para que una máquina pueda aprender e ir adquiriendo conocimiento, es necesario el trabajo de los ingenieros del conocimiento.

Los ingenieros del conocimiento son los que desarrollan la tecnología y metodología necesarias para procesar el conocimiento. Su objetivo es extraer, articular y computarizar el conocimiento de un experto. Para lograrlo, los ingenieros del conocimiento utilizan el dato, la información y el conocimiento.

Un dato es la representación simbólica de un aspecto simple, objeto o hecho, del universo de discurso.

Existen datos objeto, es decir elementos de determinado dominio y datos hecho, que son las relaciones entre objetos.

Información es cualquier estímulo capaz de cambiar el estado o de alterar la conducta de un sistema. Es todo aquello que aumenta el conocimiento. La cantidad de información que se obtiene de un mensaje depende de cuánto reduzca la incertidumbre en el receptor acerca del correspondiente universo de discurso.

El conocimiento es la representación simbólica de aspectos complejos de algún universo de discurso, y puede como ya vimos puede ser declarativo o procedural.

El uso de un conocimiento declarativo o procedural depende del entorno, aunque por lo general en los sistemas expertos se utiliza el conocimiento declarativo.

El proceso de formación del conocimiento de una persona normalmente es cíclico. El conocimiento llega incompleto y desordenado. Para poder introducir este tipo de conocimiento en una máquina el ingeniero del conocimiento lo organiza, lo completa y lo prepara para su transferencia al sistema.

La aplicación del conocimiento en un sistema requiere de habilidad, es necesario la capacidad para trabajar con conocimiento parcial y obtener una alta productividad. Un sistema no es un sistema experto si no es hábil.

Un sistema va adquiriendo el conocimiento en diferentes niveles.

Cuando puede establecer la base de conocimiento, conocida como conocimiento de orden 0 ó teoría de orden 0, formada por conocimiento factual; es capaz de conocer sin necesidad de hacer preguntas.

El conocimiento de orden 1, o teoría de orden 1, es un conocimiento heurístico. Cuando un sistema tiene heurística en su base de conocimientos mejora su nivel de respuesta, pero no puede llegar al grado de conocimiento que tiene un especialista humano.

Para que el sistema pueda emplear de manera eficiente el conocimiento, requiere de un metaconocimiento, o teoría del orden 2. El metaconocimiento es la parte del conocimiento que es completamente independiente del contexto. Dentro del metaconocimiento habrá reglas que indican cómo actuar fuera de cualquier dominio. Puede servir para detectar fallos sintácticos y semánticos en la transmisión del conocimiento por parte del experto.

Para que el sistema adquiera conocimiento, es necesaria la transferencia de éste desde alguna fuente a la base de conocimientos del sistema. Esto implica aplicar alguna técnica para extraer el conocimiento del especialista, interpretar los datos para reconocer el conocimiento fundamental y construir un modelo de representación

Por lo general las fuentes del conocimiento son los expertos humanos, libros y datos experimentales agrupados en bases de datos.

La adquisición del conocimiento y su modelización son las tareas que más tiempo requieren. Como resultado de la adquisición se construye una base de conocimientos.

La inducción de conocimiento puede ser directa, o como resultado de una inducción a partir de ejemplos, o como deducción de otros conocimientos ya almacenados en la base de conocimientos.

La inducción es el proceso de producir principios generales a partir de ejemplos específicos, mientras que la deducción significa extraer conclusiones específicas a partir de principios generales.
Aprendizaje automático.

Uno de los principales logros de la Inteligencia Artificial es que puede otorgar a las computadoras la habilidad de aprender. Para que esto suceda es necesario transferir el conocimiento al interior de la máquina.

Una computadora aprende de diferentes maneras:

Memorísticamente. Para que exista un aprendizaje memorístico se transcribe el conocimiento, es decor, se copia la memoria de una computadora a otra.

Por relato. Se adapta el conocimiento desde su fuente a una forma que pueda ser aceptada y utilizada por la computadora. Es como si se le contara el conocimiento.

Por analogía. Se guarda el conocimiento que resuelve un problema para aplicarlo cuando las circunstancias sean similares.

Por Inducción. Se le suministran datos a la computadora y de ellos extrae el conocimiento. Esto se hace a partir de ejemplos o a partir de observaciones.

Los paradigmas más utilizados para el aprendizaje automático son:
Inducción de reglas a partir de bases de datos
Razonamiento basado en casos
Redes neuronales
Algoritmos genéticos

Inducción de reglas a partir de bases de datos.- Entre los métodos de aprendizaje automático el aprendizaje a partir de bases de datos por inducción (ya sea mediante ejemplos u observación), es prácticamente el único que se utiliza en los sistemas expertos. Este aprendizaje ha sido adaptado para resolver problemas de clasificación.

Razonamiento basado en casos.- Utiliza la experiencia que se adquirió al tratar casos o problemas similares. Es un aprendizaje por analogía. Se construye una base de conocimiento con los casos que ya se han resuelto. Cuando aparece un problema nuevo, se buscan problemas similares en la base de casos y se adaptan sus soluciones a la situación actual. Un sistema experto de esta clase va a proporcionar la mejor solución disponible, más que una solución exacta.

Si con los casos existentes en la base no se puede resolver una situación de forma satisfactoria, ésta se atrapa automáticamente para actualizar los casos disponibles.

Redes neuronales.- En este caso se trata de emular las neuronas cerebrales mediante modelos matemáticos utilizando unidades de procesamiento elementales que copian algunas de sus características.

El modelo más simple es el diseñado por Mc Culloch y Pitts en 1949, en el que una caja representa el cuerpo de las neuronas. Tiene entradas que son las dendritas, las cuales están valoradas con un peso (w) que representa la potencia de la conexión. La salida representa el axón. Los pesos de las dendritas pueden ser positivos o negativos. Si son positivos se tendrán canales excitatorios y si son negativos, canales inhibitorios. El cuerpo procesa las señales que le llegan de otras neuronas según la hipótesis siguiente:

Señales de entrada: Oi = 0 o 1.

Se ponderan según su peso wi: N = S wi * Oi.

Señal de salida: O = 0 si N £ Umbral

O = 1 si N > Umbral.

A partir de esta "célula", se pueden construir redes neuronales, interconectando los axones y dendritas de muchas células.

Para definir completamente una red neuronal, se tiene que especificar tanto el comportamiento individual de cada neurona como la interconexión existente entre ellas. Las neuronas que se comportan de forma similar se agrupan en capas. Su cualidad principal es la capacidad para variar de comportamiento cuando cambia una situación.

El proceso mediante el cual aprende la red se denomina entrenamiento. El aprendizaje en una red consiste en ir cambiando los pesos de las conexiones adaptándola hasta conseguir la respuesta que se desea. Puede ser supervisado, en el que cada ejemplo estará formado por las entradas a la red y la salida que se espera para esas entradas; y no supervisado, en el que cada ejemplo de entrenamiento está constituido sólo por las entradas, sin dar la salida esperada, por lo que se asociará la información recibida con la almacenada, la memoria está formada por los pesos sinápticos entre neuronas.

Algoritmos genéricos.- Basados en la idea de J. H. Holland (1960), estos algoritmos buscan soluciones de forma adaptativa en analogía a los cambios genéticos que se producen en las poblaciones naturales para adaptarse al medio. Comienzan con un conjunto de datos o patrones generados de forma aleatoria y evolucionan hacia una solución a través de técnicas de adaptación de los patrones iniciales.

Para representar las propiedades de un individuo o suceso se utiliza un patrón, en el que se indica la presencia (1) o ausencia (0) de cada propiedad. Hay un peso asociado a cada patrón, conocido como idoneidad, que indica su rendimiento en experiencias anteriores.

El problema a resolver se representa mediante una cadena compuesta por ceros y unos (101001101). Se genera aleatoriamente una población de individuos formados también por cadenas o patrones de este tipo. Se evalúa el rendimiento de cada patrón, aumentando su peso si clasifica de forma adecuada el caso o disminuyéndolo si no lo hace, y se seleccionan los individuos para la siguiente generación basándose en su rendimiento, reemplazando los que tengan menor peso. Entonces, se realizan cruces (intercambiando los bits) y mutaciones (cambiando un 0 por un 1, o viceversa) de forma aleatoria entre los patrones.

Víctor Hugo ZALDÍVAR, en iteso.mx

No hay comentarios: