300 días__Generativeai
Este repositorio, 300days_generativeai, se dedica a 300 días de aprendizaje continuo centrado en la IA generativa, el estudio de diferentes libros y trabajos de investigación a diario. Revisaré los aprendizajes pasados, actualizaré mi comprensión y profundizaré en las complejidades generativas de IA.
| No | Libro | Estado |
|---|
| 1 | Mastering Pytorch: Crear e implementar modelos de aprendizaje profundo de CNN a modelos multimodales, LLM y más allá (Ashish Ranjan Jha) | En curso |
| 2 | Transferir el aprendizaje para el procesamiento del lenguaje natural (Paul Azunre) | |
| 3 | Construya un modelo de idioma grande (desde cero) (MEAP) (Sebastian Raschka) | En curso |
| 4 | Aprenda la IA generativa con Pytorch (Mark Liu) | |
| 5 | AI generativa en acción (MEAP V02) (Amit Bahree) | |
| 6 | Comprensión de Langchain: una guía completa para elaborar aplicaciones de modelos de lenguaje futurista (Jeffery Owens) | |
| 7 | El libro de jugadas del desarrollador para la seguridad del modelo de idioma grande (Steve Wilson) | |
| No. | Trabajo de investigación | Tema | Estado |
|---|
| 1 | Un nuevo modelo de red neuronal convolucional de Lenet-5 para el reconocimiento de imágenes | Lenet-5 | ✅ Completado |
| 2 | Profundizar con las convoluciones | Googlenet | ✅ Completado |
Día 1 de 300 días de Generativeai
- En la sesión de hoy sobre el dominio de Pytorch, me concentré en los aspectos fundamentales del aprendizaje profundo, particularmente a través del tutorial de "aprendizaje profundo con pytorch: un tutorial de 60 minutos". Aprendí sobre las arquitecturas de las redes neuronales, incluidas las capas totalmente conectadas, convolucionales y recurrentes, y exploré los módulos clave de Pytorch, como Torch.auTograd para diferenciación automática y antorch.nn para construir redes. Practicé la propagación hacia adelante y hacia atrás, el cálculo de pérdidas y el descenso de gradiente, que culminó en la construcción de una red neuronal de avance simple. En las próximas sesiones, mi agenda incluye una inmersión profunda en el poder de las redes neuronales convolucionales (CNN), su evolución arquitectónica y el desarrollo práctico de modelos como Lenet, Alexnet, VGG, Googlenet, Inception V3, ResNet, Densenet y EficeTets, discutiendo su significado y futuro en el aprendizaje profundo.
- Recurso adicional:
- Aprendizaje profundo con Pytorch: un bombardeo de 60 minutos
Día 2 de 300 días de Generativeai
- En la sesión de hoy sobre el dominio de Pytorch, tengo una sesión breve pero productiva que se sumerge en arquitecturas CNN profundas. Exploré por qué los CNN son tan efectivos para tareas como la clasificación de imágenes y la detección de objetos, destacando su eficiencia de parámetros, extracción de características automáticas y aprendizaje jerárquico. Revisé varias innovaciones arquitectónicas como CNNS espacial, de profundidad, ancho y basado en múltiples caminos. También examiné una implementación de Alexnet en Pytorch, centrándome en su estructura de capa y en cómo aprovecha las funciones de deserción y activación. Además, noté la disponibilidad de varios modelos CNN predefinidos en el paquete TorchVision de Pytorch, incluidos Alexnet, VGG, ResNet y otros.
Día 3 de 300 días de Generativeai
- En la sesión de hoy sobre el dominio de Pytorch, he preparado un conjunto de datos para una tarea de clasificación de imágenes, implementé un proceso de ajuste para un modelo Alexnet previamente capacitado y abordé un problema de comportamiento determinista que surgió durante la capacitación. Creé cargadores de datos, las funciones de ayudante definidas para la visualización y el ajuste del modelo, y modifiqué la capa final del modelo previamente capacitado para que coincida con el número de clases en mi conjunto de datos. Durante el proceso de ajuste fino, encontré una advertencia relacionada con el uso de la operación
adaptive_avg_pool2d_backward_cuda , que no tiene una implementación determinista. Para abordar esto, aprendí sobre diferentes enfoques para habilitar el comportamiento determinista en Pytorch, como deshabilitar selectivamente el determinismo para la operación problemática o usar la opción warn_only=True al habilitar los algoritmos deterministas. Esta experiencia práctica me ha proporcionado una comprensión más profunda de las consideraciones prácticas cuando aplica las técnicas de aprendizaje profundo para los problemas de clasificación de imágenes.
Día 4 de 300 días de Generativeai
- En la sesión de hoy sobre el dominio de Pytorch, he aprendido que Googlenet, también conocido como Inception V1, es una innovadora arquitectura de red neuronal convolucional que introdujo el módulo de inicio, que presenta capas convolucionales paralelas con diferentes tamaños de núcleos (1x1, 3x3, 5x5) para capturar características multibALetas. He descubierto que las convoluciones 1x1 son cruciales para la reducción de la dimensionalidad, lo que permite que el modelo mantenga la eficiencia al reducir la profundidad de los mapas de características sin alterar las dimensiones espaciales. Además, he aprendido que Googlenet emplea la agrupación promedio global antes de la capa de salida para minimizar los parámetros y mejorar la robustez contra el sobreajuste. Mi exploración de Inception V3 me ha mostrado cómo se basa en el diseño original con módulos más complejos y capas adicionales, lo que resulta en un rendimiento mejorado. En general, ahora tengo una comprensión más profunda de las técnicas innovadoras en Googlenet e Inception V3, incluidos los módulos de inicio, las convoluciones 1x1 y la agrupación promedio global, que han avanzado significativamente el campo de la visión por computadora.
Día 5 de 300 días de Generación
- En la sesión de hoy sobre el dominio de Pytorch, trabajé en la implementación de la arquitectura de Googlenet, centrándome en la construcción e integración de módulos de inicio múltiples dentro de la red. Refiné los parámetros de cada módulo de inicio para reflejar correctamente la configuración prevista, que incluía ajustar las capas convolucionales y de agrupación para extraer las características de manera eficiente a varias escalas. Además, incorporé la capa convolucional inicial con normalización por lotes y activación de Relu, seguido de capas de agrupación máxima para la reducción de muestras. Mientras trabajaba en el modelo, también consideré la importancia de los clasificadores auxiliares, que generalmente se incluyen en la arquitectura de Googlenet para ayudar a mitigar el problema de gradiente de fuga al proporcionar una supervisión intermedia. Estos clasificadores son versiones más pequeñas del clasificador principal, unidos a capas anteriores, y mejoran la capacidad de la red para aprender características significativas durante el entrenamiento.
Día 6 de 300 días de Generativeai
- En la sesión de hoy, leí "Un nuevo modelo de red neuronal convolucional de Lenet-5 Deep Lenet-5 para el reconocimiento de imágenes", que propone una versión mejorada de la arquitectura tradicional de Lenet-5 destinada a mejorar las capacidades de reconocimiento de imágenes. Los autores abordan las limitaciones del aprendizaje automático convencional y los modelos CNN anteriores, como los altos requisitos de hardware y las lentas velocidades de convergencia. Su enfoque novedoso simplifica la estructura de la red al tiempo que mejora la velocidad de entrenamiento y modifica la función de activación a una unidad lineal rectificada logarítmica (L RELU). Los resultados experimentales en el conjunto de datos MNIST demuestran que el modelo mejorado logra una tasa de reconocimiento superior al 98%, superando significativamente otros algoritmos de última generación, proporcionando así una valiosa referencia para los avances en la tecnología de reconocimiento de imágenes.
Día 7 de 300 días de Generativeai
- En la sesión de hoy sobre "Construir un modelo de idioma grande (desde cero)" de Sebastian Raschka, profundicé en los fundamentos de los modelos de idiomas grandes (LLM) y su construcción. Exploré la arquitectura del transformador, que incluye tanto codificadores como decodificadores, enfatizando el mecanismo de autoatención que permite que los modelos se centren en diferentes partes del texto de entrada. Examiné las dos etapas clave en la construcción de LLM: previamente en los corpus grandes de texto sin procesar para la predicción de la próxima palabra y el fino en los conjuntos de datos más pequeños y etiquetados para tareas específicas. Además, aprendí sobre las capacidades generativas de modelos como GPT y sus comportamientos emergentes, que les permiten realizar una variedad de tareas, como la traducción y la clasificación, incluso sin capacitación explícita para esas tareas.