El pionero de la inteligencia artificial Andrew Ng asegura que es más importante tener buenos datos, aunque sean escasos, que muchos, pero mal etiquetados. Cree que todas las empresas deben empezar a pensar en la tecnología con proyectos rápidos, pero pequeños, y escalarlos si resulta que funcionan
Andrew Ng ha desempeñado muchas funciones en su vida. Se le conoce por haber fundado el equipo de Google Brain y por haber sido científico jefe de Baidu. También es profesor. Ha dado clase a innumerables estudiantes, oyentes curiosos y líderes empresariales sobre los principios del aprendizaje automático a través de sus tan populares cursos online.
Actualmente, en su último emprendimiento Landing AI, que lanzó en 2017, explora cómo las empresas sin enormes conjuntos de datos a los que recurrir aún pueden unirse a la revolución de la inteligencia artificial (IA).
El 23 de marzo, Ng participó en la conferencia EmTech Digital virtual de MIT Technology Review (nuestra conferencia anual de IA), para compartir las cosas que ha aprendido.
Seguro que la gente le pregunta a menudo: "¿Cómo puedo crear un negocio centrado en la inteligencia artificial?" ¿Qué suele responder a eso?
Suelo decir: "No lo haga". Si voy a ver un equipo y le digo: "Hola a todos, por favor, prioricen la IA", eso tiende a enfocar al equipo en la tecnología, algo que podría ser excelente para un laboratorio de investigación. Pero para poner en marcha un negocio, intento centrarme en el cliente o en la misión, casi nunca en la tecnología.
¿Puede contarnos algo sobre qué representa su nuevo proyecto, Landing AI, y por qué ha decidido trabajar en él?
Después de dirigir los equipos de inteligencia artificial en Google y Baidu, me di cuenta de que la inteligencia artificial ha transformado el internet del software de consumo, como la búsqueda web y la publicidad online. Pero quería llevar la IA a todas las demás industrias, a una parte aún mayor de la economía. Así que, tras analizar muchos sectores diferentes, decidí centrarme en la fabricación. Creo que varias industrias están preparadas para la IA, pero uno de los patrones para que una industria esté más preparada para la IA es que haya experimentado una transformación digital para disponer de datos. Eso crea una oportunidad para que los equipos de IA los utilicen para crear valor.
Por eso, uno de los proyectos con el que estoy entusiasmado recientemente es el control visual de la fabricación. ¿Se puede observar una imagen de un teléfono inteligente que sale de la línea de fabricación y detectar si tiene algún defecto? ¿O mirar una pieza de un coche y ver si tiene un golpe? Existe una gran diferencia en el caso del internet del software de consumo, que puede contar con 1.000 millones de usuarios y una enorme cantidad de datos. Pero en la manufactura, ninguna fábrica ha producido 1.000 millones de teléfonos inteligentes rayados, ni siquiera un millón. Gracias a Dios por eso. Entonces, el desafío consiste en la pregunta ¿puede una IA funcionar bien con solo 100 imágenes? Resulta que la respuesta a menudo es que sí. De hecho, me ha sorprendido bastante lo mucho que se puede hacer con pocos datos. Y por eso, a pesar de que todo el bombo y las relaciones públicas en torno a la IA se centran en los conjuntos de datos gigantes, creo que hay mucho espacio que debemos desarrollar también para abrir otras opciones donde los retos son bastante diferentes.
¿Cómo se hace eso?
Un error muy frecuente que veo que cometen los CEO y los CIO: me dicen cosas como "Oye, Andrew, no tenemos tantos datos; nuestros datos son un desastre. Así que necesitamos dos años para construir una infraestructura de TI excelente. Entonces tendremos todos estos datos geniales con los que podríamos crear IA". Siempre les digo: "Eso es un error. No lo hagan". En primer lugar, en la actualidad no creo que ninguna empresa del planeta, quizás ni siquiera los gigantes tecnológicos, piense que sus datos están completamente limpios y perfectos. Es un largo recorrido. Dedicar dos o tres años para construir una infraestructura de datos estupenda significa que faltará el feedback del equipo de IA que ayudaría a priorizar qué infraestructura de TI construir.
Por ejemplo, si existen muchos usuarios, ¿se debería priorizar el hacerles preguntas mediante encuestas para obtener más datos? O en una fábrica, ¿habría que priorizar la mejora del sensor que en vez de registrar las vibraciones 10 veces por segundo pasaría a hacerlo 100 veces por segundo? A menudo, si se empieza a crear un proyecto de IA con los datos ya existentes, un equipo de IA puede dar sus comentarios para ayudar a priorizar qué datos adicionales habría que recopilar.
En los sectores industriales donde simplemente no tenemos la escala del internet del software de consumo, creo que debemos cambiar la mentalidad de muchos datos a buenos datos. Si hay un millón de imágenes, estupendo, utilícelas y eso es genial. Pero existen muchos problemas que podrían basarse en conjuntos de datos mucho más pequeños, pero bien etiquetados y cuidadosamente seleccionados.
¿Podría darnos algún ejemplo? ¿Qué quiere decir con "buenos datos"?
Primero, un ejemplo del reconocimiento de voz. Cuando trabajaba en la búsqueda por voz, teníamos audios en los que se escuchaba a alguien decir: "Um, el tiempo de hoy". La cuestión era: ¿cómo transcribir correctamente ese audio? ¿Como "Um (coma) el tiempo de hoy" o "Um (tres puntos) el tiempo de hoy", o es "Um" algo que simplemente no deberíamos transcribir? Resulta que cualquiera de estas opciones está bien, lo que no está bien es que transcriptores diferentes utilicen cada una de las tres opciones de etiquetado. En ese caso los datos tienen ruido y perjudican el sistema de reconocimiento de voz. No obstante, cuando hay millones o miles de millones de usuarios, se pueden tener esos datos ruidosos y crear una media y el algoritmo de aprendizaje funcionará bien. Pero si se trata de un entorno en el que hay un conjunto de datos más pequeño, de digamos, 100 ejemplos, entonces este tipo de datos ruidosos tendrá un gran impacto en el rendimiento.
Otro ejemplo sería de la fabricación: hemos trabajado mucho en el control del acero. Si se trata de un coche, antes los laterales se hacían de una hoja de acero. A veces hay pequeñas arrugas en el acero, o abolladuras o motas. Entonces se puede usar una cámara con visión artificial para ver si hay defectos o no. Pero diferentes personas etiquetarán esos datos de manera distinta. Algunos colocarán un recuadro delimitador gigante alrededor de toda la zona. Otros pondrán pequeños recuadros alrededor de las partículas detectadas. Cuando existe un conjunto de datos reducido, resulta que una de las cosas más importantes es asegurarse de que los diferentes inspectores de calidad etiqueten los datos de una manera coherente.
Para muchos proyectos de IA, el modelo de código abierto que se descarga de GitHub, la red neuronal a la que se puede acceder fácilmente, es suficientemente bueno. No para todos los problemas, sino para los principales. Así que yo he acabado diciendo a muchos de mis equipos: "Escuchad, la red neuronal es lo suficientemente buena. No nos metamos más en el código. Lo único que se va a hacer a partir de ahora es crear procesos para mejorar la calidad de los datos". Y resulta que eso a menudo genera mejoras más rápidas en el rendimiento del algoritmo.
¿A qué tamaño de datos se refiere cuando habla de los conjuntos de datos más pequeños? ¿100 ejemplos? ¿Diez?
El aprendizaje automático es tan diverso que se ha vuelto realmente difícil ofrecer respuestas únicas para todo. He trabajado en algunos problemas en los que tenía entre 200 y 300 millones de imágenes y también en los que había solo 10. Cuando se trata de las operaciones de manufactura, creo que unas decenas o tal vez 100 imágenes para un tipo de defecto no es nada inusual, pero hay una gran variación incluso dentro del mundo de las fábricas.
He descubierto que el funcionamiento de IA cambia cuando se reduce el tamaño de los conjuntos de entrenamiento, digamos, por debajo de 10.000 ejemplos, porque ese es el umbral en el que un ingeniero básicamente es capaz de analizar cada ejemplo y diseñarlo para luego tomar una decisión.
Recientemente hablé con un muy buen ingeniero de una de las grandes empresas tecnológicas. Y le pregunté: "Oye, ¿qué hacéis si las etiquetas son inconsistentes?" Y me respondió: "Bueno, tenemos un equipo de varios centenares de personas en el extranjero que realiza el etiquetado. Así que yo escribo las instrucciones para el etiquetado, tres personas etiquetan cada imagen y luego yo cojo el promedio". Y yo le dije: "Sí, eso es lo más adecuado cuando hay un enorme conjunto de datos". Pero cuando trabajo con un equipo más pequeño y las etiquetas no son coherentes, lo que hago es localizar a las dos personas que etiquetan de forma distinta, hacemos una videollamada y les pido que hablen entre ellos para llegar a una solución.
Me gustaría hablar de su opinión sobre la industria de la IA en general. Dimos a nuestros lectores la posibilidad de enviarnos preguntas antes de su conferencia. Un lector nos hizo la siguiente: El desarrollo de la IA parece haberse bifurcado principalmente hacia la investigación académica o hacia los programas de grandes empresas a gran escala y con uso intensivo de recursos como OpenAI y DeepMind. Eso realmente deja poco espacio para que las pequeñas start-ups contribuyan. ¿Cuáles cree que son los problemas prácticos en los que las empresas más pequeñas podrían centrarse para ayudar a impulsar la verdadera adopción comercial de la IA?
Creo los medios suelen prestar mucha atención a las grandes corporaciones y, a veces, a las grandes instituciones académicas. Pero en las conferencias académicas se ve que hay mucho trabajo realizado por grupos de investigación y laboratorios más pequeños. Y cuando hablo con diferentes personas en distintas empresas e industrias, noto que tienen muchas aplicaciones comerciales que podrían usar IA. Normalmente, suelo preguntar a los líderes de empresas: "¿Cuáles son sus mayores problemas empresariales? ¿Cuáles son las cosas que más le preocupan?" para poder comprender mejor los objetivos de la empresa y luego pensar en si existe o no una solución de IA. Y a veces no la hay, y no pasa nada.
Solo mencionaré un par de puntos que encuentro interesantes. Creo que la construcción actual de sistemas de IA sigue siendo muy manual. Hay un puñado de ingenieros de aprendizaje automático y científicos de datos brillantes que crean algo en un ordenador y luego lo mandan a producción. Hay muchos pasos manuales en ese proceso. Por eso estoy entusiasmado con las ML ops [operaciones de aprendizaje automático] como una disciplina emergente para ayudar a que el proceso de construir e implementar sistemas de inteligencia artificial sea más sistemático.
Además, si analizamos muchos de los típicos problemas comerciales, en todas las funciones, desde el marketing hasta recursos humanos, hay mucho espacio para la automatización y la mejora de la eficiencia.
También espero que la comunidad de IA empiece a prestar atención a los grandes problemas sociales: ver qué podemos hacer en cuanto al cambio climático, a las personas sin hogar o a la pobreza. Además de los problemas comerciales a veces muy valiosos, también deberíamos trabajar en los problemas sociales más importantes.
¿Cómo se realiza el proceso de identificar si existe la posibilidad de conseguir algo para una empresa a través del aprendizaje automático?
Intento descubrir cosas sobre el negocio yo mismo y trato de ayudar a los líderes empresariales a aprender un poco sobre la IA. Luego, solemos pensar en un conjunto de proyectos, y para cada una de las ideas, hago tanto la viabilidad técnica como la comercial. Analizamos distintos aspectos, como por ejemplo: ¿Hay suficientes datos? ¿Son precisos? ¿Tardaría mucho la implementación en la producción? ¿Cómo volver a introducir los datos y cerrar el ciclo del aprendizaje continuo? Así nos aseguramos de que sea técnicamente factible resolver el problema. Y luego empieza la viabilidad comercial: asegurarnos de conseguir la rentabilidad que esperamos. Después de ese proceso, va lo habitual, estimar los recursos, los objetivos y, con suerte, empezar a ejecutar.
Otra sugerencia: es más importante comenzar rápido y está bien si no se hace a lo grande. Mi primera aplicación empresarial importante en Google fue el reconocimiento de voz, no la búsqueda web ni la publicidad. Pero al ayudar al equipo de voz de Google a que el reconocimiento de voz fuera más preciso, se dio al equipo de Brain la credibilidad y los medios para buscar asociaciones cada vez más importantes. Google Maps fue la segunda gran colaboración en la que usamos la visión artificial para detectar los números de las casas y geolocalizarlas en los mapas de Google. Y solo después de esos dos primeros proyectos exitosos tuve una conversación más seria con el equipo de publicidad. Así que creo que veo que un mayor número de empresas fracasan empezando demasiado a lo grande. Está bien realizar un proyecto más pequeño para poner en marcha la organización y aprender cómo es usar la IA, y luego seguir logrando otros éxitos mayores.
¿Qué es lo que nuestros lectores deberían empezar a hacer a partir de mañana para implementar la IA en sus empresas?
Sumarse. La IA está generando un cambio en la dinámica de muchas industrias. Así que, si su empresa aún no invierte de manera suficientemente agresiva e inteligente, es un buen momento para empezar a hacerlo.