EITC/AI/DLPP Deep Learning con Python y PyTorch es el programa europeo de certificación de TI sobre los fundamentos de la programación del aprendizaje profundo en Python con la biblioteca de aprendizaje automático de PyTorch.
El plan de estudios del EITC/AI/DLPP Deep Learning con Python y PyTorch se centra en las habilidades prácticas en la programación de Python de aprendizaje profundo con la biblioteca PyTorch organizada dentro de la siguiente estructura, que abarca un contenido didáctico de video integral como referencia para esta certificación EITC.
El aprendizaje profundo (también conocido como aprendizaje estructurado profundo) es parte de una familia más amplia de métodos de aprendizaje automático basados en redes neuronales artificiales con aprendizaje de representación. El aprendizaje puede ser supervisado, semi-supervisado o no supervisado. Las arquitecturas de aprendizaje profundo como las redes neuronales profundas, las redes de creencias profundas, las redes neuronales recurrentes y las redes neuronales convolucionales se han aplicado a campos que incluyen la visión por computadora, visión artificial, reconocimiento de voz, procesamiento del lenguaje natural, reconocimiento de audio, filtrado de redes sociales, traducción automática, bioinformática , diseño de fármacos, análisis de imágenes médicas, inspección de materiales y programas de juegos de mesa, donde han producido resultados comparables y, en algunos casos, superiores al desempeño de los expertos humanos.
Python es un lenguaje de programación interpretado, de alto nivel y de propósito general. La filosofía de diseño de Python enfatiza la legibilidad del código con su notable uso de espacios en blanco significativos. Sus construcciones de lenguaje y su enfoque orientado a objetos tienen como objetivo ayudar a los programadores a escribir código claro y lógico para proyectos a pequeña y gran escala. Python se describe a menudo como un lenguaje con "baterías incluidas" debido a su amplia biblioteca estándar. Python se usa comúnmente en proyectos de inteligencia artificial y proyectos de aprendizaje automático con la ayuda de bibliotecas como TensorFlow, Keras, Pytorch y Scikit-learn.
Python se escribe dinámicamente (ejecuta en tiempo de ejecución muchos comportamientos de programación comunes que los lenguajes de programación estáticos realizan durante la compilación) y se recolecta basura (con administración automática de memoria). Admite múltiples paradigmas de programación, incluida la programación estructurada (en particular, procedimental), orientada a objetos y funcional. Fue creado a fines de la década de 1980 y lanzado por primera vez en 1991 por Guido van Rossum como sucesor del lenguaje de programación ABC. Python 2.0, lanzado en 2000, introdujo nuevas características, como listas por comprensión y un sistema de recolección de basura con recuento de referencias, y se suspendió con la versión 2.7 en 2020. Python 3.0, lanzado en 2008, fue una revisión importante del lenguaje que se no es completamente compatible con versiones anteriores y gran parte del código de Python 2 no se ejecuta sin modificar en Python 3. Con el final de la vida útil de Python 2 (y pip que dejó de ser compatible en 2021), solo se admiten Python 3.6.xy posteriores, con versiones anteriores aún compatible, por ejemplo, con Windows 7 (y con instaladores antiguos no restringidos a Windows de 64 bits).
Los intérpretes de Python son compatibles con los sistemas operativos convencionales y están disponibles para algunos más (y en el pasado eran compatibles con muchos más). Una comunidad global de programadores desarrolla y mantiene CPython, una implementación de referencia gratuita y de código abierto. Una organización sin fines de lucro, Python Software Foundation, administra y dirige recursos para el desarrollo de Python y CPython.
A partir de enero de 2021, Python ocupa el tercer lugar en el índice de TIOBE de lenguajes de programación más populares, detrás de C y Java, habiendo obtenido previamente el segundo lugar y su premio a la mayor ganancia de popularidad para 2020. Fue seleccionado Lenguaje de programación del año en 2007, 2010 y 2018.
Un estudio empírico descubrió que los lenguajes de secuencias de comandos, como Python, son más productivos que los lenguajes convencionales, como C y Java, para problemas de programación que implican la manipulación de cadenas y la búsqueda en un diccionario, y determinó que el consumo de memoria a menudo era "mejor que Java y no mucho peor que C o C ++ ”. Las grandes organizaciones que utilizan Python incluyen, por ejemplo, Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Más allá de sus aplicaciones de inteligencia artificial, Python, como lenguaje de scripting con arquitectura modular, sintaxis simple y herramientas de procesamiento de texto enriquecido, se usa a menudo para el procesamiento del lenguaje natural.
PyTorch es una biblioteca de aprendizaje automático de código abierto basada en la biblioteca Torch, utilizada para aplicaciones como la visión por computadora y el procesamiento del lenguaje natural, desarrollada principalmente por el laboratorio de investigación de inteligencia artificial de Facebook (FAIR). Es un software gratuito y de código abierto publicado bajo la licencia BSD modificada. Aunque la interfaz de Python está más pulida y es el enfoque principal del desarrollo, PyTorch también tiene una interfaz C ++. Varias piezas de software de aprendizaje profundo se construyen sobre PyTorch, incluidos Tesla Autopilot, Uber's Pyro, HuggingFace's Transformers, PyTorch Lightning y Catalyst.
- Computación tensorial (como NumPy) con fuerte aceleración a través de unidades de procesamiento de gráficos (GPU)
- Redes neuronales profundas construidas sobre un sistema de diferenciación automático (computacional) basado en cintas
Facebook opera PyTorch y la arquitectura convolucional para la integración rápida de funciones (Caffe2), pero los modelos definidos por los dos marcos eran mutuamente incompatibles. El proyecto Open Neural Network Exchange (ONNX) fue creado por Facebook y Microsoft en septiembre de 2017 para convertir modelos entre marcos. Caffe2 se fusionó con PyTorch a finales de marzo de 2018.
PyTorch define una clase llamada Tensor (torch.Tensor) para almacenar y operar en matrices rectangulares multidimensionales homogéneas de números. Los tensores PyTorch son similares a las matrices NumPy, pero también se pueden operar en una GPU Nvidia compatible con CUDA. PyTorch admite varios subtipos de tensores.
Hay algunos módulos importantes para Pytorch. Éstos incluyen:
- Módulo de autogrado: PyTorch utiliza un método llamado diferenciación automática. Un registrador registra las operaciones que se han realizado y luego las reproduce hacia atrás para calcular los gradientes. Este método es especialmente poderoso cuando se construyen redes neuronales para ahorrar tiempo en una época al calcular la diferenciación de los parámetros en el pase directo.
- Módulo Optim: torch.optim es un módulo que implementa varios algoritmos de optimización utilizados para construir redes neuronales. La mayoría de los métodos más utilizados ya son compatibles, por lo que no es necesario crearlos desde cero.
- nn module: PyTorch autograd facilita la definición de gráficos computacionales y la toma de gradientes, pero el autograd sin formato puede ser un nivel demasiado bajo para definir redes neuronales complejas. Aquí es donde el módulo nn puede ayudar.
Para familiarizarse en detalle con el plan de estudios de certificación, puede ampliar y analizar la tabla a continuación.
El plan de estudios de certificación de aprendizaje profundo EITC/AI/DLPP con Python y PyTorch hace referencia a materiales didácticos de acceso abierto en forma de video de Harrison Kinsley. El proceso de aprendizaje se divide en una estructura paso a paso (programas -> lecciones -> temas) que cubre partes relevantes del plan de estudios. También se proporciona consultoría ilimitada con expertos en dominios.
Para obtener más información sobre el procedimiento de certificación, consulte ¿Cómo funciona?.
Descargue los materiales preparatorios completos de autoaprendizaje fuera de línea para el programa de aprendizaje profundo EITC/AI/DLPP con Python y PyTorch en un archivo PDF
Materiales preparatorios EITC/AI/DLPP – versión estándar
Materiales preparatorios del EITC/AI/DLPP – versión ampliada con preguntas de repaso