La predicción mide la inteligencia. La compresión mide la predicción.
El buen desempeño en la escuela depende de qué tan bien pueda predecir las respuestas a los exámenes. Ganar en el ajedrez, o en casi cualquier juego, depende de qué tan bien puedas predecir el próximo movimiento de tu oponente. Si quiero probar si entiendes francés, entonces puedo mostrarte un texto en francés y pedirte que predigas la siguiente palabra.
Un compresor tiene que hacer lo mismo. Un compresor tiene dos partes: un modelador y un codificador. El modelador asigna distribuciones de probabilidad a los símbolos en su entrada. El codificador recibe símbolos junto con sus probabilidades p, y asigna códigos de longitud log 1 / p bits. Qué tan bien un programa comprime el texto en francés depende de qué tan rápido pueda aprender el idioma de la entrada que ha visto hasta ahora. Este es el fundamento de la referencia de compresión de texto grande como herramienta para medir la inteligencia artificial basada en el lenguaje.
- ¿Cómo debo proceder después de completar el curso de aprendizaje automático de Andrew Ng?
- ¿Cuál es la diferencia entre el aprendizaje automático y la forma en que Kepler obtuvo las leyes de Kepler?
- ¿Debo aprender el aprendizaje automático (supervisado) antes del aprendizaje profundo (sin supervisión)? Solo tengo una computadora portátil en casa, entonces, ¿será suficiente la potencia informática?
- ¿Cuál es una explicación intuitiva de la aproximación de la función de codificación de mosaico en el aprendizaje por refuerzo?
- ¿Cuál es la mejor base de datos para almacenar vectores de características de gran tamaño para su posterior recuperación y calcular las mediciones de distancia para la coincidencia de similitudes?
Legg y Hutter [1] definen formalmente la inteligencia universal como la recompensa esperada de un agente en todos los entornos posibles. (Específicamente, una distribución universal o Solomonoff: una que favorece entornos con descripciones más cortas). Un agente y un entorno pueden modelarse formalmente como programas (máquinas de Turing) que intercambian símbolos y en los que el entorno envía señales de refuerzo o recompensa al agente. El agente no conoce el código que ejecuta el entorno y tiene que adivinar qué salidas maximizarán la señal de recompensa futura.
Hutter demostró [2] que el algoritmo óptimo para la inteligencia, llamado AIXI, es que el agente adivine el programa más corto que sea consistente con la interacción hasta el momento. Tenga en cuenta que esto es lo mismo que la complejidad de Kolmogorov de las entradas del agente, dadas sus salidas. Como la complejidad de Kolmogorov no es computable, tampoco lo es AIXI.
Recuerde que la complejidad de Kolmogorov de una cadena es la longitud del programa más corto que la genera. Dado que este programa es una representación comprimida de la cadena, representa el tamaño comprimido más pequeño posible (dependiendo del lenguaje de programación elegido). Su incompatibilidad explica por qué la IA y la compresión son problemas difíciles. No hay enfoques simples y universales. Ambos son artes.
Debo mencionar la prueba de Kolmogorov, ya que es muy elegante. Un programa es solo una forma formal de describir una cadena. Por ejemplo, puedo decir informalmente “una cadena de mil millones de ceros”, o puedo especificarlo precisamente escribiendo un programa corto que escriba un 0 y repita mil millones de veces. De cualquier manera, la descripción es corta, por lo que la cadena tiene una baja complejidad de Kolmogorov y se comprime fácilmente.
Ahora suponga que hay una función que toma una cadena y devuelve su complejidad de Kolmogorov, la longitud de su descripción más corta. Entonces podría asignar un orden lexicográfico sobre el conjunto de todas las cadenas y describir “la primera cadena que no se puede describir con un millón de bits”, cuando acabo de hacerlo.
Mostré que la compresión mide la inteligencia. Pero todavía hay una objeción que debo abordar. Los humanos son inteligentes, pero no son muy buenos para la compresión sin pérdidas. Hay un requisito adicional para la compresión que no existe para la inteligencia, y es la repetibilidad determinista. Para descomprimir, tenemos que repetir el paso de modelado exactamente, y luego aplicar el paso de codificación a la inversa: dada una distribución de probabilidad y un símbolo comprimido de longitud log 1 / p, restaurar el símbolo original. Esto requiere restablecer el modelador al mismo estado que antes de la compresión y hacer que repita exactamente la misma secuencia determinista de predicciones que antes al retroalimentar la salida descomprimida. Eso es fácil de hacer con las computadoras, pero no es tan fácil para el cerebro humano.
[1] Una definición de inteligencia artificial
[2] Inteligencia artificial universal