メインコンテンツへジャンプ

ベイジアンニューラルネットワーク

Databricks 無料トライアル

ベイジアンニューラルネットワークとは

ベイジアンニューラルネットワーク(BNN)とは、過学習の制御を目的として、事後確率推定により標準ネットワークを拡張することを指します。広い視点からみると、ベイジアン手法は統計的方法論を使用して、モデルパラメータ(ニューラルネットワークの重みとバイアス)を含む、あらゆるものがそれに付随する確率分布を持つようにすることです。プログラミング言語において、特定の値を取得できる変数は、その特定の変数にアクセスする度に同じ結果になります。まず、一連の入力特徴量の加重和によって出力を予測するシンプルな線形モデルの修正から始めましょう。ベイジアンニューラルネットワーク線形モデル比較をすると、ベイズモデリングでは、確率変数としても知られる同様のエンティティを持つことができ、アクセスごとに異なる値を引き出します。 ベイズ用語では、過去データは、各変数が経時的に変化する独自の統計的特性を持っており、全体的挙動に関する予備知識を表します。Xが正規分布を表す確率変数であると仮定すると、Xにアクセスするたびに、返される結果の値が異なります。確率変数から新しい値を取得するこのプロセスを、サンプリングと呼びます。結果として表示される値は、確率変数に関連する確率分布に依存します。言い換えると、パラメータ空間では、ニューラルネットワークの学習パラメータの性質と形状を推測することができます。最近では、PyMC3、Edward、Stanなど、数多くの確率的プログラミングライブラリがリリースされ、この領域で多くの動きがみられます。ベイズ法は、ゲーム開発から創薬まで、さまざまな分野で使用されています。

BNNの主なメリット

  • ベイジアンニューラルネットは、過学習の防止策としてデータが不十分な分野での問題解決に役立ちます。アプリケーションの例としては、分子生物学や医療診断など(データ取得が高コストで、困難な実験研究を要する分野)が挙げられます。
  • ベイジアンネットは普遍的に有用です。
  • 大規模な問題にスケーリングするのは極めて困難ですが、膨大な数のタスクに望ましい結果を得ることが可能です。
  • BNNでは、未知のターゲットデータを処理する際に、予測に関連する誤差を自動計算できます。
  • 医学などの分野で有益な、予測の不確実性を推定できます。

ベイジアンニューラルネットワークを使用すべき理由

ベイズ法は、質問ごとの回答を考慮するのではなく、全回答の分布を検討可能にするため、次のような問題の解決に適しています。

  • 正則化(過学習の回避)
  • モデル選択や比較(データセットの分割交差検証は不要)

関連資料

用語集に戻る