しゅみは人間の分析です

いらんことばかり考えます

週報 2022/11/26 製パン趣味の続きやすさ, 組織文化と歴史, DreamBoothをやってみた

赤味噌がうまい

さいきんの一汁一菜には赤味噌を使っている。

赤味噌といっても米味噌と混ぜてある製品で、豆味噌100%の硬いやつではない。赤だし味噌とも言われる。本来の赤味噌も使ったことはあるのだが、硬すぎて扱いづらい。味噌はあの柔らかさだから便利なのだ。

赤味噌は味が濃いめで、味の強い具とよく合う。鰹節をたくさん入れてもよいだろう。鰹節の独特の癖と張りあってくれていい塩梅になる。牛肉などの臭い肉をいれても大丈夫。赤味噌はそれくらい強い。

チャイ

このごろチャイを飲んでいる。

我が家では冬といえばココアだったのだが、今年はチャイのようだ。アッサムの茶葉を熱湯に浸し、牛乳と砂糖、シナモン、カルダモンなどを入れて沸騰寸前まで加熱する。シナモンと砂糖はたくさん入れるとよい。また、茶葉も安いものでいい。

以前インターネットで「チャイは安い茶葉で淹れるものだ」という主張をみたことがある。香辛料によって紅茶のボディっぽい味しか残らないのでたしかにそれでいいと思う。

製パン趣味の続きやすさ

最近は食パンを作っている

製麺は続いていなくて、ここ2ヶ月くらい作っていない。おいしい麺を作れるようにはなったのだけど日常化することはできなかった。一方、妻氏は製パンをし続けている。パン作りは2020年の6月から始まり、ずっと続いている。主食の一部である。

なぜ製パンは続くのか。もちろんおいしいからなのだが、それよりも食べやすいのが大事だと思う。パンはすぐに食べられるのだ。焼いたあと数日は常温で保存しているし、冷凍保存したものもトースターで焼けば5分で食べられる。また、パンは焼いても焼かなくてもうまい。ジャムやマーガリンなどがあれば使ってもいいが、そのままでもじゅうぶんおいしい。

麺はそうはいかない。具がないと味気ないし、茹でないといけない。パンみたいにおやつになるのではなく、主食の構成要素である。献立設計への影響もあり扱いが難しいのだ。

でも、たまには作りたい。麺帯を切る工程に児戯的な楽しさがある。年末にでもやってみようかしら。

モルモットアラート

横暴モルモット

夜行性のモルモットは夕方から0時にかけて、野菜をよこせと鳴き声をあげる。あるいは黙ったままケージをガシャガシャ揺らしてアピールをする。たいへんうるさい。齧歯類としては高等な動物*1なので、音をたてると人間がやってくることを覚えているのだ。

興奮したモルモットに、バジルの葉っぱを2枚与えると30分ほど黙らせられるのを発見した。バジルの栄養価が高いからなのかはわからないが、よく再現する。バジルを食べたモルモットはすぐにペレットと牧草を食べ、しばらくリラックスモードになる。効果が切れたらまたガシャガシャやる。

おそらくモルモットは野菜とペレット、牧草をバランスよく食べたいのだろう。あくまで主食は牧草なのでそれを食べてほしいのだが*2、柔らかいものも食べたいようである。モルモットにとって野菜はジャンクフードみたいなものであろう。

組織文化と歴史

職場の組織文化を言語化し、新人さんや中途の人にも効率よく伝達したい。どこの職場でもみられる悩みだろう。私の職場も例外ではない。謎の文化があり、受け継がれてきている。もちろん悪い文化は廃絶すればよろしい。でも、必要な文化はあるのだ。

先日、それは歴史なのだと気づいた。組織と仕事の歴史。システムやら何やらを作って運用し続けていると、歴史が積み重なっていく。機能を作るときも、そのときどきの最適な判断をして、それが歴史になっている。

古参社員に聞けば歴史的事情は出てくるのだが、聞かないと出てこない。知らないものは聞けない。だから歴史として編纂しておく価値があると思う。

追加学習に手をだした

阿慈谷ヒフミチャレンジ2

画像生成だけでなく追加学習によるモデル作りにも手を出した。
学習には大量のビデオメモリが必要。これを見越してグラフィックボードを買い替えたのだ。

仕組みはよく知らないのだがDreamBoothとやらがすごくて、10枚しか学習させていないのにそれらしいキャラを出すモデルができた。

マイナーキャラのさまざまなイラストが欲しい人が泣いて喜ぶ技術だと思った。

おまけ DreamBooth手順

追加学習の手順をまとめておく。今回試行錯誤したものであり、最良の手順ではない。

  1. stable diffusion web uiにdreambooth extensionを入れる*3
  2. 学習用画像を10枚〜用意する
  3. 顔の周辺を512px四方で切り抜く
  4. 左右反転した画像も用意する(キャラクターデザインの対称性が高い場合)
  5. 2000ステップくらい学習をさせる(RTX3090で3時間くらい)
  6. できたモデルを戻し交配する*4
  7. モデルを使う

学習画像の切り抜きは手でやったほうがいい。stable diffusion web uiに自動切り抜き機能はあるのだが精度はよくない。学習用画像の品質が結果に直結するので、顔が正方形の範囲に入るよう手で調整する。追加学習では必要な枚数は少ないのでなんとかなる。もしかすると、いい自動化ツールがあるかもしれない。

なぜ顔の学習に特化するのか。キャラクターの特徴はほとんど顔に現れるからだ。衣装の再現性は重要ではない。AI画像生成で遊ぶ場合、どうせいろいろな格好をさせてみるので、顔だけ再現できればよい。実際にモデルを作って生成してみると、いかに人が顔ばかり見ているかがわかる。顔さえそれっぽければそのキャラクターだと認識してしまう。

学習に使うイラストは上手なものを選ぶべきだ。線が整理されていて、キャラクターの特徴をよく捉えているものを選ぶとよい。枚数が少ないからこそ、学習元画像の品質が重要になる。

戻し交配と言っているのはモデルのマージである。いま汎用モデルAに対して追加学習をし、キャラ特化モデルBができた。Bをそのまま使ってもいいのだが、ちょっと呪文の効きが悪くなる。過学習が起きていると気持ち悪いくらいのハンコ絵になってしまう。これを緩和すべく、もとのモデルAとモデルBを混ぜるのだ。すると、ほどよく汎用的でキャラクターがよく表現できるモデルができる。

ただし、やはり呪文は効きは悪くなっているので、CFG Scaleをあげたり、呪文を厳密に書く必要はある。

 

今回のパラメータ

learning rate: 1e-6, learning rate scheduler: constant, training steps: 3000, totale number of class/reg images 2000

*1:なんと脳味噌に皺がある!ハムスターなどの脳味噌はツルツル

*2:硬いものを食べて歯並びを維持してくれないと、歯のトラブルで毎月動物病院へ通うことになる

*3:GitHub - d8ahazard/sd_dreambooth_extension

*4:必須かどうかはよくわからない。学習stepが小さいモデルを使えばそれでよいだけかもしれない