ماشین بولتسمان(به انگلیسی: Boltzmann Machine) مدلی برای یادگیری خودران است. این مدل نوعی از شبکه عصبی با ارتباطات بدون جهت است. دلیل جذابیت ماشین بولتسمان، محلی بودن الگوریتم آموزش آنها و نیز رایانش موازی و همچنین شباهت پویایی آن به فرایندهای فیزیکی است.[۱]
ماشینهای بولتسمان با ارتباطاتهای بدون محدودیت، معمولا برای حل مسائل عملی یادگیری ماشین مناسب نیستند، اما با محدود کردن صحیح ارتباطات در ماشین بولتسمان، میتوان آن را برای حل مسئله های دنیای واقعی بهینه کرد. این ماشین به نام توزیع بولتسمان در مکانیک آماری نامگذاری شده است که در تابع نمونهگیری آنها استفاده میشود. نوع عمومیتر این مدل در یادگیری ماشین، مدلهای مبتنی بر انرژی هستند.[۲]
ماشین بولتسمان، شبکهای از واحدهای دودویی است که یک مقدار "انرژی" دارد. وزن های ماشین بولتسمان تصادفیاند و مقدار انرژی ماشین از رابطهی زیر به دست میآید:
که:
وزن ارتباط بین واحدهای و است.
وضعیت واحد است.
مقدار اریبی واحد است.
وزنها را میتوان به صورت یک ماتریس نشان داد که درایههای روی قطر اصلی آن صفر هستند.
شبکه به طور مداوم یکی از واحدها را انتخاب کرده و وضعیت آن را مجددا تنظیم میکند. وقتی که شبکه به اندازه کافی در یک دمای مشخص جلو میرود، بنا به توزیع بولتسمان احتمال یک وضعیت فقط به انرژی آن وضعیت بستگی خواهد داشت و از وضعیت ابتدایی که ماشین از آن شروع کرده، مستقل خواهد بود. این یعنی لگاریتم احتمالات وضعیت ها نسبت به انرژی خطی خواهد شد. این رابطه وقتی درست است که ماشین به "تعادل دمایی" رسیده باشد، یعنی توزیع احتمالات وضعیت ها همگرا شده باشد. با اجرای ماشین در ابتدا از یک دمای بالا، دما به آرامی کاهش پیدا میکند تا ماشین به تعادل دمایی برسد. بعد از آن ممکن است به توزیعی همگرا شود که انرژی در کمینه سراسری نوسان میکند. اسم این روند تبرید شبیهسازی شده است.
برای آموزش شبکه طوری که به یه وضعیت در توزیعی بیرونی همگرا شود، وزنها باید طوری تنظیم شوند که وضعیتهایی که بیشترین احتمال را دارند، کمترین انرژی را داشته باشند.