NetUnfold

NetUnfold[fnet]

たたみ込まれたネット fnet の再帰状態を公開する初期ネットを生成する.

詳細とオプション

  • たたみ込まれたネットは,再帰ネットや一方向トランスフォーマのように同じ操作を繰り返すことでシーケンスを一方向に反復するネットである.
  • NetUnfoldは,通常,訓練済みのデコーダからのテキストや音声の生成やテキスト翻訳等のアプリで使用できるシーケンスを効率的に生成するために繰返し操作の抽出に使われる.
  • ,状態方程式が で出力方程式が ,訓練パラメータが の再帰ネットワークのとき,展開されたネットは再帰 の単一ステップに相当する.
  • NetUnfoldは,特に次のたたみ込み層の再帰状態を公開する.
  • BasicRecurrentLayer[]1状態ベクトル
    GatedRecurrentLayer[]1状態ベクトル
    LongShortTermMemoryLayer[]2状態ベクトル,中に1つの内部呼び出し状態
    NetFoldOperator[net,{"out1""in1",,"outn""inn"},]n 状態ベクトル
    AttentionLayer[,"Mask""Causal"]前のキーと値である2状態のシーケンス
  • 再帰層の公開された状態は,通常は0で初期化されるベクトルである.トランスフォーマの公開された状態は,変数長のベクトルのシーケンスである.これは,通常は,空のシーケンスで初期化される.
  • NetUnfoldもたたみ込まれたネットに適用し,出力シーケンスの最後の要素を操作することができる.そのような場合には対応するSequenceLastLayerが除去される.
  • NetUnfoldNetFoldOperatorの逆操作と見ることができる.

例題

すべて開くすべて閉じる

  (1)

GatedRecurrentLayerにたたみこまれた中心的操作を得る:

スコープ  (5)

単一の再帰層を展開する:

因果マスキングがある注意層を展開する:

再帰操作鎖を展開する:

再帰ネットモデルを展開する:

トランスフォーマモデルを展開する:

アプリケーション  (1)

効率的なテキスト生成を実装する.まず,訓練された言語モデルを入手する:

確率的にテキストを生成する最も簡単な関数は次のようになる:

この関数の問題は,モデルが同じ入力に対して数回フィードされるために二次時間計算量を持つことである:

NetUnfoldを使うと,状態を公開することで同じアクティベーションの再計算を避けることができる:

このたたみ込まれたネットに基づいた効率的な確率的テキスト生成を書く:

この効率的なテキスト生成は一次時間計算量を持つ:

特性と関係  (2)

NetUnfoldNetFoldOperatorの逆の操作である:

再帰後の任意のSequenceLastLayerは自動的に削除される:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_netunfold, organization={Wolfram Research}, title={NetUnfold}, year={2021}, url={https://reference.wolfram.com/language/ref/NetUnfold.html}, note=[Accessed: 18-November-2024 ]}