NetStateObject

NetStateObject[net]

ネットがデータに適用されると更新される追加的な保存状態情報を持つ,ニューラルネットを表す net から派生したオブジェクトを作る.

NetStateObject[net,seed]

追加的な保存状態情報が seed を使って初期化されたオブジェクトを作る.

詳細

  • NetStateObject[][data]は,NetStateObject中の保存された状態情報を更新する.
  • 状態の情報は,LongShortTermMemoryLayerのような再帰ネット層の状態ポートに関連付けられている.
  • NetStateObjectは,状態ポートがNetGraph中の他の層によって初期化された層の状態は保存しない.
  • シードが与えられていない場合,再帰状態の初期値は0の配列からなる.
  • 保存された状態の現行値はNetExtract[NetStateObject[],"States"]で与えられる.

例題

すべて開くすべて閉じる

  (3)

再帰ネットを作る:

再帰ネットから状態オブジェクトを作る:

データについて状態オブジェクトを評価する:

保存された状態があるので,状態オブジェクトの動作は,たとえ入力が同じでも評価間で異なることがある:

指定された初期状態の状態オブジェクトを作る:

列の次の要素を予測する分類器を作る:

入力列集合で分類器を訓練する:

状態オブジェクトを作り,これを使って,単一の1から始めて最大尤度列を効率的に生成する:

アプリケーション  (1)

英語の文字レベルの言語モデルを訓練する.まず,2つの小説から取った25文字の訓練例を30万例作る:

このデータは分類問題の形をしている.文字列が与えられると次の文字が予測される.次はデータのサンプルである:

テキストに含まれるすべての文字のリストを得る:

文字列を取り込んで次の文字の予測を返すネットを定義する:

このネットを訓練する.訓練にはCPUで最大1時間かかる.サポートされるGPUがあるなら,TargetDevice"GPU"に設定するとよいだろう:

文字列が与えられると次の文字を予測する:

開始テキストが与えられると100文字のテキストを生成する:

予測の確率分布からサンプルを取ると,もっとおもしろいテキストが得られる:

特性と関係  (3)

再帰層の状態の初期値がNetGraph中の接続によって与えられるのであれば,その状態はNetStateObjectによっては保存されない.

接続を使ってBasicRecurrentLayerの状態の初期値を与えるグラフを作る:

保存する状態がもう残っていないので,このグラフはNetStateObject内では使えない:

保存された状態の現行値は,NetExtractを使って得ることができる.

まず,NetStateObjectを作る:

このオブジェクトをデータに適用する:

状態の現行値を抽出する:

再帰ネットについては,NetStateObjectを使うことは,NetPort[All,"States"]を使って手作業で再帰状態の記録を付けることに等しい.

これを見るために,列の次の要素を予測する分類器を作る:

入力列の集合でこの分類器を訓練する:

状態オブジェクトを作り,これを使って単一の1から始めて最大尤度列を効率的に生成する:

NetPort[All,"States"]を使って訓練済みのネットから生成し,再帰状態を設定して得る.これも同じ結果を与える:

Wolfram Research (2018), NetStateObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetStateObject.html.

テキスト

Wolfram Research (2018), NetStateObject, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetStateObject.html.

CMS

Wolfram Language. 2018. "NetStateObject." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NetStateObject.html.

APA

Wolfram Language. (2018). NetStateObject. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetStateObject.html

BibTeX

@misc{reference.wolfram_2024_netstateobject, author="Wolfram Research", title="{NetStateObject}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/NetStateObject.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_netstateobject, organization={Wolfram Research}, title={NetStateObject}, year={2018}, url={https://reference.wolfram.com/language/ref/NetStateObject.html}, note=[Accessed: 22-November-2024 ]}