Fusión de sensores
Objetivo
Fusionar acelerómetro y giroscopio de smartphones para reconocer actividades.
Dataset real
- Dataset:
uci_har - Fuente: UCI
- Referencia: https://archive.ics.uci.edu/dataset/240/human+activity+recognition+using+smartphones
- Licencia/condiciones: CC BY 4.0
- Uso: los datos se descargan desde la fuente; no hay ejemplos sintéticos ni archivos inventados.
Señales inerciales reales de 30 participantes.
Fundamento matemático
f=[f_acc(x_acc); f_gyro(x_gyro)]; y=head(f).
Protocolo experimental
- Descargar y verificar la procedencia.
- Conservar o crear una partición reproducible.
- Ajustar transformaciones únicamente con
train. - Seleccionar modelo e hiperparámetros usando
validation. - Evaluar
testuna sola vez tras congelar la decisión. - Comparar con la línea base: Acelerómetro solo, giroscopio solo y regresión logística.
- Guardar configuración, entorno, métricas, predicciones, gráficos y modelo.
Ejecución
python labs/12_multimodal_fusion/train.py --quick
python labs/12_multimodal_fusion/train.py --config improved
Preparar únicamente el dataset:
python -m neural_labs.cli dataset --lab 12_multimodal_fusion
Inferencia y exportación:
neural-labs predict --lab 12_multimodal_fusion --run latest --input sample.json
neural-labs export --lab 12_multimodal_fusion --run latest --format onnx --verify
Métricas
accuracy, balanced_accuracy, macro_f1.
Archivos
notebook.ipynb: recorrido completo y ejecutable.notebook_student.ipynb: actividades evaluables sin soluciones.notebook_solution.ipynb: resolución docente y pruebas de referencia.train.py: interfaz de terminal que usa el mismo código del cuaderno.configs/baseline.yaml: configuración base.configs/improved.yaml: configuración ampliada.data/dataset.yaml: procedencia, licencia y política de partición.
Ejercicios
- Cambiar una decisión experimental y justificarla.
- Analizar errores por clase o segmento.
- Comparar costo, precisión y latencia.
- Documentar sesgos, limitaciones y usos no recomendados.
Material formativo v3
theory.md: fundamento, protocolo y riesgos de interpretación.experiments.md: hipótesis, variables controladas y tabla multi-semilla.assessment.md: preguntas y rúbrica de evaluación.lesson.yaml: resultados de aprendizaje, prerrequisitos y entregables.
Comandos profesionales
neural-labs quality --lab 12_multimodal_fusion --quick
neural-labs benchmark --lab 12_multimodal_fusion --quick --split-seed 42 --training-seeds 41 42 43
neural-labs leaderboard
Sellado del experimento
La partición se controla con split_seed; la inicialización y el entrenamiento con training_seed. El conjunto test se abre solamente después de seleccionar el checkpoint mediante validación y escribir experiment.lock.json.
🧠 Teoría
Teoría — Fusión de sensores
Propósito
Fusionar acelerómetro y giroscopio de smartphones para reconocer actividades.
Idea central
Este laboratorio estudia fusión de ramas de sensores usando uci_har, un dataset público real procedente de UCI. La intuición es que cada sensor aporta una vista parcial y complementaria del mismo fenómeno físico: el acelerómetro captura la aceleración lineal (útil para distinguir estar de pie de caminar), mientras que el giroscopio mide la velocidad angular (útil para detectar giros y cambios de orientación). Ninguna modalidad basta por sí sola para separar todas las actividades, pero combinadas reducen la ambigüedad.
La fusión tardía (late fusion) que se practica aquí procesa cada modalidad con su propia rama (una red que aprende una representación específica del sensor) y luego concatena esas representaciones antes de la cabeza de clasificación. La alternativa de fusión temprana (early fusion) concatenaría las señales crudas desde el inicio. La fusión tardía suele ser más robusta cuando las modalidades tienen escalas, ruidos y estructuras temporales distintas, porque permite que cada rama normalice y abstraiga su señal antes de mezclarlas. El aprendizaje de estas representaciones intermedias es el mecanismo central del deep learning aplicado a datos heterogéneos.
El laboratorio también invita a comparar frente a líneas base de una sola modalidad y frente a un modelo lineal. Esto responde la pregunta de si la fusión realmente agrega valor o si una sola rama ya resuelve la tarea. Medir la ganancia marginal de cada sensor es tan importante como alcanzar buena exactitud global.
Fundamento matemático
La entrada se divide en dos vistas de la misma ventana temporal: x_acc (canales del acelerómetro) y x_gyro (canales del giroscopio). Cada rama aplica una función parametrizada que produce un vector de características (embedding):
h_acc = f_acc(x_acc; θ_acc), h_gyro = f_gyro(x_gyro; θ_gyro)
La fusión concatena ambas representaciones y la cabeza produce los logits de las K actividades:
f = [h_acc ; h_gyro], z = head(f; θ_head), ŷ = softmax(z)
donde la probabilidad de la clase k es ŷ_k = e^{z_k} / Σⱼ e^{z_j}. El entrenamiento minimiza la entropía cruzada sobre N ejemplos:
ℒ(θ) = −(1/N) Σᵢ Σₖ y_{i,k} · log ŷ_{i,k}
con y_{i,k} la codificación one-hot de la etiqueta verdadera. La actualización de todos los parámetros θ = {θ_acc, θ_gyro, θ_head} sigue el descenso de gradiente estocástico:
θ ← θ − η · ∇_θ ℒ
El gradiente ∇_θ ℒ se propaga por retropropagación a través de la cabeza y luego se reparte por las dos ramas. Aquí aparece la clave de la fusión: el error retrocede por ambos caminos simultáneamente, de modo que cada rama recibe una señal de aprendizaje condicionada por lo que la otra ya aporta. Por eso el modelo puede aprender a que el giroscopio se especialice en los patrones que el acelerómetro no discrimina bien. La formulación conecta cuatro elementos: representación de entrada (las dos vistas), función del modelo (ramas + cabeza), función de pérdida (entropía cruzada) y regla de actualización (SGD con ∇). El notebook muestra las dimensiones de los tensores y conserva la misma implementación que el script de terminal.
Protocolo científico
- Ajustar transformaciones, vocabulario, normalización y selección de variables solo con
train. - Usar
validationpara arquitectura, hiperparámetros, checkpoint y umbrales. - Evaluar
testuna vez, después de congelar las decisiones. - Comparar contra Acelerómetro solo, giroscopio solo y regresión logística.
- Reportar variación entre semillas e intervalos de confianza; una métrica puntual no expresa toda la incertidumbre.
Riesgos de interpretación
Señales inerciales reales de 30 participantes.
El dataset refleja su proceso de recolección y no representa automáticamente otros períodos, países o poblaciones. Una asociación predictiva no demuestra causalidad.
Pregunta crítica
¿Qué modalidad explica cada actividad?
🔗 Referencias
Las referencias apuntan a las obras; no se reproduce su contenido, la redacción es original.
- Goodfellow, Bengio & Courville — Deep Learning (MIT Press, 2016) — marco general sobre aprendizaje de representaciones y por qué las capas intermedias abstraen mejor los datos heterogéneos.
- Baltrušaitis, Ahuja & Morency (2019), Multimodal Machine Learning: A Survey and Taxonomy, IEEE TPAMI — taxonomía de estrategias de fusión (temprana, tardía, híbrida) y de los desafíos de alinear modalidades.
- Radford et al. (2021), Learning Transferable Visual Models from Natural Language Supervision (CLIP), ICML — ejemplo influyente de aprender un espacio compartido entre modalidades distintas.
- Fuente del dataset: https://archive.ics.uci.edu/dataset/240/human+activity+recognition+using+smartphones
- Consulte
docs/experiment-protocol.md,docs/reproducibility.mdydocs/ethics-and-licenses.md.
🔬 Experimentos
Plan de experimentos — Fusión de sensores
Hipótesis principal
Fusionar acelerómetro y giroscopio de smartphones para reconocer actividades. La hipótesis debe aceptarse o rechazarse comparando el modelo con Acelerómetro solo, giroscopio solo y regresión logística y no solo observando que la pérdida disminuye.
Experimento mínimo
- Ejecutar
baseline.yamlcon tres semillas. - Ejecutar
improved.yamlcon las mismas semillas. - Mantener fija la partición de datos dentro de cada semilla.
- Elegir la variante con
validation. - Comparar la variante elegida contra la línea base en
test. - Revisar intervalos de confianza, errores y costo computacional.
Experimento específico
Ablacionar acelerómetro y giroscopio.
Variables controladas
- Dataset y política de partición.
- Semillas declaradas.
- Presupuesto de épocas y criterio de parada.
- Métrica de selección:
accuracyo la especificada en la configuración. - Hardware y versiones registradas en
environment.json.
Tabla que debe completarse
| Variante | Semilla | Métrica validation | Métrica test | Tiempo | Parámetros | Observación |
|---|---|---|---|---|---|---|
| baseline | 41 | |||||
| baseline | 42 | |||||
| baseline | 43 | |||||
| improved | 41 | |||||
| improved | 42 | |||||
| improved | 43 |
Criterio de conclusión
La conclusión debe declarar magnitud de la mejora, incertidumbre, costo adicional, errores relevantes y condiciones bajo las cuales el resultado podría no repetirse.
📝 Evaluación
Evaluación — Fusión de sensores
Evidencias obligatorias
- Dataset preparado y auditoría sin solapamientos.
- Notebook ejecutado sin celdas omitidas.
- Línea base y modelo neuronal comparados.
- Resultados de al menos tres semillas o justificación del costo.
- Análisis de errores y limitaciones.
- Model card actualizada.
Preguntas
- Explique con sus palabras: f=[f_acc(x_acc); f_gyro(x_gyro)]; y=head(f).
- ¿Qué información del dataset solo puede utilizarse durante entrenamiento?
- ¿Por qué la línea base Acelerómetro solo, giroscopio solo y regresión logística es una comparación razonable?
- ¿Qué modalidad explica cada actividad?
- ¿Qué cambiaría antes de usar este modelo fuera del laboratorio?
Rúbrica
| Criterio | Insuficiente | Adecuado | Excelente | Peso |
|---|---|---|---|---|
| Integridad de datos | mezcla particiones | separación correcta | auditoría, hashes y justificación | 20% |
| Implementación | no ejecuta | entrena y evalúa | código claro, reusable y probado | 20% |
| Diseño experimental | resultado aislado | comparación controlada | multi-semilla e incertidumbre | 20% |
| Análisis | repite métricas | interpreta errores | identifica sesgos, límites y costo | 25% |
| Comunicación | incompleta | reporte entendible | model card y conclusiones verificables | 15% |
La aprobación exige al menos 70% y cero errores críticos de fuga de datos.