Análisis completo del entrenamiento cnn_lstm_seq_full_20251214_041519.
Note
Modelo Secuencial: CNN para extracción de características + LSTM bidireccional para modelado de contexto temporal multi-epoch. Input: secuencias de 11 epochs consecutivas.
| Métrica | Test Set | Mejor Validación |
|---|---|---|
| Accuracy | 80.04% | - |
| Cohen's Kappa | 0.721 | 0.702 |
| F1 Macro | 73.19% | 75.85% |
| F1 Weighted | 79.65% | - |
| Tiempo | 316 min | 291 epochs |
Important
Kappa 0.72 = Acuerdo "substancial" según Landis & Koch. Mejor resultado de todos los modelos entrenados. La mejora respecto a CNN1D (0.68) se atribuye a la combinación de arquitectura híbrida CNN+LSTM y contexto multi-epoch.
- Mejor rendimiento general: Kappa 0.72 supera a todos los modelos anteriores
- Contexto multi-epoch funciona: Procesar secuencias de 11 epochs aprovecha transiciones entre etapas
- Buena generalización: Val → Test gap mínimo en Kappa (~2.7%), consistente
- Convergencia temprana: Mejor modelo en epoch 144, early stopping funcionó correctamente
- Arquitectura efectiva:
- CNN: 3 bloques (32→64→128 filtros) para extracción de features por epoch
- LSTM Bidireccional: 2 capas (64→32 unidades) para contexto temporal
- Feature dim: 128 para representación compacta
- N1 sigue siendo el estadio más difícil: A pesar de las mejoras globales, N1 muestra confusión significativa con W y N2. Esto es inherente a su naturaleza transicional.
- Tiempo de entrenamiento: 316 min, más lento que otros modelos
- Dataset secuencial reducido: 65,814 secuencias vs 133,504 epochs individuales
| Stage | Observación |
|---|---|
| W (Wake) | Bien clasificado, pocas confusiones |
| N1 | Más difícil - confusión con W y N2, inherente a su naturaleza transicional |
| N2 | Buen rendimiento, algunas confusiones con N1/N3 en bordes |
| N3 | Excelente, patrones de onda delta muy distintivos |
| REM | Bien clasificado, ligera confusión con N2 |
Note
N1 representa solo ~5-8% del tiempo de sueño y es un estadio de transición breve. Incluso expertos humanos tienen desacuerdo significativo en N1 (inter-scorer kappa ~0.5 para N1 específicamente).
Observaciones del historial:
| Época | Val Loss | Val Accuracy | Val Kappa | Val F1 Macro | Nota |
|---|---|---|---|---|---|
| 3-30 | Alta varianza | 65-82% | 0.46-0.68 | 0.58-0.74 | Warmup y exploración |
| 33-90 | ~0.58-0.80 | ~73-82% | ~0.53-0.66 | ~0.64-0.74 | Convergencia inicial |
| 114 | 0.695 | 75.9% | 0.624 | 0.716 | Mejora significativa |
| 135 | 0.634 | 78.4% | 0.676 | 0.743 | Cerca del mejor |
| 144 | 0.831 | 73.4% | 0.702 | 0.759 | Mejor F1 Macro |
| 150-294 | ~0.56-0.80 | ~70-82% | ~0.62-0.67 | ~0.71-0.76 | Fluctuación |
Note
El mejor modelo se guardó en epoch 144 basado en val_f1_macro (evaluación cada 3 epochs via SeqSleepMetricsCallback). Las columnas val_kappa y val_f1_macro se registran cada 3 epochs, mientras que val_loss/val_accuracy se registran en cada epoch.
| Modelo | Arquitectura | Kappa | F1 Macro | Tiempo | Enfoque |
|---|---|---|---|---|---|
| LSTM Unidireccional | 96 units | 0.530 | 58.6% | 202 min | Single-epoch |
| LSTM Bidireccional | 96×2 units | 0.521 | 58.2% | 372 min | Single-epoch |
| LSTM Bi + Attention | 96×2 + attn | 0.651 | 68.1% | 200 min | Single-epoch |
| CNN1D Baseline | 3 bloques res | 0.680 | 70.83% | 105 min | Single-epoch |
| CNN-LSTM Seq | CNN + BiLSTM | 0.721 | 73.2% | 316 min | Multi-epoch |
| DeepSleepNet | CNN + BiLSTM | ~0.76 | - | - | Multi-epoch |
| Inter-scorer humano | - | 0.75-0.85 | - | - | Gold standard |
Tip
El modelo alcanza ~96% del rendimiento humano (0.72/0.75), el mejor resultado hasta ahora. El enfoque multi-epoch es clave.
| Aspecto | Single-Epoch (CNN1D) | Multi-Epoch (CNN-LSTM) | Mejora |
|---|---|---|---|
| Kappa | 0.680 | 0.721 | +6.0% |
| F1 Macro | 70.8% | 73.2% | +3.4% |
| Accuracy | 76.9% | 80.0% | +4.0% |
| Contexto | 30 segundos | 5.5 minutos (11 epochs × 30s) | 11x |
Important
Hallazgo clave: La arquitectura híbrida CNN-LSTM con contexto multi-epoch logra el mejor rendimiento. La CNN extrae features por epoch mientras la BiLSTM modela transiciones temporales. Se requeriría un ablation study para cuantificar la contribución individual de cada componente.
{
"execution_mode": "full",
"seq_length": 11, # Secuencias de 11 epochs consecutivas
"seq_stride_train": 2, # Stride para train
"seq_stride_val": 2, # Stride para validación
"seq_stride_test": 11, # Sin overlap en test
"cnn_filters": [32, 64, 128], # 3 bloques CNN
"cnn_kernel_sizes": [5, 5, 3], # Tamaños de kernel
"feature_dim": 128, # Dimensión de features
"lstm_units": [64, 32], # 2 capas LSTM
"bidirectional": True,
"dropout_rate": 0.3,
"learning_rate_initial": 3e-4,
"warmup_epochs": 5,
"batch_size": 64,
"effective_batch_size": 128, # 2x T4 GPUs
"epochs": 300,
"early_stopping_patience": 50,
"class_weight_clip": 1.5,
"streaming": True, # TFRecords en streaming
}Dataset:
- Train: 65,814 secuencias
- Val: 11,313 secuencias
- Test: 2,686 secuencias
- Split: 70/15/15 por sujeto (sin data leakage)
- Normalización: z-score por canal
- Canales: 4 (EEG Fpz-Cz, EEG Pz-Oz, EOG horizontal, EMG submental)
-
Transiciones entre etapas: Las reglas AASM consideran el contexto previo. Por ejemplo, REM después de NREM tiene patrones diferentes que REM aislado.
-
Patrones de micro-arquitectura: Los ciclos de sueño (~90 min) tienen estructura predecible. El modelo puede aprender estas regularidades.
-
Reducción de ambigüedad: Epochs ambiguos (N1↔W, N1↔N2) se desambiguan con contexto temporal.
-
Robustez a artefactos: Artefactos transitorios afectan epochs individuales, pero el contexto ayuda a compensar.
- Usar como modelo principal para análisis offline
- Comparar por clase para identificar mejoras específicas
-
Mecanismo de atención: Añadir atención temporal entre epochs
- Potencial: +3-5% Kappa
- Implementación: Attention layer después de BiLSTM
-
Aumentar seq_length: Probar 15-21 epochs para capturar ciclos más largos
- Trade-off: Mayor memoria, potencial overfitting
-
Ensemble con CNN1D: Voting entre modelos single y multi-epoch
- Potencial: +2-3% Kappa
-
Optimización de hiperparámetros: Bayesian optimization para arquitectura
- Feature dim, LSTM units, dropout
| Aspecto | Resultado |
|---|---|
| Entrenamiento | Exitoso (291 epochs, early stopping, estable) |
| Rendimiento | Excelente (Kappa 0.72), mejor modelo hasta ahora |
| Mejora vs single-epoch | +6% en Kappa vs CNN1D, +10% vs LSTM con atención |
| Próximo paso | Añadir atención temporal, optimizar hiperparámetros |
Hallazgo principal: La arquitectura híbrida CNN-LSTM con contexto multi-epoch logra Kappa 0.72, acercándose al rendimiento humano (~96% del gold standard). La CNN extrae features locales por epoch, mientras la BiLSTM modela las transiciones temporales entre epochs.
Implicación práctica: Para sleep staging, siempre considerar arquitecturas que capturen contexto temporal. El overhead computacional se justifica con la mejora significativa en rendimiento.

