Un kit de herramientas educativo para explorar los fundamentos de la IA — desde el entrenamiento de redes neuronales en MATLAB hasta la detección de objetos en tiempo real con Python y YOLO.
- Visión General
- ¿Qué Encontrarás Aquí?
- ¿Para Quién es Este Proyecto?
- Guía de Inicio Rápido
- Guías de los Componentes
- Solución de Problemas
- Cómo Contribuir
- Recursos Adicionales
- Licencia
¡Bienvenido a AI - Backpropagation! Este proyecto es más que solo código — es una puerta de entrada para entender la inteligencia artificial.
El Problema que Resolvemos: Muchos principiantes enfrentan una brecha entre la teoría abstracta de la IA y su implementación práctica. Este repositorio cierra esa brecha con código claro que desmitifica conceptos complejos.
Nuestra Misión: Hacer la IA accesible, cercana y empoderadora para aprendices de todos los niveles.
Este repositorio contiene tres componentes educativos:
| Componente | Tecnología | Lo Que Aprenderás |
|---|---|---|
| 🧠 Redes Neuronales | MATLAB | Comprensión visual de cómo se construyen y entrenan las redes neuronales |
| ⚙️ Backpropagation | MATLAB | El algoritmo fundamental que permite a las redes aprender de los datos |
| 👁️ Detección de Objetos | Python + YOLO | Visión por computadora en tiempo real para detectar objetos en imágenes y video |
- Estudiantes de Secundaria: ¿Curioso por la IA? Comienza aquí con proyectos prácticos y visuales
- Principiantes en ML: Conecta conceptos teóricos con implementación real
- Desarrolladores Curiosos: Introducción rápida a redes neuronales en MATLAB e implementación de YOLO en Python
Antes de comenzar, asegúrate de tener instalado lo siguiente:
| Software | Versión | Propósito | Enlace de Descarga |
|---|---|---|---|
| Git | Última | Clonar este repositorio | git-scm.com |
| MATLAB | R2020a+ | Entrenamiento de redes neuronales | mathworks.com |
| Python | 3.8+ | Backpropagation y YOLO | python.org |
La terminal (también llamada Command Prompt en Windows, Terminal en macOS/Linux) te permite dar instrucciones a tu computadora escribiendo comandos.
- Windows: Presiona
Win + R, escribecmd, presiona Enter - macOS: Presiona
Cmd + Espacio, escribeterminal, presiona Enter - Linux: Presiona
Ctrl + Alt + T
Copia y pega este comando en tu terminal:
git clone https://github.com/vans13/AI---Backpropagation.git¿Qué hace este comando? git clone descarga todos los archivos del proyecto a tu computadora.
Alternativa: Si esto falla, descarga manualmente el archivo ZIP desde GitHub:
- Ve a la página del repositorio
- Haz clic en el botón verde
<> Code - Selecciona
Download ZIP - Extrae el archivo ZIP
cd AI---Backpropagation¿Qué hace este comando? Cambia tu directorio actual a la carpeta del proyecto.
✅ ¡Todo listo! El código ahora está en tu computadora.
Concepto Clave: MATLAB es como una calculadora súper poderosa que nos permite ver visualmente cómo las redes neuronales aprenden. Perfecto para principiantes porque abstrae las matemáticas complejas y se enfoca en la estructura del modelo y su rendimiento.
-
Abre MATLAB en tu computadora
-
Navega a la carpeta del proyecto usando la barra de direcciones de MATLAB o la ventana de comandos:
cd AI---Backpropagation/matlab_models
-
Verifica los Toolboxes Requeridos — Escribe
veren la consola y busca:- ✓ Neural Network Toolbox
- ✓ Deep Learning Toolbox
¿Falta algún toolbox? Ve a la pestaña
HOME→Add-Ons→Get Add-Ons, busca el toolbox e instálalo.
-
Abre el script principal:
App_Mariposas.mlapp -
Ejecuta el código:
- Haz clic en el botón Run en el editor de MATLAB, O
- Escribe en la consola:
## Usa la aplicación .mlapp para poder entrenar y testear el modelo App_Mariposas.mlapp
-
Observa los Resultados: MATLAB generará ventanas de visualización:
- Gráfico de Rendimiento: Muestra cómo el error disminuye con cada época de entrenamiento
- Matriz de Confusión: Tabla visual que muestra la precisión de clasificación (diagonal fuerte = buen rendimiento)
¡La mejor manera de aprender es experimentando! Intenta modificar estos parámetros en .mlapp:
hiddenLayerSize = 10; % Prueba 5, 20 o 50 — ¿más neuronas siempre es mejor?
learningRate = 0.01; % Prueba 0.1 o 0.001 — ¿qué pasa con la velocidad de entrenamiento?💡 Consejo: ¡Haz un cambio a la vez para entender su efecto!
Concepto Clave: Imagina que estás aprendiendo a lanzar una pelota a una canasta. Cada vez que fallas, tu cerebro calcula qué hiciste mal (ángulo, fuerza) y ajusta tu próximo lanzamiento. Backpropagation es el algoritmo matemático que hace exactamente esto para las redes neuronales — calcula los errores de predicción y los propaga hacia atrás a través de la red para ajustar las conexiones y "aprender".
-
Ejecuta el script principal:
App_Ent_Backpropagation.mlappApp_Ent_Backpropagation.mlapp
-
Observa el Proceso de Aprendizaje:
- El script genera un gráfico mostrando cómo la pérdida (error) disminuye durante las épocas de entrenamiento
- La precisión final del modelo se imprime en la consola
- ¡Ver la curva descender = observar el aprendizaje de la red!
Concepto Clave: YOLO (You Only Look Once) es un modelo de IA increíblemente rápido y eficiente que puede "ver" a través de una cámara o imagen y decirte qué objetos hay y dónde están — ¡todo en una fracción de segundo! A diferencia de otros métodos, YOLO mira la imagen completa una sola vez para hacer sus predicciones, de ahí su nombre y velocidad.
Esta es la configuración más compleja, pero seguir estos pasos cuidadosamente asegurará que todo funcione correctamente.
-
Navega a la carpeta de YOLO:
cd RedYolov8 -
Crea un Entorno Virtual (práctica recomendada):
Un entorno virtual es como una "caja de arena" — las librerías instaladas aquí no afectarán otros proyectos de Python.
python -m venv venv
-
Activa el Entorno Virtual:
Debes activar este entorno cada vez que trabajes en el proyecto. Verás
(venv)aparecer al inicio de tu línea de terminal.-
Windows:
venv\Scripts\activate
-
macOS/Linux:
source venv/bin/activate
-
-
Instala las Dependencias:
Con el entorno activado, instala las librerías requeridas:
pip install torch torchvision
pip install ultralytics pip install opencv-python pip install pillow
¿Qué son estas?
torch: El motor de aprendizaje profundoultralytics: Proporciona la implementación de YOLO que usaremosopencv-python: Para procesamiento de video e imágenespillow: Para manipulación de imágenes en la interfaz gráfica
Nota:
tkinterviene incluido con Python por defecto, no necesitas instalarlo.
Esta implementación incluye una interfaz gráfica (GUI) que hace la detección mucho más intuitiva:
python PrediccionYolo.pyUsar la Interfaz Gráfica
Seleccionar Modelo: En la interfaz, elige el modelo YOLOv8 que deseas usar:
yolov8n.pt - Nano (más rápido, menor precisión) yolov8s.pt - Small (equilibrado) yolov8m.pt - Medium yolov8l.pt - Large yolov8x.pt - Extra Large (más lento, mayor precisión)
Cargar Modelo: Haz clic en "Cargar Modelo" y espera a que se cargue Seleccionar Archivo: Haz clic en "Seleccionar" para elegir una imagen o video Ejecutar Detección: Presiona "Ejecutar Detección" Ver Resultados: Para imágenes: Los objetos detectados se mostrarán en el panel izquierdo. Pasa el cursor sobre ellos para ver detalles Para videos: La detección se ejecutará en tiempo real frame por frame, mostrando un resumen al finalizar
Nota sobre el Logo: La aplicación intenta cargar logo_unicundi.png. Si no lo tienes, simplemente aparecerá una advertencia en consola pero la aplicación funcionará normalmente.
Error: git clone falla o da error de autenticación
Causa: Problema de red o configuración de Git.
Solución: Descarga manualmente:
- Ve a la página del repositorio en GitHub
- Haz clic en el botón verde
<> Code - Selecciona
Download ZIP - Extrae el archivo ZIP en tu computadora
Error: Undefined function or variable 'nombre_de_funcion'
Causa: MATLAB no puede encontrar el archivo porque no estás en la carpeta correcta.
Solución:
- Verifica tu directorio actual:
pwden la consola de MATLAB - Navega a la carpeta correcta:
cd ruta/a/matlab_models
Error: Mensaje diciendo que se requiere un "Toolbox"
Causa: Falta el Neural Network Toolbox o Deep Learning Toolbox.
Solución:
- En MATLAB, ve a la pestaña
HOME→Add-Ons→Get Add-Ons - Busca el toolbox requerido por nombre
- Instálalo
Error: ModuleNotFoundError: No module named 'torch' (o 'cv2', 'PIL')
Causa: Las librerías necesarias no están instaladas, o el entorno virtual no está activado.
Solución:
- Asegúrate de que tu entorno virtual esté activado (deberías ver
(venv)en la terminal) - Si no está activado, actívalo primero
- Luego ejecuta:
pip install torch torchvision ultralytics opencv-python pillowError: _tkinter.TclError o problemas con la interfaz gráfica
Causa: Tkinter no está instalado o configurado correctamente.
Solución:
Windows/macOS: Tkinter viene con Python. Reinstala Python desde python.org Linux (Ubuntu/Debian):
sudo apt-get install python3-tkLinux (Fedora):
sudo dnf install python3-tkinterError: CUDA out of memory
Causa: El modelo es demasiado grande para la memoria de tu GPU.
Solución: En la interfaz, selecciona un modelo más pequeño como yolov8n.pt o yolov8s.pt antes de cargar.
Problema: La detección con video es muy lenta
Causa: El procesamiento en tiempo real consume muchos recursos. Soluciones:Usa el modelo más pequeño: yolov8n.pt Cierra otras aplicaciones que consuman recursos Si tienes GPU NVIDIA, asegúrate de tener CUDA instalado para aceleración por hardware
Advertencia: "Logo no cargado ('logo_unicundi.png')"
Causa: El archivo del logo no está en la carpeta del proyecto. Solución: Esto es solo una advertencia. La aplicación funcionará perfectamente sin el logo. Si deseas añadirlo, coloca un archivo PNG llamado logo_unicundi.png en la misma carpeta que PrediccionYolo.py.¡Las contribuciones son el corazón del código abierto y son muy bienvenidas! ¿Encontraste un error? ¿Tienes una idea? ¿Quieres mejorar la documentación? Cómo Contribuir
Haz Fork de este repositorio (haz clic en el botón "Fork" en la esquina superior derecha) Crea una rama para tu característica:
git checkout -b feature/CaracteristicaAsombrosaHaz commit de tus cambios:
git commit -m 'Agregar alguna CaracteristicaAsombrosa'Sube tu rama:
git push origin feature/CaracteristicaAsombrosaAbre un Pull Request para revisión
** Ideas para Contribuir **
📊 Agregar más ejemplos o conjuntos de datos 📝 Mejorar la documentación o añadir explicaciones 🌍 Traducir el README a otros idiomas ⚡ Optimizar el código existente 🐛 Reportar bugs a través de Issues
¿Quieres aprender más? Aquí tienes recursos excelentes para continuar tu viaje en IA: Redes Neuronales
3Blue1Brown - Neural Networks — Explicaciones visuales e intuitivas (¡altamente recomendado!) Google's ML Crash Course — Curso gratuito y práctico
YOLO y Visión por Computadora
Ultralytics YOLOv8 Docs — Documentación oficial PyImageSearch — Tutoriales de visión por computadora
MATLAB
MATLAB Onramp — Tutorial interactivo gratuito
Este proyecto está distribuido bajo la Licencia MIT. En términos sencillos, eres libre de:
✅ Usar el código para cualquier propósito (incluyendo uso comercial) ✅ Modificar el código como desees ✅ Distribuir el código
Consulta el archivo LICENSE para más detalles.
Este proyecto se construye sobre los hombros de gigantes:
Ultralytics — Por su increíble implementación de YOLOv8 MathWorks — Por proporcionar MATLAB para educación e investigación Comunidad Open Source de ML — Por compartir conocimiento e impulsar la IA
Autor: vans13 Repositorio: AI---Backpropagation
¿Necesitas Ayuda? La mejor manera de obtener ayuda es abrir un Issue en este repositorio. ¡Esto permite que otros con el mismo problema puedan encontrar la solución!