SE(3)不変とタンパク質立体構造予測④:SE(3)同変な深層学習

前回、SO(3)同変な関数を考えるための数学的基礎として、球面調和関数を用いた関数の展開とClebsch-Gordan係数による次元の変換を扱いました。

cake-by-the-river.hatenablog.jp

今回は、これらを陽に用いた機械学習フレームワークとして、SE(3)-Transformers の理解を目指します。

  • Tensor Field Networks
    • pointwise convolution
    • SO(3)同変な畳み込み
  • SE(3)-Transformers
    • RoseTTAFold
  • 補足
    • TFNレイヤーのSO(3)同変性の証明
続きを読む

オトナの熱力学入門①:熱力学第一法則のための微分幾何

このシリーズでは、「熱力学」と呼ばれる学問を様々な視点から考え、さらにそれを他の学問に適用することについて扱います。

基本的に自分の勉強のために執筆するため、必ずしも正しいとは限りません。また、トピックは非常に多岐にわたる(微分幾何統計力学解析力学情報科学、情報幾何、生物学、経済学など)と思いますが、その回で必要とする事前知識はまず初めに提示し、それ以外の知識はその場で解説することにします。内容に関する批判・コメントや質問などあれば、随時記事にコメントいただければ幸いです。



シリーズの最初はやはり、熱力学の基礎である「平衡熱力学」を扱うことについて考えてみます。しばらくの目標は、

平衡状態を記述するためにはどのような数学があるべきか

です。また、事前にある程度仮定することとして、

を挙げておきます。

  • 熱力学的状態空間
  • 微分幾何の基本
    • 多様体
    • 接空間とベクトル場
    • 余接空間と1-形式
  • 熱力学第一法則
    • エネルギー保存
    • 状態関数と経路関数
    • 熱力学第一法則は内部エネルギーの完全形式
  • 参考文献
続きを読む

もし生物情報科学専攻の大学院生が "StableDiffusion" を理解しようとしたら 10 ~追加学習と学習阻害~

前回

cake-by-the-river.hatenablog.jp

今回は、主にStable Diffusion自身ではなく、それに関連した話題を扱う予定です。汎用の画像生成モデルを特殊な用途に転用する追加学習、およびStable Diffusion等のLatent Diffusion Modelの学習を阻害する仕組みについて説明していきます。

(一介のしがない)イラストレーターとしては「敵(追加学習)を知り己(学習妨害)を知れば百戦危うからず」という感じですね。

  • 追加学習
    • fine-tuning
    • 方法1:概念の埋め込み
      • Textual Inversion
      • DreamBooth
      • DreamArtist
    • 方法2:重みの微修正
      • LoRA
      • LyCORIS
  • 学習阻害
    • 敵対的攻撃
      • Style Cloak (Glaze)
      • Mist
    • 概念消去
    • メンバーシップ推定(MIA)
  • まとめ
続きを読む

SE(3)不変とタンパク質立体構造予測③:球面調和関数とSE(3)同変性

前回


cake-by-the-river.hatenablog.jp


前回に引き続き、SE(3)不変/同変のための数学的な基礎を説明します。前回よりもっと難しいので、不明点はコメント等で教えてもらえるとありがたいです。

  • 球面調和関数
    • 球面調和関数による展開
    • 球面調和関数とSO(3)同変性
  • Clebsch-Gordan係数
  • まとめ
  • 補足

球面調和関数

前回「軌道量子数」を紹介した時、なぜ量子?と思われた方がいると思います。実は、この軌道量子数は電子の軌道と対応していることが知られています。

量子力学において、電子は原子核の周囲を「回っている」と考えられています。つまり、何かしらの軌道に沿って動いていることになりますが、粒子がそのような運動(角運動)をしているならば、対応するエネルギーを持っているはずです。量子の世界では、エネルギーは連続的ではなく離散的にしか取れないため(これは、量子が「波」であり、特定のエネルギー以外は打ち消しあってしまうからです)、電子の軌道もそのエネルギーに対応して離散的に分布しています。


この離散的な電子軌道には、s軌道やp軌道といった名前がついています。化学の本で次のような画像を見たことがある人は多いと思います。

球面調和関数。Wikipediaより引用。

これらは、球面調和関数と呼ばれる関数です。球面調和関数は 1個, 3個, 5個, ...と種類が分かれていますが、この数値はSO(3)の各既約表現の次元と一致しています。ここでは証明などを省いてしまいますが、軌道量子数  l で表される  2l+1 次元の既約表現に対し、対応する  2l+1 個の球面調和関数が得られます。


例えば、回転行列などの3次元の既約表現に対して、p軌道に対応する  l=1 の3つの球面調和関数は

 Y^{(l)}_{m} : Y^{(1)}_{-1}, Y^{(1)}_{0}, Y^{(1)}_{1}

と書かれます。2つ目の添え字  m がマイナスから始まるのは、導出や量子力学における意味合いなどの都合によるものですが、 m=-l, -l+1, \dots, l-1, l 2l+1 個が表せる便利な記法と言えます。

続きを読む