NetFoldOperator[net]
net が入力列上に折りたたまれて再帰状態を維持するネットを表す.
NetFoldOperator[net,{"outi""in1",…}]
各ステップの outiを次のステップの iniにフィードバックすることで再帰状態を保ちながら net が入力上にたたまれるネットを表す.
NetFoldOperator[net,feedback,{"const1","const2",…}]
net への入力 constiを,重ね合されたのではなく一定なものとして扱う.
NetFoldOperator[net,feedback,constants,{"out1",…}]
指定された出力 outiの値の列を返す.
 
     
   NetFoldOperator
NetFoldOperator[net]
net が入力列上に折りたたまれて再帰状態を維持するネットを表す.
NetFoldOperator[net,{"outi""in1",…}]
各ステップの outiを次のステップの iniにフィードバックすることで再帰状態を保ちながら net が入力上にたたまれるネットを表す.
NetFoldOperator[net,feedback,{"const1","const2",…}]
net への入力 constiを,重ね合されたのではなく一定なものとして扱う.
NetFoldOperator[net,feedback,constants,{"out1",…}]
指定された出力 outiの値の列を返す.
詳細とオプション
 
     
   - NetFoldOperator[net]はNetFoldOperator[net,{"Output"->"State"}]に等しく,たたまれたネットの"Output"と呼ばれる出力が"State"と呼ばれる入力にフィードバックされるように指定する.
- NetFoldOperator[…]は,1つまたは複数の列を取って1つまたは複数の同じ長さの列を出力するネットを表す.
- NetFoldOperator[net,{"out1""in1",…}]は,"outi"->"ini"を含むフィードバックの1つで与えられる iniを除いて,net と同じ入力を取る.
- NetFoldOperator[net,feedback,constants]は,feedback または constants で指定されたものではない任意の入力を重ね合せる.重ね合された入力はすべて同じ長さでなければならない.
- net が"Input"および"State"という名前の2つの入力と"Output"という名前の1つの出力を持つ典型的な場合では,NetFoldOperator[net]からの1つの引数が"Input"という名前の単一の入力列{x1,x2,…,xn}を取り,事実上 net[<|"Input"->xi,"State"->si-1|>]を使って si を計算するためにネットを xiと si-1に繰り返し適用することで,"Output"という名前の状態の列{s1,s2,…,sn}を生成する.初期状態 s0は0の配列である.
- NetGraph内では,src->NetPort[layer,"state"]という形式の接続を使って,NetFoldOperatorの再帰状態の初期値を与えることができる.同様に,NetPort[layer,"state"]->dst という形式の接続を使って再帰状態の最終値を得ることができる.これらの状態は,未接続のままに置かれると,NetStateObjectで追跡することができる.
- NetFoldOperator[net,{"out1""in1",…}]は,値がフィードバックされるすべての反復ポート iniに名前が付けられた状態ポートを持つ.
- NetFoldOperator[net,…]は,net の,重ね合される各列要素につき1つの,複数のコピー間で重みを共有する形式を許すものと見られる.
- NetFoldOperator[…,"Input"->shape]で入力の形が指定できる.次は,shape の可能な形式である.
- 
      
      NetEncoder[…] 配列を作るエンコーダ n 長さ n のベクトル {n1,n2,…} 次元 n1×n2×…の配列 "Varying" 可変長のベクトル {"Varying",n2,n3,…} 最初の次元が可変長で残りの次元が n2×n3×…である配列 
- 次の訓練パラメータも含めることができる.
- 
      
      LearningRateMultipliers Automatic ネット中の訓練可能な配列の学習率乗数 
- Options[NetFoldOperator]は層を構築する際のデフォルトオプションのリストを与える.Options[NetFoldOperator[…]]はデータについて層を評価する際のデフォルトオプションのリストを与える.
- Information[NetFoldOperator[…]]は層についてのレポートを与える.
- Information[NetFoldOperator[…],prop]はNetFoldOperator[…]の特性 prop の値を与える.使用可能な特性はNetGraphと同じである.
例題
すべて開く すべて閉じる例 (1)
コアを使い配列の列に作用するNetFoldOperatorを作る:
スコープ (5)
NetFoldOperatorを使って入力列の平均を折りたたむ高次ネットを作る:
NetMapOperatorを使って画像の色チャンネルに折りたたみ器をマップする.結果として画像の行が累積される:
フィードバックされた2つの独立状態を持つネットを作る.これらの状態は,最終出力列を与える際に追加的に使われる:
単純な非線形関数を使って2つの列からの要素を再帰状態と組み合せるネットを構築する:
NetFoldOperatorの初期状態と最終状態がセットかつ入手できるNetGraphを作る:
初期状態と最終状態がより大きいネットから来たのでなければ,NetGraphを使わずにNetPort[All,"States"]を使ってそれらを制御することも可能である:
テクニカルノート
関連するガイド
テキスト
Wolfram Research (2017), NetFoldOperator, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetFoldOperator.html (2020年に更新).
CMS
Wolfram Language. 2017. "NetFoldOperator." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/NetFoldOperator.html.
APA
Wolfram Language. (2017). NetFoldOperator. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetFoldOperator.html
BibTeX
@misc{reference.wolfram_2025_netfoldoperator, author="Wolfram Research", title="{NetFoldOperator}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/NetFoldOperator.html}", note=[Accessed: 31-October-2025]}
BibLaTeX
@online{reference.wolfram_2025_netfoldoperator, organization={Wolfram Research}, title={NetFoldOperator}, year={2020}, url={https://reference.wolfram.com/language/ref/NetFoldOperator.html}, note=[Accessed: 31-October-2025]}