Main Content

浅層ニューラル ネットワーク Simulink ブロック線図の展開

関数 gensim は、Simulink® を使用してシミュレーションできるように、ネットワークを記述するブロックを生成します。

gensim(net,st)

gensim への 2 番目の引数によってサンプル時間が決まります。通常は、正の実数値が選択されます。

ネットワークの入力重みまたは層の重みに遅延が関連付けられていない場合、この値を -1 に設定できます。値が -1 の場合、gensim は、連続サンプリングを行うネットワークを生成します。

一連の入力 p および対応するターゲット t を定義します。

p = [1 2 3 4 5];
t = [1 3 5 7 9];

この問題を解く線形層を設計します。

net = newlind(p,t)

sim を使用して元の入力でネットワークをテストします。

y = sim(net,p)

この結果は、このネットワークによって問題が解かれたことを示しています。

y =
      1.0000    3.0000    5.0000    7.0000    9.0000

gensim を呼び出し、このネットワークの Simulink バージョンを生成します。

gensim(net,-1)

2 番目の引数が -1 であるため、結果として得られるネットワーク ブロックは連続的にサンプリングを行います。

gensim を呼び出すと、Simulink エディターでこのモデルが開き、サンプル入力とスコープに結合された線形ネットワークで構成されるシステムが表示されます。

このネットワークをテストするために、左側にある入力の Constant x1 ブロックをダブルクリックします。

実際、この入力ブロックは標準的な定数ブロックです。定数値を、ランダムに生成された初期値から 2 に変更し、[OK] をクリックします。

メニュー オプション [シミュレーション][実行] を選択します。

シミュレーションが完了したら、右側の出力 y1 ブロックをダブルクリックしてネットワークの応答を確認します。

出力は 3 であり、これは入力 2 に対する正しい出力です。

推奨される演習

以下のいくつかの演習を試すことをお勧めします。

入力信号の変更

定数入力ブロックを、標準の Simulink Sources ブロックセットにあるシグナル ジェネレーターに置き換えます。システムのシミュレーションを行い、ネットワークの応答を表示します。

離散サンプル時間の使用

ネットワークを再度作成します。ただし、連続サンプリングではなく、0.5 の離散サンプル時間を使用します。

gensim(net,0.5)

この場合も、定数入力をシグナル ジェネレーターに置き換えます。システムのシミュレーションを行い、ネットワークの応答を表示します。

関数およびオブジェクトの生成

MATLAB® 関数を使用した浅層ニューラル ネットワークのシミュレーションと展開については、浅層ニューラル ネットワーク関数の展開を参照してください。