🤖 4. Deep Learning
Ejemplos: CNN, RNN, Transformers.
Uso: Ideal para imágenes, texto y series temporales, especialmente con grandes datos no estructurados.
Ventajas: Poderoso para datos complejos.
Limitaciones: Exige mucha data y computación; poca interpretabilidad.
Deep Boltzman Machine (DBM)

El modelo de Deep Boltzman Machine (DBM) es un tipo de red neuronal profunda generativa que pertenece a la familia de los modelos gráficos probabilísticos. Se construye apilando múltiples Máquinas de Boltzmann Restringidas (RBMs), lo que le permite aprender representaciones jerárquicas y abstractas de los datos de entrada. Su principal objetivo es modelar la distribución de probabilidad conjunta entre un conjunto de variables observables y múltiples capas de variables latentes (ocultas).
Las DBMs son modelos no dirigidos (las conexiones entre las neuronas son simétricas y no tienen una dirección específica) y están compuestas por capas de unidades visibles (los datos de entrada) y varias capas de unidades ocultas. A diferencia de las RBMs simples que tienen una sola capa oculta, las DBMs tienen múltiples capas ocultas, lo que les permite capturar dependencias más complejas y características de alto nivel en los datos. El proceso de aprendizaje en una DBM busca ajustar los pesos de las conexiones de manera que la red asigne una alta probabilidad a los datos de entrenamiento y una baja probabilidad a los datos que no son de entrenamiento.
Las características clave de las DBMs incluyen:
- Representación Jerárquica: Cada capa oculta aprende representaciones progresivamente más abstractas de los datos. Las primeras capas pueden capturar características de bajo nivel (ej., bordes en imágenes), mientras que las capas superiores combinan estas para formar representaciones de alto nivel (ej., partes de objetos o conceptos).
- Aprendizaje No Supervisado: Las DBMs se entrenan típicamente de forma no supervisada, lo que significa que no requieren etiquetas para el entrenamiento. Esto las hace valiosas para el pre-entrenamiento de modelos profundos en conjuntos de datos grandes y sin etiquetar, donde pueden aprender características útiles que luego pueden ser utilizadas en tareas de aprendizaje supervisado (como la clasificación).
- Inferencia y Generación: Una vez entrenadas, las DBMs pueden ser utilizadas tanto para inferencia (estimar las representaciones ocultas dadas las entradas visibles) como para generación (muestrear nuevas instancias de datos a partir de la distribución aprendida del modelo).
Debido a su complejidad computacional en el entrenamiento exacto, las DBMs a menudo se entrenan utilizando un enfoque de aprendizaje codicioso por capas (entrenando RBMs individuales y apilándolas) seguido de un ajuste fino de todo el modelo utilizando algoritmos como el Contraste Divergente Aproximado (ACD).
Aprendizaje Global vs. Local:
El modelo de Máquina de Boltzmann Profunda (DBM) es un modelo de aprendizaje global.
Aspecto Global: Las DBMs construyen un modelo probabilístico unificado y global de la distribución de los datos. Los pesos de conexión en todas las capas de la red se ajustan para representar las dependencias y correlaciones en todo el espacio de entrada. No se crean modelos específicos para subconjuntos locales de datos; en cambio, el modelo aprende una representación coherente y jerárquica que se aplica a todos los puntos de datos. La función de energía (o función de coste) de la DBM se define sobre el espacio completo de variables visibles y ocultas, y el entrenamiento busca minimizar esta energía globalmente para que los datos de entrenamiento tengan una energía baja.
Impacto de la Estructura Jerárquica: Aunque la DBM aprende representaciones en diferentes niveles de abstracción (jerarquías), estas representaciones contribuyen a un entendimiento cohesivo y global de los datos. La interacción entre las capas y las unidades es parte de una estructura probabilística interconectada que busca modelar la distribución general de los datos. El proceso de inferencia y generación, aunque implica pasar información a través de las capas, se basa en los parámetros globales de la red para producir resultados consistentes y representativos de la distribución aprendida. Esto contrasta con modelos locales que podrían segmentar el espacio de entrada y construir modelos independientes para cada segmento.
Guía rápida para elegir Deep Boltzmann Machine (DBM) | ||
Características y Consideraciones | ||
Criterio | Aplica | Detalles |
---|---|---|
Fuente: Elaboración propia y principios de aprendizaje profundo |
Deep Belief Networks (DBNet)

El Deep Belief Network (DBN) es un modelo de red neuronal profunda generativa que se construye apilando múltiples Máquinas de Boltzmann Restringidas (RBMs). Fue un avance significativo en el campo del aprendizaje profundo, particularmente en la superación de los desafíos de entrenamiento de redes neuronales con muchas capas ocultas. Las DBNs son modelos probabilísticos que buscan aprender una distribución de probabilidad conjunta sobre los datos de entrada y sus representaciones latentes (ocultas).
La arquitectura de una DBN es una jerarquía de capas, donde cada capa es una RBM. La capa inferior es la capa visible (o de entrada), que recibe los datos. Las capas subsiguientes son capas ocultas, y la característica clave es que el resultado de la capa oculta de una RBM se convierte en la capa visible para la siguiente RBM en la pila. La conexión entre la capa superior más alta (que es una RBM) es no dirigida y bidireccional, mientras que las conexiones entre las capas inferiores suelen ser dirigidas (de arriba hacia abajo) en la fase generativa después del entrenamiento.
Las DBNs se caracterizan por:
-
Construcción por Capas: Se construyen apilando RBMs, donde cada RBM se entrena de forma independiente y no supervisada para aprender una representación de su entrada.
-
Pre-entrenamiento Codicioso por Capas: La innovación clave de las DBNs fue el algoritmo de pre-entrenamiento codicioso por capas. En lugar de intentar entrenar toda la red a la vez (lo que era difícil debido a problemas como los gradientes desvanecientes/explosivos y los mínimos locales), cada RBM se entrena individualmente para aprender características útiles de la entrada que recibe. La salida de la capa oculta de una RBM entrenada se utiliza como entrada para la capa visible de la siguiente RBM. Este proceso continúa hasta que se entrenan todas las capas.
-
Aprendizaje No Supervisado para Extracción de Características: La fase de pre-entrenamiento es completamente no supervisada. Las RBMs aprenden a reconstruir sus entradas, lo que les permite extraer características relevantes y de alto nivel de los datos sin necesidad de etiquetas. Esto es especialmente valioso para conjuntos de datos grandes y no etiquetados.
-
Ajuste Fino (Fine-tuning) Supervisado: Después del pre-entrenamiento no supervisado, la DBN puede ser “desenrollada” y tratada como una red neuronal feed-forward para tareas supervisadas como la clasificación. Se añade una capa de salida (ej., softmax) en la parte superior, y toda la red se ajusta utilizando algoritmos de aprendizaje supervisado como la retropropagación. El pre-entrenamiento actúa como una buena inicialización de los pesos, ayudando a que el entrenamiento supervisado converja más rápido y alcance mejores mínimos.
- Generación de Datos: Dado que son modelos generativos, las DBNs pueden aprender la distribución subyacente de los datos y, por lo tanto, pueden generar nuevas muestras de datos similares a las de entrenamiento.
Las DBNs fueron fundamentales para demostrar la viabilidad del entrenamiento de redes profundas y abrieron el camino para el resurgimiento del aprendizaje profundo.
Aprendizaje Global vs. Local:
El modelo Deep Belief Network (DBN) emplea un enfoque híbrido, pero en su fase de aprendizaje de características, se inclina hacia un aprendizaje global a través de una estrategia local y progresiva.
Aspecto Global (Objetivo Final y Representación): El objetivo general de una DBN es construir un modelo probabilístico jerárquico global de los datos. Aunque el entrenamiento se realiza capa por capa, la intención es que cada capa capture características que contribuyan a una comprensión más abstracta y completa de la distribución de los datos de entrada en su conjunto. Las características de bajo nivel aprendidas por las primeras RBMs se combinan en las capas superiores para formar representaciones más complejas y de alto nivel, que son intrínsecas a la estructura global de los datos. El modelo final, una vez que todas las RBMs están entrenadas y se aplica el ajuste fino, opera como una red unificada que mapea entradas a salidas basadas en un entendimiento global de las relaciones en los datos.
Aspecto Local (Estrategia de Entrenamiento): La fase de pre-entrenamiento codicioso por capas de las DBNs tiene un fuerte componente local. Cada RBM individual se entrena de manera local, optimizando sus propios pesos para modelar la relación entre su capa visible y su capa oculta, sin considerar explícitamente las capas más allá de sí misma en ese momento. La entrada para cada RBM superior proviene de la activación de la capa oculta de la RBM inferior ya entrenada. Este entrenamiento local y secuencial es lo que permite que las DBNs escalen a redes profundas y eviten problemas de optimización de modelos globales complejos desde cero. Sin embargo, esta “localidad” es solo en la etapa de entrenamiento por partes; el efecto acumulativo de estas optimizaciones locales es la construcción de una representación jerárquica que eventualmente se une en un modelo global cuando se realiza el ajuste fino de toda la red.
Guía rápida para elegir Deep Belief Network (DBN) | ||
Características y Consideraciones | ||
Criterio | Aplica | Detalles |
---|---|---|
Fuente: Elaboración propia y principios de aprendizaje profundo |
Stacked Auto-Enconders

Un Autoencoder Apilado (Stacked Autoencoder - SAE) es un tipo de red neuronal profunda que se construye apilando múltiples autoencoders (AE) simples. Al igual que los Autoencoders individuales, su propósito principal es el aprendizaje de características no supervisado y la reducción de dimensionalidad. La idea central es aprender representaciones compactas y de baja dimensionalidad (codificaciones) de los datos de entrada, que capturen las características más importantes.
La arquitectura de un SAE se organiza en capas, donde cada capa es un autoencoder. Un autoencoder básico consta de dos partes: un codificador (encoder) que mapea la entrada a una representación de menor dimensión (el “código” o “bottleneck”), y un decodificador (decoder) que reconstruye la entrada original a partir de esta representación. En un autoencoder apilado:
- Codificador y Decodificador: Cada autoencoder en la pila tiene su propio codificador y decodificador.
- Formación de Capas: La salida de la capa codificadora de un autoencoder se convierte en la entrada para la siguiente capa (el autoencoder superior). De esta manera, las capas progresivas aprenden representaciones de características cada vez más abstractas y de alto nivel.
Las características clave de los Stacked Autoencoders incluyen:
-
Pre-entrenamiento Codicioso por Capas: Similar a las DBNs, los SAEs se entrenan utilizando un enfoque de pre-entrenamiento codicioso por capas.
- Primero, se entrena un autoencoder para aprender una representación de la capa de entrada original.
- Una vez entrenado, la capa del codificador de este AE se “congela” y sus salidas (las características aprendidas) se utilizan como entrada para el entrenamiento del siguiente autoencoder en la pila.
- Este proceso se repite, entrenando un nuevo autoencoder sobre las representaciones aprendidas por el autoencoder anterior, construyendo así una jerarquía de características.
- Aprendizaje No Supervisado: Toda la fase de pre-entrenamiento es no supervisada, lo que significa que los SAEs pueden aprender representaciones poderosas de datos sin necesidad de etiquetas. Esto los hace muy útiles en escenarios donde los datos etiquetados son escasos.
- Reducción de Dimensionalidad y Extracción de Características: El objetivo de cada autoencoder es encontrar una representación de baja dimensionalidad que permita una buena reconstrucción de la entrada. Al apilar estos, el SAE aprende una jerarquía de características donde las capas más profundas capturan abstracciones más complejas y significativas de los datos.
- Ajuste Fino (Fine-tuning) Supervisado: Después del pre-entrenamiento no supervisado, el decodificador de cada autoencoder suele descartarse. Se toma la pila de codificadores como una red de extracción de características. A esta red se le añade una capa de salida (ej., una capa softmax para clasificación) y todo el modelo se ajusta finamente utilizando un algoritmo de aprendizaje supervisado (como retropropagación con gradiente descendente) en una tarea específica. El pre-entrenamiento actúa como una excelente inicialización de los pesos, lo que ayuda a evitar mínimos locales pobres y a acelerar la convergencia.
Los Stacked Autoencoders fueron un modelo popular antes del auge de las Redes Convolucionales y Recurrentes más especializadas, y demostraron la efectividad del pre-entrenamiento no supervisado para inicializar redes profundas.
Aprendizaje Global vs. Local:
El modelo de Autoencoder Apilado (Stacked Autoencoder - SAE) es un modelo de aprendizaje global que se construye a través de una estrategia de entrenamiento local y secuencial.
Aspecto Global (Objetivo Final y Representación): El objetivo final de un SAE es aprender una representación global y jerárquica de los datos. Cada capa codificadora en la pila extrae características de un nivel de abstracción creciente, contribuyendo a una comprensión más profunda y compacta de toda la distribución de los datos de entrada. La codificación final producida por el SAE es una representación de baja dimensionalidad que intenta encapsular la información más relevante de los datos en su conjunto, permitiendo su reconstrucción. Cuando se utiliza para tareas posteriores (como clasificación) después del ajuste fino, la red opera como un modelo unificado que aplica las características globales aprendidas a nuevas entradas.
Aspecto Local (Estrategia de Entrenamiento por Capas): La fase de pre-entrenamiento codicioso por capas de los SAEs tiene un componente fuertemente local. Cada autoencoder individual en la pila se entrena de forma independiente para aprender una codificación óptima y una reconstrucción de su propia entrada. Esto significa que los pesos de cada autoencoder se optimizan localmente, en un momento dado, sin considerar directamente la optimización simultánea de toda la red. La entrada a cada autoencoder subsiguiente es la representación codificada aprendida por el autoencoder anterior. Esta estrategia de entrenamiento “por partes” permite que las redes profundas sean entrenadas de manera más eficiente y eficaz, ya que descompone un problema de optimización complejo en subproblemas más manejables. Sin embargo, el resultado acumulado de estas optimizaciones locales es la construcción de una jerarquía de características que, en última instancia, forma parte de un modelo global y unificado de los datos.
Guía rápida para elegir Stacked Autoencoders (SAE) | ||
Características y Consideraciones | ||
Criterio | Aplica | Detalles |
---|---|---|
Fuente: Elaboración propia y principios de aprendizaje profundo |