Hyper Network

Last-modified: 2023-08-24 (木) 17:24:06

Last-modified: 2023-04-07 (金) 22:40:43
それ以降も校正作業は実施していますが、内容自体は古いものです。

概要

  • Hyper Networkは「ハイパーネットワーク」と読む。
  • 学習方法の一つであり、画風の再現やキャラの再現などに使える。
  • ファイルサイズは基本100MB以下で共有もしやすい。

動かすための条件など

・VRAMが8GB以上あれば、解像度512x512で学習できる。
 あくまでも基本設定の場合。
・後述の設定を複雑にするほど、より高性能なGPUが必要。
 ※顕著なのは解像度、レイヤー数など。

・目安として、RTX2070,RTX2080の8GBモデルあたりで、
 学習速度は1~2step/sec

0.【重要】学習画像の準備・ベンチマークテスト

1.空のhypernetworkを作る

初期設定と名前付けを行います。
「Train」タブを開いた後、「Create hypernetwork」タブを開きます。

  • Name
    • ファイル名を入力します。ご自由に。
      日本語は使えません。
  • Modules 
    • □768 □320 □640 □1280
    • Modulesについては現状最適な方法が見つかっていないので、全てONで問題ないです。
      ↓の方にあるコメントを見てみるとヒントになるかもです。
  • Enter hypernetwork layer structure
    ネットワークの階層の深さを示す値。慣れるまでは「1,2,1」でOK.
    「1,3,1」のように値を大きくすると、要求GPUスペックが増加する代わりに、学習結果の精度が高くなる(かも)。
    https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/3086
    数字を足すほど深くなり、深いハイパーネットワークは大規模なデータセット(トレーニングに使う画像が多い)トレーニングの場合に適しているらしい?
    https://zenn.dev/discus0434/articles/14e1d7c9baf8b5
  • Select activation function of hypernetwork
     機械学習で使用する活性化関数を選択する。
     重要な設定で、Learning rate(後述)とのバランスが大切。
     おすすめはswish,mish,relu。ひとまずは、崩壊しにくいものを選べば安心。
    • linear    
    • relu     
    • leakyrelu
    • elu
    • swish
    • mish   
       備考:
        ・活性化関数は、ニューラルネットワークにおいて、
         各ニューロンが出力する値を非線形に変換するために使用される。
        ・linearは、stepあたりの学習進行は早いが、
         Learning rateを小さくしないとすぐに崩壊する。
         Learning rate=10^(-7)オーダーにまで小さくすることになるので、
         学習が進まない。 
        ・Swish,mish等は、勾配消失問題など(学習不能や、崩壊すること)を抑制する。
          勾配に制限をかけるため、Learning rateを大きくしないと学習が進みにくい。
        Learning rate=10^(-4)~(-5)オーダーにまで大きくすると良い。
  • Add layer normalization
    • レイヤーの正規化?
      アプデで「Enter hypernetwork layer structure」と共に追加された。
      アプデ前はレイヤーの正規化は無しだったらしい
      オーバーフィッティング?を防ぎ、とあるので過学習みたいなものを防ぐ機能なのかも?
      https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/3086
    • としあきTIPS
      レイヤーノーマライゼーションってのは強制的にレイヤーを正規化する
      それによって汎化作用が強くなる分、基本的な学習力は落ちる
      というか、とし達の目的を考えたら汎化性より過学習気味な方がいいからむしろオフのがいいやつ
      _____________________
      普通は汎化性能が高いほうがいいんだけど、とし達はそんなのより再現力だから、過学習気味な方がいいのよ
      あと、たぶんだけど活性化関数がなかったせいでネットワークの表現力が足りなくてすぐに重みが発散するのを防ぐためだった気がするレイヤーノーマライゼーション
      逆に大規模な学習データ、例えば奇形化防止HN作るとかならLNオンにしたほうがいいと思う
  • Use dropout
    • 過学習を防ぐためのオプション。
      慣れるまでは、デフォ設定(ドロップアウトなし)でOK
    • dropoutってなに?
      各ステップでランダムにニューロンの何パーセントかを活性化しないことによって、ニューラルネットワークを拡散にしようとするものです。最後にコードで確認したところ、30%に設定されていました。つまり、ハイパーネットワークが保存できるデータは30%少なくなりますが、その分ニューロンに学習を続けさせ、死んだニューロン、ブローアウト、バニシングポイントなどの落とし穴を回避できる可能性もあります。これは完全にオプションです。ハイパーネットワークが大きくなればなるほど、それを使用する余裕ができ、トレーニング中に有用性が高まります。
      https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2670#discussioncomment-3999660
  • Overwrite Old Hypernetwork
    • 作成時に、既存の同名HNに上書きする?
  • Create hypernetwork
    • これを押下することで、空のハイパーネットワーク(ptファイル)が作成されます。
  • としあきTIPS
    >HN学習をlayer normalizationオンとreluでHNtrainをLr0.000005とデフォ値の0.00001で2種類3000stepずつ回したもののプレビュー画像にほぼ変化は見られず
    >layer normalizationオフにすると学習は普通にされてるんだけど教授これは一体!
    レイヤーノーマライゼーションってのは強制的にレイヤーを正規化する
    それによって汎化作用が強くなる分、基本的な学習力は落ちる
    というか、とし達の目的を考えたら汎化性より過学習気味な方がいいからむしろオフのがいいやつ
    ReLUいれておけば、今まで見たいに簡単に発散しないはずだから、ReLUだけオンにすればいい]
    ____
    >ReLUだけオンにすればいい
    なんかLN+Reluが一番効率良さそうみたいな記事見たけどReluだけでいいのか…
    サンキュー神様!
    ___
    4回ほどHNでReLU試してみたけどlayer normalizationが悪さしているかまだ確定じゃないんだけど
    layer normalizationとReLUの組み合わせだとレイヤー数関係なく絵柄の学習全然しないわ
    過去に線型モデルのHNで成功してたデータセットでも学習が反映されない
    layer normalizationをオフにして今学習してるからそっちの結果出たらまた言います
    _____
    >HN学習オプションのlinerとreluとleakyrluってどう違うんです?
    わかりやすく例を上げて説明すると
    サイズが320のネットワークを4層使う場合のネットワークの表現力は
    liner = 320 * 4
    ReLU,LeakyReLU = 320 * 320 * 320 * 320
    の差がある、難しい言葉で言うと線形関数と非線形関数の差
    
    でReLUとLeakyReLUはぶっちゃけ大差ない
    MLの知識に関わる説明はいらんと思うから、好みで選んでいいやつ
    一応LeakyReLUはReLUの改良版なんだけど、提案者自身が意味なかったって言ってるから、マジで好みで選んでいい
    _____
    https://atmarkit.itmedia.co.jp/ait/articles/2005/13/news009.html
    ____
    >目指してる汎用性によると思うよ
    >データセットが千枚とか必要そうな漠然とした汎用的な変更なら層を多くして慎重にしたほうが良いだろうけど
    >単に特定のシチュの絵柄だけとかなら層が多くても無駄に学習時間と必要リソースが増えるだけ
    WDみたいな学習をさせたいんじゃなくて、とし達が欲しいのがキャラ再現画風再現だし
    加えて汎化性能の高いベースモデルへのアディショナルなファインチューニングだから、むしろ過学習をさせたほうがいいまであるしな
    なんならピーキーだけどlinerで微調整を行ったほうが簡単に再現度は得られるまである
    _____

2.トレーニング設定を決める

「Train」タブの中の「Train」タブを開きます。

  • 「Hypernetwork」
    • 「∨」を押すと「hypernetworks」フォルダ内のptの一覧が表示されるので、先ほど作成した空のptを選択します。
  • 「Hypernetwork Learning rate
    • 学習の深度を決める数字です【重要】
      ※デフォで入っているはずの数値は必ず変更しましょう※
      Learning rateは0.000005 または 0.0000005 のようなすごく小さい数が必要。
      活性化係数(前述)によっては、もう少し大きくしても良いです。
    • ちなみに、画像が悪いのかもしれませんが、0.0000005ではいい結果は得られませんでした。
    • 学習中のサンプル画像などを参考にして、さじ加減を決めましょう。
    • 大きすぎるとノイズだらけor画像崩壊or生成結果が収束しない、小さすぎると学習が進まないor局所的最適解に留まる(※)傾向あり。
      ※例えば、教師画像100枚中1枚だけに存在するインパクトのある表現を学習しない、みたいな。
  • 「Batch size」
    • 1のままで大丈夫です。
      ごく一部のグラボではおそらく有効ですが、ほとんどの場合ただ処理が重くなります。
  • 「Gradient accumulation steps」
    • 1のままで大丈夫です。
    • ウェイト更新を何step毎に実施するかを設定できます。
  • 「Dataset directory」
    • 加工済の画像を保存したフォルダのパスを書きます。
       例)H:\stable-diffusion-webui\traning\学習素材加工済み
  • 「Log directory」
    • 変更不要。
       学習途中のデータなどの出力パスを、
       デフォルトの「stable diffusion\webui\textual_inversion」から変更できます。
       
  • Prompt template file」
    • Hypernetworkの学習に使うtxtを指定します。
      「hypernetwork.txt」が用意されているので、それを最初は使いましょう。
      H:\stable-diffusion-webui\textual_inversion_templates\hypernetwork.txt  
      ↑一例)自分の場所を指定してね
    • これらのtxtファイルをメモ帳で開くとわかりますが、学習はそのpromptにそって行われます。
      そのためこれを独自に編集することによって結果が変わります。
      学習させたくないワードを書いておくと良いかもしれないと言われています。
      基本「hypernetwork.txt」でいいです。結果を見て再度同じ学習をさせるときに変えればいいと思います。
  • 「Width」「Height」
    • 学習の事前準備の画像と同じ大きさを指定します。
      512で出力したのであればそのままで大丈夫です。
    • 512*512より大きくすると、その分VRAM消費量が大きくなります。
    • 1:1じゃなくてもOKです。
  • 「Max steps」
    • 何step学習を回すかです。途中で止めることもできるのでそのままでもよいかもしれません。
    • デフォは10万ですが過剰です。10,000step程度で指定して様子見がベター。
      Learning rate教師画像数,Epoch数にもよりますが、目安として数千~1万stepで学習は収束する感じ。
  • 「Save an image to log directory every N steps, 0 to disable」
    • 何stepごとにsampleの画像を生成するか決めます。
      生成の目的は、学習の進捗を目視すること。
    • デフォでも良いですが、寝てる間に回して結果は画像生成して確認するからという人は0(出力しない)でも良い。
    • 画像生成するときは学習が一時停止するため、ほどほどにすること。
      100~1000stepあたりが無難?
  • 「Save a copy of embedding to log directory every N steps, 0 to disable」
    • 何stepごとにptファイルを作成するか決めます。
      作成は必須ではありませんが、最終stepまで進んで過学習(望まない結果)になってしまったときに、途中の結果を抽出するのに使える。
    • 設定値はデフォのまま、あるいは100~1000の範囲でお好みで。
      ただし、細かくすると1つのデータあたり80MBくらいあるのディスク容量バカぐいする上、それだけ結果の確認が大変です。
  • 「Save images with embedding in PNG chunks」
    • 生成したSample画像データ内に、その画像のプロンプトなどの情報を埋め込みます。
    • 具体的にはPNGデータをメモ帳で開くと、文頭に記述されます。
       「PNG Info」タブでも閲覧可能です。
    • 迷ったら、チェックONにしておけば良いです。
  • 「Read parameters (prompt, etc...) from txt2img tab when making previews」
    • 学習中のSample画像生成の際に「txt2img」タブで指定したpromptなどを指定できます。
    • チェック無しだと、サンプル画像はランダム生成され比較が難しいため、チェックした方がいいでしょう。
    • 学習の進捗を可視化しやすくするためには、あらかじめ「txt2img」タブで、変化が分かりやすいタグ(髪色・型など)や、破綻しやすいタグ(「barefoot, bare arms, standing」セットなど)を入れて、
      かつSeed値を固定して置くとといいでしょう。

3.おすすめの設定組み合わせ

上記を読んで設定に迷った場合、目指す方向により好ましい組み合わせがあります。


【中期型】

  1. 「1, 2, 1」「0.000005」(5e-6)
    • メリット:まあまあ反映されてまあまあ崩れにくい。
    • デメリット:満足行くまで回そうとすると崩壊しやすい。

【長期型】

  1. 「1, 2, 1」「0.0000005」(5e-7)
    • メリット:崩壊しづらい。薄化粧程度にしか反映されない(人によって評価は分かれる)。
    • デメリット:かなり反映されづらいため、学習の事前準備をしっかり行わないといけない。

【短期型】

  1. 「1, 1」「relu」「0.00005」(5e-5)

【可変型】

  1. 特定のstepsごとに「0.00005」(5e-5)→「0.000005」(5e-6)→「0.0000005」(5e-7)(一例)のように切り替える。
    • メリット:組み合わせ次第で調整が大きく可能。
    • デメリット:その組み合わせの見極めが必要。

4.トレーニングの実行

「Train」ー「Train」タブ内にある、一番下「Train Hypernetwork」を押す

5.トレーニングの止め方

停止の方法に関わらず「models\hypernetworks」に最新stepの学習結果が保存されます(※)。

  • 停止、終了
     指定した「Max steps」まで回ると自動的に学習は止まります。
     そこまでの学習経過は、textual_inversion⇒学習の日付⇒学習の名前(例:あなる先生)で確認できます。
  • 中断
     ここで十分によい結果が得られてる気がするな?と思った場合は途中で止めても良いかもしれません。
     「Interrupt」を押すことで、現在のstepまでの学習でストップします。

※TIPS
 2個Stablediffusionを使える人なら(例:2PCやローカル+Colab)
 textual_inversion⇒学習の日付⇒学習の名前(例:あなる先生)⇒hypernetworks に途中のptが出力されます。(出力している場合
 コピーして別のSDへもっていけば途中でもいろいろ確認することが出来ます。

6.トレーニングを再開方法

  • 再開方法
    • 前述の空のptを作成する工程を飛ばし、
    • 前回学習に用いたptファイルを「Hypernetwork」で指定
    • トレーニングを実行する。
  • トレーニングの途中結果からの再開方法
    例えば、前回10,000stepまで回したけど、2,000stepのptから再開したい場合は、
    • 1.2,000step時のptデータをこのフォルダから探す。
       \webui\textual_inversion/20XX-MM-DD/名前/hypernetworks
    • 2.1を「\webui\models\hypernetworks」へ投入する。
    • 3.トレーニングを実行する。
  • なお、途中から再開する場合には「Learning rate」等を変更しても構いません。

7.困ったときは

実際に使うとまったく変化しない

学習用画像ベンチマークテストを試し、改善を試みてください。
問題がなければ設定を見直し、回し続けてください。

完成したが画質が低い

自動保存された、前のstepsを試してみてください。
それでも低いか変化が乏しくなった場合は、学習の事前準備を見直す必要があります。

望まない変化をした

  • 自動保存された、前のstepsを試してみてください。
    その中から望んだ変化に近いものを完成とするか、Hypernetwork Learning rateを変更して回してください。
    それでも難しければ、学習の事前準備を見直す必要があります。
  • ベースとするモデルが悪い。
    全体的に思っていたのと違う場合は、モデルが悪い可能性があります。
     例)瞳がぐちゃぐちゃ、ポーズがおかしい、画角が微妙、等です。
    モデルに間接的に作用するHNの特性上、いくら学習させても、モデルがボトルネックになります。
    他のモデルへの変更や、HN以外の手法(LoRA等)の導入を検討しましょう。

一部タグで変化が乏しい・汎用性がない

1girl+NPのpromptのみで変化量・再現率が十分高い場合、他タグとの相性の問題でおそらく正常です。
(「None」状態が万能でないのと同じで、一部タグは諦める必要があります)

1girl+NPのみで変化量・再現率が低い場合、画像の種類数を増やしてください。
また設定を見直したり、学習用画像ベンチマークテストも試してみましょう。

Dream Boothで解決できるかもしれません

Dream Booth on AUTOMATIC1111
(目指す方向性にもよります)

memo

=TI,HN,DBはまだ全然データがないので、Learning rateや使った画像の雰囲気や枚数キャプションのつけ方を共有すると研究が進むかも?=


おそらくですが、データセットは同じような構図?のほうがいいと思います。
腰アップ複数+キャラ全体色々でHNした結果腰アップがあるせいでfullbodyなどいれても腰をたまに出力する
基本的にはTIと同じ。ただ、ファイルサイズがクソほど違うので頻繁に出力するのは注意だよ


エロゲの立ち絵を学習
danbooruでcaption作る
standing,full bodyを削除
学習
割と成功気味な感じになったかもしれません。データなどはTLabへ


作成されたHNを検証する。
ハイパーネットワークのフォルダに突っ込んで
Scriptで「X/Y plot」を選びます。
「X type」は「Hypernetwork」。「Y type」は「Seed」を選びます。
「X values」へは「,ahiru-1000,ahiru-2000,ahiru-3000」の様に書きます。 ← なにも無し、ahiru-1000.pt、ahiru-2000.pt、ahiru-3000.ptでやってねという意味です。
「Y values」へは「-1」でランダムシード、気に入っているシードがあるならそれ入れてもいいです。「-1,-1,-1」とかもOK
Draw legendはON。Keep -1 for seedsはOFF
ptの名前見せたくない人はDraw legendを切るといいかも
でとりあえず見れると思います。
詳しい人は自分でいろいろ書き換えてね


HNトレーニングの謎のModulesの数字に関して

768 is a module that processes inputs,
320 640 1280 are modules that process intermediate results, the larger than number the closer to the center of the network those modules are placed (as far as I know).
numerical value is the third dimension of input for cross attention layer
hypernet is injected into the cross attention layer, and when the context input for the cross attention layer has matching shape (your prompt, has a shape of [x,x,768], while three other sizes are related to self-attention of convolutional layers (i hope i'm not messing the terminology up)).

うんわからん


HNトレーニングの謎のModulesの数字に関して
うんわからん

まず、DLのモデルに関する最低限の基礎知識ないとな
簡単に言えば、Hypernetworkのサイズを設定してる
NAIのが全部の設定サイズをオンにしてる
でも1111版は全部オンじゃなくても動くように変更してる
当然サイズが小さい奴は影響力も学習可能な情報量も減る
これくらいの認識でいいと思うよ

匿名としあきによるかにテンプ
1girl solo nude detailed_face standing chibi (anime_style:1.2) spoken_heart_mark puffy_nipples heart_pasties full_body large_areolae little child 10yo curvy cowboy_shot huge_breasts simple_background flom_below loli huge_nipples strong_highlight surprised deformation Temptation smile
negative
lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name, monochrome from_behind penis dildo multipul_girls 2girls 3girls 4girls 4boy steam particle glasses muscle fat_legs fat huge_ass


https://www.xnview.com/en/xnconvert/
学習用の画像加工はXnConvertが便利
ダウンロードの所に金額とか出てるけど個人利用は無料
日本語化もされてるんでわかりやすい

←こんな感じでアクションを追加していくと画像の長辺に合わせて正方形にしてから512x512にリサイズのアクションができるしフォルダ指定して一括適用もできる
つくったアクションはプリセットに保存もできて便利


HN学習回してるけどどうも学習画像数が多いと重みが発散してしまう確率が高い気がする
とりあえず30枚につき0.000005くらいで画像数増加とともに反比例的に調整してるんだけどバリエーション豊かな画像を学習させるより同じ画像学習させる方が学習勾配が安定してて学習も安定するとかあるのかな

ある程度学習進めたらlrはもっと下げていい、さらに2、3桁低くてもいいくらい
うちでやった実験でみるかぎり、発散だけじゃなくて過学習に陥るような学習でもこれで結構結果でてる
たぶん、HNが繊細すぎて、本当に小さな重み変更で適切な位置を簡単に通り過ぎるんだと思う
つまり一回過学習まで回して
そのあと良い感じに出来たやつでlr下げてやればいいんだな

lrを下げた後は学習率が小さすぎて500stepずつでサンプルみても学習できてるか不安になるくらい差がでなくはなるけど、突然急激によくなるポイントを見つけてきたりする
20Kstepから27Kstepまでほぼ変化なしだったのが、28Kとかで突然変わったりするから、本当に繊細なモデルなんだと思うHN

あーなるほど
物理的な言い方になるけどある程度良い感じの結果が出るようになったらそこがポテンシャルある程度低いってことがわかってるので変にエネルギー障壁ぶっ飛ばして明後日の方向行かないようにlr下げて慎重にモデルの重みを多次元空間上でうろうろさせる感じなのかな


一応見つけたHypernetworkの条件設定のメモ
ただ、あまり改善している気はしないんでここに書いとく

https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2670

  • 画像
    量より質で20枚位。サイズは512x512
    DeepDanbooruでタグ付けした場合はタグの検証を行う。
  • Learning Rate
    5e-5:100, 5e-6:1500, 5e-7:10000, 5e-8:20000
    100ステップまで5e-5、…
    段々学習率を下げていく。
  • Prompt Template
    [filewords]のみのテキストファイルを作成し、それを利用する
    hypernetwork.txtは写真↔絵画の区別をなくすために利用している
  • Steps
    上限20000
    5000-10000で大枠ができて、10000-20000はディティールの部分になる。
  • 学習
    LRが0.3を超えたらやり直し

HNで追加されてた機能チェックしてみた
ReLUでレイヤー数を変えた場合の学習結果の変化を確認したんだけど
レイヤー数3とレイヤー数4は結果的にあんまり変わらない結果
レイヤー数5はレイヤー数3と4の時とは違う変化したよ
データセットは87枚の物で試した

K7DpLtpi.jpg

今日初めてHNしたけどHNで過学習が良くないってことだけ頭に入っててlayer normalizationnチェックして
reluにしてLrを5e-5:100,5e-6:1500, 5e-7:10000, 5e-8:20000にして~ってやっても
全然学習進まなくてとしwiki読み直したら画風再現なら過学習気味にさせるくらいがいいとあって
Lrを5e-4から雑に回してノイズが出たら1000stepくらい前のよさそうな奴選んで一桁落とす


1666507234018.jpg

Hypernetworkをreluとレイヤー数2が相性いいってここで見たから試した
normalizationとdropoutなしでやったけどこれは素晴らしいわ
レイヤー数が3とか4より遙かにいい結果になるしすぐ学習成果出る
あとファイルサイズが線型モデルで85MBあったのがレイヤー数2にすると21MBまで減らせるのも便利!

学習用の素材って全身図と顔のアップどっちがいいんだろ?

両方…?
枚数は一桁でもいいから細部までちゃんと書かれてるの選んだ方がいいってのが大前提として
両方あって問題ないはず

学習成果すげー速さで出るからいま頭ひねりながらLR調整してるわ…

5e-5だと高すぎる…こともある

今までのカタツムリスピードと比べると嘘みたいだ

rateはいくつでやってる?
5.0e-5で3000stepまでに高確率で発散するからそこまでまず回す
大丈夫そうなところに戻して5.0e-6でstepまで回してみておかしくなるなら崩れる前に戻して
続きから5.0e-7で最後まで回してる
成功率はかなり高いよ


前にHNで線型モデルを全く同じデータセットで作ってたから比較画像を用意した
拾ってきた3枚の画像でHNを作ったんだけど過学習気味にするなら好都なって思ってやった
線形モデルだと目の形とかは似たけど非線形の2レイヤーだと塗りまで似る
持ってる武器もほとんど同じの出るくらいには似る

1666508537496.jpg

簡易掲示板できました

Hypernetwork学習結果用簡易掲示板

コメント・指摘・助言

  • 母乳みたいな通常のモデルでなかなか再現しないようなのをHNで学習するときにReLUが入ってると軒並みそこの特徴だけそぎ落とされて学習されてしまった -- 2022-10-22 (土) 03:48:50
  • 今までHNやってもなんの成果も得られなかったのに1,1の二層reluでLR5e-5にしたらみるみるうちにサンプルが動いていく…/Hypernetworkをreluとレイヤー数2が相性いいってここで見たから試したnormalizationとdropoutなしでやったけどこれは素晴らしいわレイヤー数が3とか4より遙かにいい結果になるしすぐ学習成果出るあとファイルサイズが線型モデルで85MBあったのがレイヤー数2にすると21MBまで減らせるのも便利!//>学習成果すげー速さで出るからいま頭ひねりながらLR調整してるわ…>5e-5だと高すぎる…こともある>今までのカタツムリスピードと比べると嘘みたいだ>rateはいくつでやってる?5.0e-5で3000stepまでに高確率で発散するからそこまでまず回す大丈夫そうなところに戻して5.0e-6でstepまで回してみておかしくなるなら崩れる前に戻して続きから5.0e-7で最後まで回してる成功率はかなり高いよ///スレで見たものをメモ代わりに あってるか確認はしてないです -- 2022-10-23 (日) 16:27:55
  • 2層にするっていう発想はなかったから気になるけど、さすがに上記の画像は食わせる画像が少なすぎなのかそもそもの特徴学習できていないように見える。正しく学習させようとしたときにどうなるのかは要検証っぽい -- 2022-10-23 (日) 22:25:21
  • こういうLearning Rateでやってる人もいるみたいです。自分もやってみて崩れなかった(ここの下の方に書かれてるhttps://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2670 ) 5e-5:100, 5e-6:1500, 5e-7:2000, 5e-5:2100, 5e-7:3000, 5e-5:3100, 5e-7:4000, 5e-5:4100, 5e-7:5000, 5e-5:5100, 5e-7:6000, 5e-5:6100, 5e-7:7000, 5e-5:7100, 5e-7:8000, 5e-5:8100, 5e-7:9000, 5e-5:9100, 5e-7:10000, 5e-6:10100, 5e-8:11000, 5e-6:11100, 5e-8:12000, 5e-6:12100, 5e-8:13000, 5e-6:13100, 5e-8:14000, 5e-6:14100, 5e-8:15000, 5e-6:15100, 5e-8:16000, 5e-6:16100, 5e-8:17000, 5e-6:17100, 5e-8:18000, 5e-6:18100, 5e-8:19000, 5e-6:19100, 5e-8:20000 -- 2022-10-27 (木) 19:44:56
  • Preprocess imagesを実行する時にCreate flipped copiesをオンにしたとき、左右反転させた画像と元の画像でキャプションが微妙に違う。これを揃えるか揃えないかでも結果良くなったり悪くなったりするのかな?一応揃えてから学習させてみたけど。 -- 2022-10-27 (木) 20:27:48
  • VRAMが足りないからcolabでやれないかなあ -- 2022-10-28 (金) 23:55:32
  • このページによると、人・物・動物を学ばせたいなら1,3,1で、スタイル・コンセプトを学ばせたいなら1,1.5,1.5,1が良いらしいです。https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2670?sort=new#discussioncomment-4010316 -- 2022-10-31 (月) 11:38:33
  • このページみたいに「顔の画像」と「顔より下の画像」で分けてやってみてるんだけど、今までとは段違いに上手く行きそうな気配がする。https://arca.live/b/hypernetworks/61723474?category=%EA%B3%B5%EC%9C%A0&p=1 -- 2022-11-01 (火) 00:57:50
  • 上に貼ったページ内に「deepbooru : 0.7하고 따로 태그 수정 안 함」って書かれてて「Interrogate: deepbooru score threshold」のことだと思うんだけど、これを0.7みたいに上げる設定は、ズームインした画像で学習するときにめちゃくちゃちょうどいい気がする。ちょうどいいってか楽ってか。 -- 2022-11-01 (火) 01:04:11
  • タグ付けについて。https://i.imgur.com/BFqWyH4.png -- 2022-11-07 (月) 12:58:42
  • 4chanの人たちが使ってる画像枚数についてhttps://i.imgur.com/ufMm0pA.png -- 2022-11-07 (月) 13:14:51