[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/es\/wiki01\/2015\/12\/28\/maquina-de-boltzmann-wikipedia-la-enciclopedia-libre\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/es\/wiki01\/2015\/12\/28\/maquina-de-boltzmann-wikipedia-la-enciclopedia-libre\/","headline":"M\u00e1quina de Boltzmann – Wikipedia, la enciclopedia libre","name":"M\u00e1quina de Boltzmann – Wikipedia, la enciclopedia libre","description":"Una m\u00e1quina de Boltzmann es un tipo de red neuronal recurrente estoc\u00e1stica. El nombre le fue dado por los investigadores","datePublished":"2015-12-28","dateModified":"2023-02-25","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/es\/wiki01\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/es\/wiki01\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/c9645c498c9701c88b89b8537773dd7c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c9645c498c9701c88b89b8537773dd7c?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wikimedia.org\/api\/rest_v1\/media\/math\/render\/svg\/4232c9de2ee3eec0a9c0a19b15ab92daa6223f9b","url":"https:\/\/wikimedia.org\/api\/rest_v1\/media\/math\/render\/svg\/4232c9de2ee3eec0a9c0a19b15ab92daa6223f9b","height":"","width":""},"url":"https:\/\/wiki.edu.vn\/es\/wiki01\/2015\/12\/28\/maquina-de-boltzmann-wikipedia-la-enciclopedia-libre\/","wordCount":9223,"articleBody":"Una m\u00e1quina de Boltzmann es un tipo de red neuronal recurrente estoc\u00e1stica. El nombre le fue dado por los investigadores Geoffrey Hinton y Terry Sejnowski. Las m\u00e1quinas de Boltzmann pueden considerarse como la contrapartida estoc\u00e1stica y generativa de las redes de Hopfield. Fueron de los primeros tipos de redes neuronales capaces de aprender mediante representaciones internas, son capaces de representar y (con tiempo suficiente) resolver complicados problemas combinatorios. Sin embargo, debido a una serie de cuestiones que se abordan m\u00e1s adelante, las m\u00e1quinas de Boltzmann sin restricciones de conectividad no han demostrado ser \u00fatiles para resolver los problemas que se dan en la pr\u00e1ctica en el aprendizaje o inferencia de las m\u00e1quinas. Aun as\u00ed resultan interesantes en la teor\u00eda debido a la localizaci\u00f3n y a la naturaleza hebbiana de su algoritmo de entrenamiento, as\u00ed como por su paralelismo y por la semejanza de su din\u00e1mica a fen\u00f3menos f\u00edsicos sencillos. Si se limita la conectividad, el aprendizaje puede ser lo bastante eficaz como para ser \u00fatil en la resoluci\u00f3n de problemas pr\u00e1cticos. En mec\u00e1nica estad\u00edstica se denominan distribuciones de Boltzmann y son utilizadas en funciones de muestreo.Las m\u00e1quinas de Boltzmann, al igual que las redes de Hopfield, poseen unidades con una “energ\u00eda” definida para la red. Tambi\u00e9n dispone de unidades binarias, pero a diferencia de las redes de Hopfield, las unidades de una m\u00e1quina de Boltzmann son estoc\u00e1sticas. La energ\u00eda global, E{displaystyle E}, en una m\u00e1quina de Boltzmann es id\u00e9ntica en forma a la de una red de Hopfield: E=\u2212\u2211iisi{displaystyle E=-sum _{iEi{displaystyle Delta E_{i}}, viene dada por la expresi\u00f3n:\u0394Ei=\u2211jwijsj\u2212\u03b8i{displaystyle Delta E_{i}=sum _{j}w_{ij},s_{j}-theta _{i}}Esto se puede expresar como la diferencia de energ\u00eda entre dos estados:\u0394Ei=Ei=off\u2212Ei=on{displaystyle Delta E_{i}=E_{text{i=off}}-E_{text{i=on}}}A continuaci\u00f3n sustituimos la energ\u00eda para cada Estado con su probabilidad relativa de acuerdo con el factor de Boltzmann (la propiedad de la distribuci\u00f3n de Boltzmann en la cual la energ\u00eda de un estado es proporcional al menos logaritmo de probabilidad de dicho estado):\u0394Ei=\u2212kBTln\u2061(pi=off)\u2212\u2212kBTln\u2061(pi=on){displaystyle Delta E_{i}=-k_{B},T,ln(p_{text{i=off}})–k_{B},T,ln(p_{text{i=on}})}Donde kB{displaystyle k_{B}} es la constante de Boltzmann y se engloba dentro de la noci\u00f3n artificial de temperatura T{displaystyle T}. A continuaci\u00f3n se reordenan los t\u00e9rminos considerando que la probabilidad de que una unidad est\u00e9 en on y en off es uno:\u0394EiT=ln\u2061(pi=on)\u2212ln\u2061(pi=off){displaystyle {frac {Delta E_{i}}{T}}=ln(p_{text{i=on}})-ln(p_{text{i=off}})}\u0394EiT=ln\u2061(pi=on)\u2212ln\u2061(1\u2212pi=on){displaystyle {frac {Delta E_{i}}{T}}=ln(p_{text{i=on}})-ln(1-p_{text{i=on}})}\u0394EiT=ln\u2061(pi=on1\u2212pi=on){displaystyle {frac {Delta E_{i}}{T}}=ln left({frac {p_{text{i=on}}}{1-p_{text{i=on}}}}right)}\u2212\u0394EiT=ln\u2061(1\u2212pi=onpi=on){displaystyle -{frac {Delta E_{i}}{T}}=ln left({frac {1-p_{text{i=on}}}{p_{text{i=on}}}}right)}\u2212\u0394EiT=ln\u2061(1pi=on\u22121){displaystyle -{frac {Delta E_{i}}{T}}=ln left({frac {1}{p_{text{i=on}}}}-1right)}exp\u2061(\u2212\u0394EiT)=1pi=on\u22121{displaystyle exp left(-{frac {Delta E_{i}}{T}}right)={frac {1}{p_{text{i=on}}}}-1}Finalmente podemos resolver para pi=on{displaystyle p_{text{i=on}}}, la probabilidad de que la unidad i{displaystyle i} est\u00e9 en on.pi=on=11+exp\u2061(\u2212\u0394EiT){displaystyle p_{text{i=on}}={frac {1}{1+exp(-{frac {Delta E_{i}}{T}})}}}Donde el escalar T{displaystyle T} se refiere a c\u00f3mo est\u00e1 la temperatura en el sistema. Esta relaci\u00f3n es la fuente de la funci\u00f3n log\u00edstica que se encuentra en las expresiones de probabilidad de las distintas variantes de la m\u00e1quina de Boltzmann.Estado de equilibrio[editar]La red se ejecuta repetidamente escogiendo una unidad y estableciendo su estado de acuerdo con la f\u00f3rmula anterior. Despu\u00e9s de ejecutarse durante suficiente tiempo a una cierta temperatura, la probabilidad del estado global de la red va a depender s\u00f3lo del estado global de energ\u00eda, de acuerdo a una distribuci\u00f3n de Boltzmann. Esto significa que los logaritmos de las probabilidades de los estados globales se volver\u00e1n lineales en sus energ\u00edas. Esta relaci\u00f3n se cumple cuando la m\u00e1quina est\u00e1 “en equilibrio termodin\u00e1mico”, lo que significa que la distribuci\u00f3n de probabilidad de los estados globales ha convergido. Si empezamos a hacer funcionar la red a alta temperatura, y desciende gradualmente hasta llegar a un equilibrio termodin\u00e1mico a una baja temperatura, estaremos garantizando la convergencia a una distribuci\u00f3n donde el nivel de energ\u00eda fluct\u00fae alrededor del m\u00ednimo global. Este proceso se llama Simulated annealing (SA) o templado simulado.Para entrenar a la red de modo que la posibilidad de que converja en un estado global se ajuste a una distribuci\u00f3n externa, habr\u00e1 que establecer los pesos para que los estados globales con mayor probabilidad tengan la energ\u00eda m\u00e1s baja. Para esto se usa el siguiente m\u00e9todo de entrenamiento.Entrenamiento[editar]Las unidades de la m\u00e1quina de Boltzmann se dividen en unidades “visibles”, V, y unidades “ocultas”, H. Las primeras son las que recibir\u00e1n informaci\u00f3n del “entorno”, por ejemplo la serie de entrenamiento podr\u00eda ser un conjunto de vectores binarios aplicado sobre las unidades V. La distribuci\u00f3n en el conjunto de entrenamiento se denota P+(V){displaystyle P^{+}(V)}.En las m\u00e1quinas de Boltzmann, como ya se ha dicho, la distribuci\u00f3n de los estados globales convergen hasta un equilibrio termodin\u00e1mico. Despu\u00e9s de que marginalizar por encima de las unidades visibles V{displaystyle V}, la convergencia de la distribuci\u00f3n se puede denotar como P\u2212(V){displaystyle P^{-}(V)}.Nuestro objetivo es aproximar la distribuci\u00f3n “real” P+(V){displaystyle P^{+}(V)} a la expresi\u00f3n P\u2212(V){displaystyle P^{-}(V)}, la cual es producida eventualmente por la m\u00e1quina. Para medir la similitud entre las dos distribuciones se usa la divergencia de Kullback-Leibler, G{displaystyle G}:G=\u2211vP+(v)ln\u2061(P+(v)P\u2212(v)){displaystyle G=sum _{v}{P^{+}(v)ln left({frac {P^{+}(v)}{P^{-}(v)}}right)}}Donde el sumatorio es superior a todos los posibles estados de V{displaystyle V}. G{displaystyle G} var\u00eda en funci\u00f3n de los pesos, ya que estos determinan la energ\u00eda de un estado, y la energ\u00eda a su vez determina P\u2212(v){displaystyle P^{-}(v)}, seg\u00fan la distribuci\u00f3n de Boltzmann. Por lo tanto, podemos utilizar un algoritmo de descenso de gradiente sobre G{displaystyle G} para un peso determinado, wij{displaystyle w_{ij}}, que se cambiar\u00e1 restando la derivada parcial de G{displaystyle G} con respecto al peso.El entrenamiento de una m\u00e1quina de Boltzmann consta de dos fases, que se van cambiando iterativamente entre ellas. Una es la fase “positiva” en que los estados de las unidades visibles se sujetan a un vector de estado binario particular, muestra del conjunto de entrenamiento (de acuerdo a P+{displaystyle P^{+}}). La otra es la fase “negativa”, en la que a la red se le permite ejecutarse libremente, es decir, los estados de las unidades no est\u00e1n determinados por datos externos. Sorprendentemente, el gradiente con respecto a un peso determinado, wij{displaystyle w_{ij}}, est\u00e1 dado por una ecuaci\u00f3n muy sencilla (demostrada por Ackley et al.):\u2202G\u2202wij=\u22121R[pij+\u2212pij\u2212]{displaystyle {frac {partial {G}}{partial {w_{ij}}}}=-{frac {1}{R}}[p_{ij}^{+}-p_{ij}^{-}]}Donde:pij+{displaystyle p_{ij}^{+}} es la probabilidad de que tanto las unidades i como j est\u00e9n activadas cuando la m\u00e1quina est\u00e9 en equilibrio durante la fase positiva.pij\u2212{displaystyle p_{ij}^{-}} es la probabilidad de que tanto las unidades i como j est\u00e9n activadas cuando la m\u00e1quina est\u00e9 en equilibrio durante la fase negativa.R{displaystyle R} denota la tasa de aprendizaje.Este resultado se deduce del hecho de que en el equilibrio termodin\u00e1mico la probabilidad P\u2212(s){displaystyle P^{-}(s)} de cualquier estado global s{displaystyle s} cuando la red est\u00e1 funcionando libremente viene dada por la distribuci\u00f3n de Boltzmann (de ah\u00ed el nombre de “m\u00e1quina de Boltzmann”).Sorprendentemente, esta regla de aprendizaje es bastante plausible desde el punto de vista biol\u00f3gico por el hecho de que la \u00fanica informaci\u00f3n necesaria para cambiar los pesos es proporcionada de forma “local”. Es decir, la conexi\u00f3n (o sinapsis usando terminolog\u00eda biol\u00f3gica) no necesita m\u00e1s informaci\u00f3n que la que suministran las dos neuronas que conecta. Esto es mucho m\u00e1s realista biol\u00f3gicamente hablando que lo que sucede con la informaci\u00f3n que necesitan muchos otros algoritmos de entrenamiento de redes neuronales, como por ejemplo el de retropropagaci\u00f3n.En el entrenamiendo de una m\u00e1quina de Boltzmann no se utiliza el algoritmo EM, muy utilizado en Aprendizaje autom\u00e1tico. Minimizar la divergencia KL, es equivalente a maximizar el logaritmo de la verosimilitud de los datos. Por lo tanto, el procedimiento de entrenamiento lleva a cabo un gradiente de ascenso sobre el logaritmo de verosimilitud de los datos observados. Esto contrasta con el algoritmo EM, donde la distribuci\u00f3n posterior de los nodos ocultos debe ser calculada antes de la maximizaci\u00f3n de la verosimilitud llevada a cabo en el paso M.En entrenamiento de sesgos es similar, pero usa s\u00f3lo la actividad de un solo nodo:\u2202G\u2202\u03b8i=\u22121R[pi+\u2212pi\u2212]{displaystyle {frac {partial {G}}{partial {theta _{i}}}}=-{frac {1}{R}}[p_{i}^{+}-p_{i}^{-}]}Problemas en la aplicaci\u00f3n pr\u00e1ctica[editar]Las m\u00e1quinas de Boltzmann presentan un grave problema pr\u00e1ctico, y es que el aprendizaje parece dejar de producirse correctamente cuando la m\u00e1quina se ampl\u00eda a algo m\u00e1s grande que una m\u00e1quina trivial. Esto se debe a una serie de efectos, los m\u00e1s importantes de los cuales son:El tiempo que la m\u00e1quina necesita para recopilar las estad\u00edsticas de equilibrio crece exponencialmente con el tama\u00f1o de la m\u00e1quina, y con la magnitud de la fuerza de las conexiones.Las fuerzas de las conexiones son m\u00e1s flexibles cuando las unidades conectadas tienen probabilidades de activaci\u00f3n intermedias entre cero y uno, llevando a la llamada trampa de varianza. El efecto neto es que el ruido hace que las fuerzas de las conexiones se vuelvan aleatorias hasta que las actividades se saturan.M\u00e1quina de Boltzmann restringida[editar]Aunque el aprendizaje es por lo general poco pr\u00e1ctico en las m\u00e1quinas de Boltzmann, puede llegar a ser muy eficiente en una arquitectura llamada M\u00e1quina de Boltzmann restringida o MBR (RBM en ingl\u00e9s: Restricted Boltzmann Machine). Esta arquitectura no permite las conexiones entre las unidades de las capas ocultas. Despu\u00e9s de entrenar a una MBR las actividades de sus unidades ocultas pueden ser tratadas como datos para el entrenamiento de una MBR de nivel superior. Este m\u00e9todo de apilamiento MBR hace que sea posible entrenar muchas capas de unidades ocultas de manera eficiente y que cada nueva capa sea a\u00f1adida para mejorar el modelo generativo principal.La m\u00e1quina de Boltzmann es una versi\u00f3n del m\u00e9todo de Montecarlo de las redes de Hopfield.Se cree que la idea de utilizar modelos de Ising para la inferencia fue descrita por primera vez por Geoffrey E. Hinton y Terrence J. Sejnowski[1]\u200b[2]\u200bLa misma idea de aplicar el modelo de Ising con el muestreo de Gibbs templado tambi\u00e9n est\u00e1 presente en el proyecto de Douglas Hofstadter Copycat.[3]\u200b[4]\u200bIdeas similares (cambiando el signo de la funci\u00f3n de energ\u00eda) tambi\u00e9n se pueden encontrar en la “Teor\u00eda de la Armon\u00eda” de Paul Smolensky.La analog\u00eda expl\u00edcita extra\u00edda de la mec\u00e1nica estad\u00edstica en la formulaci\u00f3n de la m\u00e1quina de Boltzmann ha llevado a la utilizaci\u00f3n de una terminolog\u00eda tomada de la f\u00edsica (por ejemplo, “energ\u00eda” en lugar de “armon\u00eda”), que se ha convertido en est\u00e1ndar en el campo. La adopci\u00f3n generalizada de esta terminolog\u00eda puede haber sido alentada por el hecho de que su uso ha llevado a importar una variedad de conceptos y m\u00e9todos tomados de la mec\u00e1nica estad\u00edstica. Sin embargo, no hay ninguna raz\u00f3n para pensar que las diversas propuestas para el uso de templado simulado para la inferencia descritas anteriormente no sean independientes. (Helmholtz, hizo una analog\u00eda similar en los albores de la psicof\u00edsica.)Los modelos de Ising se consideran en la actualidad como un caso especial de los campos aleatorios de Markov, que encuentran una amplia aplicaci\u00f3n en diversos campos, como los de la ling\u00fc\u00edstica, rob\u00f3tica, visi\u00f3n artificial e inteligencia artificial.Bibliograf\u00eda[editar]Fort, J. C.; Gerschenfeld, A. (1988). \u00abEl nacimiento de un ordenador neuronal: La m\u00e1quina de Boltzmann\u00bb. Mundo Cient\u00edfico 8: 614.\u00a0Ackley, D. H.; Hinton, G. E.; Sejnowski, T. J. (1985). \u00abA Learning Algorithm for Boltzmann Machines\u00bb. Cognitive Science (en ingl\u00e9s) 9: 147-169. Archivado desde el original el 5 de julio de 2010.\u00a0Hinton, G. E.; Sejnowski, T. J. (1986). \u00abLearning and Relearning in Boltzmann Machines\u00bb. En D. E. Rumelhart, J. L. McClelland, and the PDP Research Group, ed. Parallel Distributed Processing: Explorations in the Microstructure of Cognition. Volume 1: Foundations (en ingl\u00e9s) (Cambridge: MIT Press): 282-317. Archivado desde el original el 5 de julio de 2010.\u00a0 Hinton, G. E. (2002). \u00abTraining Products of Experts by Minimizing Contrastive Divergence\u00bb. Neural Computation (en ingl\u00e9s) 14: 1771-1800.\u00a0Hinton, G. E.; Osindero, S.; Teh Y. (2006). \u00abA fast learning algorithm for deep belief nets\u00bb. Neural Computation (en ingl\u00e9s) 18: 1527-1554.\u00a0Referencias[editar]\u2191 Geoffrey E. Hinton & Terrence J. Sejnowski, Analyzing Cooperative Computation. In Proceedings of the 5th Annual Congress of the Cognitive Science Society, Rochester, NY, May 1983.\u2191 Geoffrey E. Hinton & Terrence J. Sejnowski, Optimal Perceptual Inference. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (CVPR), pages 448-453, IEEE Computer Society, Washington DC, June 1983.\u2191 Hofstadter, Douglas R., The Copycat Project: An Experiment in Nondeterminism and Creative Analogies. MIT Artificial Intelligence Laboratory Memo No. 755, January 1984.\u2191 Hofstadter, Douglas R., A Non-Deterministic Approach to Analogy, Involving the Ising Model of Ferromagnetism. In E. Caianiello, ed. The Physics of Cognitive Processes. Teaneck, NJ: World Scientific, 1987.Enlaces externos[editar]"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/es\/wiki01\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/es\/wiki01\/2015\/12\/28\/maquina-de-boltzmann-wikipedia-la-enciclopedia-libre\/#breadcrumbitem","name":"M\u00e1quina de Boltzmann – Wikipedia, la enciclopedia libre"}}]}]