Conceptos Clave en IA: Lógica Difusa y Retropropagación

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 4,13 KB

Lógica Borrosa (Fuzzy Logic)

La lógica borrosa o lógica difusa es una extensión de la lógica booleana que permite valores intermedios entre el falso lógico (0) y el verdadero (1), por ejemplo, un valor intermedio como 'quizás' (0,5). Esto significa que el valor de la lógica difusa es un valor en el rango continuo entre 0 y 1. Este tipo de lógica incluye conceptos estadísticos, especialmente en el ámbito de la inferencia.

Las implementaciones de la lógica difusa permiten que estados indeterminados sean tratados por dispositivos de control. Así, es posible evaluar conceptos cuantificables. Casos prácticos incluyen:

  • Evaluar la temperatura (frío, templado, caliente, etc.).
  • Evaluar el sentimiento de felicidad (radiante, alegre, apático, triste, etc.).
  • Evaluar la veracidad de un argumento (totalmente correcto, correcto, contra-argumentativo, inconsistente, falso, totalmente falso, etc.).

La lógica difusa debe ser vista como un área de investigación sobre el tratamiento de la incertidumbre, o una familia de modelos matemáticos dedicados al tratamiento de la incertidumbre, una lógica propia. La lógica difusa se asocia generalmente con el uso de la teoría de conjuntos difusos.

Cuando se trabaja con la lógica difusa, es común referirse a la lógica booleana como lógica clásica o nítida.

Retropropagación (Backpropagation)

Algoritmo Básico (Pseudo-código)

repetir:
    error = 0;
    para cada capa i de 1 a N:
        para cada nodo j en la capa i:
            Calcular la salida del nodo j (y el error asociado)
    
    Si el error total > umbral_y:
        para cada capa i de 1 a N:
            para cada conexión j en la capa i:
                Ajustar el peso de conexión Wij
                
hasta que el error total < umbral_e

Descripción del Algoritmo

  • Es más conocido para el entrenamiento de redes neuronales multicapa (MLP).
  • Busca minimizar el error ajustando los pesos de las conexiones mediante el uso de la información sobre la derivada de la función de error.
  • La función de activación de las unidades debe ser diferenciable (continua).
  • Por esta razón, se dice que es un algoritmo basado en gradiente.
  • Si la función no es diferenciable, deben utilizarse otros métodos que no empleen derivadas, por ejemplo, algoritmos genéticos, recocido simulado, entre otros.
  • El funcionamiento se basa en la propagación de la información del error desde la capa de salida hacia la capa de entrada.
  • Por esta razón, no es común el uso de muchas capas ocultas (en general, se utiliza 1 o 2), ya que cada vez que el error se propaga a una capa anterior, la estimación se vuelve menos precisa.

Término de Polarización (Bias)

El término de polarización (bias) también es ajustable durante el entrenamiento.

  • Indica la posición de la curva de activación a lo largo del eje horizontal.

Tipos de Entrenamiento

El entrenamiento puede ser:

  • Por defecto (on-line, incremental): Ajuste de pesos a cada patrón de entrenamiento presentado.
  • Por ciclo (por lotes): Ajusta los pesos después de presentar todos los patrones de entrenamiento (se considera un error medio para el conjunto de patrones).
  • Topología fija: Solo ajusta los pesos.
  • Topología dinámica: Topología ajustable (ajuste de pesos y topología).

Problemas Comunes

Los principales problemas en el uso de retropropagación son:

  • Mínimos locales
  • Sobreajuste

Criterios de Detención Comunes

Los criterios más comunes para detener el entrenamiento son:

  • Detenerse al alcanzar el número máximo de iteraciones permitido.
  • Detenerse cuando el error de entrenamiento es inferior a un umbral predefinido.
  • Detenerse cuando el error de validación comienza a crecer tras alcanzar un mínimo.

Entradas relacionadas: