Solucionari — Questionari inicial Mòdul 5072
Ús intern del docent — no publicar als alumnes.
Pregunta 1
Quin és el principal element que distingeix el Machine Learning de la programació tradicional?
En la programació tradicional, el programador escriu explícitament les regles que el sistema ha de seguir per produir una sortida a partir d'unes entrades. En el Machine Learning, en canvi, el sistema aprèn les regles per si sol a partir d'exemples (dades). El programador defineix l'arquitectura i el procés d'aprenentatge, però no les regles concretes. Això permet resoldre problemes on les regles serien massa complexes o impossibles d'escriure manualment, com ara el reconeixement d'imatges o la traducció automàtica.
Pregunta 2
Pots donar un exemple real d'IA feble (Narrow AI) que usis al dia a dia?
Un exemple molt comú és el filtre d'spam del correu electrònic: el sistema ha après a classificar missatges com a spam o no-spam a partir de milers d'exemples etiquetats, però no pot fer res més que aquesta tasca concreta. Altres exemples quotidians són el reconeixement facial per desbloquejar el mòbil, les recomanacions de Spotify o Netflix, o l'assistent de veu Siri. Cap d'aquests sistemes té comprensió general; només excel·leix en la tasca específica per a la qual ha estat entrenat.
Pregunta 3
Quin tipus d'aprenentatge es fa servir quan tenim dades etiquetades?
Quan disposem de dades etiquetades —és a dir, cada exemple d'entrenament té associada la resposta correcta— s'utilitza l'aprenentatge supervisat. El model aprèn a mapear les entrades a les sortides correctes minimitzant l'error respecte a les etiquetes. Els dos grans subproblemes de l'aprenentatge supervisat són la classificació (sortida discreta, p. ex. "gat" o "gos") i la regressió (sortida contínua, p. ex. el preu d'un habitatge). Exemples d'algoritmes supervisats: regressió logística, SVM, arbres de decisió i xarxes neuronals.
Pregunta 4
Quina és la diferència entre un conjunt d'entrenament i un conjunt de test?
El conjunt d'entrenament és el subconjunt de dades que s'utilitza per ajustar els paràmetres del model; el model "veu" aquestes dades durant el procés d'aprenentatge. El conjunt de test és un subconjunt reservat que el model no veu durant l'entrenament i que s'utilitza únicament per avaluar el rendiment real del model sobre dades noves. Barrejar-los o usar el test per prendre decisions de disseny invalida l'avaluació, ja que el model podria haver "memoritzat" les dades en comptes d'aprendre patrons generals. Sovint s'afegeix un tercer conjunt de validació per ajustar hiperparàmetres.
Pregunta 5
Que significa que un model pateix d'overfitting?
L'overfitting (sobreajust) es produeix quan un model aprèn massa bé els exemples d'entrenament, incloent-hi el soroll i les particularitats que no es generalitzen, i com a resultat funciona malament sobre dades noves. Intuïtivament, el model ha "memoritzat" el conjunt d'entrenament en lloc d'aprendre els patrons subjacents. Es detecta quan l'error d'entrenament és molt baix però l'error de validació o test és significativament més alt. Les tècniques per combatre'l inclouen la regularització, el dropout en xarxes neuronals, augmentar les dades d'entrenament o reduir la complexitat del model.
Pregunta 6
Quina biblioteca Python és el referent per a ML clàssic (no deep learning)?
La biblioteca de referència per a Machine Learning clàssic en Python és scikit-learn (sklearn). Ofereix implementacions consistents i ben documentades d'algoritmes de classificació, regressió, clustering i reducció de dimensionalitat, així com utilitats per a la preprocesament de dades, la validació creuada i la cerca d'hiperparàmetres. La seva API unificada (fit / predict / transform) facilita combinar i comparar models. És àmpliament usada tant en recerca com en entorns de producció per a problemes on el deep learning no és necessari.
Pregunta 7
Quin framework domina la recerca en deep learning el 2025?
PyTorch (desenvolupat per Meta AI) és el framework dominant en recerca de deep learning el 2025, havent superat TensorFlow en adopció acadèmica i en molts entorns de producció. La seva definició dinàmica del graf computacional (eager execution per defecte) el fa especialment intuïtiu per a la depuració i l'experimentació. L'ecosistema al voltant de PyTorch —incloent-hi Hugging Face Transformers, PyTorch Lightning i TorchVision— ha accelerat molt la seva adopció. TensorFlow/Keras continua sent rellevant, sobretot en producció amb TensorFlow Serving i TensorFlow Lite.
Pregunta 8
Que és una neurona artificial i en quin concepte biològic s'inspira?
Una neurona artificial és la unitat bàsica d'una xarxa neuronal. Rep múltiples entrades numèriques, les pondera (multiplica per uns pesos apresos), suma els resultats, hi afegeix un biaix i aplica una funció d'activació per produir una sortida. S'inspira en la neurona biològica: les dendrites reben senyals d'altres neurones, el soma integra els senyals, i si la suma supera un llindar, l'axó transmet un impuls elèctric a les neurones següents. La clau de l'aprenentatge és ajustar els pesos (connexions sinàptiques) mitjançant algoritmes com la retropropagació.
Pregunta 9
Quin algoritme de clustering assigna cada punt al centroide més proper?
L'algoritme K-means assigna cada punt de dades al centroide (centre de clúster) més proper en termes de distància euclidiana. El procés és iteratiu: s'inicialitzen K centroides aleatòriament, s'assigna cada punt al centroide més proper, es recalcula la posició de cada centroide com la mitjana dels seus punts assignats, i es repeteix fins a convergència. Cal especificar el nombre de clústers K a priori, cosa que és un dels seus principals inconvenients. És eficient i escalable, però sensible a outliers i a la inicialització dels centroides.
Pregunta 10
Que significa AUC-ROC i per a quin tipus de problema s'utilitza?
AUC-ROC significa "Area Under the Curve — Receiver Operating Characteristic". La corba ROC representa el rendiment d'un classificador binari en tots els llindars de decisió possibles, representant la taxa de vertaders positius (sensibilitat) davant la taxa de falsos positius (1-especificitat). L'AUC és l'àrea sota aquesta corba: un valor d'1.0 indica un classificador perfecte i 0.5 indica un classificador aleatori. S'utilitza per a problemes de classificació binària, especialment quan les classes estan desequilibrades (p. ex. detecció de malalties o frau), ja que no depèn d'un llindar fix.
Pregunta 11
En quin context s'utilitza la reducció de dimensionalitat amb PCA?
La reducció de dimensionalitat amb PCA (Principal Component Analysis) s'utilitza quan les dades tenen moltes variables (dimensions) i es vol reduir-ne el nombre preservant la màxima variància possible. Contextos típics: visualització de dades d'alta dimensió en 2D o 3D, eliminació de soroll i de correlacions entre variables, acceleració de models posteriors reduint el nombre de característiques, i mitigació de la "maledicció de la dimensionalitat". PCA transforma les variables originals en components principals ortogonals ordenats per variància explicada, permetent descartar els de menor contribució.
Pregunta 12
Quina diferència hi ha entre una CNN i una RNN en termes de tipus de dades que processen?
Les CNN (Xarxes Neuronals Convolucionals) estan especialitzades en dades amb estructura espacial local, principalment imatges i vídeo. Les capes convolucionals detecten patrons locals (vores, textures, formes) independentment de la seva posició en la imatge, gràcies a l'ús de filtres compartits. Les RNN (Xarxes Neuronals Recurrents), en canvi, estan dissenyades per processar seqüències de dades amb dependències temporals, com ara text, àudio o sèries temporals. Mantenen un estat ocult que actua com a memòria dels passos anteriors. Avui les arquitectures Transformer han substituït moltes aplicacions de les RNN en processament de text.
Pregunta 13
Que és el transfer learning i per quin motiu és tan important a la pràctica?
El transfer learning (aprenentatge per transferència) consisteix a agafar un model preentrenat en una tasca o conjunt de dades gran i reutilitzar-lo (totalment o parcialment) per a una tasca diferent però relacionada. El model ja ha après representacions útils (p. ex. detecció de vores i formes per a imatges, o semàntica del llenguatge per a text) que es poden adaptar amb molt menys dades i temps computacional. És fonamental a la pràctica perquè entrenar models des de zero requereix enormes quantitats de dades i potència de càlcul. Exemples paradigmàtics: fine-tuning de ResNet per classificació d'imatges mèdiques, o fine-tuning de BERT per anàlisi de sentiment.
Pregunta 14
Que és la regularització L2 (Ridge) i com ajuda a evitar l'overfitting?
La regularització L2, també coneguda com a Ridge, afegeix a la funció de pèrdua un terme de penalització proporcional a la suma dels quadrats dels pesos del model. Això força el procés d'optimització a mantenir els pesos petits, limitant la complexitat efectiva del model. En distribuir la importància entre moltes característiques en lloc de concentrar-la en poques, el model es torna menys sensible al soroll dels dades d'entrenament i generalitza millor. A diferència de L1 (Lasso), L2 no tendeix a fer els pesos exactament zero, sinó que els redueix contínuament. El grau de regularització es controla amb el hiperparàmetre lambda (λ).
Pregunta 15
Quina és la funció d'activació més usada a les capes ocultes de les xarxes neuronals modernes?
La funció d'activació més usada a les capes ocultes de les xarxes neuronals modernes és ReLU (Rectified Linear Unit), definida com f(x) = max(0, x). La seva popularitat es deu a diverses avantatges: és computacionalment molt eficient, no pateix el problema del gradient que s'esvaeix (vanishing gradient) per a valors positius com ho fan sigmoid o tanh, i afavoreix l'esparsitat de les activacions. Variants com Leaky ReLU, ELU o GELU (usada en Transformers) aborden la limitació de ReLU de "morir" quan les activacions cauen a zero per a totes les entrades.
Pregunta 16
Que és el gradient descent i quin paper té en l'entrenament de models?
El gradient descent (descens del gradient) és l'algoritme d'optimització fonamental per entrenar models de Machine Learning. L'objectiu és minimitzar la funció de pèrdua, que mesura com d'equivocades són les prediccions del model. El gradient indica la direcció de màxim creixement de la pèrdua; el descens del gradient actualitza els paràmetres (pesos) en la direcció oposada al gradient, amb una magnitud controlada per la taxa d'aprenentatge (learning rate). S'aplica de forma iterativa sobre lots de dades (mini-batches en SGD). Variants modernes com Adam o AdamW adapten la taxa d'aprenentatge per a cada paràmetre i acceleren la convergència.
Pregunta 17
Pots explicar intuïtivament com funciona un arbre de decisió?
Un arbre de decisió pren decisions seqüencials formulant preguntes sobre les característiques de les dades, com si fos un joc de "vint preguntes". A cada node intern es fa una pregunta sobre una característica (p. ex. "l'edat és major de 30?") i es segueix una branca diferent segons la resposta. Les fulles de l'arbre representen la predicció final. L'algorisme aprèn quines preguntes fer i en quin ordre triant les divisions que millor separen les classes, maximitzant mesures com el guany d'informació o la reducció de la impuresa de Gini. Són molt interpretables però tendeixen a l'overfitting si no es poda o limita la profunditat.
Pregunta 18
Que és un hiperparàmetre? Posa'n dos exemples concrets.
Un hiperparàmetre és un paràmetre de configuració del model o del procés d'entrenament que es fixa abans de l'entrenament i no s'aprèn a partir de les dades (a diferència dels paràmetres del model, com els pesos). Els hiperparàmetres controlen l'estructura del model o el comportament de l'optimitzador. Dos exemples concrets: (1) la taxa d'aprenentatge (learning rate) en el descens del gradient, que determina la magnitud dels passos d'actualització dels pesos; (2) el nombre de capes i neurones en una xarxa neuronal, que defineix la capacitat del model. La cerca de bons hiperparàmetres es fa habitualment amb validació creuada, grid search o cerca bayesiana.
Pregunta 19
Que és el concept drift en un model en producció?
El concept drift és el fenomen pel qual la relació estadística entre les entrades i la variable objectiu canvia al llarg del temps en un entorn de producció, fent que un model anteriorment ben calibrat degradi el seu rendiment progressivament. Per exemple, un model de detecció de frau bancari entrenat el 2022 pot perdre efectivitat si els defraudadors canvien les seves tàctiques el 2025. Es pot detectar monitoritzant mètriques de rendiment i distributions de dades al llarg del temps. Les solucions inclouen reentrenar el model periòdicament, usar tècniques d'aprenentatge en línia o implementar sistemes de monitoratge que alertin quan la distribució de dades canvia significativament.
Pregunta 20
Si haguessis de construir un sistema per detectar frau bancari, quin tipus d'aprenentatge escolliríes i per quin motiu?
Per a la detecció de frau bancari escolliria principalment aprenentatge supervisat, ja que les entitats financeres disposen de registres historics de transaccions etiquetades com a fraudulentes o legítimes. Algoritmes com Gradient Boosting (XGBoost, LightGBM) o xarxes neuronals ofereixen excel·lent rendiment en aquesta tasca. Un repte clau és el fort desequilibri de classes (les transaccions fraudulentes són una minoria), que cal gestionar amb tècniques com SMOTE, pesos de classe o l'optimització de l'AUC-ROC en lloc de l'accuracy. Complementàriament, l'aprenentatge no supervisat (p. ex. detecció d'anomalies amb Isolation Forest o autoencoders) és útil per detectar patrons de frau nous no vistos prèviament en l'entrenament.