Una descripción general de Fastai Curso práctico de aprendizaje profundo para codificadores
El aprendizaje profundo es un campo conocido por el control de acceso. Si trata de encontrar respuestas en línea sobre cómo ingresar al campo, es probable que se sienta abrumado con una larga lista de requisitos.
Esto a menudo ahuyenta a los posibles contribuyentes al campo, dejándonos con una pequeña fracción del mundo que puede consumir y generar modelos de aprendizaje profundo.
Fast.ai es una organización que trata de abordar esta inequidad. Fue fundada en 2016 por Jeremy Howard y Rachel Thomas con el objetivo de hacer que el aprendizaje profundo sea más accesible.
Es principalmente conocido por sus cursos gratuitos y su biblioteca de código abierto (llamada fastai y está construido sobre la biblioteca de Facebook PyTorch ). Uno de sus cursos más populares y el enfoque de este artículo es Aprendizaje profundo práctico para programadores.
“Lo que espero es que mucha gente se dé cuenta de que los resultados del aprendizaje profundo son algo muy avanzado. pueden lograrlo incluso si no son un doctorado en educación profunda de la Universidad de Stanford ”. – Jeremy Howard
El aprendizaje profundo para los no iniciados es un campo que explotó en popularidad debido a la mayor disponibilidad de datos y recursos informáticos.
Los resultados del estado de la técnica se producen en áreas como el reconocimiento de imágenes, el procesamiento del lenguaje natural y el reconocimiento de voz.
Es lo que impulsa a los autos autónomos, los filtros de spam y los sistemas de recomendación de contenido. El aprendizaje profundo en un nivel alto es una extensión de las redes neuronales. Que usan un conjunto de entradas para entrenar un conjunto de pesos. Que luego producen una salida (como clasificar una imagen como un perro caliente). En el caso del aprendizaje profundo, hay muchas más capas, lo que significa mucho más peso que aprender.
Fastai introduce un enfoque de aprendizaje de arriba hacia abajo, a diferencia de la mayoría de los otros cursos que comienzan con lo básico y trabajar su camino hacia arriba.
Intuitivamente esto tiene sentido, si le estás enseñando a alguien a jugar al baloncesto, no le enseñas la física del deporte. En su lugar, les enseña lo suficiente para comenzar a jugar y deja que su interés los guíe hacia una comprensión más profunda del deporte.
De manera similar, dentro de los primeros 45 minutos del curso de aprendizaje profundo, Jeremy le explica cómo construir un clasificador de imágenes de vanguardia de principio a fin.
La Lección 2 le permite crear y producir su propio clasificador de imágenes basado en imágenes que encuentre en Google.
En este artículo, obtendrá una descripción general de alto nivel de su curso de aprendizaje profundo para programadores. También aprenderá cómo aprovechar al máximo el curso y qué significa esto para el futuro del aprendizaje profundo.
Fastai: Descripción general del curso
1. Clasificación de imagen
La primera lección cubre los antecedentes y calificaciones de Jeremy, la motivación para el curso y las posibilidades después de completarlo. Desaprueba algunos mitos comunes sobre el aprendizaje profundo (como la necesidad de una gran cantidad de datos y GPU) y muestra algunos proyectos estudiantiles pasados e historias de éxito.
El resto de la lección consiste en crear clasificadores de imagen utilizando la biblioteca fastai para lograr el estado de La precisión del arte. Como la clase se imparte de manera descendente, la primera lección se centra en hacer que algo funcione lo antes posible.
2. Producción; SGD desde cero
Continuando con el tema de los clasificadores de imágenes, ahora tiene la oportunidad de crear su propio clasificador de imágenes.
Después de entrenar un modelo basado en imágenes que encuentra en Google, se le enseña cómo poner este modelo en producción. La mejor parte de esta lección es la facilidad de pasar de una idea a una aplicación de producción ( aquí hay un ejemplo en vivo del clasificador de imágenes de osos creado en esta lección ).
El resto de la lección consiste de aprender sobre el descenso del gradiente estocástico, construyéndolo desde cero.
3. Multi-etiqueta; Segmentación
La primera parte de la lección 3 le brinda una descripción general de cómo tratar la clasificación de etiquetas múltiples. También examina algunas de las funciones y clases utilizadas en la biblioteca fastai.
A medida que continúa con la lección, comienza la tarea de segmentación de imágenes. Esto, por supuesto, se usa extensivamente en aplicaciones como autos auto-conducidos y etiquetado de imágenes. También empiezas a encontrar algo más de teoría para ir con la aplicación, como saber por qué ciertas tasas de aprendizaje dan mejores resultados.
Esta lección también ofrece una vista previa del procesamiento del lenguaje natural (PNL).
4. PNL; Datos tabulados; Sistemas de recomendación
Partiendo de la vista previa de la PNL en la lección 3, ahora aprende algunas de las técnicas que conducen a los resultados más avanzados. La primera de las cuales es la idea de transferencia de aprendizaje, que le permite utilizar un modelo pre-entrenado para una tarea específica.
Con este modelo pre-entrenado, usted aprende cómo predecir críticas negativas o positivas. Con base en este sencillo ejemplo, puede lograr resultados de vanguardia, utilizando un enfoque de aprendizaje por transferencia estandarizado.
Luego, continúe con el tema de la construcción de modelos de aprendizaje profundo para datos tabulares (datos que puede ver en una hoja de cálculo o una base de datos relacional). El modelo de ejemplo creado predice si una persona gana más de $ 50,000.
La lección concluye con una descripción general de los sistemas de recomendación (filtrado colaborativo). Jeremy explora el problema del problema del arranque en frío (¿Cómo recomienda algo a un nuevo usuario?) Y lo guía a través de un sencillo ejemplo de recomendación de película en Excel.
5. Backprop; Red neuronal desde cero
Como lo indica el título, esta lección está mucho más basada en la teoría. En este punto, comienza a aprender más sobre el ajuste fino. El descongelamiento y la congelación de las capas, la regularización, el uso de tasas de aprendizaje discriminativas, las incrustaciones. Los prejuicios y otras cosas que se extrajeron de usted en las lecciones anteriores.
La lección concluye con un ejemplo de una red neuronal construida en excel, para mostrarle exactamente cómo funciona todo bajo el capó.
6. Inmersión profunda CNN; Ética
La lección seis continúa la exploración de la teoría, como la importancia de la deserción y por qué puede conducir a buenos resultados. Otra parte interesante de esta lección es el tema del aumento de datos.
Este es el proceso de tomar una imagen y convertirla en varias imágenes (como se puede ver a continuación).
Luego se le expone a más teorías sobre las redes neuronales convolucionales y recibe información sobre qué sucede exactamente cuando se entrena a una CNN.
La última parte de la lección está dedicada a la ética en la ciencia de datos. Esto consiste en gran parte en todas las formas en que las tecnologías de aprendizaje automático han sido mal utilizadas o tienen la capacidad de ser mal utilizadas.
La parcialidad en los sistemas de reconocimiento facial y los servicios de traducción son dos ejemplos de uso indebido.
7. Resnet; U-net; GANs
La última lección continúa basándose en la teoría, que abarca el uso de Resnet y U-net para lograr resultados de vanguardia.
También tiene la oportunidad de estar expuesto a las redes de adversarios generativos, un tema que Últimamente ha tenido cobertura mediática a través de aplicaciones como DeepFakes.
En esta lección, los GAN se aplican dentro del contexto de la limpieza de imágenes, y también tiene la oportunidad de comprender cómo funcionan los elementos internos.
La última sección vuelve a visitar la PNL y explora el tema de las redes neuronales recurrentes, donde obtiene una oportunidad de construir un modelo que predice la siguiente palabra en una secuencia.
Como un llamado final a la acción, Jeremy recomienda los siguientes pasos siguientes como una manera de consolidar y desarrollar el conocimiento del curso
Al final de las 7 lecciones, habrá cubierto una amplia variedad de temas, que se resumen en la imagen a continuación.
La Parte 2, que fue publicada en junio de 2019, cubre los siguientes temas:
Aprovechando al máximo Fastai
Para aprovechar al máximo este curso, se recomienda que mire las conferencias una vez, y luego una segunda o tercera vez cuando se centre en replicar los cuadernos.
Una vez que sientas que tienes un control de las cosas, puedes comenzar a implementar estas técnicas con tus propios datos y proyectos, o incluso con una competencia de Kaggle. Es mucho mejor que un proyecto se complete, en lugar de dejar varios semicompletos.
Leer artículos de investigación también es una excelente manera de tomar lo que aprendió y desarrollarlo. Tener un doctorado no es un requisito para leer trabajos de investigación, así que no se sienta intimidado.
Arxiv Sanity Preserver es un gran lugar para comenzar, ya que ofrece papeles de preimpresión gratuitos de todo tipo de subespecializaciones en aprendizaje profundo.
Simplificación del aprendizaje profundo
Mientras es rápido Fastai no promete que te convertirás en un experto en aprendizaje profundo después de seguir su curso, siembra las semillas iniciales para que comiences a experimentar y hacer pequeños retoques.
Muchos estudiantes de Fastai realizan una gran cantidad de trabajos interesantes, ya sea en residencias de IA como Google, o en el aprendizaje profundo en startups.
La idea principal de simplificar el aprendizaje profundo es que permitirá a los expertos en dominios combinar su experiencia única.
Experiencia con el aprendizaje profundo.
No es práctico pensar que un pequeño grupo de doctores en aprendizaje automático será capaz de abordar todos los problemas que el aprendizaje profundo puede resolver. Especialmente si no tienen la experiencia de dominio relevante desarrollada a partir de un estudio y una práctica rigurosos.
Fastai es un desarrollo prometedor en el campo del aprendizaje profundo. Si está interesado en el aprendizaje profundo, es una de las mejores fuentes para comenzar y ver qué es posible.