技術資料

技術資料

ターミナルアトラクタを組み込んだ複製・競合メカニズムによる効率的な機械学習.

目次 

目的 

構築データ空間からランダムにデータ点が与えられたとき,そのデータ点群から元の信号を推定する.

推定方法として,複製・競合動径基底関数ネットワーク(RC-RBFN)を使用する.

しかし,RC-RBFNには複製における計算量の課題がある.そこで計算量を考慮した複製方法を提案して実装を行う.

また,従来の機械学習手法にRC-RBFNを組み込むことを提案する.

使うモジュールのインストール 

使用するモジュール 

モジュールversion用途
pandasデータ収集やデータフレームへの格納などに用いる
numpy数値計算を効率的に行うための拡張モジュール
numbaサブセットのソースコードを高速に実行する機械語に変換するJITコンパイラ
matplotlibグラフ描写の為のライブラリ
scipy数値解析ライブラリ

モジュールのインストールはコマンドプロンプトでpip install モジュール名

バージョンまで指定する場合はコマンドプロンプトでpip install モジュール名==指定するバージョン でインストールする

Pythonのバージョンは3.10.14(指定しなくてもいいかもしれない)

↓動作環境(また置き換える)

動作環境(また貼りかえる)

プログラムの動かし方 

使用するテキストエディタ 

テキストエディタはVisualStudioCodeを使用する.

ダウンロードはこのページ( https://code.visualstudio.com/ )から行う.

VSCの設定は各自好きな拡張機能入れてもらえれば

実行前準備 

カーネル

↑右上の「カーネルの選択」→「Python環境」で構築した環境を選べばOK

[RBFNとは] 

動径基底関数ネットワーク(RBFN)とは任意の非線形関数(η)に対して,基底関数(ξ:一般的にガウス関数が用いられる)に重み(w)を乗算し,足し合わせることによって推定するニューラルネットワークのこと.

↓RBFNの構造

RBFN

入力ベクトル(X)がN個の変数から成る場合,j(j=1,2,...,M)番目のガウス関数ξ(X)は中心位置パラメータ(m)とξの広がりを表すパラメータ(Σ)を用いて以下のように表される.

基底関数

STEP1 ニューラルネットワークのパラメータ更新 

1.シナプス結合荷重wの更新 競争を考慮したシナプス可塑性方程式(適者生存型学習則) に従って更新する。

パラメータw.png

ここでαj(ϕ)は内的自然増加率、γjk(ϕ) は競争係数を示し以下のような式で成り立つ

内的自然増加率.png
競争係数.png

2.動径基底関数の中心𝑚𝑗の更新 従来のRBFNにおける更新式は以下の通りである

RBFNのmパラメータ.png

RC-RBFNでは自由エネルギーを考慮します。更新式は条件付確率密度関数𝑝𝛽′(𝑥𝑖∣𝑚𝑗[𝑖]) を用いて最急降下方向に従って更新されます。

RCRBFNにおけるパラメータm.png

3.共分散行列Σ𝑗の更新

共分散行列.png

従来のRBFNと同様に最急降下法を適用。

STEP2 収束判定 

累積二乗誤差関数.png

累積二乗誤差関数がある閾値以下になった場合、学習を終了。もし、ある閾値 𝜖>0より大きな値で収束 した場合は、次のステップへ。 Lyapunov関数により学習が進むにつれて誤差関数E(w,ϕ) は単調に減少する ことが保証されている。

誤差の単調減少を保証するLyapunov関数.png

STEP3 新たなニューロンの複製位置の決定 

新しい動径基底関数をどこに追加するべきかを確率密度関数を用いて決定する。

1.確率密度関数 𝑝𝛽′(𝑥𝑖∣𝑚𝑗[𝑖])を計算 既存の動径基底関数を用いて、教師信号 𝜂(𝑥)を近似できていない領域を特定し、条件付き確率密度関数 を利用し、動径基底関数の新しい中心𝑚𝑗を追加する位置を決定。

条件付き確率密度関数.png

2.温度パラメータ𝛽′の調整 β ′を増やすことで、誤差の大きい部分に動径基底関数を配置するための影響を強くするため0 から徐々に増加させる。

温度パラメータの役割: ・低いとき:データ全体を均等に考慮 ・高いとき:誤差が大きい部分を優先的に修正

3.新たな安定点を見つける 温度パラメータ𝛽′の変化に伴い、新たな安定な収束点が現れるかどうかを確認する。安定な収束点𝑚𝑗が増えた場合、新たな動径基底関数を追加する。この点が新しい動径基底関数の複製位置となる。

STEP4 動径基底関数の複製 

RCRBFN(複製・競合動径基底関数ネットワーク)を環境の変化に適応できるようにSTEP3で決定した新たな安定点に基づいて、動径基底関数(ニューロン)を複製し、ネットワークに追加 します。

1.既存の動径基底関数のパラメータを引き継ぐ 新しい動径基底関数をスムーズにネットワークへ組み込むため新たに追加する動径基底関数𝑚𝑝のシナプス結合荷重𝑤𝑝と共分散行列Σ𝑝は、既存の動径基底関数の値を引き継ぐ。

2.ネットワークへ新しい動径基底関数を追加 新しい動径基底関数をネットワークに組み込む。

3.学習を継続(STEP1に戻る) 新しい動径基底関数を追加した後、再び STEP1(学習の更新)に戻り、ネットワーク全体の再学習を行う。このプロセスを繰り返すことで、環境の変化に適応しながら、最適な動径基底関数の配置を行う。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS