Logo UAB
2023/2024

Aprenentatge Profund

Codi: 44737 Crèdits: 6
Titulació Tipus Curs Semestre
4318303 Recerca i Innovació en Ciència i Enginyeria Basades en Computadors OT 0 2

Professor/a de contacte

Nom:
Debora Gil Resina
Correu electrònic:
debora.gil@uab.cat

Idiomes dels grups

Podeu accedir-hi des d'aquest enllaç. Per consultar l'idioma us caldrà introduir el CODI de l'assignatura. Tingueu en compte que la informació és provisional fins a 30 de novembre de 2023.


Prerequisits

Es recomana que l'alumne tingui coneixements i capacitats de:

  • Programació en el llenguatge de programació Python
  • Processament de Senyal, Imatge i Vídeo
  • Validació estadística 

Objectius

Aquesta assignatura pretén donar una introducció pràctica als models de xarxes neuronals i a l'aprenentatge profund.

Els estudiants consolidaran i ampliaran els seus antecedents teòrics, basant-se en assignatures anteriors sobre aprenentatge automàtic i complementant els coneixements previs amb nous conceptes sobre el disseny de xarxes neuronals, marcs d'aprenentatge profund i el procés d'entrenament d'aquests models.

L'estudiant ha de finalitzar aquesta assignatura, tenint un ampli coneixement de les diferents arquitectures de xarxes neuronals i els seus escenaris d'ús típics, i una capacitat demostrada per triar críticament l'arquitectura i els mecanismes d'entrenament adequats per a cada tasca.

Finalment, els estudiants rebran formació pràctica i adquiriran experiència pràctica sobre l'ús dels marcs d'aprenentatge profund actuals per resoldre tasques específiques.


Resultats d'aprenentatge

  • CA18 (Competència) Capacitat per a dissenyar l'arquitectura més adequada de xarxa neuronal per a la resolució d'un problema determinat.
  • CA19 (Competència) Dissenyar solucions computacionals en múltiples dominis relacionats amb la presa de decisions basada en l'exploració d'alternatives, el raonament incert i la planificació de tasques.
  • KA23 (Coneixement) Descriure l'estructura de les xarxes neuronals convolucionals i recurrents i en quins entorns és més favorable usar-les.
  • KA24 (Coneixement) Descriure els diferents models d'estructuració i representació de dades.
  • KA25 (Coneixement) Descriure tècniques avançades de maneig de xarxes neuronals com ara el reforç d'aprenentatge, així com poder visualitzar de manera adequada els resultats intermedis del processament.
  • SA31 (Habilitat) Resoldre problemes relacionats amb l'anàlisi de grans volums de dades a través del disseny de sistemes intel·ligents i de l'ús de tècniques d'aprenentatge computacional.
  • SA32 (Habilitat) Aplicar sistemes d'aprenentatge profund basats en xarxes neuronals per a poder resoldre problemes concrets.
  • SA33 (Habilitat) Seleccionar l'arquitectura de xarxa neuronal més adequada segons les dades disponibles que permeti obtenir els resultats esperats.
  • SA34 (Habilitat) Emprar de manera adequada sistemes de visualització de xarxes neuronals per a poder avaluar possibles optimitzacions que millorin el rendiment del sistema.

Continguts

Introducció a les xarxes neuronals: Perceptron, función de loss, training, back propagation.

Introducció a les xarxes neuronals convolucionals (deep learning): arquitectures de classificació, arquitectures de segmentació (Unet), fine tunning. 

Validació: mètriques fidedignes, detecció de bias en els models, problemes desbalancejats, nivell de generalització dels models.  Explainability: mapes d'activació i d'atenció.

Tractament de sèries temporals: xarxes recurrents (LSTMs), transformers (traductors, visual transformers), arquitectures backbone 

Unsupervised learning, autoencoders i detecció d'anomalies. 

Models generatius, adversarial Networks, variational autoencoders.

Metric Learning (triplet loss, Barlow twins), one-shot approaches, Siamese networks. 

 

 

 


Metodologia

El curs seguirà una metodologia docent d'aprenentatge anomenada Aprenentatge Basat en Projectes (ABP). La metodologia ABP pretén potenciar i motivar a l'estudiant en el seu aprenentatge. Es formaran grups d'entre 5 i 6 estudiants als que se'ls encomanarà la realització d'un conjunt de projectes (de mida mitjana) al llarg del semestre. Es farà un seguiment setmanal i tutorització tant grupal com individual dels estudiants

Els projectes són fixats pel professorat de manera que compleixi les següents condicions:  ser el més real possible;  ser tractable mitjançant eines elementals; no tenir associat un algorisme de solució standard.

D'altra banda, és essencial entendre que no es tracta pas de trobar un algorisme que funcioni en el 100 x 100 dels casos —tot sovint no existeix tal cosa— sinó simplement de “donar-hi una proposta de solució raonable”.

Els projectes els han de desenvolupar cada equip amb la màxima autonomia possible. Cada equip tindrà assignat un tutor que en seguirà l'evolució però en principi s'abstindrà d'imposar les seves idees. D'altra banda, l'estudiant ha de tenir clar que no es tracta de buscar la ‘solució’ del problema en altres llocs, sino de fer una aportació original. Això no vol dir que s'hagi de renunciar a la informació que pugui existir en la bibliografia o a Internet; però quan se'n faci ús cal tenir informat el professor i explicar-ho en la memòria.

La realització del projecte ha de acabar en un programa i una memòria final. A més d'entregar-la en forma escrita, els resultats d'aquesta memòria seran objecte d'una exposició oral. Una i altra, memòria escrita i exposició oral, han d'anar dirigides principalment a l'entitat, segurament hipotètica, que hauria proposat el problema. Per regla general, els tecnicismes seran relegats a apartats concrets de la memòria escrita.

En les presentacions orals dels projectes s'espera que hi assisteixin tota la classes, i que aquests intervinguin mitjançant preguntes i observacions.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Explicacions Teòriques 10 0,4 CA18, KA23, SA32
Tipus: Supervisades      
Resolució de Problemes en Grups 20 0,8 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34
Tipus: Autònomes      
Treball Autònom 115 4,6 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34

Avaluació

Donat que la major part de la feina gira al voltant d'un conjunt de projectes que es desenvolupa al llarg de tot el curs, l'avaluació té un caràcter continuat, i el seu resultat final no és recuperable.

 

Metodologia de Avaluació

S'avaluaran les actes que el grup escriurà després de cada sessió tutoritzada, en la que descriuran les seves discussions i acords i les enquestes d'autoavaluació que cada alumne farà dels seus companys i d'ell mateix. Al final de cada projecte els estudiants es farà una presentació oral del projecte i entregaran una memòria del treball realitzat. Ambdós seran avaluats per part dels professors de l'assignatura siguin o no els tutors. Els estudiants no realitzaran cap examen escrit. 

Per a l'avaluació  s'utilitzaran els següents INSTRUMENTS i ACTIVITATS:

  • Una avaluació feta pels professors a partir de la presentació dels projectes realitzat pel grup (qualitat del treball, presentació, memòria entregada). Nota Grupal (0 a 10) A partir de:
    • PORTFOLI DE L'ALUMNE: Document on s'explica el desenvolupament de la feina feta: plantejament del projecte, actes de reunions, informació buscada, explicació de l'aplicació implementada amb un petit manual d'usuari i proves i tests realitzats.
    • PRESENTACIÓ: Presentació oral en 5-7 transparències sobre el projecte desenvolupat i resultats obtinguts.
    • APLICACIÓ: programa desenvolupat.
    • ACTES i CONTROLS: Presentació de la documentació entregada.
  • Una avaluació individual a partir de les observacions fetes pels tutors en les sessions tutoritzades, on es tindrà en compte l'actitud, iniciativa, participació, assistència i puntualitat de l'alumne a les sessions de grup. Nota Individual (0 a 10).
  • Enquestes de co-avaluació i autoavaluació entre els membres del grup al final de cada projecte. Nota Coavaluació Companys (0 a 10).
  • Les presentacions orals es realitzen davant dels alumnes i els grups valoraran el treball dels seus companys a mode de ranking El grup que quedi en 1a possició rebrà 10 punts, el 2on 8 punts i així successivament.  Nota Coavaluació Classe (0 a 10).

 

Qualificacions

Cada projecte tindrà una nota que es calcularà de la següent manera: 

Nota Projecte =  0,5 * Nota Grupal +  0,3 * Nota Individual + 0,1 * Nota Coavaluació Companys + 0,1 * Nota Coavaluació Classe

 

La nota final sortirà del la mitjana ponderada dels projectes realitzats. La ponderació serà la mateixa per tots els projectes 


Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Nota Coavaluació Classe 10% 0 0 CA19, SA31
Nota Coavaluació Companys 10% 0 0 SA31, SA32, SA33
Nota Individual 30% 0 0 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34
Nota grupal 50% 5 0,2 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34

Bibliografia

Books

Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 1st Ed. 2016

Deep learning with Python, François Chollet, Manning Publications, 1st Ed., 2017

Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2011

Neural Networks for Pattern Recognition, Christopher Bishop, Oxford University Press, 1st ed., 1996

Books online:

Michael Nielsen's Neural Networks and Deep Learning http://neuralnetworksanddeeplearning.com/

Zhang, Z.C. Lipton, M. Li, A.J. Smola, "Dive into Deep Learning", 2021 https://d2l.ai/

Links (Tutorials and Talks):

https://towardsdatascience.com

https://www.datacamp.com

 https://medium.com

https://cs.stanford.edu/~sanmi/talks.html

 


Programari

Python with OpenCV, pytorch, cuda.  En la mesura del possible es facilitará accés a clústers de GPUs i CPUs