resetState
ニューラル ネットワークの状態パラメーターのリセット
説明
は、ニューラル ネットワークの状態パラメーターをリセットします。この関数を使用して、LSTM ネットワークなどの再帰型ニューラル ネットワークの状態をリセットします。netUpdated
= resetState(net
)
例
ネットワークの状態のリセット
シーケンスの予測間のネットワークの状態をリセットします。
[1] および [2] で説明されているように Japanese Vowels データ セットで学習させた事前学習済みの長短期記憶 (LSTM) ネットワーク dlnetJapaneseVowels
を読み込みます。このネットワークは、ミニバッチのサイズ 27 を使用して、シーケンス長で並べ替えられたシーケンスで学習させています。
load dlnetJapaneseVowels
ネットワーク アーキテクチャを表示します。
net.Layers
ans = 4x1 Layer array with layers: 1 'sequenceinput' Sequence Input Sequence input with 12 dimensions 2 'lstm' LSTM LSTM with 100 hidden units 3 'fc' Fully Connected 9 fully connected layer 4 'softmax' Softmax softmax
テスト データを読み込みます。
load JapaneseVowelsTestData
シーケンスを分類し、ネットワークの状態を更新します。
X = XTest{94};
[scores,state] = predict(net,X,InputDataFormats="CT");
net.State = state;
label = scores2label(scores,classNames)
label = categorical
3
更新されたネットワークを使用して別のシーケンスを分類します。
X = XTest{1};
scores = predict(net,X,InputDataFormats="CT");
label = scores2label(scores,classNames)
label = categorical
7
最終予測を真のラベルと比較します。
trueLabel = TTest(1)
trueLabel = categorical
1
ネットワークの更新後の状態は、分類に悪影響を与える場合があります。ネットワークの状態をリセットし、シーケンスについて再度予測を行います。
net = resetState(net);
scores = predict(net,X,InputDataFormats="CT");
label = scores2label(scores,classNames)
label = categorical
1
入力引数
net
— ニューラル ネットワーク
dlnetwork
オブジェクト
ニューラル ネットワーク。dlnetwork
オブジェクトとして指定します。
関数 resetState
は、net
に状態パラメーターがある場合 (たとえば、LSTM 層などの少なくとも 1 つの再帰層をもつネットワーク) にのみ効果があります。入力ネットワークに状態パラメーターがない場合、この関数は無効となり、入力ネットワークを返します。
出力引数
参照
[1] M. Kudo, J. Toyama, and M. Shimbo. "Multidimensional Curve Classification Using Passing-Through Regions." Pattern Recognition Letters. Vol. 20, No. 11–13, pages 1103–1111.
[2] UCI Machine Learning Repository: Japanese Vowels Dataset. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
Intel® MKL-DNN ターゲット用のコード生成では、
'SequenceLength','longest'
、'SequencePaddingDirection','left'
、および'SequencePaddingValue',0
の名前と値の引数の組み合わせがサポートされません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
関数
resetState
の GPU コード生成は、cuDNN ライブラリおよび TensorRT ライブラリを対象とする再帰型ニューラル ネットワークでのみサポートされます。
バージョン履歴
R2017b で導入R2024a: DAGNetwork
オブジェクトおよび SeriesNetwork
オブジェクトは非推奨
R2024a 以降、DAGNetwork
オブジェクトおよび SeriesNetwork
オブジェクトは非推奨となりました。代わりに dlnetwork
オブジェクトを使用してください。この推奨により、関数 resetState
への DAGNetwork
および SeriesNetwork
の入力も非推奨となります。
DAGNetwork
オブジェクトおよび SeriesNetwork
オブジェクトのサポートを削除する予定はありません。ただし、dlnetwork
オブジェクトには次の利点があるため、代わりにこのオブジェクトを使うことを推奨します。
dlnetwork
オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。dlnetwork
オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。関数
trainnet
はdlnetwork
オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。dlnetwork
オブジェクトを使用した学習と予測は、通常、LayerGraph
とtrainNetwork
を使用したワークフローよりも高速です。
学習済みの DAGNetwork
オブジェクトまたは SeriesNetwork
オブジェクトを dlnetwork
オブジェクトに変換するには、関数 dag2dlnetwork
を使用します。
関数 resetState
は dlnetwork
オブジェクトをサポートしており、動作は同じです。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)