Redes neuronales para todos

Nov 29 2022
Me tomó una feria de ciencias de sexto grado para entrenar mi primera red neuronal en mucho tiempo. Mi familia vive en una zona rural del norte de California llena de robles, secoyas y otra flora nativa.

Me tomó una feria de ciencias de sexto grado para entrenar mi primera red neuronal en mucho tiempo. Mi familia vive en una zona rural del norte de California llena de robles, secoyas y otra flora nativa. Para la próxima feria de ciencias, mi hijo decidió construir un modelo de aprendizaje automático para identificar los árboles locales. Hicimos una excursión el sábado por la tarde para tomar fotografías y crear un conjunto de datos, mientras que el sábado por la noche trabajamos en un modelo de red neuronal. La feria de ciencias es en dos meses y pensé que necesitaríamos ese tiempo para construir un modelo decente. Resultó que subestimé enormemente lo fácil y accesible que se ha vuelto el aprendizaje automático. La versión 1 se completó después de solo un par de horas con una precisión sorprendente. Utilizamos el mismo potente motor de IA que muchos de los principales laboratorios de investigación de IA. Hicimos todo en un navegador y fue gratis.

Me encontré por primera vez con las redes neuronales en un curso universitario sobre IA durante el llamado invierno de IA de finales de los 90. Este fue un punto bajo de entusiasmo por la IA en general y las redes neuronales en particular. A pesar de los avances teóricos de los años 80, la aplicabilidad comercial era limitada y relativamente pocos laboratorios de investigación se centraban en las redes neuronales. Aún así, estaba intrigado con los enfoques biológicos de la IA y experimenté con diferentes enfoques y aplicaciones de entrenamiento. Construí modelos de redes neuronales y codifiqué los algoritmos de entrenamiento en su mayoría desde cero en el ceceolenguaje de programación. El entrenamiento podía llevar horas y no había muchos datos de entrenamiento disponibles. Durante un tiempo, me uní a un laboratorio de IA en UC San Diego para explorar más a fondo las redes neuronales, pero finalmente seguí adelante. Pasarían otros 15 años antes de que las redes neuronales realmente despegaran y el término " aprendizaje profundo " se generalizara.

El interés en el aprendizaje profundo se aceleró entre 2012 y 2018

Durante la última década, las redes neuronales han entrado en un nuevo renacimiento impulsado por GPU, computación en la nube, conjuntos de datos masivos y avances continuos en algoritmos de aprendizaje. Las aplicaciones comerciales se han disparado. Las aplicaciones incluyen reconocimiento de voz (Siri, Alexa), traducción (Google Translate), generación de texto (GPT-3 de OpenAI), reconocimiento de imágenes (Tesla Autopilot, Adobe Sensei), generación de imágenes (Dall-E 2, Midjourney, Stable Diffusion), facial reconocimiento (Apple Photos), generación de video (Runway) y descubrimiento de fármacos. Algunas de las nuevas aplicaciones más impresionantes se encuentran en la IA generativa , que está progresando a una velocidad alucinante.

Un avance rápido hasta este pasado fin de semana de acción de gracias, que provocó algunas observaciones.

En primer lugar, es asombrosamente fácil configurar y entrenar incluso modelos de aprendizaje automático bastante sofisticados. No necesita codificar ni tener experiencia en aprendizaje automático. Hay muchas herramientas de aprendizaje automático AutoML y sin código que automatizan los pasos comunes en el flujo de trabajo del aprendizaje automático. Para unir sus propios flujos de trabajo, es útil tener conocimientos básicos de python, un lenguaje popular en la comunidad de aprendizaje automático. Mi hijo de 12 años ha estado aprendiendo Python durante unos dos años. Por iniciativa propia, descargó TensorFlow , la biblioteca de aprendizaje automático que impulsa a Google y OpenAI, y rápidamente ejecutó un modelo de muestra en su computadora portátil. Aún más fácil que eso, encontré un tutorial .en la clasificación de imágenes que utiliza TensorFlow y se ejecuta en el entorno Colab de Google . Colab le permite crear modelos de aprendizaje automático en un navegador web y ejecutarlos en las GPU de Google de forma gratuita, sin descargar ni instalar ningún paquete. Hay innumerables tutoriales y modelos pre-entrenados para comenzar.

En segundo lugar, los factores que limitan la velocidad para implementar esta tecnología son la imaginación para nuevas aplicaciones del mundo real y los datos de calidad para entrenar modelos. El problema de reconocer un tipo de árbol basado en una imagen cae dentro del dominio de la clasificación de imágenes. Como esta es una aplicación común de aprendizaje automático, el paso más desafiante es ensamblar un conjunto de datos sólido. No pudimos encontrar un conjunto de datos fácilmente disponible de árboles locales etiquetados con nombres, por lo que creamos el nuestro. Una corta caminata con un iPhone arrojó alrededor de 250 imágenes. Esto es diminuto para los estándares actuales. El último modelo de difusión estable se entrena con el conjunto de datos LAION-5B recientemente publicado de 5850 millones de imágenes de la web. A medida que más conjuntos de datos se hagan públicos, las barreras para desarrollar modelos de propósito especial desaparecerán.

En tercer lugar, ahora hay abundantes soluciones y recursos para poner en producción modelos de aprendizaje automático (ML Ops). Hace apenas unos años, era un desafío entrenar un modelo e implementarlo a la velocidad y escala de la web. Hoy en día, es relativamente sencillo implementar modelos en un navegador, en un teléfono, en un servidor o dentro de un flujo de trabajo empresarial.

Hemos entrado en una época dorada para las redes neuronales. Este es un momento increíblemente emocionante para ser un investigador de IA/aprendizaje profundo, un emprendedor de IA o un estudiante interesado en IA. Hay aplicaciones maduras listas ahora y una tubería de investigación de IA emergente que impulsará aplicaciones innovadoras en los años venideros. La accesibilidad de la tecnología significa que no necesita un laboratorio de investigación o capital para participar. Es sorprendente cómo un concepto puede existir durante décadas (por ejemplo, automóviles eléctricos, redes neuronales) y no despegar hasta que las condiciones son las adecuadas.