Reglas escritas contra reglas aprendidas
Hay dos formas de conseguir que una máquina decida algo.
Una es escribirle las reglas. Un experto dicta cómo piensa, alguien lo traduce a lógica, y eso queda ahí. Es lo que hace un sistema experto.
La otra es darle ejemplos y que deduzca las reglas sola. Es lo que hacen las redes neuronales y casi todo el machine learning.
Cómo se ve la segunda
En el aprendizaje supervisado, alguien etiqueta los datos. Puede ser un experto o simplemente alguien que sabe la respuesta: aquí hay un perro, aquí no, aquí sí, aquí no. Después de una tabla larga de ejemplos, el sistema reconoce por su cuenta qué hace que un perro sea un perro, y aprende a distinguir.
Funciona sorprendentemente bien, y está limitado por dos cosas obvias: la cantidad de ejemplos y la calidad de los datos.
Y por una tercera que no es obvia: no conocemos exactamente cuáles son esas reglas.
La consecuencia práctica
En un sistema experto sabes exactamente cuál es el proceso, así que puedes modificar aquello que está mal. Encuentras la regla equivocada, la corriges, y ya.
En un sistema entrenado con ejemplos no tienes esa opción. Puedes cambiar los datos, puedes reentrenar, puedes medir si mejoró. Lo que no puedes es señalar la regla que falló y arreglarla.
El precio de no tener que escribir las reglas es no poder leerlas.
La observación que me cambió cómo veo esto
Y aquí está la frase que se me quedó de leer a Dalio y de armar este episodio, que suena obvia y no lo es:
El sistema que se basa en ejemplos no involucra el conocimiento de muchas personas. Involucra muchos ejemplos, y eso es todo.
Se suele hablar de un modelo entrenado como si condensara la sabiduría de mucha gente. No. Condensa lo que mucha gente hizo, que es una cosa distinta.
Un sistema experto contiene el razonamiento de alguien: por qué decide así, en qué casos, con qué excepciones. Un sistema entrenado contiene el resultado de miles de decisiones cuyo razonamiento nunca se preguntó. Si la gente decidía por buenas razones, aprende eso. Si decidía por inercia o por prejuicio, aprende eso con la misma eficiencia y sin poder distinguirlos.
La advertencia que sigue en pie
No podemos ponernos una venda y decir que esta computadora está haciendo lo mejor, y que siempre ha hecho lo mejor, y que por lo tanto va a seguir haciendo lo mejor. Tal vez eso no sea cierto.
Puede que no tenga la creatividad para resolver un problema nuevo. Puede que no aguante un cambio en las condiciones. Y no te lo va a avisar, porque su forma de fallar es exactamente igual que su forma de acertar.
Entonces por qué se abandonaron las reglas escritas
Por una razón muy simple y muy difícil de discutir: el mantenimiento es enorme. Escribir a mano todas las reglas de cualquier problema mediano no escala. Hay que considerar todas las opciones, todas las excepciones, y actualizarlas para siempre.
Es completamente impráctico. Pero conviene ser honestos sobre qué se cambió por qué: cambiamos poder corregir por poder escalar. Fue una buena decisión en muchos casos, y en algunos no lo fue, y casi nunca se discute en esos términos.
Este texto sale del episodio 010 del Podcast Algoritmos, sobre sistemas expertos.