概要
- 略語: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を使用する。
誘導 → 学習にまつわる各パラメータ
FT LoRA 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 XXXSD3 FLUX.1
- 表記の例外
- AdaFactorかつrelative step=trueの場合は、Lrの値は無視される。ただし、0にすると対象の層の学習自体省略されるため、適当な値を代入すること。
- 上記は基本形であり、アルゴリズムやオプティマイザーによっては、専用の記入方法がある。各紹介ページを参照のこと