Skip to content

14. Glosario

Definiciones de todos los términos técnicos usados en la guía, escritas para que un desarrollador sin experiencia previa en Machine Learning pueda seguir el proyecto. Ordenadas alfabéticamente. Los términos con página propia enlazan a ella.

A

Accuracy (exactitud). Proporción de predicciones correctas sobre el total. Engañosa con clases desbalanceadas. Ver métricas.

AdamW. Optimizador que actualiza los pesos con un learning rate adaptativo por parámetro y weight decay desacoplado. El que usa el proyecto. Ver optimizadores.

Argmax. La posición (índice) del valor máximo en un vector. En clasificación, argmax de las probabilidades = la clase predicha.

Augmentation (aumento de datos). Generar variaciones sintéticas de las imágenes (rotarlas, voltearlas, ajustar brillo) para tener más "datos" y hacer el modelo más robusto. Ver transforms.

B

Backbone. La parte principal de una red (las capas convolucionales que extraen features), sin la cabeza de clasificación. En transfer learning se conserva del modelo preentrenado.

Backpropagation (retropropagación). El algoritmo que calcula cuánto contribuyó cada peso al error, para saber cómo ajustarlo. Ver backprop.

Batch (lote). Grupo de imágenes procesadas juntas antes de actualizar los pesos. Su tamaño es batch_size.

Batch Normalization. Técnica que normaliza las activaciones de cada capa por batch, estabilizando y acelerando el entrenamiento. Se comporta distinto en modo train vs eval.

Baseline. Aquí: un pipeline de deep learning funcional cuyo fin es comparar arquitecturas rápido. No es un modelo simple.

C

Cabeza (head/classifier). La última capa de la red que produce las probabilidades por clase. En transfer learning se reemplaza para las 9 clases.

Checkpoint. Un archivo con los pesos guardados del modelo (.pth). best.pth = el mejor; last.pth = el último.

Clase minoritaria. Una clase con pocas imágenes relativas. Aquí se deriva dinámicamente (max_count/count > 4.0). Ver dataset.

CNN (Red Neuronal Convolucional). Red especializada en imágenes que usa filtros deslizantes. Ver CNN.

Cross-Entropy (entropía cruzada). Función de pérdida para clasificación; penaliza estar seguro y equivocado. Ver cross-entropy.

cuDNN. Librería de NVIDIA para acelerar redes en GPU. Su modo determinista se activa para reproducibilidad, a costa de algo de velocidad.

Cuantización. Convertir pesos de float32 a Int8 (8 bits) para reducir tamaño y acelerar la inferencia en móvil. Ver cuantización.

D

DataLoader. Componente de PyTorch que agrupa muestras del Dataset en batches, en paralelo con varios workers.

Dataset (en PyTorch). Objeto que entrega una muestra (imagen, etiqueta) dado un índice. Aquí: CornDataset.

Deduplicación. Eliminar imágenes repetidas. Aquí por hash SHA-256 (exacta). Evita fuga de datos.

Determinismo / Reproducibilidad. Que ejecutar dos veces dé el mismo resultado. Se logra fijando semillas y modos deterministas.

Dropout. Apagar aleatoriamente neuronas en entrenamiento para evitar sobreajuste. Se desactiva en evaluación.

E

Early stopping. Quedarse con el mejor punto del entrenamiento antes de sobreajustar. Aquí, implícito por selección de best.pth. Ver early stopping.

Edge AI. Ejecutar IA en el dispositivo (teléfono) en vez de en la nube. Objetivo del proyecto (offline).

Época (epoch). Una pasada completa por todo el dataset de entrenamiento.

EXIF. Metadatos de una foto, incluida su orientación. Se corrige al cargar para que las fotos de teléfono no entren rotadas.

F

F1-score. Media armónica de precision y recall; equilibra ambos. Ver métricas.

Factory (patrón). Un objeto que crea otros objetos según un parámetro. Aquí, CornTransformFactory crea el pipeline según la etapa.

Fine-tuning. Ajustar un modelo preentrenado a una tarea nueva con learning rate bajo. Forma de transfer learning.

Focal Loss. Variante de cross-entropy que enfoca en ejemplos difíciles. No usada aquí, pero alternativa relevante.

Fuga de datos (data leakage). Cuando información del test se filtra al train (p.ej. una imagen duplicada), inflando las métricas.

G

Grad-CAM. Técnica de explicabilidad que muestra dónde miró la red usando gradientes de la última capa convolucional. Ver Grad-CAM.

Gradiente. Vector que indica la dirección de máximo aumento de la pérdida; el entrenamiento se mueve en dirección contraria.

GIL. Global Interpreter Lock de Python; limita el paralelismo con hilos, salvo en operaciones de I/O o C que lo liberan (como hashlib/PIL). Por eso el indexado usa hilos.

H

Heatmap (mapa de calor). Imagen coloreada que indica intensidad; aquí, qué regiones importan para la predicción.

Hiperparámetro. Valor que eliges tú antes de entrenar (LR, batch, épocas), a diferencia de los pesos que el modelo aprende. Ver hiperparámetros.

Hook (PyTorch). Función que se engancha a una capa/tensor para capturar activaciones o gradientes. Grad-CAM los usa.

Hue (tono). El "color puro" (rojo, verde...) independiente de brillo/saturación. Crítico aquí: el diagnóstico de deficiencias depende de él, por eso el augmentation casi no lo toca.

I

ImageNet. Dataset masivo (1.2M imágenes, 1000 clases) con el que se preentrenan los modelos. Fuente del transfer learning.

Inferencia. Usar un modelo entrenado para predecir sobre datos nuevos. Aquí: predict.py.

IoU (Intersection over Union). Métrica de solape entre dos regiones (intersección/unión). Usada para medir estabilidad de LIME.

L

LIME. Técnica de explicabilidad que perturba superpíxeles y ajusta un modelo lineal local. Ver LIME.

Learning rate (tasa de aprendizaje). Tamaño del paso al actualizar pesos. El hiperparámetro más influyente.

Logits. Salidas crudas del modelo antes de softmax. CrossEntropyLoss los espera directamente.

M

Macro-F1. Promedio simple del F1 de cada clase (peso igual). Métrica principal del proyecto por el desbalance. Ver métricas.

Manifiesto. Un CSV que lista image_path, label, environment por fila. Los splits son manifiestos.

Matriz de confusión. Tabla real×predicho que muestra qué clases se confunden.

Modal. Servicio de cómputo en la nube usado para entrenar en GPU. Ver scripts.

N

Normalización (de imagen). Restar la media y dividir por la desviación estándar (de ImageNet) para que los valores de píxel estén en el rango que el modelo espera.

num_workers. Nº de procesos paralelos que cargan datos. Afecta velocidad, no precisión.

O

Optimizador. Algoritmo que actualiza los pesos con los gradientes. Aquí, AdamW. Ver optimizadores.

Overfitting (sobreajuste). Cuando el modelo memoriza el train y generaliza mal. Se combate con regularización.

P

Pesos (weights). Los parámetros que el modelo aprende. Se guardan en el state_dict.

Pipeline. Secuencia de pasos de procesamiento. Aquí, tanto los de transforms como los de entrenamiento.

Precision / Recall. Precision: de lo que predije X, cuánto acerté. Recall: de los X reales, cuántos detecté. Ver métricas.

Preentrenado (pretrained). Un modelo con pesos ya aprendidos en ImageNet, punto de partida del transfer learning.

R

Registry (patrón). Tabla nombre→fábrica que desacopla quién pide un modelo de cómo se construye. Aquí, MODEL_REGISTRY. Ver registry.

Regularización. Técnicas para evitar el sobreajuste (weight decay, dropout, augmentation). Ver regularización.

Resize. Redimensionar una imagen a un tamaño fijo. Aquí, directo (distorsiona el aspecto a propósito).

Run / run_id. Una ejecución de entrenamiento, identificada por timestamp, guardada en su propio directorio.

S

Sampler. Componente que decide en qué orden/frecuencia el DataLoader toma muestras. WeightedRandomSampler balancea clases.

Semilla (seed). Número que inicializa el generador aleatorio para reproducibilidad. Aquí, 42.

SHAP. Técnica de explicabilidad basada en teoría de juegos. Mencionada, no implementada.

SHA-256. Función hash que produce una huella única del contenido de un archivo. Usada para deduplicar.

Softmax. Convierte logits en probabilidades que suman 1.

state_dict. Diccionario con los pesos del modelo. No guarda los nombres de clase (viven en summary.json).

Stratified split (split estratificado). División que preserva la proporción de cada grupo (aquí, clase+entorno) en train/val/test.

Superpíxel. Región contigua de píxeles similares. LIME segmenta la imagen en superpíxeles para explicar.

summary.json. Metadato maestro de un run: mapeo de clases, hiperparámetros, métricas. Fuente de verdad al cargar un checkpoint.

T

target_size. Resolución de entrada (alto, ancho). Default (224, 224). Ver configuración.

Tensor. Array multidimensional (la estructura de datos de PyTorch). Una imagen es un tensor [canales, alto, ancho].

TFLite (TensorFlow Lite). Formato ligero para correr modelos en móvil. Objetivo de despliegue (Int8).

timm. Librería con cientos de arquitecturas de visión que torchvision no incluye. Ver dependencias.

Transfer learning. Reutilizar un modelo preentrenado para una tarea nueva. Ver transfer learning.

Train/serve skew. Diferencia entre cómo se procesa una imagen al entrenar vs al predecir. Se evita reutilizando el mismo código de carga/transforms.

V

Validación (val). Conjunto usado durante el entrenamiento para seleccionar el mejor modelo, sin tocar el test.

ViT (Vision Transformer). Arquitectura basada en atención en vez de convoluciones. FastViT es un híbrido ligero incluido.

W

Weight decay. Regularización que penaliza pesos grandes (L2). Aquí, 1e-4. Ver regularización.

WeightedRandomSampler. Sampler de PyTorch que muestrea inversamente a la frecuencia de clase, balanceando. Ver sampler.

Worker. Proceso del DataLoader que carga y transforma imágenes en paralelo.