ボルツマンマシン【Boltzmann machine】
概要

ボルツマンマシンは「ユニット」(unit)と呼ばれるノードの集合で構成され、各ユニットは「0」または「1」の値をとる。ユニット同士は「重み」と呼ばれる数値で結ばれており、この重みがユニット間の相互作用の強さを表す。システム全体の状態には「エネルギー」という概念が対応づけられており、エネルギーが低い状態ほど確率的に出現しやすい。学習の目的は、訓練データが持つ確率分布をモデルが再現できるよう、ユニット間の重みを調整することである。
この考え方は、19世紀の物理学者である ルートヴィヒ・ボルツマン(Ludwig Boltzmann)の統計力学に由来している。ボルツマン分布は、物理系の状態がエネルギーに応じてどのような確率で出現するかを記述するものであり、この概念をニューラルネットワークに応用したものがボルツマンマシンである。ネットワークは確率的に状態を更新しながら、エネルギーの低い安定状態に収束していく性質を持つ。
すべてのユニットが相互に結合された完全な形のボルツマンマシンは、学習に必要な計算量が指数的に増えていくという実用上の深刻な問題を抱えていた。この課題を解消するために提案されたのが「制限付きボルツマンマシン」(RBM: Restricted Boltzmann Machine)である。RBMでは、ユニットを「可視層」と「隠れ層」の二層に分け、同じ層のユニット同士は接続しないという制約を設ける。この構造によって学習アルゴリズムを大幅に簡略化でき、実用的な計算量での学習が可能となった。
現在では、敵対的生成ネットワーク(GAN)や変分オートエンコーダ(VAE)といった生成モデルが主流となっているが、RBMは2000年代後半のディープラーニングの台頭において重要な役割を果たした。複数のRBMを積み重ねて事前学習を行う手法が、深いニューラルネットワークの訓練を可能にする糸口となり、ヒントンらによるディープビリーフネットワーク(DBN:Deep Belief Network)の研究へとつながっていった。