La máquina de Boltzmann es una red estocástica de Hopfield con unidades ocultas y recurrentes que representa la información a partir de una distribución de probabilidad. Los pesos se inician aleatoriamente y la red aprende a través del algoritmo de retrocesión (back-propagation). Fue dada a conocer por David H. Ackley, Geoffrey E. Hinton y Terrence J. Sejnowski en 1.985 cuando publican “A Learning Algorithm for Boltzmann Machines”, algoritmo de aprendizaje para la máquina Boltzmann.
El nombre de “La Máquina de Boltzmann” proviene de los trabajos sobre la entropía y el segundo principio de la termodinámica del físico Ludwig Eduard Boltzmann.
La red se utiliza para resolver dos problemas diferentes:
- Para búsquedas. Los pesos en las conexiones son fijos y se utilizan para representar una función de coste.
- Para aprendizaje. Hacen muchas pequeñas actualizaciones de los pesos y cada actualización requiere que resuelvan problemas de búsqueda diferentes. Este algoritmo es lento en redes con muchas capas ocultas, debido a que las grandes redes pueden tardar mucho tiempo en acercarse a su distribución de equilibrio cuando los pesos son grandes y la distribución es multimodal. Sin embargo, es muy rápida en el modelo restringido ya que sólo tiene una capa.

Existen dos modelos principales de la máquina de Boltzmann:
- RBM (Restricted Boltzmann Machines). Fue desarrollada con el nombre de Harmonium por Paul Smolensky en 1.986. Es una red con influencias de los campos aleatorios de Markov, con valores binarios. Está formada por una capa de unidades visibles y una capa de unidades ocultas sin conexiones visibles-visibles u ocultas-ocultas. En este modelo existe una versión curiosa, el TBM (Thurstonian Boltzmann Machines) basado en (GRBM) y presentado por Truyen Tran, Dinh Phung y Svetha Venkatesh en 2.014, que puede incorporar, al mismo tiempo, una amplia gama de datos de entrada, “debido a que muchos tipos de datos discretos pueden considerarse generados a partir de un subconjunto de variables continuas latentes subyacentes”. El aprendizaje admite los siguientes tipos: Gaussiano, intervalos, censurado, binario, categórico, multicategórico, ordinal de rango completo con y sin vínculos. Otra versión es GRBM (Gauss–Bernoulli restricted Boltzmann machine).

- DBM (Deep Boltzmann Machines). Tienen el potencial de aprender representaciones internas que se vuelven cada vez más complejas, basándose en una arquitectura que admite actualizaciones paralelas más eficientes. Otra versión es GDBM (Gauss–Bernoulli Deep Boltzmann Machine) de KyungHyun Cho, Tapani Raiko y Alexander Ilin. GDBM se basa en GRBM, está diseñada para ser aplicable a datos continuos mediante el añadido de múltiples capas de neuronas ocultas binarias.