Learning rate

Last-modified: 2025-02-16 (日) 10:29:53

概要

  • 略語:lr ,LR
  • 学習における単位stepあたりの進行速度のようなもの。
    詳しくは各自検索していただく方が誤解がないでしょう。

    大きいほど短いstep数,epoch数,学習時間で学習が進行するものの、
    教師画像と現学習状況のわずかな差に過剰反応して、
    ありもしない情報を学習したりします。
    できるだけ大きく、しかし正確に学習させたい・・・等、機械学習において重要なパラメータです。

sd-scriptsにおけるLearning rate

指定方法

  • 学習方式によって指定方法が異なる。
    下表を参考にして欲しい。
    • ”XXX”には任意の数値が入る。値を0にすると、基本的には該当する層そのものの学習が省略される。
    • FTの場合、TextEncoderを学習するには、;--train_text_encoderが必要。
    • LoRAの場合、TextEncoderは自動で学習対象になる。
      もし学習対象から外したい場合は、network_train_text_encoder_only 、network_train_unet_onlyを使用する。
       誘導 → 学習にまつわる各パラメータ

      FTLoRA
      SD1--learning_rate XXX
      --learning_rate_te XXX
      --train_text_encoder
      --learning_rate XXX
      SDXL--learning_rate XXX
      --learning_rate_te1 XXX
      --learning_rate_te2 XXX
      --train_text_encoder
      --learning_rate XXX
      --text_encoder_lr XXX
      SD3
      FLUX.1
  • 表記の例外
    • AdaFactorかつrelative step=trueの場合は、Lrの値は無視される。ただし、0にすると対象の層の学習自体省略されるため、適当な値を代入すること。
    • 上記は基本形であり、アルゴリズムやオプティマイザーによっては、専用の記入方法がある。各紹介ページを参照のこと