11. Sistema RAG Educativo
Esta guía te enseñará a usar el asistente educativo basado en RAG (Retrieval-Augmented Generation) para aprender sobre Máquinas de Boltzmann Restringidas y conceptos relacionados.
Objetivo del Módulo
El sistema RAG educativo te permite:
🎓 Aprender sobre RBMs de forma interactiva
📚 Consultar papers científicos automáticamente
💬 Chat con IA especializada en física estadística
🔍 Búsqueda semántica en literatura científica
📖 Citas y referencias automáticas
📤 Cargar tus propios PDFs para análisis
¿Qué es RAG?
Definición
RAG (Retrieval-Augmented Generation) es un sistema que:
Recupera información relevante de una base de conocimiento
Aumenta el contexto del LLM con esa información
Genera respuestas basadas en fuentes confiables
Arquitectura
Tu Pregunta
↓
[Embedding] → Búsqueda Vectorial
↓
Base de Conocimiento (ChromaDB)
↓
Top-K Documentos Relevantes
↓
[LLM: Llama 3.3 70B] + Contexto
↓
Respuesta con Citas
Acceso al Módulo
En el sidebar, click en:
🎓 Educación → 🎓 Aprende sobre RBMs
Base de Conocimiento
Papers Incluidos
El sistema incluye 13 papers científicos fundamentales:
Fundamentos de RBM:
Hinton (2002) - Training Products of Experts by Minimizing Contrastive Divergence
Hinton (2010) - A Practical Guide to Training Restricted Boltzmann Machines
Fischer & Igel (2012) - An Introduction to Restricted Boltzmann Machines
Deep Learning:
Hinton & Salakhutdinov (2006) - Reducing the Dimensionality of Data with Neural Networks
Salakhutdinov (2009) - Deep Boltzmann Machines
Bengio (2013) - Better Mixing via Deep Representations
Aplicaciones:
Salakhutdinov (2007) - Restricted Boltzmann Machines for Collaborative Filtering
Larochelle (2008) - Classification using Discriminative RBMs
Modelos Relacionados:
Ackley (1985) - A Learning Algorithm for Boltzmann Machines
Montúfar (2011) - Universal Approximation Depth and Errors
Goodfellow (2014) - Generative Adversarial Networks
Kingma (2014) - Auto-Encoding Variational Bayes
Cargar Nuevos Papers
[📤 Cargar Nuevo PDF]
Formatos: PDF
Tamaño máximo: 50 MB
Archivo: mi_paper_rbm.pdf
[⬆️ Subir y Procesar]
Procesando...
✓ PDF extraído (45 páginas)
✓ Texto dividido en chunks
✓ Embeddings generados
✓ Agregado a base de conocimiento
Listo para consultar ✓
Usar el Chat Educativo
Interfaz del Chat
╔══════════════════════════════════════╗
║ 🎓 Asistente Educativo RBM ║
╠══════════════════════════════════════╣
║ ║
║ Haz preguntas sobre: ║
║ • Máquinas de Boltzmann ║
║ • Contrastive Divergence ║
║ • Deep Learning ║
║ • Aplicaciones en finanzas ║
║ ║
║ Escribe tu pregunta abajo... ║
║ ║
╚══════════════════════════════════════╝
Tu pregunta: _
Hacer una Pregunta
Ejemplo 1: Pregunta Básica
Tú: ¿Qué es una Máquina de Boltzmann Restringida?
🤖 Asistente:
Una Máquina de Boltzmann Restringida (RBM) es un modelo
generativo estocástico que consiste en dos capas de
unidades: una capa visible y una capa oculta. La
"restricción" significa que no hay conexiones dentro de
cada capa, solo entre capas.
Características clave:
1. **Arquitectura bipartita**: Unidades visibles (v) y
ocultas (h) sin conexiones intra-capa
2. **Función de energía**:
E(v,h) = -∑ᵢ aᵢvᵢ - ∑ⱼ bⱼhⱼ - ∑ᵢⱼ vᵢWᵢⱼhⱼ
3. **Entrenamiento**: Usa Contrastive Divergence (CD-k)
para aproximar el gradiente de log-verosimilitud
📚 Fuentes:
• Hinton (2010) - A Practical Guide to Training RBMs
• Fischer & Igel (2012) - Introduction to RBMs
¿Quieres saber más sobre algún aspecto específico?
Ejemplo 2: Pregunta Técnica
Tú: ¿Cómo funciona Contrastive Divergence?
🤖 Asistente:
Contrastive Divergence (CD-k) es un algoritmo de
aprendizaje para RBMs propuesto por Hinton (2002).
Aproxima el gradiente de la log-verosimilitud mediante
un proceso de muestreo truncado.
**Algoritmo CD-1:**
1. Inicializar v⁰ con datos de entrenamiento
2. Calcular p(h|v⁰) y muestrear h⁰
3. Calcular p(v|h⁰) y muestrear v¹
4. Calcular p(h|v¹) para obtener h¹
5. Actualizar pesos: ΔW ∝ ⟨v⁰h⁰⟩ - ⟨v¹h¹⟩
**Ventajas:**
• Mucho más rápido que MCMC completo
• Funciona bien en práctica (k=1 suele ser suficiente)
• Permite entrenamiento de redes profundas
**Limitaciones:**
• Es una aproximación (no gradiente exacto)
• Puede tener problemas con modos múltiples
📚 Fuentes:
• Hinton (2002) - Training Products of Experts
• Bengio (2013) - Better Mixing via Deep Representations
¿Te gustaría ver un ejemplo de implementación?
Ejemplo 3: Aplicación Práctica
Tú: ¿Cómo puedo usar RBM para riesgo crediticio?
🤖 Asistente:
Las RBMs son excelentes para riesgo crediticio por
varias razones:
**1. Extracción de Características No Lineales:**
Las RBMs pueden aprender representaciones latentes que
capturan patrones complejos en datos financieros que
modelos lineales no detectan.
**2. Reducción de Dimensionalidad:**
Si tienes 50 variables financieras, una RBM puede
comprimirlas a 20-30 características latentes más
informativas.
**3. Detección de Anomalías:**
El error de reconstrucción de la RBM puede identificar
solicitudes atípicas o fraudulentas.
**Pipeline Recomendado:**
1. Pre-entrenar RBM con datos no etiquetados
2. Extraer activaciones de capa oculta
3. Usar como features para Random Forest/XGBoost
4. Típicamente mejora 3-5% en accuracy
**Ejemplo de Código:**
```python
# Entrenar RBM
rbm = RBM(n_hidden=100, learning_rate=0.01)
rbm.fit(X_train)
# Extraer features
X_train_rbm = rbm.transform(X_train)
X_test_rbm = rbm.transform(X_test)
# Entrenar clasificador
clf = RandomForestClassifier()
clf.fit(X_train_rbm, y_train)
```
📚 Fuentes:
• Salakhutdinov (2007) - Collaborative Filtering
• Larochelle (2008) - Discriminative RBMs
¿Necesitas ayuda con la implementación?
Preguntas Sugeridas
Conceptos Básicos
💡 Preguntas Sugeridas:
• ¿Qué es una Máquina de Boltzmann?
• ¿Cuál es la diferencia entre RBM y Autoencoder?
• ¿Qué es la función de energía en RBMs?
• ¿Cómo se calculan las probabilidades en RBMs?
• ¿Qué significa "restringida"?
Entrenamiento
💡 Preguntas Sugeridas:
• ¿Cómo entrenar una RBM?
• ¿Qué es Contrastive Divergence?
• ¿Cuántas épocas necesito?
• ¿Cómo elegir el learning rate?
• ¿Qué es Gibbs sampling?
Aplicaciones
💡 Preguntas Sugeridas:
• ¿Para qué sirven las RBMs?
• ¿Cómo usar RBM en clasificación?
• ¿RBM vs PCA para reducción dimensional?
• ¿Cómo detectar anomalías con RBM?
• ¿RBM en sistemas de recomendación?
Avanzado
💡 Preguntas Sugeridas:
• ¿Qué son las Deep Boltzmann Machines?
• ¿Cómo apilar múltiples RBMs?
• ¿Qué es persistent Contrastive Divergence?
• ¿Cómo regularizar RBMs?
• ¿RBM vs VAE vs GAN?
Características del Sistema
Búsqueda Semántica
El sistema usa embeddings para encontrar información relevante:
Tu pregunta: "problemas de convergencia en RBMs"
Búsqueda semántica encuentra:
1. Sección sobre "training difficulties" (relevancia: 0.89)
2. Párrafo sobre "divergence issues" (relevancia: 0.85)
3. Discusión de "learning rate tuning" (relevancia: 0.82)
Contexto enviado al LLM con estos fragmentos
Citas Automáticas
Todas las respuestas incluyen referencias:
📚 Fuentes citadas:
[1] Hinton, G. E. (2002). Training products of experts
by minimizing contrastive divergence. Neural
computation, 14(8), 1771-1800.
[2] Fischer, A., & Igel, C. (2012). An introduction to
restricted Boltzmann machines. In Progress in
Pattern Recognition (pp. 14-36).
Multilingüe
El sistema responde en el idioma de tu pregunta:
Pregunta en español → Respuesta en español
Question in English → Answer in English
Historial de Conversación
El chat mantiene contexto:
Tú: ¿Qué es una RBM?
🤖: [Explicación detallada]
Tú: ¿Y cómo se entrena?
🤖: [Explica entrenamiento, recordando que ya
explicó qué es una RBM]
Configuración Avanzada
Parámetros del Sistema
⚙️ Configuración RAG:
Modelo LLM: Llama 3.3 70B (Groq)
Temperatura: 0.3 (más determinista)
Top-K documentos: 6
Chunk size: 1500 caracteres
Chunk overlap: 300 caracteres
[💾 Guardar Configuración]
Ajustar Temperatura
Temperatura: [0.3]
Rango: 0.0 - 1.0
• 0.0-0.3: Respuestas precisas y consistentes
• 0.4-0.6: Balance creatividad/precisión
• 0.7-1.0: Respuestas más creativas
Casos de Uso
Caso 1: Estudiante de Física
Aprender conceptos de física estadística aplicados a ML.
Caso 2: Data Scientist
Entender implementación técnica de RBMs.
Caso 3: Investigador
Consultar literatura científica rápidamente.
Caso 4: Desarrollador
Obtener ejemplos de código y mejores prácticas.
Tips y Mejores Prácticas
✅ Haz:
Preguntas específicas y claras
Pide ejemplos de código
Solicita referencias adicionales
Usa el contexto de conversaciones previas
❌ Evita:
Preguntas muy generales
Esperar respuestas fuera del dominio (RBMs/ML)
Ignorar las citas y referencias
Preguntas sin contexto
Limitaciones
El sistema NO puede:
Ejecutar código
Acceder a internet en tiempo real
Responder sobre temas fuera de los papers cargados
Garantizar 100% de precisión (siempre verifica)
El sistema SÍ puede:
Explicar conceptos de RBMs y ML
Citar papers científicos
Proporcionar ejemplos de código
Responder preguntas técnicas detalladas
Troubleshooting
Problema: Respuesta no relevante
Solución: Reformula la pregunta más específicamente.
Problema: Sin citas
Solución: Pregunta explícitamente por referencias.
Problema: Respuesta muy técnica
Solución: Pide una explicación más simple.
Problema: Error de API
Solución: Verifica API key de Groq en configuración.
Próximos Pasos
Después de aprender:
Aplicar conocimiento: 7. Máquina de Boltzmann Restringida (RBM)
Experimentar: 8. Modelos Supervisados
Compartir: Documenta tus hallazgos
¡Disfruta aprendiendo sobre RBMs! 🎓