EITC/AI/DLPP Deep Learning amb Python i PyTorch és el programa europeu de certificació de TI sobre els fonaments de la programació d’aprenentatge profund a Python amb la biblioteca d’aprenentatge automàtic PyTorch.
El pla d’estudis de l’aprenentatge profund EITC/AI/DLPP amb Python i PyTorch se centra en habilitats pràctiques d’aprenentatge profund de programació Python amb la biblioteca PyTorch organitzada dins de l’estructura següent, que inclou un contingut didàctic de vídeo complet com a referència per a aquesta certificació EITC.
L’aprenentatge profund (també conegut com a aprenentatge estructurat profund) forma part d’una família més àmplia de mètodes d’aprenentatge automàtic basats en xarxes neuronals artificials amb aprenentatge de representació. L’aprenentatge es pot supervisar, semi-supervisar o no. S’han aplicat arquitectures d’aprenentatge profund, com ara xarxes neuronals profundes, xarxes de creences profundes, xarxes neuronals recurrents i xarxes neuronals convolucionals, a camps com ara visió per computador, visió automàtica, reconeixement de veu, processament del llenguatge natural, reconeixement d’àudio, filtratge de xarxes socials, traducció automàtica, bioinformàtica , disseny de fàrmacs, anàlisi d'imatges mèdiques, inspecció de materials i programes de jocs de taula, on han produït resultats comparables i, en alguns casos, superen el rendiment dels experts humans.
Python és un llenguatge de programació interpretat, d'alt nivell i per a usos generals. La filosofia de disseny de Python posa èmfasi en la llegibilitat del codi amb el seu ús notable d’espais en blanc significatius. Les seves construccions de llenguatge i el seu enfocament orientat a objectes tenen com a objectiu ajudar els programadors a escriure un codi lògic i clar per a projectes a petita i gran escala. Python es descriu sovint com un llenguatge "inclòs amb bateries" a causa de la seva biblioteca estàndard completa. Python s'utilitza habitualment en projectes d'intel·ligència artificial i projectes d'aprenentatge automàtic amb l'ajut de biblioteques com TensorFlow, Keras, Pytorch i Scikit-learn.
Python s’escriu de manera dinàmica (executant en temps d’execució molts comportaments de programació habituals que realitzen els llenguatges de programació estàtics durant la compilació) i es recull la brossa (amb gestió automàtica de memòria). Admet múltiples paradigmes de programació, inclosa la programació estructurada (particularment procedimental), orientada a objectes i funcional. Es va crear a finals dels anys vuitanta i es va publicar per primera vegada el 1980, per Guido van Rossum com a successor del llenguatge de programació ABC. Python 1991, llançat el 2.0, va introduir noves funcions, com ara comprensions de llista, i un sistema de recollida d’escombraries amb recompte de referències, i es va deixar de treballar amb la versió 2000 el 2.7. Python 2020, llançat el 3.0, va suposar una revisió important del llenguatge no és completament compatible amb la versió anterior i el codi de Python 2008 no s’executa sense modificar-se a Python 2. Amb el final de vida de Python 3 (i pip ha deixat de tenir suport el 2), només s’admeten Python 2021.x i posteriors, amb versions anteriors encara suportant, per exemple, Windows 3.6 (i instal·ladors antics no restringits a Windows de 7 bits).
Els intèrprets Python són compatibles amb els sistemes operatius convencionals i estan disponibles per a uns quants més (i en el passat eren compatibles amb molts més). Una comunitat global de programadors desenvolupa i manté CPython, una implementació de referència de codi obert i lliure. Una organització sense ànim de lucre, la Python Software Foundation, gestiona i dirigeix recursos per al desenvolupament de Python i CPython.
Al gener de 2021, Python ocupa el tercer lloc en l’índex de llenguatges de programació més populars de TIOBE, per darrere de C i Java, ja que havia guanyat prèviament el segon lloc i el seu premi al major guany de popularitat per al 2020. Va ser seleccionat Llenguatge de programació de l’any el 2007, 2010 i el 2018.
Un estudi empíric va trobar que els llenguatges de script, com Python, són més productius que els llenguatges convencionals, com ara C i Java, per a problemes de programació que impliquen manipulació de cadenes i cerca en un diccionari, i va determinar que el consum de memòria sovint era "millor que Java i no molt pitjor que C o C ++ ”. Entre les grans organitzacions que utilitzen Python hi ha Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Més enllà de les seves aplicacions d’intel·ligència artificial, Python, com a llenguatge de seqüència d’ordres amb arquitectura modular, sintaxi simple i eines de processament de text enriquit, s’utilitza sovint per al processament del llenguatge natural.
PyTorch és una biblioteca d’aprenentatge automàtic de codi obert basada en la biblioteca Torch, que s’utilitza per a aplicacions com la visió per computador i el processament del llenguatge natural, desenvolupada principalment pel laboratori d’investigació AI (FAIR) de Facebook. És un programari lliure i de codi obert publicat sota la llicència Modified BSD. Tot i que la interfície de Python és més polida i el principal focus de desenvolupament, PyTorch també té una interfície C ++. A la part superior de PyTorch es construeixen diversos programes d’aprenentatge profund, inclosos el pilot automàtic Tesla, Pyro d’Uber, Transformers de HuggingFace, PyTorch Lightning i Catalyst.
- Informàtica tensorial (com NumPy) amb forta acceleració mitjançant unitats de processament de gràfics (GPU)
- Xarxes neuronals profundes basades en un sistema de diferenciació automàtic (computacional) basat en cintes
Facebook opera tant PyTorch com Convolutional Architecture for Fast Feature Embedding (Caffe2), però els models definits pels dos frameworks eren incompatibles. Facebook i Microsoft van crear el projecte Open Neural Network Exchange (ONNX) el setembre de 2017 per convertir models entre frameworks. Caffe2 es va fusionar a PyTorch a finals de març de 2018.
PyTorch defineix una classe anomenada Tensor (torch.Tensor) per emmagatzemar i operar en matrius rectangulars multidimensionals de nombres homogenis. Els tensors PyTorch són similars a NumPy Arrays, però també es poden operar amb una GPU Nvidia compatible amb CUDA. PyTorch admet diversos subtipus de tensors.
Hi ha pocs mòduls importants per a Pytorch. Això inclou:
- Mòdul Autograd: PyTorch utilitza un mètode anomenat diferenciació automàtica. Una gravadora registra quines operacions han realitzat i després la torna a reproduir cap enrere per calcular els degradats. Aquest mètode és especialment potent quan es construeixen xarxes neuronals per estalviar temps en una època calculant la diferenciació dels paràmetres al pas directe.
- Mòdul Optim: torch.optim és un mòdul que implementa diversos algorismes d’optimització que s’utilitzen per construir xarxes neuronals. La majoria dels mètodes més utilitzats ja són compatibles, de manera que no cal construir-los des de zero.
- Mòdul nn: l'autograd PyTorch facilita la definició de gràfics computacionals i la presa de gradients, però l'autogradació bruta pot ser una mica massa baixa per definir xarxes neuronals complexes. Aquí és on el mòdul nn us pot ajudar.
Per familiaritzar-vos en detall amb el pla d'estudis de certificació podeu ampliar i analitzar la taula següent.
El currículum EITC/AI/DLPP Deep Learning with Python and PyTorch Certification Curriculum fa referència a materials didàctics d'accés obert en forma de vídeo de Harrison Kinsley. El procés d'aprenentatge es divideix en una estructura pas a pas (programes -> lliçons -> temes) que cobreix les parts rellevants del currículum. També s'ofereix assessorament il·limitat amb experts del domini.
Per obtenir més informació sobre el procediment de certificació, consulteu Com funciona?.
Baixeu els materials preparatoris d'autoaprenentatge fora de línia complets per al programa EITC/AI/DLPP Deep Learning amb Python i PyTorch en un fitxer PDF
Materials preparatoris EITC/AI/DLPP - versió estàndard
Materials preparatoris EITC/AI/DLPP: versió ampliada amb preguntes de revisió