Metodologia Pràctica
- Introducció
- PART 1: COMENÇAR UN PROJECTE
- PART 2: SELECCIONAR I ENTRENAR MODELS
- PART 3: MILLORAR EL MODEL
- PART 4: CICLE COMPLET DE DESENVOLUPAMENT
- PART 5: TÈCNIQUES ESPECIALITZADES
- Ètica, Biaix i Justícia
- Resum dels principis clau
- Referències
Aquest document proporciona una guia de decisió pràctica per projectes de Machine Learning. Ofereix:
- Criteris de selecció d’algoritmes segons tipus de dades
- Estratègies de depuració i resolució de problemes
- Processos recomanats per diferents escenaris ML
- Guies de decisió basades en experiència pràctica
Complement: Per anàlisi matemàtica detallada amb fórmules, visualitzacions interactives i exemples de codi, consulta Guia d’aplicació i diagnòstic.
Introducció
Aplicar tècniques de machine learning amb èxit requereix més que només conèixer algoritmes. Cal saber:
- Quin algoritme triar per a cada problema
- Com interpretar els resultats dels experiments
- Què fer quan alguna cosa no funciona
Durant el desenvolupament quotidià, hauràs de prendre decisions com:
- Necessito més dades?
- El meu model és massa simple o massa complex?
- Com puc millorar el rendiment?
La bona notícia és que aplicar correctament un algoritme senzill sovint funciona millor que aplicar malament un algoritme complex.
Aquesta metodologia s’aplica tant a algoritmes clàssics (arbres de decisió, clustering, recomanadors) com a deep learning (xarxes neuronals). Els principis fonamentals són els mateixos, encara que les eines i tècniques específiques variïn.
Navegació ràpida
Per problemes específics
- 📊 Tinc dades tabulars (CSV/Excel) → Guia de selecció
- 🖼️ Treballo amb imatges/text/àudio → Guia de selecció i Transfer Learning
- 🔍 Vull fer clustering → Aprenentatge No Supervisat
- 💡 Vull fer un recomanador → Sistemes de Recomanació
- 🐛 El meu model no aprèn → Estratègies de depuració
- 📈 Necessito més dades? → Decidir si calen més dades
Per aprenentatge complet
Segueix les seccions en ordre per dominar la metodologia des dels fonaments fins a tècniques avançades.
PART 1: COMENÇAR UN PROJECTE
Procés de disseny
Segueix aquests passos:
-
Defineix els teus objectius - Quina mètrica d’error utilitzaràs? Quin valor objectiu vols assolir?
-
Crea un pipeline complet ràpidament - No perdis temps perfeccionant. Primer fes que funcioni d’extrem a extrem.
-
Identifica els coll d’ampolla - Diagnostica quines parts funcionen malament i per què.
-
Millora incrementalment - Fes canvis petits basats en el que has observat: més dades, ajustar paràmetres, canviar algoritmes…
Separació de dades: Train/Validation/Test
📝 Nota: Per detalls sobre la divisió de dades, validació creuada (K-Fold) i validació de models, consulta la Guia d’aplicació.
Abans de començar, separa les teves dades en tres conjunts:
- Entrenament (60-80%): Per entrenar el model i ajustar els pesos
- Validació (10-20%): Per ajustar hiperparàmetres i decidir quan aturar l’entrenament
- Test (10-20%): Per avaluar el rendiment final del model
Regla d’or: Mai entrenis amb dades de test. Són sagrades i només s’utilitzen al final per mesurar el rendiment real.
Conceptes clau: Underfitting i Overfitting
📝 Nota: Per una anàlisi matemàtica detallada de biaix i variància, consulta la Guia d’aplicació.
Dos problemes fonamentals que trobem sempre en machine learning:
-
Underfitting (subajust): El model és massa simple i no captura els patrons importants de les dades. Error alt tant en entrenament com en test/validació.
-
Overfitting (sobreajust): El model memoritza els exemples d’entrenament incloent el soroll, però no generalitza a dades noves. Error baix en entrenament, error alt en test/validació.
-
Model correcte: Captura els patrons reals i generalitza bé a dades noves. Error acceptable tant en entrenament com en test.
Diagnòstic ràpid:
- Error train ALT + Error test ALT → Underfitting (model massa simple)
- Error train BAIX + Error test ALT → Overfitting (model massa complex o poques dades)
- Error train BAIX + Error test BAIX → Model correcte! ✅
Mètriques de rendiment
Per què són importants?
La mètrica que escullis guiarà totes les teves decisions futures. És impossible assolir error zero perquè:
- Les dades d’entrada poden no tenir tota la informació necessària
- Només tens una quantitat finita de dades d’entrenament
- El sistema pot ser intrínsecament probabilístic
Per a triar una bona mètrica, considera què necessita l’aplicació per ser útil, segura o atractiva.
Mètriques comunes
Precisió/Error: La més bàsica, però no sempre la millor.
Precisió i Recall: Útils quan tens classes desbalancejades.
-
Precision: De les deteccions que el model ha fet, quantes són correctes? Precision=Deteccions correctesTotal de deteccions
-
Recall: De tots els casos reals, quants ha detectat el model? Recall=Deteccions correctesTotal de casos reals
Exemple: Imagina un test mèdic per una malaltia rara (1 de cada milió de persones):
- Si el model sempre diu “no té la malaltia”, té 99.9999% de precisió però és inútil
- Necessitem precision i recall per avaluar-lo correctament
F-score: Combina precision i recall en un sol número:
F=2×precision×recallprecision+recall
Cobertura: Fracció d’exemples que el model pot processar (pot refusar-se quan no està segur).
PART 2: SELECCIONAR I ENTRENAR MODELS
Models base (Baseline)
Aquesta secció es centra en aprenentatge supervisat, el cas més comú (classificació i regressió amb dades etiquetades).
📝 Nota: Si treballes amb clustering, reducció de dimensionalitat o recomanadors, consulta les seccions específiques més endavant.
Guia de selecció d’algoritme
Comença aquí si vols una resposta ràpida! Aquesta és una guia simplificada per als casos més comuns.
💡 Baseline trivial: Abans de res, prova sempre un baseline mínim (classe majoritària per classificació, mitjana per regressió) per tenir un punt de referència.
| Tipus de dades | Primera opció (comença aquí) | Segona opció (si la primera no funciona) |
|---|---|---|
| Dades tabulars (poques features, <50) | Regressió Logística / Regressió Lineal | Arbres de decisió (Random Forest, Gradient Boosting) |
| Dades tabulars (moltes features, >50) | Arbres de decisió (Random Forest, Gradient Boosting) | Xarxes neuronals (si tens moltes dades) |
| Text | TF-IDF + Regressió Logística (ràpid) | Transformer preentrenat (millor qualitat) |
| Imatges | CNN o ViT preentrenat (xarxa neuronal) | Fine-tuning amb models més grans |
| Àudio | Model preentrenat especialitzat | Fine-tuning o CNN sobre espectrogrames |
| Sèries temporals | Models estadístics clàssics (ARIMA, Prophet) | Gradient boosting amb features temporals |
Per què aquestes recomanacions?
-
Dades tabulars (<50 features): Regressió Logística/Lineal és simple, ràpid, interpretable. Si no funciona → Arbres de decisió.
-
Dades tabulars (>50 features): Arbres de decisió capturen relacions no lineals millor que regressió, i sovint superen xarxes neuronals.
-
Text: TF-IDF + Regressió és sorprenentment efectiu i ràpid (ideal per prototips). Transformers són millors però requereixen GPU.
-
Imatges/Àudio: Xarxes neuronals preentrenades SÓN la primera opció. Molt superiors a algoritmes clàssics. Sempre usa transfer learning.
-
Sèries temporals: Models estadístics clàssics són baselines ràpids i efectius. Per problemes complexos amb múltiples variables o patrons no lineals, considera xarxes recurrents (LSTM/GRU) o Transformers temporals.
Regles d’or:
- El tipus de dades determina l’algoritme: Imatges/Àudio → Xarxes neuronals SEMPRE. Text → Depèn dels recursos. Tabulars → Comença simple.
- Ordre de complexitat per dades tabulars: Regressió → Random Forest → Gradient Boosting → Neural nets
- Imatges/Text/Àudio: Sempre usa models preentrenats (transfer learning). Mai entrenis des de zero.
- Poc temps/recursos: Usa opcions ràpides de la taula (TF-IDF per text, models petits preentrenats per imatges).
Eines recomanades:
- Llibreries de ML clàssic (ex. Scikit-learn): Models basats en arbres, regressió, SVM
- Llibreries de gradient boosting (ex. XGBoost, LightGBM, CatBoost): Excel·lent per dades tabulars
- Frameworks de transformers (ex. HuggingFace): Models preentrenats per text, imatges i àudio
Començar ràpidament: Configuracions per defecte
La millor notícia per principiants: Les llibreries modernes venen amb configuracions per defecte excel·lents. No cal ajustar gaire per començar!
Models lineals (Regressió Logística/Lineal)
Avantatges: ⚡ Ràpid, 📊 Interpretable, 🎯 Excel·lent baseline
Quan passar a models més complexos: Si l’error és alt i sospites relacions no lineals → Arbres de decisió o gradient boosting
Models basats en arbres (Random Forest, Gradient Boosting)
Avantatges: 🌳 Capta relacions no lineals, 🎯 Robust a outliers, 📈 Excel·lent per dades tabulars
Consell: Comença amb els valors per defecte. Només ajusta si veus overfitting (redueix complexitat) o underfitting (augmenta complexitat).
Deep learning (xarxes neuronals)
Avantatges: 🖼️ Excel·lent per imatges/text/àudio, 🧠 Aprèn representacions complexes, 🚀 Escalable amb més dades
Regla simple: Usa optimitzadors adaptatius (Adam, AdamW) i funcions d’activació estàndard (ReLU per CNNs). Els frameworks moderns ja ho fan per defecte.
Regularització essencial:
- Early stopping: Atura l’entrenament automàticament quan la validació deixa de millorar (evita overfitting)
- Dropout (0.3-0.5): Desactiva neurones aleatòriament durant l’entrenament per millorar la generalització
Transfer Learning: Aprofita models preentrenats
Regla d’or: No sempre cal entrenament des de zero. Reutilitza models preentrenats!
Què és? Començar amb un model que ja ha après d’un gran dataset i adaptar-lo al teu problema (fine-tuning).
Per què funciona tan bé?
- El model ja ha après característiques útils (formes, colors, patrons de text, etc.)
- Necessites moltes menys dades per entrenar
- Convergeix molt més ràpid
On trobar models preentrenats:
- Hubs de models: Repositoris públics amb models de NLP, visió i àudio (ex. HuggingFace Hub)
- Repositoris oficials: Models oficials de frameworks (TensorFlow/PyTorch Hub)
Recomanació pràctica:
- Per text: Utilitza models Transformer preentrenats (BERT, GPT, RoBERTa)
- Per imatges: Utilitza CNNs o Vision Transformers preentrenats (ResNet, EfficientNet, ViT)
- Només entrena des de zero si tens un problema molt específic i milions de dades
Estratègies d’aplicació:
- Feature extraction: Congela el model preentrenat, només entrena la capa final. Útil amb poques dades (<1000 exemples).
- Fine-tuning: Descongela algunes o totes les capes i reentrena amb learning rate baix. Útil amb més dades (>5000 exemples).
- Gradual unfreezing: Primer entrena només la capa final, després descongela progressivament més capes. Evita “catastrophic forgetting”.
💡 Resum ràpid - Models base:
- Dades tabulars simples (poques features) → Regressió Logística/Lineal primer, després arbres de decisió
- Dades tabulars complexes (moltes features) → Random Forest o Gradient Boosting
- Imatges/Text/Àudio → Models preentrenats amb transfer learning
- Comença pel més simple: Baseline simple millor que model complex mal entrenat
- No reinventis la roda: Utilitza llibreries estàndard i models preentrenats
PART 3: MILLORAR EL MODEL
Decidir si calen més dades
Molts principiants proven algoritmes diferents quan sovint el problema és la quantitat o qualitat de les dades.
Diagnostic: Com decidir?
-
Comprova el rendiment en entrenament
Si l’error d’entrenament és alt:
- ❌ NO recullis més dades encara
- ✅ Augmenta la mida del model (més capes, més neurones)
- ✅ Millora l’algoritme d’aprenentatge (ajusta learning rate)
- ⚠️ Potser les dades són massa sorolloses o no tenen la informació necessària
Si l’error d’entrenament és acceptable:
- ➡️ Passa al següent pas
-
Comprova el rendiment en test
Si l’error de test és acceptable:
- 🎉 Has acabat!
Si l’error de test és molt més alt que el d’entrenament:
- ✅ Recull més dades (sovint la millor solució)
- ✅ Prova data augmentation (més ràpid que recollir dades)
- ✅ Afegeix regularització (dropout, weight decay)
- ✅ Redueix la mida del model
Data Augmentation: Augmentar artificialment les dades
Abans de recollir més dades reals, pots augmentar artificialment el teu dataset existent.
Tècniques bàsiques
Imatges: Rotacions, flips, retalls aleatoris, ajustos de color/brillantor
Text: Synonym replacement, back-translation
Àudio: Time stretching, pitch shifting, afegir soroll de fons
Tècniques avançades
Imatges:
- Mixup: Combinar dues imatges amb pesos aleatoris
- CutMix: Retalls superposats d’imatges diferents
- RandAugment: Transformacions aleatòries amb magnituds automàtiques
Text:
- Paraphrase generation: Models generatius (T5, PEGASUS) per crear variants semàntiques
Àudio:
- SpecAugment: Màscara de bandes de freqüència/temps en espectrogrames
Quan utilitzar data augmentation
- ✅ Tens poques dades (centenars o milers d’exemples)
- ✅ El model sobreajusta (gran diferència entre train i test)
- ✅ Recollir més dades és car o lent
- ❌ Ja tens milions d’exemples (l’impacte és menor)
Impacte esperat: Pot duplicar o triplicar l’efectivitat del teu dataset.
Important: Assegura’t que les dades augmentades siguin representatives del conjunt de prova.
Si decideixes recollir més dades: Quantes?
Comença amb una estratègia simple:
- Duplica la quantitat de dades que tens
- Si veus millora significativa, continua recollint més
- Si la millora és petita, potser el problema és el model, no les dades
Regla pràctica:
- Amb centenars d’exemples: Prova arribar a milers
- Amb milers: Prova arribar a desenes de milers
- Si ja tens moltes dades i no millora: El problema probablement no és la quantitat de dades
📝 Nota: Pots utilitzar learning curves per estimar quantes dades necessites: entrena amb diferents quantitats (100, 200, 400, 800…), grafica l’error vs. mida del dataset, i extrapola.
Ajustar Hiperparàmetres
Què són els hiperparàmetres?
Configuracions de l’algoritme que afecten el temps d’entrenament i la qualitat del model final.
L’hiperparàmetre més important: Learning Rate
El learning rate és el més crític. Si només pots ajustar un, ajusta aquest:
- Massa gran → L’entrenament és inestable, la loss salta
- Massa petit → L’entrenament és molt lent
- Òptim → Convergència ràpida i estable
Com trobar-lo: Comença amb 0.001 (o el valor per defecte de l’optimitzador) i ajusta:
- Si la loss no baixa → Prova 10× més gran
- Si la loss salta molt → Prova 10× més petit
Estratègia recomanada per principiants
- Comença amb valors per defecte - Els frameworks moderns tenen configuracions que funcionen bé
- Ajusta NOMÉS el learning rate si veus problemes (el més crític!)
- Ajusta la mida del model (més/menys neurones) segons underfitting/overfitting
- No perdis massa temps optimitzant - sovint més dades ajuda més que hiperparàmetres perfectes
Optimització automàtica d’hiperparàmetres
Si necessites optimitzar múltiples hiperparàmetres sistemàticament:
Grid Search: Prova totes les combinacions possibles (exhaustiu però costós)
Random Search: Mostra valors aleatòriament (més eficient, recomanat com a primer pas)
Optimització Bayesiana: Construeix un model per trobar valors òptims amb menys experiments (per ús avançat)
Eines: Llibreries especialitzades (Optuna, Ray Tune, Weights & Biases Sweeps)
Recomanació: Comença amb ajust manual per entendre els hiperparàmetres, després prova Random Search si cal.
Estratègies de depuració
Els sistemes de machine learning són difícils de depurar perquè:
- No sabem quin hauria de ser el comportament exacte
- Diferents parts del model poden compensar-se mútuament
Flowchart ràpid: “El model no aprèn”
| Símptoma | Diagnostic | Solució |
|---|---|---|
| 🔴 Error train ALT | Underfitting / Bug | → Augmenta capacitat (més neurones/capes) → Verifica learning rate (massa baix?) → Prova amb 1-10 exemples per detectar bugs |
| 🟡 Error train OK, test ALT | Overfitting | → Data augmentation → Més dades reals → Regularització (dropout, weight decay) → Early stopping |
| 🟠 Error train i test ALTS | Underfitting + Possibles problemes | → Augmenta capacitat → Verifica qualitat de dades → Comprova si hi ha bugs |
| 🔵 Loss no baixa / NaN | Problema d’optimització | → Redueix learning rate (prova 0.1×) → Verifica gradient exploding → Comprova normalització de dades |
| 🟢 Entrenar perfecte, test aleatori | Overfitting extrem / Bug avaluació | → Verifica data leakage → Comprova que train/test són diferents → Revisa preprocessament |
Tests de depuració importants
-
Visualitza el model en acció
- Imatges: Mostra les deteccions superposades
- Àudio: Escolta les mostres generades
- No et limitis a mirar només números!
-
Visualitza els pitjors errors
- Ordena per confiança i mira els errors més confiats
- Sovint revelen problemes sistemàtics amb les dades
-
Raona amb error d’entrenament vs. test
Situació Interpretació Error entrenament baix, error test alt Probablement overfitting (o error en l’avaluació) Error entrenament alt, error test alt Pot ser underfitting o un bug de software -
Ajusta un dataset molt petit
- Si no pots ajustar ni 1 exemple, hi ha un bug
- Prova amb 1-10 exemples per verificar que l’optimització funciona
-
Monitoritza l’entrenament
- Comprova que la loss baixa gradualment (si es queda constant o puja, hi ha un problema)
- Verifica que els gradients no exploten (valors NaN o Inf) ni desapareixen (loss no canvia)
- Utilitza eines de visualització (TensorBoard, Weights & Biases) per seguir mètriques en temps real
PART 4: CICLE COMPLET DE DESENVOLUPAMENT
Cicle de desenvolupament d’un projecte
Un projecte complet de Machine Learning segueix aquestes fases:
- Definir el projecte - Objectius, mètriques, criteris d’èxit
- Definir i recollir les dades - Identificar fonts, etiquetar, validar qualitat
- Entrenar el model (procés iteratiu)
- Escollir l’arquitectura (model, dades, etc.)
- Entrenar el model
- Diagnosticar (biaix, variància, anàlisi de l’error)
- Desplegar el projecte - Producció, monitoratge, manteniment
📝 Nota: Per diagnòstic detallat amb fórmules matemàtiques, consulta Guia d’aplicació i diagnòstic.
Anàlisi de l’error
Més enllà del diagnòstic de biaix i variància, l’anàlisi qualitativa dels errors és crucial per millorar el model.
Procediment recomanat:
Suposem que tenim un conjunt de validació amb 500 exemples i 100 classificacions errònies.
-
Examinar manualment les mostres mal classificades i categoritzar-les segons trets comuns
- Les categories poden solapar-se
- Si hi ha massa errors, selecciona un subconjunt aleatori
-
Identificar patrons d’errors freqüents amb gran impacte:
- Recollir més dades d’aquesta categoria
- Crear noves característiques relacionades amb aquests casos
- Implementar filtres o preprocessament específic
Quan és útil aquest mètode:
- ✅ Problemes que els humans resolen bé (ex. detecció de spam, reconeixement d’imatges)
- ❌ Problemes on els humans no tenen intuïció (ex. predir clics en anuncis)
Estratègies per afegir dades
L’enfocament centrat en les dades sovint té més impacte que canviar de model. Diversos models poden funcionar bé amb bones dades, però cap model funciona bé amb dades insuficients.
Recollida de noves dades
- Ampliar el dataset pot ser lent i costós, però és la via més directa
- Recollida dirigida: Centra’t en categories identificades en l’anàlisi d’errors
- Dades no etiquetades: Recull primer, etiqueta després segons necessitats
Augment de dades
Veure secció detallada a Data Augmentation.
Tècniques principals:
- Imatges: Rotacions, flips, retalls, ajustos de color, Mixup, CutMix, RandAugment
- Text: Synonym replacement, back-translation, paraphrase generation
- Àudio: Time stretching, pitch shifting, soroll de fons, SpecAugment
Important: Assegura’t que les dades augmentades siguin representatives del conjunt de prova.
Síntesi de dades
Generar exemples nous mitjançant entrades artificials:
- Sobretot utilitzat en visió per computador
- Exemple: Generar imatges de text amb diferents fonts per entrenar OCR
- Útil quan recollir dades reals és complicat o costós
Resum: Fes créixer el dataset intel·ligentment combinant dades reals, augmentació i síntesi segons el problema.
Desplegament i MLOps
El desplegament consisteix a implementar un servidor d’inferència que integra el model en producció.
Components clau:
-
API d’inferència
- Rep dades d’entrada (ex. imatge, text, àudio)
- Retorna prediccions del model
- Ha de garantir prediccions fiables i eficients
-
Logging i monitoratge
- Registra totes les inferències
- Monitoritza qualitat de prediccions
- Detecta degradació del model (data drift)
-
Reentrenament
- Les dades noves poden millorar el model
- Cicle de reentrenament periòdic
- Validació abans de desplegar noves versions
MLOps (Machine Learning Operations) inclou:
- Gestió de dades i models
- Control de versions (codi + dades + models)
- Monitoratge en producció
- Reentrenament automàtic
- Escalabilitat i alta disponibilitat
PART 5: TÈCNIQUES ESPECIALITZADES
Fins aquí, hem cobert els principis fonamentals que resolen el 90% dels casos reals en machine learning. Si has arribat a aquest punt, ja tens les eines per construir models efectius.
Aquesta secció presenta breument tècniques especialitzades per a problemes més específics.
⚠️ Nota per principiants: Aquestes són tècniques avançades. No cal dominar-les per començar - primer assegura’t de comprendre bé els conceptes de les seccions anteriors.
Aprenentatge No Supervisat
L’aprenentatge no supervisat treballa amb dades sense etiquetes. Els tres tipus principals:
1. Clustering (agrupar dades similars)
- Algoritmes: K-means (primera opció), DBSCAN (formes irregulars), Hierarchical (jerarquies)
- Preprocessament crític: Normalitza sempre les dades (StandardScaler, MinMaxScaler)
- Triar K: Utilitza Elbow Method, Silhouette Score, o domain knowledge
- Validació: Visualitza clusters (PCA/UMAP), analitza mètriques (Silhouette Score, Davies-Bouldin Index)
- Aplicacions: Segmentació de clients, detecció de grups naturals
2. Reducció de dimensionalitat (simplificar dades mantenint informació)
- PCA: Preprocessament, reducció de features (escull components que expliquin 95% variància)
- UMAP/t-SNE: Visualització (reduir a 2D/3D per graficar), NO per preprocessament
- Aplicacions: Visualització, preprocessament abans de supervisat
3. Detecció d’anomalies (identificar casos atípics)
- Algoritmes: Isolation Forest, One-Class SVM, Autoencoders
- Aplicacions: Detecció de frau, defectes de fabricació, intrusió
Reptes clau:
- No tens ground truth per validar
- Cal validar qualitativament i amb mètriques específiques
- Els resultats depenen molt del preprocessament
Sistemes de Recomanació
Els recomanadors tenen reptes únics que requereixen mètriques i tècniques específiques.
Tipus de recomanadors:
- Collaborative Filtering: Basats en similitud entre usuaris/ítems (ex. “usuaris com tu van gaudir de X”)
- Content-Based: Basats en característiques dels ítems (ex. “aquest té característiques similars a Y”)
- Híbrids: Combinen ambdós (millor opció en producció, ex. Netflix, Spotify)
Metodologia:
- Comença simple: Matrix Factorization (SVD, ALS) o similitud cosinus
- Mètriques específiques: NDCG@K, Precision@K, Recall@K, Coverage, Diversity (NO accuracy/MSE!)
- Validació temporal: Train/test split temporal (NO aleatori) - prediu el futur amb dades passades
- Cold Start: Estratègia híbrida per usuaris/ítems nous
- A/B testing: Imprescindible en producció (mètriques offline no capturen tot)
Problemes comuns:
- Recomanar sempre els mateixos ítems populars → Afegeix penalització per popularitat
- No funciona per usuaris nous → Estratègia híbrida o onboarding
- Mètriques bones però usuaris insatisfets → Cal A/B testing i engagement real
Casos especialitzats de dades
Dades d’alta dimensionalitat (>1000 features):
- Xarxes neuronals profundes o regressió amb regularització L1/ElasticNet
Dades multimodals (imatge+text):
- Models especialitzats (CLIP, ViLT, BLIP) o fusió de models separats
Vídeo:
- Vision Transformers temporals o CNN 3D
Text llarg (>512 tokens):
- Transformers especialitzats (Longformer, BigBird) o hierarchical transformers
Grafos (xarxes socials, molècules):
- Graph Neural Networks (GCN, GAT)
Embeddings i cerca semàntica:
- Models d’embeddings (Sentence-BERT, CLIP) + Vector databases (Pinecone, Weaviate, Chroma)
- Aplicacions: RAG (Retrieval-Augmented Generation), cerca semàntica, classificació escalable
Tècniques avançades d’entrenament
Learning rate scheduling:
- Warmup: Comença amb lr baix, augmenta gradualment (estabilitza entrenament inicial)
- Cosine annealing: Redueix lr seguint corba cosinus (millora convergència final)
Gradient clipping: Limita magnitud de gradients per prevenir explosions (essencial per Transformers/RNNs)
Fine-tuning eficient (per models molt grans):
- LoRA/QLoRA: Ajusta només una petita part dels paràmetres (menys memòria GPU)
- Útil per LLMs de 7B+ paràmetres en GPUs limitades
Normalització:
- Batch Normalization: Per CNNs (normalitza sobre batch)
- Layer Normalization: Per Transformers (normalitza sobre features, més robust)
Ètica, Biaix i Justícia
Més enllà de l’excel·lència tècnica: Desenvolupar models de machine learning comporta una responsabilitat social important. Aquesta secció complementa la metodologia tècnica anterior amb consideracions ètiques essencials que han d’estar presents en totes les fases del desenvolupament.
Els algoritmes d’aprenentatge automàtic afecten avui milions de persones. Per això, és imprescindible reflexionar sobre si els sistemes que desenvolupem són:
- raonablement justos,
- lliures de biaixos,
- i èticament acceptables.
Exemples reals de problemes
En la història de l’aprenentatge automàtic, hi ha hagut sistemes amb un nivell de biaix inacceptable. Alguns casos coneguts:
- Contractació: una eina de selecció de personal discriminava contra les dones.
- Reconeixement facial: alguns sistemes identificaven persones amb pell fosca com a delinqüents amb molta més freqüència que les de pell clara.
- Concessió de préstecs: algorismes bancaris que aprovaven crèdits de manera discriminatòria segons el subgrup social.
- Estereotips: motors de cerca que reforcen rols de gènere o exclouen col·lectius de determinades professions.
- Deepfakes: vídeos generats artificialment sense consentiment ni transparència.
- Xarxes socials: difusió de discurs d’odi o incendiari, afavorit per algorismes que optimitzen per engagement.
- Fraus i bots: ús d’IA per crear contingut fals, manipular opinions o cometre delictes financers.
Aquests casos mostren que els errors en dissenyar i desplegar sistemes d’IA poden tenir conseqüències greus i socials.
Principis generals
-
No construir sistemes amb impacte negatiu Si un projecte és clarament nociu per la societat, la decisió ètica és no fer-lo. (Molts investigadors i enginyers han rebutjat projectes tot i ser rendibles).
-
La complexitat de l’ètica L’ètica és un camp antic i complex: no hi ha una “llista curta de 5 punts” per garantir decisions correctes. El millor que podem fer és establir bones pràctiques i reflexió crítica col·lectiva.
Bones pràctiques per reduir biaix i ser més justos
-
Formar equips diversos
- Diversitat de gènere, ètnia, cultura i experiència.
- Els equips diversos són més capaços de detectar possibles problemes i d’anticipar riscos.
-
Revisar literatura i estàndards
- Consultar normatives emergents en cada sector (ex. finances, salut).
- Aplicar guies i bones pràctiques establertes.
-
Auditories de biaix abans del desplegament
- Després d’entrenar un model, avaluar el seu rendiment per subgrups (gènere, ètnia, edat, etc.).
- Identificar si hi ha discriminació sistemàtica i corregir-la abans de desplegar-lo.
-
Plans de mitigació
- Preparar estratègies de resposta en cas de problemes:
- ex. tornar a un model anterior més segur,
- Desplegar ràpidament una versió corregida.
- ex. equips de cotxes autònoms defineixen protocols clars en cas d’accidents.
-
Monitoratge després del desplegament
- Continuar supervisant l’impacte del sistema un cop en producció.
- Detectar ràpidament efectes nocius i actuar.
Impacte relatiu dels projectes
No tots els projectes tenen el mateix pes ètic:
- Exemple trivial: una xarxa neuronal que decideix quant temps torrar un cafè.
- Exemple crític: un algorisme que decideix qui rep un préstec o accés a atenció mèdica.
Per això, cal avaluar el risc social abans de desenvolupar i desplegar qualsevol sistema.
Resum
- Els sistemes de ML poden tenir un gran impacte en la societat.
- La responsabilitat dels equips és detectar, evitar i mitigar biaixos i injustícies.
- No hem de repetir errors del passat: la comunitat ha de continuar millorant en la gestió de l’ètica i la justícia en IA.
- Aquest tema és seriós, complex i crucial: el futur de la tecnologia depèn de fer-ho bé.
Resum dels principis clau
Essencials per començar (tots els tipus de ML)
- Identifica el tipus de problema - Supervisat, no supervisat o recomanació?
- Defineix objectius clars - Tria la mètrica adequada des del principi
- Comença simple - Models lineals/arbres per tabulars, models preentrenats per imatges/text
- Diagnostica amb dades - Error d’entrenament vs. test (per supervisat), mètriques específiques per altres
- Visualitza - Mira què fa el model, no només els números
- Millora incrementalment - Canvis petits basats en observacions
Per aprenentatge supervisat
- Dades tabulars → Prova regressió o arbres de decisió abans de xarxes neuronals
- “IA completa” (imatges, text, àudio) → Deep learning amb transfer learning
- Més dades sovint millora més que més complexitat
- Learning rate és l’hiperparàmetre més important (per neural networks)
- Regularització (early stopping, dropout) abans d’afegir més dades
Per aprenentatge no supervisat
- Normalitza les dades - Crucial per clustering i PCA
- No hi ha una resposta correcta - Valida qualitativament amb visualitzacions
- Elbow method i Silhouette per triar K en clustering
- K-means primer - Si no funciona, prova DBSCAN
- PCA per preprocessament, UMAP per visualització
Per sistemes de recomanació
- Comença amb Matrix Factorization (SVD) - Simple i efectiu
- Utilitza temporal split per validar, NO split aleatori
- Mètriques: NDCG@K, Precision@K (NO accuracy/MSE)
- Cold start: Necessites estratègia híbrida o onboarding
- A/B testing en producció - Les mètriques offline no ho diuen tot
Quan tinguis més experiència
- Transfer learning per defecte (deep learning) - Gairebé mai entrenis des de zero
- Les tècniques avançades són útils però no imprescindibles per començar
- Domain knowledge sovint és més valuós que algoritmes complexos
La clau de l’èxit: Aplicar correctament la metodologia bàsica amb algoritmes estàndard és millor que utilitzar tècniques complexes sense entendre-les!