El aprendizaje automático ya no es solo para expertos

Si no estás usando el aprendizaje profundo ya, deberías estarlo. Ese fue el mensaje del legendario ingeniero de Google Jeff Dean al final de su discurso de apertura a principios de este año en una conferencia sobre búsqueda web y minería de datos. Dean se refería al rápido aumento de la precisión de los algoritmos de aprendizaje automático, impulsado por los recientes avances en el aprendizaje profundo, y al potencial aún sin explotar de estos algoritmos mejorados para cambiar el mundo en el que vivimos y los productos que construimos.

Pero los avances en el aprendizaje profundo no son la única razón por la que este es un gran momento para el aprendizaje automático. Igual de importante es que en los últimos cinco años, el aprendizaje automático se ha vuelto mucho más accesible para los no expertos, lo que ha abierto el acceso a un vasto grupo de personas.

Para la mayoría de los desarrolladores de software, históricamente ha habido muchas barreras a la entrada en el aprendizaje automático, sobre todo bibliotecas de software diseñadas más para investigadores académicos que para ingenieros de software, así como la falta de datos suficientes. Sin embargo, con incrementos masivos en los datos generados y almacenados por muchas aplicaciones, el conjunto de empresas con conjuntos de datos en los que podrían aplicarse algoritmos de aprendizaje automático se ha expandido significativamente.

Paralelamente, en los últimos años se ha producido una proliferación de marcos de aprendizaje automático de vanguardia y utilizables comercialmente, incluido el scikit-learn Biblioteca de Python y versiones bien publicitadas de bibliotecas como Tensorflow por Google y CNTK de Microsoft Research. En los últimos dos años también se ha visto que los principales proveedores de nube Amazon Web Services y Google Cloud Services lanzan servicios específicos de aprendizaje automático, tanto plataformas Machine Learning como servicio y máquinas de unidades de procesador gráfico optimizadas para el trabajo de aprendizaje automático.

El efecto neto de estas nuevas tecnologías es que una persona interesada en usar el aprendizaje automático no necesita comprender la ciencia de los algoritmos de aprendizaje profundo para experimentar con técnicas de vanguardia. Existen tutoriales y código público para aplicaciones tan diversas como Generación artística impulsada por IA, traducción de idiomas, y subtítulos de imagen automatizados.

La accesibilidad de este código crea un ciclo virtuoso. El uso por parte de no expertos crea aún más demanda de sistemas más fáciles de usar y descubre nuevas aplicaciones del aprendizaje automático, lo que inspira más investigación y desarrollo por parte de los expertos.

Y estas nuevas tecnologías también afectan a quién trabaja en el aprendizaje automático. Al contratar puestos de aprendizaje automático aplicado, las habilidades cuantitativas excepcionales son fundamentales, pero la educación directa en el aprendizaje automático en sí se ha vuelto menos importante.

En muchos sentidos, este cambio en la accesibilidad imita la progresión que hemos visto en el desarrollo de software en su conjunto. En los últimos 50 años, el desarrollo de software ha migrado gradualmente de lenguajes de «bajo nivel» (lenguajes altamente técnicos que se relacionan estrechamente con la arquitectura subyacente de un ordenador) a lenguajes de alto nivel con barreras de entrada significativamente más bajas. Del mismo modo, la implementación de software ha migrado de máquinas y centros de datos alojados a servicios basados en la nube, con disminuciones masivas en el tiempo y el capital necesarios para implementar un nuevo sistema.

Estos cambios no han hecho que los desarrolladores de software sean más eficientes, sino que han permitido a un conjunto mucho más amplio de personas desarrollar software e iniciar empresas de software. Los bootcamps de software ahora capacitan a ingenieros que trabajan en cuestión de meses, y las startups pueden convertir las ideas en productos en unos pocos ciclos de desarrollo.

Todo eso no quiere decir, por supuesto, que no haya lugar para los expertos — como en ingeniería de software, aún no se han logrado avances científicos incalculables en el aprendizaje automático. Pero por primera vez en la historia es posible, por ejemplo, para una persona con conocimientos de programación pero sin experiencia de aprendizaje automático crear en una tarde una red neuronal que pueda leer dígitos escritos a mano.

Inténtalo por ti mismo.


Escrito por
Josh Schwartz