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:

  1. Recupera información relevante de una base de conocimiento

  2. Aumenta el contexto del LLM con esa información

  3. 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:

  1. Hinton (2002) - Training Products of Experts by Minimizing Contrastive Divergence

  2. Hinton (2010) - A Practical Guide to Training Restricted Boltzmann Machines

  3. Fischer & Igel (2012) - An Introduction to Restricted Boltzmann Machines

Deep Learning:

  1. Hinton & Salakhutdinov (2006) - Reducing the Dimensionality of Data with Neural Networks

  2. Salakhutdinov (2009) - Deep Boltzmann Machines

  3. Bengio (2013) - Better Mixing via Deep Representations

Aplicaciones:

  1. Salakhutdinov (2007) - Restricted Boltzmann Machines for Collaborative Filtering

  2. Larochelle (2008) - Classification using Discriminative RBMs

Modelos Relacionados:

  1. Ackley (1985) - A Learning Algorithm for Boltzmann Machines

  2. Montúfar (2011) - Universal Approximation Depth and Errors

  3. Goodfellow (2014) - Generative Adversarial Networks

  4. 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:

  1. Aplicar conocimiento: 7. Máquina de Boltzmann Restringida (RBM)

  2. Experimentar: 8. Modelos Supervisados

  3. Compartir: Documenta tus hallazgos

¡Disfruta aprendiendo sobre RBMs! 🎓