Teoría de la información: ¿Cuál es la relación entre la inteligencia y los algoritmos de compresión de datos?

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.

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

C. Shannon demostró que la compresión de una fuente está fuertemente relacionada con su entropía. En otras palabras, cuanto mayor es la entropía de una fuente, más difícil es comprimirla. En términos simplificados, es mucho más fácil comprimir la salida de una fuente donde se sabe que algunos símbolos ocurren con mayor frecuencia que la salida de una fuente completamente aleatoria. ¿Qué tal la inteligencia? Si puede asociar la inteligencia con la entropía, puede asociar la compresión a la inteligencia. Puede ser de ambos modos. Los sistemas inteligentes tienen una entropía más alta (ver Enfoque: el modelo sugiere un vínculo entre inteligencia y entropía), por lo que uno puede argumentar que un sistema inteligente puede modificar su salida para que sea más difícil de comprimir, por otro lado, la salida de los sistemas inteligentes puede ser muy lógica y regular, por lo que tiene menos entropía. Entonces, en términos de compresión de datos, dejaría solo la “inteligencia” y simplemente asociaría la entropía con la compresión.

Los algoritmos de compresión de datos funcionan explotando la redundancia en los datos. ¿Qué es la redundancia? En cierto modo, está encontrando un patrón que los datos pueden exhibir, aunque no es muy obvio si se mira de manera cursor. Los algoritmos de compresión de datos son muy buenos para encontrar esto y explotarlo para representar los datos de una manera mucho más corta. La inteligencia puede cuantificarse por la rapidez con la que puede identificar cosas similares en un conjunto de datos aparentemente no aleatorio. Por lo tanto, los dos conceptos pueden encontrar una relación allí. Pero la inteligencia sería un súper conjunto de algoritmos de compresión de datos porque solo notar patrones y explotarlos para lograr su objetivo podría ser solo una de las pocas cosas que realmente se considerarían inteligentes.

Patrones

More Interesting

¿Qué sería más beneficioso para un estudiante de tercer año de ECE, hacer aprendizaje automático u otros cursos?

¿Es posible darle a una computadora millones de imágenes de varios objetos, y se da cuenta de que hay cosas como animales, platos de cocina, montañas, etc. sin que nosotros lo digamos, y cómo se hace esto exactamente?

Proporcione tres aplicaciones informáticas para las cuales el Aprendizaje automático parece apropiado y tres para las cuales parecen inapropiadas. ¿Incluya una justificación de sentencia para cada una?

¿Qué es la regresión no lineal vs regresión lineal?

¿Las computadoras son ahora jugadores de póker más fuertes que los humanos?

De estos cursos, ¿cuál debería tomar más si quiero investigar en reconocimiento de patrones o visión por computadora?

¿Qué significa el impulso en el descenso de gradiente estocástico?

¿Cuál es el papel de la descomposición de Cholesky en la búsqueda de PDF normal multivariante?

¿Qué es el aprendizaje automático en la predicción de emociones basada en texto?

¿Debo usar TensorFlow o Caffe2 para comenzar a aprender el aprendizaje automático y el aprendizaje profundo?

¿Dónde entran en juego las funciones de activación en una red neuronal de convolución?

¿Dónde puedo encontrar guías de aprendizaje automático desde la perspectiva de los hackers?

¿Cómo funcionan los métodos de conjunto y por qué son superiores a los modelos individuales?

¿Cuáles son los tipos de problemas que se pueden resolver con las redes neuronales?

¿Por qué son importantes las redes de confrontación generativas?