TrainingUpdateSchedule

TrainingUpdateSchedule

NetTrainのオプションで,最適化の過程の各ステップでネットワークのどの配列が更新可能かを指定する.

詳細

  • デフォルト値のTrainingUpdateScheduleAutomaticでは,最適化の過程の任意のステップですべての配列が更新される.
  • TrainingUpdateSchedule{group1,group2,,groupn}は,各最適化ステップでどの配列を更新するかを指定する.このスケジュールは訓練の最後まで繰り返される.
  • TrainingUpdateSchedule{group1,group2,,groupn}の各 groupiは次の形式でよい.
  • "layer"名前付きの層または下位ネットワークのすべての配列
    nn 層のすべての配列
    m;;nm 層から第 n 層までのすべての配列
    {layer,"array"}配列または下位ネットワークの特定の配列
    {part1,part2,}ネストした層または下位ネットワークの配列
    spec1|spec2|指定された配列のいずれか
    _ネットワーク中の全配列
    specs連続する s ステップで同じ指定を繰り返す
  • TrainingUpdateScheduleがネットの一部を参照するために使う階層的指定{part1,part2,} は,NetExtractNetReplacePartが使うものと同じである.
  • 部分ネット(例:ネストしたNetChainまたはNetGraph)の指定は,部分ネット内のすべての層と配列に適用される.
  • TrainingUpdateScheduleで指定されていないパラメータの任意のグループは,訓練中一定に保たれる.

例題

すべて開くすべて閉じる

  (1)

弁別装置と生成器の更新を交互に行うことでNetGANOperatorを訓練する:

スコープ  (2)

3層の初期化ネットを作成する:

第1層と第3層を交互に更新することでこのネットを訓練し,バッチの各最適化の反復の後でネット配列を収集する:

反復による最初の配列値の進化を示し,配列が交互に更新されていることをチェックする:

名前付きの層があるNetGraphを作成して初期化する:

NetGraphの下位部分を他より10倍以上更新することでこのネットを訓練する:

配列がどうように更新されるかをチェックする:

配列を1つずつ別々に更新することで同じNetGraphを訓練する:

考えられる問題  (1)

ネットワーク内の数ヶ所に共有配列があると,一意的な訓練更新スケジュールだけが共有配列のすべての出現に対して適用される.

共有配列があるネットワークを作る:

第1層だけを更新するように指定し各更新後に第3層の重みの値を集めるTrainingUpdateScheduleで訓練する:

共有重みが各エポックで更新される:

結果は更新スケジュールなしで訓練した場合と同じである:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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