機械学習を学ぶ上で知っておきたい「ボルツマンマシン」についてまとめ | AIZINE(エーアイジン)
テクノロジー

機械学習を学ぶ上で知っておきたい「ボルツマンマシン」についてまとめ

機械学習を学ぶ上で知っておきたい「ボルツマンマシン」についてまとめ

「OK、Google」でおなじみのGoogleのAI(人工知能)音声アシスタントのように、日常で私たちがAI(人工知能)に触れる時代になりましたよね。そして、そんな現在の高性能なAI(人工知能)を作りだしているのが、ニューラルネットワーク。

ニューラルネットワークとは、人間の脳の仕組みを計算式で表したネットワーク。そのニューラルネットワークを使用しているのがディープラーニングになります。

ディープラーニングとは、機械学習というAI(人工知能)に人間のような知的能力を備えさせる学習方法の一つ。これは従来の機械学習ではできなかったAI(人工知能)自身で学習を進められる技術です。

そのディープラーニングの登場でAI(人工知能)が効率よく学習できるようになり、現在に至るまでの飛躍的な進化をはじめました。そのため、現在のAI(人工知能)は、ニューラルネットワークがなければ存在しません。

そして、そのニューラルネットワークの種類の一つがボルツマンマシン。ボルツマンマシンは、多くのAI(人工知能)に用いているニューラルネットワークと比べると、本でも大きく取り上げられる存在ではありません。
しかし、機械学習を学ぶ上で重要な技術です。そこで今回は、ボルツマンマシンについてと、学習におすすめの参考書をお伝えします。

機械学習モデル「ボルツマンマシン」とは

モデルのイメージ
1985年にボルツマンマシンは、AI(人工知能)の研究者ジェフリー・ヒントン氏とテリー・セジュノスキー氏によって開発されました。ボルツマンマシンとは、未知のデータの仕組みを確率(可能性の高さ)から導き出して学習するニューラルネットワークの一種になります。

ボルツマンマシンで確率の導き出し方法に用いているのが、ボルツマン分布です。ボルツマン分布とは、理想気体と呼ばれる実際には存在しない気体が、変化しなくなった状態(熱平衡状態)で分子の状態を可能性が高い確率で表した計算式。ボルツマンマシンの名前は、このボルツマン分布から名づけられました。

ボルツマンマシン開発のもとになったのがポップフィールドネットワークです。ポップフィールドネットワークとは、1982年にアメリカの物理学者で生物学者のジョンホップ・フィールドによって考案されたニューラルネットワークの一種で、ポップフィードネットワークのデータ処理に確率を用いたのがボルツマンマシンです。

そして、ポップフィールドネットワークとボルツマンマシンはが属するニューラルネットワークには、階層型ニューラルネットワークと相互結合型ニューラルネットワークとがあります。

このうち、ボルツマンマシンは相互結合型ニューラルネットワークで、現在主流のニューラルネットワークは、現在階層型ニューラルネットワークです。では次に、その両者の違いについて紹介します。

パーセプトロンとボルツマンマシンの違い

パーセプトロンのイメージ

ディープラーニングで現在主流のニューラルネットワークを構成する最小単位が、パーセプトロンです。パーセプトロンとボルツマンマシンは、どちらもシステムに人間の脳神経細胞を数式化したニューロンを使用し、その点は階層型ニューラルネットワークと相互結合型ニューラルネットワークで共通しています。

※パーセプトロンについてはこちらでも解説しています

しかし、階層型ニューラルネットワークと相互結合型ニューラルネットワークの違いは、パーセプトロンとボルツマンマシンの仕組みの違いで説明できます。まずパーセプトロンの仕組みは、次の通りです。

データを入力 → ニューロン → ニューロン → 結果を出力
(入力層) → (出力層)

上記の通り、パーセプトロンのニューロンは入力層と出力層の2つからなりデータを与えると、入力から出力へと一方向の流れで処理を実行しデータを分類します。

そして、このパーセプトロンに複雑な計算をするために増やした中間層を加えて複数重ねたのが、階層型のニューラルネットワークです。

そして、ボルツマンマシンの仕組みは、次の通りです。

データを入力 → ニューロン ― ニューロン ← データを入力
\       /
ニューロン

データを入力

ボルツマンマシンでは3つの入力データを処理する場合、上記のように3つのニューロンを設けて入力。入力後、ニューロン間でデータをランダムに数回処理して、そのデータの規則性や動作の頻出度の確率を学習し表現します。

そして、ボルツマンマシンとパーセプトロンの違いをまとめると、次の通りになります。

  • パーセプトロン…データを入力層からと出力層への一方向の流れで処理をして分類
  • ボルツマンマシン…ニューロンが相互間でランダムに数回データ処理して、規則性や動作を確率で表現

以上がボルツマンマシンとパーセプトロンとの違いです。

しかし、「ボルツマンマシンは、データの規則性や動作を確率で表現する」と説明しましたが、これだけでは、よくわかりませんよね。そこで次は、ボルツマンマシンでできることを紹介します。

ボルツマンマシンは何ができるのか

できることのイメージ

ボルツマンマシンにできることは、入力したデータの連想記憶です。連想記憶とは、あるデータの一部をもとにデータ全体を連想すること。

ボルツマンマシンはデータを処理して、その規則性と動作を学習できます。それができるボルツマンマシンは、学習したデータのパターンを記憶してそのパターンから、もとのデータの復元が可能です。

例えば、リンゴの画像データを入力して、そのパターンを学習させます。そのあとでノイズが入ったリンゴ画像を、事前に学習したパターンをもとにして元のリンゴ画像へと復元することが可能です。この特徴を活用してボルツマンマシンは、画像認識や音声認識の分野で応用されています。

しかし、ボルツマンマシンを扱う場合には注意点があるので、次はそれについてお伝えしましょう。

ボルツマンマシンの注意点

注意点のイメージ
ボルツマンマシンにできる連想記憶は、人間がヒントから発想するような働きをするネットワークですよね。しかし、ボルツマンマシンはパーセプトロンと違い、設けたニューロンが相互間でデータ処理をランダムに複数回繰り返すので、計算が複雑になりデータ処理に長い時間がかかります。

そのためAI(人工知能)への実用は不向きなので、しだいに使用されなくなりました。そこで、この問題を解決するために開発されたのが、制限付きボルツマンマシンです。

従来のボルツマンマシンでは、設けたニューロンが相互にデータを複数回ランダム処理していましたが、制限付きボルツマンマシンではニューロンを入力層と中間層の二層構造にして、同じ層同士でのつながりをなくしました。これにより従来のボルツマンマシンよりも、データ処理時間を短縮できました。

以上のようにボルツマンマシンは大きく分けて2種類あり、処理時間が違うだけで内容は同じです。しかし、実用的なのは制限付きボルツマンマシンなので、その違いに注意しましょう。

そして、現在ボルツマンマシンには、制限付きボルツマンマシンの中間層を増やして階層型にした、深層学習ボルツマンも登場し進化を続けています。

そのため、もっと深くボルツマンマシンについて知るためには専門書で学習することをおすすめします。そこで次は、ボルツマンマシンについて学習できる参考書を紹介しましょう。

ボルツマンマシンをさらに学ぶための参考書3選

参考書のイメージ
今回、ボルツマンマシンについて学習したい人におすすめの参考書は、次の3冊です。

ボルツマンマシン(シリーズ情報科学における確率モデル2)

ボルツマンマシンに特化して書かれたのが「ボルツマンマシン(シリーズ情報科学における確率モデル2)」です。内容はボルツマンマシンの定義や理論、ニューラルネットワークとの関係性などの基本から、ボルツマンマシンの機械学習、強化学習への使用の仕方を説いています。

ニューラルネットワークについて書かれた本は数多くあります。しかし、ボルツマンマシンに特化した参考書はほとんど見あたらないので、本書は希少な存在です。そのためボルツマンマシンについて詳しく知りたい人におすすめします。

深層学習 Deep Learning

「深層学習 Deep Learning」は、一般社団法人人工知能学会が監修した本です。人工知能学会とは人工知能の研究の進展と知識の普及を目的にした組織で、本書は専門性の高い内容になっています。

そして、この参考書でボルツマンマシンが登場するのは第2章。その内容はポップフィードネットワークとの関係などの基本から、ディープラーニングに進化させた深層学習ボルツマンまで約50ページにわたって解説しています。現在、AI(人工知能)の主流技術になっているディープラーニングと合わせて学習したい人におすすめします。

これならわかる深層学習入門

「これならわかる深層学習入門」は、機械学習の基礎(教師あり学習、分類、回帰など)やパーセプトロンからはじまるニューラルネットワークなど、ディープラーニングについて基本から学習できる内容です。

そして、ボルツマンマシンについては第10章で80ページにわたり掲載。ボルツマンマシンに欠かせない確率についてからはじまり、深層学習ボルツマンマシンまでを解説しています。

ボルツマンマシンについて書いてある参考書は、ある程度の専門知識が必要なハードルの高いものが多いです。しかし、本書ではボルツマンマシンについて丁寧に解説してあるので、初学者や一度あきらめた人におすすめです。

1冊目はボルツマンマシンに特化した参考書ですが、あとの2冊はディープラーニングの中の一つとして解説しています。しかし、ボルツマンマシンについての学習には、2冊とも内容、ページ数ともに十分です。そこでボルツマンマシンについて集中的に学びたいなら1冊目の「ボルツマンマシン(シリーズ情報科学における確率モデル2)」、ディープラーニングと一緒に学習するなら、あとの2冊をおすすめします。

まとめ
さて今回はボルツマンマシンについてお伝えしました。ボルツマンマシンとは、未知のデータの仕組みを確率(可能性の高さ)から導き出して学習するニューラルネットワークです。

ニューラルネットワークには2種類あり、ボルツマンマシンは相互結合型ニューラルネットワーク、パーセプトロンで構成した現在主流のニューラルネットワークは階層型ニューラルネットワークです。その両者の違いは、次のようになります。

  • パーセプトロン…データを入力層から出力層への一方向の流れで処理をして分類
  • ボルツマンマシン…ニューロンが相互間でランダムに数回データ処理して、規則性や動作を確率で表現

そして、ボルツマンマシンにできることは連想記憶です。これは事前にリンゴ画像のパターンをAI(人工知能)に学習させて、そのあとでノイズ入りのリンゴ画像を元通りに復元するようなことです。この特徴を活用して画像認識や音声認識の分野でボルツマンマシンは応用されています。

しかし、ボルツマンマシンには注意点があります。それはニューロンが相互で複数回にわたりデータ処理をランダムに繰り返すので、計算が複雑になり収束に長い時間がかかることです。

そこで開発されたのが制限付きボルツマンマシン。制限付きボルツマンマシンは、ニューロンを入力層と中間層の二層構造にして、同じ層同士でのつながりをなくし、データ処理時間を短縮しました。2種類のうち、実用的なのは制限付きボルツマンマシンなので、従来のボルツマンマシンとの違いに注意しましょう。

そして、今回はもっと深くボルツマンマシンについて知るために、次の3冊の参考書を紹介しました。

  • ボルツマンマシン(シリーズ情報科学における確率モデル2)…ボルツマンマシンについて詳しく知りたい人におすすめ
  • 深層学習 Deep Learning…ディープラーニングと合わせて学習したい人におすすめ
  • これならわかる深層学習入門…初学者や学習を一度あきらめた人におすすめ

これまでボルツマンマシンは制限付きボルツマンマシンへと進化し、さらに深層学習ボルツマンも登場しています。そしてボルツマンマシンがさらなる進化を遂げるためには、やはりデータ処理時間がキーポイント。

そのキーポイントになるデータ処理時間をさらに短縮可能にするのが、現在のコンピュータよりも高速計算が可能になる量子コンピュータです。今後、量子コンピュータが実用化すれば、これまで以上にボルツマンマシンが普及し、新しい進化の可能性もあるので期待しましょう。

【お知らせ】

当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。

御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。

お多福ラボコーポレートサイトへのバナー

トップへ戻る
タイトルとURLをコピーしました