Ejemplo: Implementación de una red neuronal multicapa en C++ para clasificación de dígitos manuscritos.
- Datos generales
- Requisitos e instalación
- Investigación teórica
- Diseño e implementación
- Ejecución
- Análisis del rendimiento
- Trabajo en equipo
- Conclusiones
- Bibliografía
- Licencia
-
Tema: Redes Neuronales en AI
-
Grupo:
group_3_custom_name
-
Integrantes:
- Alumno A – 209900001 (Responsable de investigación teórica)
- Alumno B – 209900002 (Desarrollo de la arquitectura)
- Alumno C – 209900003 (Implementación del modelo)
- Alumno D – 209900004 (Pruebas y benchmarking)
- Alumno E – 209900005 (Documentación y demo)
Nota: Reemplazar nombres y roles reales.
-
Compilador: GCC 11 o superior
-
Dependencias:
- CMake 3.18+
- Eigen 3.4
- [Otra librería opcional]
-
Instalación:
git clone https://github.com/EJEMPLO/proyecto-final.git cd proyecto-final mkdir build && cd build cmake .. make
Ejemplo de repositorio y comandos, ajustar según proyecto.
-
Objetivo: Explorar fundamentos y arquitecturas de redes neuronales.
-
Contenido de ejemplo:
- Historia y evolución de las NNs.
- Principales arquitecturas: MLP, CNN, RNN.
- Algoritmos de entrenamiento: backpropagation, optimizadores.
-
Patrones de diseño: ejemplo: Factory para capas, Strategy para optimizadores.
-
Estructura de carpetas (ejemplo):
proyecto-final/ ├── src/ │ ├── layers/ │ ├── optimizers/ │ └── main.cpp ├── tests/ └── docs/
-
Cómo ejecutar:
./build/neural_net_demo input.csv output.csv
-
Casos de prueba:
- Test unitario de capa densa.
- Test de función de activación ReLU.
- Test de convergencia en dataset de ejemplo.
Personalizar rutas, comandos y casos reales.
Demo de ejemplo: Video/demo alojado en
docs/demo.mp4
. Pasos:
- Preparar datos de entrenamiento (formato CSV).
- Ejecutar comando de entrenamiento.
- Evaluar resultados con script de validación.
-
Métricas de ejemplo:
- Iteraciones: 1000 épocas.
- Tiempo total de entrenamiento: 2m30s.
- Precisión final: 92.5%.
-
Ventajas/Desventajas:
-
- Código ligero y dependencias mínimas.
- – Sin paralelización, rendimiento limitado.
-
-
Mejoras futuras:
- Uso de BLAS para multiplicaciones (Justificación).
- Paralelizar entrenamiento por lotes (Justificación).
Tarea | Miembro | Rol |
---|---|---|
Investigación teórica | Alumno A | Documentar bases teóricas |
Diseño de la arquitectura | Alumno B | UML y esquemas de clases |
Implementación del modelo | Alumno C | Código C++ de la NN |
Pruebas y benchmarking | Alumno D | Generación de métricas |
Documentación y demo | Alumno E | Tutorial y video demo |
Actualizar con tareas y nombres reales.
- Logros: Implementar NN desde cero, validar en dataset de ejemplo.
- Evaluación: Calidad y rendimiento adecuados para propósito académico.
- Aprendizajes: Profundización en backpropagation y optimización.
- Recomendaciones: Escalar a datasets más grandes y optimizar memoria.
Actualizar con bibliografia utilizada, al menos 4 referencias bibliograficas y usando formato IEEE de referencias bibliograficas.
Este proyecto usa la licencia MIT. Ver LICENSE para detalles.