Hatena Blog Tags

ニューラルネットワーク

(サイエンス)
にゅーらるねっとわーく

ニューラルネットワークとはヒトの脳の学習機構をソフト的に模倣する手段の一つである。ニューラルネットワークはニューロン同士の結合により構成される。右に示したのがニューロンのイメージである。

ニューラルネットワークの種類

ニューラルネットワークにはニューロンの結合の仕方などによりいくつかの種類がある。

単純パーセプトロン

出力yは以下のように計算される。
y=f(\theta + \sum^n_{i=1}w_{i}x_{i})
fは活性化関数(入出力関数ともいう)であり、ステップ関数、区分線形関数、シグモイド関数などが用いられる。特にシグモイド関数は、全領域で微分可能であり、また、常に有界の出力(0〜1)なので最もよく用いられている。

複数の単純パーセプトロンの出力ベクトルに行列をかけた物が、多層パーセプトロンである。

多層パーセプトロン(フィードフォワードニューラルネットワーク)

単にニューラルネットワークといった場合、フィードフォワードニューラルネットワーク(Feedforward Neural Network; FFNN)を指す。機械学習の非線形モデルにおいて最も単純な物であり、多くの機械学習のモデルの基礎となっている。

アルゴリズムは、入力に行列1をかけ、活性化関数を適用し、行列2をかけた物を出力とする。活性化関数にはシグモイド関数ガウシアン関数などを使う。行列1と行列2を求めるのが学習である。この学習は最適化問題となり、バックプロパゲーション誤差逆伝播)と呼ばれる。学習には、最急降下法、慣性法、RPROPLevenberg-Marquardt法、準ニュートン法共役勾配法などが使われる。なお、これら勾配法では、最小解ではなく局所解に陥る問題があるので、複数の初期値からパラメータ探索を行う必要がある。0に近いパラメータから探索を行うと、0に近い局所解に収束する可能性が高くなり、正則化項をつけたのと似た効果を生んでしまうので、初期値は適切に選ぶ必要がある。

分類問題に使う場合は、色々な手法があるが、出力をシグモイド関数にかけ、0〜1に変換し、それを確率と見なし、交差エントロピー誤差関数を最小化する形で最適化問題を解くというやり方がある。

なお、単純にアルゴリズムを使用した場合、不適切に過学習するので、予測能力向上のため、隠れユニット数を最適数に調整する、誤差関数に正則化項をつけるなどの対策が必要である。隠れ層に対して正則化項をつけると、入力軸方向の高周波成分を除去する働きがある。出力層に対して正則化項をつけると、出力軸方向の小さな変化を除去する働きがある。

RBFネットワーク

RBFネットワーク

フィードフォワードニューラルネットワークにおいて、隠れ層で入力ベクトルとパラメータベクトルの内積をとるところを、入力ベクトルとパラメータベクトルの距離に置き換え、活性化関数をガウシアン関数などの放射基底関数に置き換えた物。入力ベクトルが1次元の場合、つまり実数の場合、単に活性化関数をガウシアン関数などに置き換えるだけで、RBFネットワークになる。

RBFネットワークを発展させた物が、ガウス過程サポートベクターマシンである。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

ネットで話題

もっと見る

関連ブログ