ニューラルネットシミュレータの使い方 †
learn は Debian GNU/Linux Alpha64 用にコンパイルされたニューラルネットシミュレータです。現時点ではソースファイルの公開は行っていません.学習アルゴリズムとして、BF法,FRBP法,NR法,BPNR法,BP法とランダム探索法を組み合わせたハイブリットアルゴリズムが選択できます。
必要なファイル †
- cnfファイル:シミュレーションのための設定
- netファイル:ネットワーク構造定義
- nn ファイル:結合係数出力用
- tchファイル:学習用データ
- inpファイル:予測用データ
- logファイル:ログ出力用ファイル
- macファイル:動作記述マクロファイル
cnfファイルの書き方例 †
test.net
test.nn
test.tch
test.tch
test.log
test.mac
10 step max
0.0005 誤差の最小値
1e-8 small enough
20 変化方向( 0 : BP / 1 : FRBP / 10 : NR / 11 : BPNR / 20 : HYB )
0 変化幅 ( 0:一次元探索 / 1:繰返し探索 / 2:ステップ )
0 後方探索 ( 0:なし / 1:あり )
0.1 慣性項の大きさ beta
5 慣性項bp eta
4.0 慣性項bp alpha
1.0 bipoler alpha(バイポーラの場合のみ有効) Y軸方向の幅(倍率)
1.0 bipoler sigma(バイポーラの場合のみ有効) シグモイド関数の傾き
0 bipoler X offset(バイポーラの場合のみ有効) X方向のオフセット
10 loop max
0.00001 gamma (0.001-0.00001)
100 終了条件(1/x)
100 終了条件(回数)
1 seed(-1:random)
netファイルの書き方 †
総層数
第1層目ニューロン数
第2層目ニューロン数
・
・
出力層ニューロン数
(例)3層5入力1出力(中間層1の場合)
3
5
16
1
macファイルの書き方 †
- macファイルにはシミュレータに実行させる動作を定義します。
- 1行に1コマンド記述します。
- I --- 結合ベクトル初期化。すべての結合ベクトルを乱数で初期化します。
- L X1 X2 --- 学習実行。学習用データで指定したファイルのX1行目からX2個のデータを用いて学習します。
- T X1 X2 --- 予測実行。予測用データで指定したファイルのX1行目からX2個のデータを用いて予測します。教師値が書かれていた場合は無視されます。
- S --- 結合ベクトル保存。追加学習を行う場合に用います。
- Q --- 終了
(例)
I
L 0 9
T 10 9
S
Q
実行方法 †
$ ./learn cnfファイル名