Main Content

Stateful Predict

学習済み再帰型ニューラル ネットワークを使用した応答の予測

R2021a 以降

  • Stateful Predict block

ライブラリ:
Deep Learning Toolbox / Deep Neural Networks

説明

Stateful Predict ブロックは、ブロック パラメーターで指定された学習済み再帰型ニューラル ネットワークを使用して、入力におけるデータの応答を予測します。このブロックを使用すると、MAT ファイルまたは MATLAB® 関数から Simulink® モデルに事前学習済みのネットワークを読み込ませることができます。このブロックは、予測のたびにネットワークの状態を更新します。

再帰型ニューラル ネットワークの状態を初期状態にリセットするには、Stateful Predict ブロックを Resettable Subsystem (Simulink) ブロック内に配置し、トリガーとして制御信号 Reset を使用します。

制限

  • dlnetwork オブジェクトを使用する Stateful Predict ブロックでは、Intel® の MKL-DNN ライブラリを使用した CPU 高速化、および NVIDIA® の CuDNN ライブラリまたは TensorRT ライブラリを使用した GPU 高速化はサポートされていません。

端子

入力

すべて展開する

Stateful Predict ブロックの入力端子は、読み込まれたネットワークの入力層の名前を取ります。予測ブロックへの入力には、読み込まれたネットワークに応じて、シーケンス データまたは時系列データを使用できます。

シーケンスが含まれる数値配列の次元は、データのタイプによって異なります。

入力説明
ベクトル シーケンスs 行 c 列の行列。ここで、s はシーケンス長、c はシーケンスの特徴の数です。
2 次元イメージ シーケンスh x w x c x s の配列。ここで、h、w、および c は、それぞれイメージの高さ、幅、およびチャネル数に対応します。s はシーケンス長です。

出力

すべて展開する

Stateful Predict ブロックの出力端子は、読み込まれたネットワークの出力層の名前を取ります。Stateful Predict の出力は、読み込まれたネットワークに応じて、予測スコアまたは応答を表すことができます。

sequence-to-label 分類の場合、出力は K 行 N 列の行列になります。ここで、K はクラスの数、N は観測値の数です。

sequence-to-sequence 分類問題の場合、出力は K 行 S 列のスコア行列になります。ここで、K はクラスの数、S は対応する入力シーケンスに含まれるタイム ステップの総数です。

パラメーター

すべて展開する

学習済み再帰型ニューラル ネットワークのソースを指定します。この学習済みネットワークには、少なくとも 1 つの再帰層 (LSTM ネットワークなど) を含めなければなりません。次のいずれかを選択します。

  • Network from MAT-filedlnetwork オブジェクトを含む MAT ファイルから学習済みの再帰型ニューラル ネットワークをインポートします。

  • Network from MATLAB function— MATLAB 関数から事前学習済みの再帰型ニューラル ネットワークをインポートします。

プログラムでの使用

ブロック パラメーター: Network
タイプ: 文字ベクトル、string
値: 'Network from MAT-file' | 'Network from MATLAB function'
既定: 'Network from MAT-file'

このパラメーターは、読み込もうとしている学習済み再帰型ニューラル ネットワークを含む MAT ファイルの名前を指定します。ファイルが MATLAB のパス上にない場合は、[参照] ボタンを使用してファイルを探します。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク] に設定します。

プログラムでの使用

ブロック パラメーター: NetworkFilePath
タイプ: 文字ベクトル、string
値: MAT ファイルのパスまたは名前
既定: 'untitled.mat'

このパラメーターは、事前学習済みの再帰型ニューラル ネットワークに関する MATLAB 関数の名前を指定します。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MATLAB 関数からのネットワーク] に設定します。

プログラムでの使用

ブロック パラメーター: NetworkFunction
タイプ: 文字ベクトル、string
値: MATLAB 関数名
既定: 'untitled'

[サンプル時間] パラメーターは、シミュレーション中にブロックが新しい出力値をいつ計算するかを指定します。詳細については、サンプル時間の指定 (Simulink)を参照してください。

出力に時間オフセットをもたせない場合は、[サンプル時間] パラメーターをスカラーとして指定します。出力に時間オフセットを追加するには、[サンプル時間] パラメーターを 12 列のベクトルとして指定します。ここで、最初の要素はサンプリング周期で、2 番目の要素はオフセットです。

既定では、[サンプル時間] パラメーターの値は -1 です (値を継承します)。

プログラムでの使用

ブロック パラメーター: SampleTime
タイプ: 文字ベクトル
値: スカラー | ベクトル
既定: '-1'

このパラメーターは、学習済みの dlnetwork に必要な入力データ形式を指定します。

データ形式。string スカラーまたは文字ベクトルとして指定します。文字列の各文字は、次のいずれかの次元ラベルでなければなりません。

  • "S" — 空間

  • "C" — チャネル

  • "B" — バッチ

  • "T" — 時間

  • "U" — 指定なし

たとえば、シーケンスのバッチを含み、1 番目、2 番目、および 3 番目の次元がそれぞれチャネル、観測値、およびタイム ステップに対応する配列の場合、"CBT" の形式で指定できます。

"S" または "U" のラベルが付いた次元については、複数回指定できます。"C""B""T" のラベルについては、1 回のみ使用できます。ソフトウェアは、2 番目の次元の後ろにある大きさが 1 の "U" 次元を無視します。

詳細については、Deep Learning Data Formatsを参照してください。

既定では、このパラメーターはネットワークが必要とするデータ形式を使用します。

依存関係

このパラメーターを有効にするには、[ネットワーク] パラメーターを [MAT ファイルからのネットワーク] に設定して、学習済みの dlnetwork オブジェクトを MAT ファイルからインポートします。

プログラムでの使用

ブロック パラメーター: InputDataFormats
タイプ: 文字ベクトル、string
値: 1 つ以上の入力をもつネットワークの場合は、{'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}' の形式の文字ベクトルを使用します。入力層がなく複数の入力端子をもつネットワークの場合は、'{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}' の形式の文字ベクトルを使用します。
既定値: ネットワークが必要とするデータ形式。詳細については、Deep Learning Data Formatsを参照してください。

拡張機能

バージョン履歴

R2021a で導入

すべて展開する