lunes, 19 de septiembre de 2016

La revolución de los algoritmos

Un algoritmo es un procedimiento o conjunto de instrucciones paso-a-paso, utilizado con frecuencia en una computadora para resolver un problema, que hoy en día  típicamente se  ejecuta a una velocidad y a una escala increíble.  La intensidad y lo variado del uso de los algoritmos nos permite pensar que estamos viviendo la revolución de los algoritmos y posiblemente su principal reto a futuro es el hecho que las máquinas y los algoritmos que los accionan se han venido haciendo cada vez más complejas y rápidamente se está perdiendo la habilidad de entender cómo funcionan y de anticipar su comportamiento o de detectar las debilidades no previstas. Para ponerlo en contexto, en la colocación de un hombre en la luna en 1.969 se usaron 145.000 líneas de código y ahora se requieren más 2 mil millones de código para procesar Google, con el agravante adicional que los sistemas actuales son además laberintos de interconexión.

Por ello, la principal fuente de dificultad no está en la programación de los algoritmos, sino más bien  en lograr que quienes los administren entiendan aquello que los algoritmos hacen bien, para cuáles preguntas tienen respuestas y para cuáles no las tienen. Es una responsabilidad del más alto nivel de la organización que los administra. Aquello que puede hacer un algoritmo es enormemente poderoso e incluye: identificación de patrones demasiado sutiles para la observación humana, el uso de dichos patrones para generar percepciones precisas y la información para la toma de mejores decisiones.

El reto de la Revolución de los Algoritmos

El reto es entender los riesgos y las limitaciones, ya que construido dentro de los algoritmos están (1) los valores humanos de sus desarrolladores, (2) las necesidades comerciales de sus creadores y (3)   límites de la comprensión humana. Hasta los más sofisticados algoritmos y aplicaciones de Inteligencia Artificial  (particularmente los sistemas de aprendizaje profundo), en última instancia están limitados por la imaginación y por la visión futurística de sus desarrolladores en términos de las entradas que pueden identificar, de  las salidas que pueden controlar y de la lógica que aplican. Esa complejidad obliga a cuidar el más mínimo error, por el impacto que pueda tener, y además considerar las vulnerabilidades asociadas a cualquier algoritmo.

Limitaciones de los algoritmos

Los algoritmos en esencia, transfirieren comprensión o percepción desde un contexto a otro. Ellos usan data existente para predecir lo que puede ocurrir en un ámbito ligeramente distinto (entorno, población, tiempo, una pregunta). Las predicciones que se realizan bajo un contexto específico no necesariamente  aplican de igual manera a un contexto distinto. Saber lo que un algoritmo no puede decir es tan importante cómo conocer lo que si puede. También es importante recordar que correlación no significa causalidad. Aún cuando un algoritmo es capaz de hacer predicciones, ello no elimina la necesidad de cuidar la  identificación de conexiones entre causa y efecto, ya que el algoritmo no es un reemplazo a experimentos controlados.

Objetivos y opciones en los algoritmos

  • Si se trata de un objetivo blando, este debe ser identificado, definido y cuantificado de acuerdo a su orden de importancia. Ya que los objetivos blandos son difíciles de cuantificar, es necesario tener cuidado extremo en la toma de acciones sobre resultados de ese tipo de algoritmo.
  • Los algoritmos no entienden de equilibrios entre opciones compensatorias (trade-off) – Teniendo identificado el objetivo principal y una lista de inquietudes, el diseñador del algoritmo debe construir los equilibrios entre las posibles opciones. Esto puede implicar expandir el objetivo para que incluya múltiples resultados, ponderados por importancia relativa.



No hay comentarios:

Publicar un comentario