Logo UAB
2022/2023

Xarxes Neuronals i Aprenentatge Profund

Codi: 104407 Crèdits: 6
Titulació Tipus Curs Semestre
2503740 Matemàtica Computacional i Analítica de Dades OB 3 2

Professor/a de contacte

Nom:
Oriol Ramos Terrades
Correu electrònic:
oriol.ramos@uab.cat

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
català (cat)
Grup íntegre en anglès:
No
Grup íntegre en català:
No
Grup íntegre en espanyol:
No

Altres indicacions sobre les llengües

El material escrit es prepararà en anglès.

Prerequisits

Haver cursat les assignatures de la matèria 7: Intel·ligència Artificial i Aprenentatge Computacional, i les assignatures de Modelització i Inferència (2n), Anàlisi Complex de Dades (2n), i Teoria de la Informació (3r).

Objectius

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

Els estudiants consolidaran i ampliaran els seus antecedents teòrics, construint sobre assignatures anteriors de aprenentatge automàtic i complementant el coneixement previ amb nous conceptes sobre el disseny de xarxes neuronals, les eines i sistemes d'aprenentatge profund, i les tècniques d'aprenentatge per a aquests models.

Els estudiants han d'acabar 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 correcta i els mecanismes d'aprenentatge adequats per a cada tasca.

Finalment, els estudiants rebran capacitació pràctica i adquiriran experiència en l'ús dels sistemes actuals d'aprenentatge profund per resoldre tasques concretes.

Competències

  • Avaluar de manera crítica i amb criteris qualitat el treball realitzat.
  • Que els estudiants hagin demostrat que comprenen i tenen coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i se sol trobar a un nivell que, si bé es basa en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda d'aquell camp d'estudi.
  • Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tant especialitzat com no especialitzat.
  • Que els estudiants sàpiguen aplicar els coneixements propis a la seva feina o vocació d'una manera professional i tinguin les competències que se solen demostrar per mitjà de l'elaboració i la defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi.
  • Resoldre problemes relacionats amb l'anàlisi de grans volums de dades a través del disseny de sistemes intel·ligents i d'aprenentatge computacional.
  • Treballar cooperativament en un context multidisciplinar asumiendo y respetando el rol de los diferentes miembros del equipo.
  • Utilitzar eficaçment la bibliografia i els recursos electrònics per obtenir informació.

Resultats d'aprenentatge

  1. Avaluar de manera crítica i amb criteris de qualitat el treball desenvolupat.
  2. Comprendre els mecanismes d'aprenentatge profund basat en xarxes neuronals per poder dissenyar i aplicar l'arquitectura més adequada a un problema determinat.
  3. Conèixer i aplicar les tècniques d'aprenentatge més adequades per resoldre problemes computacionals en diferents casos d'estudi.
  4. Entendre i avaluar els resultats i les limitacions de les tècniques d'aprenentatge més comunes.
  5. Identificar i definir solucions computacionals en múltiples dominis per a la presa de decisions basada en l'exploració d'alternatives, el raonament incert i la planificació de tasques.
  6. Que els estudiants hagin demostrat que comprenen i tenen coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i se sol trobar a un nivell que, si bé es basa en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda d'aquell camp d'estudi.
  7. Que els estudiants puguin transmetre informació, idees, problemes i solucions a un públic tant especialitzat com no especialitzat.
  8. Que els estudiants sàpiguen aplicar els coneixements propis a la seva feina o vocació d'una manera professional i tinguin les competències que se solen demostrar per mitjà de l'elaboració i la defensa d'arguments i la resolució de problemes dins de la seva àrea d'estudi.
  9. Treballar cooperativament en un context multidisciplinari assumint i respectant el rol dels diferents membres de l'equip.
  10. Utilitzar eficaçment la bibliografia i els recursos electrònics per obtenir informació.

Continguts

  • Xarxes neuronals
    • Perceptron
    • Multi-layer perceptrón
    • backpropagation
  • Procés d'entrenament
    • Inicialització
    • Algorismes d'optimització
    • Tècniques de regularització
    • Tasques i funcions de cost
  • Arquitectures profundes de xarxes neuronals
    • Xarxes convolucionals
    • Xarxes recurrents
    • Aprenentatge no supervisat (autoencoders)
    • Aprenentatge de mètriques (siamese i triplet networks)
    • Generative adversarial Networks

Metodologia

El disseny de xarxes neuronals ve donat pels tipus de problemes que es pretenen resoldre. Al llarg d'aquesta assignatura serà aquesta tipologia de problemes la que motivarà  de cada apartat i orientarà l'organització dels continguts.

Hi haura dos tipus de sessions:

Classes de teoria: L'objectiu d'aquestes sessions és que el professor expliqui a els antecedents teòrics de l'assignatura. Per a cadascú dels temes estudiats s'explica la teoria i la formulació matemàtica, així com les solucions algorítmiques corresponents.

Sessions de laboratori: les sessions de laboratori tenen com a objectiu facilitar la interacció, el treball col·laboratiu i reforçar la comprensió dels temes vistos a les classes de teoria. Durant les sessions de laboratori els estudiants treballaran casos pràctics que requereixen el disseny de solucions mitjançant els mètodes estudiats a les classes de teoria. La resolució de problemes s’iniciarà a la classe i es complementarà amb un conjunt setmanal de problemes per treballar a casa.

Tota la informació de l’assignatura i els documents relacionats que necessiten els estudiants estaran disponibles al campus virtual (cv.uab.cat).

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, perquè l'alumnat empleni 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      
Classe de Pràctiques 22 0,88 2, 3, 4, 5, 6, 7, 8, 9, 10
Classe de Teoria 28 1,12 2, 3, 4, 5, 6
Tipus: Supervisades      
Tutories 5 0,2 1, 2, 3, 4, 5, 10
Tipus: Autònomes      
Dedicació als practicals 45 1,8 1, 2, 3, 4, 6, 7, 8, 10
Lectura i estudi de material 45 1,8 2, 3, 4, 5, 10

Avaluació

Per avaluar el nivell d'aprenentatge de l'estudiant s'estableix una fórmula que combina l'aprenentatge de coneixements, la capacitat de resolució de problemes i les capacitats de treballar en equip, així com de la presentació dels resultats obtinguts.

Nota Final

La nota final es calcula ponderadament de la següent manera i d'acord amb les diferents activitats que es duen a terme:

Nota final = 0.4* Nota Teoria + 0.1 * Nota Problemes + 0.5 * Nota Projectes

S'aplicarà aquesta fórmula sempre que la nota de teoria i la nota de projectes siguin més gran que 5. No hi ha cap restricció sobre la nota de problemes. Si fent el càlcul de la fórmula surt >= 5, però les notes de teoria o projectes no arriben a el mínim exigit, llavors la nota que es posarà en l'expedient serà la més petita entre el resultat d'aplicar la fòrmula anterior i 4.5.

Nota de Teoria

La nota de teoria pretén valorar les capacitats individuals de l'estudiant pel que fa als continguts teòrics de l'assignatura, això es fa de forma continuada durant el curs amb dos exàmens parcials:

Nota Teoria = 0.5 * Nota Examen 1 + 0.5 * Nota Examen 2

L'examen parcial #1 es fa a la meitat del semestre i serveix per eliminar part de la matèria si s'aprova.

L'examen parcial #2 es fa al final del semestre i serveix per eliminar part de la matèria si s'aprova.

Aquests exàmens pretenen fer una avaluació individualitzada de les capacitats de cada estudiant per a resoldre problemes utilitzant les tècniques explicades a classe, així com avaluar el nivell de conceptualització que l'estudiant ha fet de les tècniques vistes. Per poder tenir una nota de teoria serà necessari que les notes de tots dos exàmens parcials siguin superiors a 4. Si fent el càlcul de la fórmula surt una nota de teoria >= 5, però no arriba al mínim exigit en algun dels exàmens parcials, llavors la nota de teoria que es farà servir en el càlcul final serà de 4.5.

Examen de recuperació. En cas que la nota de teoria no arribi al nivell adequat per aprovar la teoria, els estudiants es poden presentar a un examen de recuperació, destinat a recuperar la part no superada de l'avaluació contínua.

Nota de Problemes

La part de problemes té com a objectiu aconseguir que l'estudiant s'entreni amb els continguts de l'assignatura de manera continuada i que es familiaritzi directament en l'aplicació de la teoria. Com evidència d'aquest treball es demana la presentació d'un portfoli en el qual s'aniran guardant els problemes realitzats. Per obtenir nota de problemes es requereix el lliurament de el 70% dels conjunts de problemes com a mínim, en cas contrari, la nota de problemes serà igual a 0.

Nota Problemes = Avaluació del portfoli

Nota de Projectes

La part de formació pràctica d'aquesta assignatura es basa a una sèrie de projectes que es desenvoluparan durant el curs. Té un pes essencial en la nota global de l'assignatura i pretén que l'estudiant s'enfronti al problema de dissenyar una solució a un retpe que es planteja de manera contextualitzada i que, per tant, requereix el disseny d'una solució integral, des de la preparació de les dades fins al disseny i entrenament d'un model neuronal. A més, l'estudiant ha de demostrar les seves habilitats per treballar en equip i presentar convincentment els resultats.

Cadascun dels projectes s'avalua a través del seu lliurable, una presentació oral que faran els estudiants a classe, i un procés d'autoavaluació per part dels estudiants. La nota es calcula de la següent manera:

Nota Projecte Individual = 0.5 * Nota Lliurables + 0.3 * Nota Presentació + 0.2 * Nota Autoavaluació

La nota total de projectes és la mitjana de la nota dels N projectes individuals:

Nota Projectes = SUMA(Nota Projecte Individual)/N

En cas de no superar algun dels projectes de pràctiques es permetrà la recuperació de la part dels lliurables dels projectes no superats, amb la restricció a un grau màxim de 7/10. La presentació oral no es pot recuperar.

Notes importants

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, la comissió d'activitats irregulars per part de l'estudiant (per exemple, plagiar, copiar, deixar copiar, ...) implicarà suspendre l'activitat corresponent amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables.

En cas que no es faci cap lliurament de problemes, no s'assisteixi a cap sessió de presentació dels projectes en pràctiques de laboratori i no es faci cap examen, la nota corresponent serà un "no avaluable". En un altre cas, els "no presentats" computen com un 0 per al càlcul de la mitjana ponderada.

Per obtenir matrícula d'honor, la qualificació final ha de ser igual o superior a 9 punts. El nombre d'estudiants està inscrit al curs, se li atorga a qui tingui la qualificació final més alta. En cas d'empat, es veuran en compte els resultats dels exàmens parcials.

Activitats d'avaluació

Títol Pes Hores ECTS Resultats d'aprenentatge
Avaluació de pràctiques 40 0,5 0,02 1, 2, 3, 4, 6, 7, 8, 9, 10
Exámens 50 4,5 0,18 2, 3, 4, 5, 6, 8, 10
Lliurables de problemes 10 0 0 2, 3, 4, 5, 6, 7, 8, 10

Bibliografia

Llibres:

  • 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

Llibres en línia:

Programari

Per a les activitats pràctiques del curs utilitzarem Python (NumPy, MatPlotLib, SciKit Learn) i PyTorch