Main Content

init

ニューラル ネットワークの初期化

説明

init_net = init(net) は、net.initFcn によって指定されるネットワーク初期化関数と、net.initParam によって指定されるパラメーター値に従って重み値とバイアス値が更新される、ニューラル ネットワーク net を返します。

この関数の詳細については、MATLAB コマンド プロンプトで help network/init と入力してください。

すべて折りたたむ

この例では、関数 init を使用してパーセプトロン ネットワークを再初期化する方法を示します。

パーセプトロンを作成し、その入力、出力、重み、およびバイアスの次元が入力データおよびターゲット データと一致するように構成します。

x = [0 1 0 1; 0 0 1 1];
t = [0 0 0 1];
net = perceptron;
net = configure(net,x,t);
net.iw{1,1}
net.b{1}

パーセプトロンに学習させて、その重み値とバイアス値を変更します。

net = train(net,x,t);
net.iw{1,1}
net.b{1}

init は、これらの重み値とバイアス値を再初期化します。

net = init(net);
net.iw{1,1}
net.b{1}

重みとバイアスは、パーセプトロン ネットワークによって使用される初期値である 0 に戻ります。

入力引数

すべて折りたたむ

入力ネットワーク。ネットワーク オブジェクトとして指定します。ネットワーク オブジェクトを作成するには、feedforwardnetnarxnet などを使用します。

出力引数

すべて折りたたむ

init による再初期化後のネットワーク。ネットワーク オブジェクトとして返されます。

アルゴリズム

initnet.initFcn を呼び出し、パラメーター値 net.initParam に従って重み値とバイアス値を初期化します。

一般的に、net.initFcn'initlay' に設定されており、各層の重みとバイアスがその net.layers{i}.initFcn に従って初期化されます。

逆伝播ネットワークでは、net.layers{i}.initFcn'initnw' に設定されており、Nguye・Widrow 初期化手法を使用して層 i の重み値とバイアス値が計算されます。

その他のネットワークでは net.layers{i}.initFcn'initwb' に設定されており、それぞれの重みとバイアスが独自の初期化関数で初期化されます。最も一般的な重みとバイアスの初期化関数は rands です。この関数は、–1 ~ 1 のランダムな値を生成します。

バージョン履歴

R2006a より前に導入