Uno de los desarrollos más relevantes de este convulso 2016 ha sido la difusión de las ideas del aprendizaje automático entre el gran público. Sin ir más lejos, hace unos días, este extenso pero maravilloso artículo de Gideon Lewis-Kraus en el Magazine del New York Times nos explicaba como el nuevo traductor de Google Brain -basado en aprendizaje automático y que acaba de ponerse en circulación- incrementaba de manera sorprendente la calidad de las traducciones con respecto a las que teníamos hace solo unos meses atrás. Lewis-Kraus, además, nos resumía la fascinante historia intelectual detrás de esta mejora e incluía enlaces a algunos de los artículos más relevantes de la literatura.
En NeG nos hemos seguido estos desarrollos con interés. En marzo hablé, en una serie de dos entradas (primera y segunda), sobre el concepto de aprendizaje automático, sobre una versión del mismo particularmente potente (el aprendizaje profundo; el video justo debajo es otra introducción) y sobre como un programa basado en este enfoque había derrotado al mejor jugador de go del mundo. En septiembre, en una entrada muy leída, comenté como los economistas empezaban a emplear estas técnicas y del interés de la industria en contratar a estudiantes con conocimientos de las mismas.
En esa entrada critiqué, además, los planes de estudio actuales de muchas (¿la mayoría?) de las facultades de economía en España. Mientras estos planes están cargados de asignaturas que llamé, a falta de mejor nombre, “institucionales”, las horas lectivas dedicadas a los métodos cuantitativos son claramente insuficientes. Por ejemplo, este plan de estudios de la Universidad Complutense de Madrid, la que ofrece más plazas de toda España, está mal diseñado: no ofrece a los estudiantes los conocimientos adecuados para el mundo actual y, en cambio, hace perder el tiempo con asignaturas de dudoso valor añadido.
Este es el motivo por el cual, para concluir un año en el que hemos ofrecido a nuestros fieles lectores muchas recomendaciones de videos y lecturas (desde algunas más de economía a otras menos relacionadas con la misma), merece la pena escribir una breve guía sobre el aprendizaje automático.
Cuento para ello con dos ventajas con respecto a las entradas anteriores de este año. La primera ventaja es la experiencia de haber enseñado, de manera experimental, estas ideas en clase. Este año he incluido en mi curso de métodos computacionales un módulo sobre aprendizaje automático y sus aplicaciones en economía. Creo que el módulo ha sido recibido con mucho interés: un estudiante ya ha decido escribir su tesis sobre el tema y otros estudiantes presentaron propuestas muy creativas de cómo aplicar estas ideas en un amplio abanico de problemas. Dar clase siempre le aclara a uno lo que hay que enfatizar y lo que puede ser saltado sin mayor coste. La segunda ventaja es el interés propio en continuar refinando los contenidos a cubrir en una versión más extensa de dicho modulo que probablemente enseñaré en mayo en Oxford (Nuffield College y el departamento de economía me han invitado generosamente a pasar varias semanas con ellos y dar un par de clases).
elements
La primera lección que he extraído es la importancia de no emplear mucho tiempo hablando de las potencialidades del aprendizaje automático en otras áreas del conocimiento o de la industria. Recientemente estuve en un seminario en el que los autores malgastaron 45 minutos describiendo como estas técnicas servían para reconocimiento facial o de voz. Algo que está bien saber, pero que ralentizó de manera excesiva la entrada en los detalles concretos de lo que el trabajo intentaba alcanzar (especificar una red neuronal profunda para la predicción del PIB y la inflación). Además, muchos de los algoritmos de aprendizaje automático tienen claros paralelos con estimadores tradicionales en econometría y uno puede entrar en el análisis de los mismos partiendo de estos conocimientos previos. Por ejemplo, un estimador lasso, que tan útil resulta para seleccionar un subconjunto de regresores en situaciones donde existen decenas de posibles variables, no es nada más que la moda de una distribución a posteriori de una regresión lineal cuando las distribuciones a priori de los coeficientes son una laplace. Una referencia a algún libro popular, como este de Pedro Domingos, puede sustituir fácilmente una introducción más general o reducirla de manera notable. Para aquellos que quieran ver cómo encaja el aprendizaje automático dentro del campo general de la inteligencia artificial, esta clase de MIT (a pesar de tener ya unos años) puede ser un buen lugar para aprender, en especial al estar los videos de la misma en youtube:
Un libro general sobre inteligencia artificial es Artificial Intelligence: A Modern Approach (3rd Edition) de Stuart Russell y Peter Norvig.
La segunda lección es que, al menos a mi entender y como consecuencia de la primera lección, es mejor centrarse en enfoques más formales que en los intuitivos o los que descansen en exceso en la acumulación de técnicas concretas dictadas por el software preferido por el autor. Empecé a preparar mis clases con el libro de Kevin MurphyMachine Learning: A Probabilistic Perspective (que había recomendado en marzo), pero a la mitad cambié a The Elements of Statistical Learning: Data Mining, Inference, and Prediction (second edition), de Trevor HastieRobert Tibshirani y Jerome Friedman. Este segundo libro es mucho más homogéneo en su presentación del material y los argumentos, al ser más rigurosos técnicamente, terminan siendo mucho más transparentes. Mientras que leer a Murphy sigue siendo una excelente idea (y cualquier estudiante serio de este campo debe adquirir una copia del mismo), en mayo recomendaré como libro principal The Elements of Statistical Learning... Otros libros de complemento que he empleado son Deep Learning de Ian GoodfellowYoshua Bengio y Aaron Courville y una versión en borrador de Deep Learning: A Practitioner's Approach de Josh Patterson y Adam Gibson. Una visión más global sobre los nuevos métodos en estadística aparece en la excelente monografía Computer Age Statistical Inference: Algorithms, Evidence, and Data Science de Bradley Efron (el inventor del bootstrap) y Trevor Hastie y sobre lasso, Statistical Learning with Sparsity: The Lasso and Generalizations, de Trevor Hastie, Robert Tibshirani y Martin Wainwright (sí, los autores se repiten en un libro detrás de otro).
lasso
La tercera lección es el uso adecuado de los recursos existentes en internet. El NBER tiene unas clases dadas por Guido Imbens y Susan Athey. Las clases y las transparencias de Imbens me gustaron bastante. Las de Athey me parecieron menos eficaces en transmitir el conjunto de información que me hubiese apetecido encontrar. Andrew Ng tiene dos clases, una en coursera y otra en Stanford. La clase de coursera es demasiado ligera para servir de mucho. La clase de Stanford merece la pena, pero a veces las explicaciones son un tanto enrevesadas. Finalmente la clase de Pedro Domingos es clarita y sencilla. Un buen complemento para el material expuesto en el módulo principal. Más avanzada es esta clase de aprendizaje profundo y este es un enlace a las unidades de procesamiento tensorial que se están desarrollando para computar estos problemas y una foto de las cuales encabeza esta entrada (otra explicación de estas unidades aquí y un reciente taller en Barcelona sobre estas técnicas).
r-packages
La cuarta lección es la alta calidad de los paquetes existentes en R para implementar la mayoría de los algoritmos. Aquí hay una lista de los mismos. Una combinación de RRcppRStudio (más los paquetes standard de ggplot2knitrdplyr o markdown) con los paquetes anteriormente enlazados me parece una elección muy sensata de medio ambiente de trabajo para aprendizaje automático y profundo. Un ejemplo sobre bosques aleatorios en este video:
Concluyo aquí enlazando un video de John Searle sobre el concepto de conciencia en inteligencia artificial. Dado su famoso experimento mental de la habitación china parece una buena idea. No es esta una entrada extensa pero sí densa. Las lecturas y videos enlazados le permitirán a uno estar ocupado por varias semanas, sobre todo en estas fechas de vacaciones en los que alguno podrá tener más tiempo libre. Yo, tristemente, tengo que volver ahora a preparar clases y terminar proyectos. Nos vemos en el 2017, que esperemos sea mejor que el 2016 (el listón no está muy alto).