Dejen de vender humo diciendo “inteligencia artificial”

Alejandro Crosa
5 min readMay 2, 2017

--

Describir tu producto sumándole el adjetivo el “inteligencia artificial” es la nueva forma de convertirlo automáticamente en algo futurista, complejo, perfecto. Suena intimidante y fuera de nuestro conocimiento. Pero, en el fondo, es sólo otra estrategia de marketing.

Si no querés que te vendan tanto humo, empiezo por esta verdad: lo que te venden como inteligencia artificial no lo es.

Probablemente le hablaste a tu teléfono y te entendió todo. Seguro usaste una red social que te sugirió el nombre de un amigo en una foto que subiste. Alguna vez Facebook te mostró primero la novedad de un amigo primero. Tal vez Twitter te mostró una publicidad sobre un tema que te interesaba sin habérselo dicho. Todo eso, que parece magia, es en realidad algo sencillo y a la vez complejo: un conjunto de operaciones matemáticas con millones de datos detrás.

Detrás de eso hay otro término, del que seguro no escuchaste hablar tanto y no tiene tanto “humo” alrededor. Se llama “machine learning” y tiene unos campos de aplicación infinitos, que van desde los juegos y la economía hasta los robots y la detección de fraudes con tarjetas de crédito. Estamos ante una ola de aplicaciones nuevas, sí. Pero también vivimos una exaltación desmedida de la tecnología (que no es nueva, más bien pasa siempre que hay alguna novedad). Lo que es cierto es que con tantas aplicaciones nuevas hay una gran demanda de gente que sea especialista en el tema y de desarrollar herramientas y buenas prácticas sobre el tema. Entonces sí puede ser interesante que entendamos algo más.

¿Como funciona realmente?

Voy a simplificar muchísimo, pero supongamos que queremos hacer un programa en el que subimos la foto de una planta o una flor y nos pueda decir a qué especie pertenece.

Si tuviésemos que programar esto deberíamos escribir algoritmos capaces de identificar todas las combinaciones posibles de formas, colores y texturas que puede llegar a tener una flor. Sumado a esto, tendría que ser capaz de detectar los errores propios de una foto, incluyendo los objetos extraños que aparezcan. Esto, claro, sería imposible e impracticable.

Para resolverlo, alguien tuvo una idea: “¿Y si en lugar de programar todas las combinaciones posibles de plantas le mostramos a un simple programa de computación millones de ejemplos (cuantos más mejor) de fotos de plantas con sus respectivas especies (training set)?” De esta manera, el programa arma un modelo (model) que asigna a cada foto la probabilidad de que pertenezca a una especie en particular. Con ese modelo, al procesar una foto podriamos calcular fácilmente qué porcentaje tiene de similitud con cada especie.

Eso que acabo de describir se llama “machine learning” y es lo que escuchás todo el tiempo como “inteligencia artificial”. Pero en realidad es sólo una especialidad dentro del gran campo de la inteligencia artificial.

lo que escuchas todo el tiempo como “inteligencia artificial”, es tan solo una especialidad dentro del gran campo de la inteligencia artificial.

Ahora, algunos detalles (importantes)

Al crear estos modelos, lo que obtenés es un modelo entrenado que te permite clasificar fotos y asignar una probabilidad. Cuanto mayor y de mejor calidad sean los ejemplos que le das al programa, más exacta será la clasificación, y por lo tanto, más mágico parecerán los resultados.

Pero es importante tener en cuenta que es todo un gran “ponele”, un enorme supuesto. No hay exactitud o racionalidad absoluta. No hay “inteligencia”.

En el ejemplo de las plantas, se trata de alterar los pixeles de una foto, normalizarlos y comparar los valores con los ejemplos entrenados. Con eso se obtiene un número, una probabilidad, que consideremos aceptable para decir que la planta es de una especie en particular.

Es común y parte del proceso calcular la cantidad de falsos positivos y falsos negativos que nuestro modelo va a tener. Y esto depende de la cantidad y calidad de los datos con los que lo entrenamos. Ese proceso se llama validación del modelo y permite calcular dos valores muy importantes: la precisión (precision) y el retiro (recall). La precisión indica la certeza con la que reconocemos una planta. El retiro la cantidad de plantas que reconocimos correctamente del total disponible. Generalmente se usan datos de validación pre-armados para chequear y probar que el modelo está funcionando bien.

Por ejemplo, en Botanicapp una vez cometí un error de cálculo y la app pensaba que las zapatillas de mi hijo eran perros Siberianos:

🤔

Otra observación importante es que el programa que entrenemos sólo servirá para identificar plantas. No lo podremos usar para identificar personas, por ejemplo. De hecho, si en el set de ejemplos no hay una especie en particular esa especie jamás será reconocida tampoco. (Botanicapp no tiene ejemplos de suculentas, con lo cual nunca las reconoce, a pesar de ser plantas muy comunes y fácilmente reconocibles por nosotros, los seres humanos).

Los autos que se manejan solos

Otro ejemplo que parece magia es el de los autos autónomos, algo en lo que Google trabaja hace años.

Estos autos son comunes y corrientes, pero tienen muchos sensores (un radar, generalmente arriba) y computadoras a bordo que toman decisiones de manejo reaccionando de acuerdo a lo que el auto ve con esos sensores (muy parecido a como funciona nuestro cerebro).

Arriba, lo que “ven” los sensores del auto junto con el reconocimiento de objetos en tiempo real que hace la computadora a bordo (modelo). Debajo, la cámara frontal de auto sin procesar.

Cuando vivía en Mountain View los veía constantemente dar vueltas, incluso los fines de semana. En realidad no estaban probando el rendimiento del auto, sino recolectando muchas millas de experiencia y decisiones de manejo para poder así entrenar el modelo almacenado en las computadoras del auto (el training set). Con más millas de experiencia, el modo de manejo pasa a ser más eficiente y el modelo luego tomará mejores decisiones. Por ahora, llevan acumuladas más de 2 millones de millas de experiencia (algo asi como 400 años de una persona manejando sin parar).

Internet y la gran generacion de datos derivados impulso la reciente explosión de Machine Learning, siendo Google el rey indiscutido, por la gran cantidad de datos que posee. Los servicios que usamos son gratis justamente porque ellos se benefician con nuestros datos derivados que pueden usar para entrenar sus algoritmos. No te olvides que en la mayoría de los servicios gratuitos de internet, vos sos el producto.

La próxima vez que escuches “inteligencia artificial”, acordate que en realidad están hablando de “machine learning”. Pero además, que si están usando el primer término es probable que lo estén haciendo para intimidarte. O simplemente para venderte humo.

--

--

Alejandro Crosa

Escribo software y bugs en Silicon Valley hace años. @alejandrocrosa o en español @esacrosa.