105 lines
3.7 KiB
Markdown
105 lines
3.7 KiB
Markdown
|
|
# Resultados de Ajuste de Hiperparámetros DocTR
|
|||
|
|
|
|||
|
|
**Fecha de Ajuste:** 2026-01-19
|
|||
|
|
**Plataforma:** NVIDIA RTX 3060 Laptop GPU
|
|||
|
|
**Muestras:** 64
|
|||
|
|
**Páginas de Prueba:** 5-10 (primer documento)
|
|||
|
|
|
|||
|
|
### ¿Por Qué Solo 5 Páginas?
|
|||
|
|
|
|||
|
|
Usamos solo 5 páginas (páginas 5-10) para el ajuste de hiperparámetros porque:
|
|||
|
|
|
|||
|
|
1. **Velocidad**: 64 pruebas × 5 páginas = 320 evaluaciones de página. Con 45 páginas, serían 2,880 evaluaciones (~9x más tiempo)
|
|||
|
|
2. **Eficiencia de recursos**: Cada prueba toma ~2-20 segundos en GPU
|
|||
|
|
|
|||
|
|
**Riesgo de Sobreajuste**: El ajuste de hiperparámetros en un subconjunto pequeño PUEDE causar sobreajuste. Nuestros resultados confirman esto:
|
|||
|
|
- Subconjunto de ajuste: **38% mejora** (7.43% CER)
|
|||
|
|
- Dataset completo: **0% mejora** (12.07% CER)
|
|||
|
|
|
|||
|
|
La falta total de mejora en el dataset completo indica sobreajuste severo a las páginas 5-10, combinado con limitaciones a nivel de modelo (manejo de diacríticos, estructura de líneas) que los hiperparámetros no pueden corregir.
|
|||
|
|
|
|||
|
|
## Evaluación del Dataset Completo (45 páginas)
|
|||
|
|
|
|||
|
|
| Métrica | Base | Ajustado | Mejora |
|
|||
|
|
|---------|------|----------|--------|
|
|||
|
|
| **CER** | 12.06% | 12.07% | **0%** |
|
|||
|
|
| **WER** | 42.01% | 42.26% | **0%** |
|
|||
|
|
| Tiempo/Página | 0.33s | 0.34s | - |
|
|||
|
|
|
|||
|
|
> **Nota:** El ajuste no generalizó al dataset completo. Los problemas de DocTR parecen ser a nivel de modelo (diacríticos, estructura de líneas).
|
|||
|
|
|
|||
|
|
## Resultados del Subconjunto de Ajuste (páginas 5-10)
|
|||
|
|
|
|||
|
|
| Métrica | Base | Ajustado | Mejora |
|
|||
|
|
|---------|------|----------|--------|
|
|||
|
|
| **CER** | 12.06% | **7.43%** | **38%** |
|
|||
|
|
| **WER** | 42.01% | **35.23%** | **16%** |
|
|||
|
|
|
|||
|
|
> Nota: Las mejoras en el subconjunto de ajuste no se transfirieron al dataset completo.
|
|||
|
|
|
|||
|
|
## Mejor Configuración Encontrada
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"assume_straight_pages": true,
|
|||
|
|
"straighten_pages": false,
|
|||
|
|
"preserve_aspect_ratio": false,
|
|||
|
|
"symmetric_pad": false,
|
|||
|
|
"disable_page_orientation": true,
|
|||
|
|
"disable_crop_orientation": false,
|
|||
|
|
"resolve_lines": true,
|
|||
|
|
"resolve_blocks": false,
|
|||
|
|
"paragraph_break": 0.0977
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Hallazgos Clave
|
|||
|
|
|
|||
|
|
1. **straighten_pages: false** - ¡Crítico! Configurarlo en true causa ~79% CER (catastrófico)
|
|||
|
|
2. **assume_straight_pages: true** - Funciona bien con escaneos de documentos rectos
|
|||
|
|
3. **resolve_lines: true** - Ayuda a mantener la estructura de líneas
|
|||
|
|
4. **disable_page_orientation: true** - Evita rotación innecesaria
|
|||
|
|
|
|||
|
|
## Impacto de Parámetros
|
|||
|
|
|
|||
|
|
Parámetros que mejoraron la precisión:
|
|||
|
|
- `straighten_pages=False` absolutamente crítico
|
|||
|
|
- `assume_straight_pages=True` en los mejores resultados
|
|||
|
|
- `resolve_lines=True` mantiene la estructura del texto
|
|||
|
|
|
|||
|
|
Parámetros que perjudicaron la precisión:
|
|||
|
|
- `straighten_pages=True` catastróficamente malo (~79% CER)
|
|||
|
|
- `resolve_blocks=True` ligeramente peor que False
|
|||
|
|
|
|||
|
|
## Limitaciones Conocidas
|
|||
|
|
|
|||
|
|
Incluso con ajuste, DocTR todavía tiene problemas:
|
|||
|
|
- Omite diacríticos (tildes) - probablemente problema a nivel de modelo
|
|||
|
|
- Todavía tiene mayor WER que PaddleOCR debido a problemas de estructura
|
|||
|
|
|
|||
|
|
## Evaluación del Dataset Completo
|
|||
|
|
|
|||
|
|
**Estado:** Completado
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST http://localhost:8003/evaluate_full \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{
|
|||
|
|
"pdf_folder": "/app/dataset",
|
|||
|
|
"assume_straight_pages": true,
|
|||
|
|
"straighten_pages": false,
|
|||
|
|
"preserve_aspect_ratio": false,
|
|||
|
|
"symmetric_pad": false,
|
|||
|
|
"disable_page_orientation": true,
|
|||
|
|
"disable_crop_orientation": false,
|
|||
|
|
"resolve_lines": true,
|
|||
|
|
"resolve_blocks": false,
|
|||
|
|
"paragraph_break": 0.0977,
|
|||
|
|
"save_output": true
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Resultado:** CER 12.07%, WER 42.26%, 0.34s/página (sin mejora sobre la base)
|
|||
|
|
|
|||
|
|
**Conclusión:** Los problemas de precisión de DocTR son a nivel de modelo, no ajustables por hiperparámetros.
|