SE(3)不変とタンパク質立体構造予測①:不変性・同変性とは何か
タンパク質の立体構造予測は、AlphaFold2, RoseTTAFold により飛躍的に進歩し、その功績は2024年度ノーベル化学賞の受賞につながっています。これらはいずれも、3次元空間上の剛体の不変性(SE(3)不変性)を保てる立体構造の計算モジュールを持ちます。
そこで、本連載では、SE(3)不変性・同変性とは何かを丁寧に追った後、それが立体構造予測にどのように使われているのか、今後SE(3)不変性をどのように考えるべきなのかについて、議論します。
なお、基本的な深層学習の仕組みとタンパク質の知識については既知とします。深層学習で利用されているAttentionやTransformerについては本ブログ上ですでに取り扱っているため、興味がある方は以下のリンクを参考にしてください。
cake-by-the-river.hatenablog.jp
今回は、タンパク質立体構造予測に関する概略の後、不変性・同変性とは何かについて説明します。
タンパク質立体構造予測
(AlphaFold2やRoseTTAFoldについて既にアーキテクチャを知っている読者は、飛ばしてもらってOKです)
AlphaFold2
AlphaFold2は、タンパク質立体構造予測のコンペティションであるCASP14(2020年)にて、2位と大差のスコアをつけ1位となった深層学習モデルです。既に分かりやすい詳解記事があるため、詳細は以下を参照してください。
AlphaFold2の登場前から、近年のタンパク質の立体構造予測ではアミノ酸間の共進化情報の利用が考えられていました。立体構造上で相互作用する2つのアミノ酸残基は、片方が変異してしまうと、その相互作用を保てなくなることが多いです。そのため、相互作用するペアはしないペアと比べて保存されやすい関係(共進化)をもつはずです。この仮定を用い、配列の相同性からそのようなペアを見出して予測に活かします。
これら手法開発の歴史は、以下の森脇由隆さんの記事で詳しく解説されています。
AlphaFold2モデルでは、多くの生物種のアミノ酸配列を進化的に整列した情報(Multiple Sequence Alignment, MSA)を用い、その中で保存されているペアをEvoformerと呼ばれるモジュールが学習・抽出します。Evoformerは、MSAおよび参考構造情報を2次元表現に落とし込み、Transformerを活かした特徴量抽出と物理化学的制約を考慮した特殊なAttention機構を用いて表現ベクトルを更新します。
最後に、実際の予測構造を組み立てるための Structure モジュールへと入力されます。Structure モジュールでは、本連載でこれから着目する Invariant Point Attention (IPA) による表現の更新と、それを用いた主鎖・側鎖の予測構造の更新が繰り返し行われます。

群論と不変性・同変性
AlphaFold2のIPAとRoseTTAFoldのSE(3)-Transformersはいずれも、SE(3)不変性あるいはSE(3)同変性という性質を兼ね備えた特殊なTransformerとなっています。本節では、不変性・同変性とはそもそも何なのか、どのような数学を用いて表現されているのかについて、とりあえずゆるふわに解説します。
Lie群
不変性とは、何かしらの変換(操作)に対して定義される概念です。たとえば、回転不変性は回転操作に対応し、平行移動不変性は平行移動操作に対応します。数学では、これらの操作と対応する不変性・対称性を扱うために、群と呼ばれる概念を用います。群を扱う理論は、群論と呼ばれています。
ここから群論の解説をしますが、当ブログでは過去に、分子の群論、およびLie群論の解説をシリーズ化しているため、興味がある方は参考にしてください。
cake-by-the-river.hatenablog.jp
cake-by-the-river.hatenablog.jp
群は、積と呼ばれる演算と集合のペアからなり、いくつかの条件を満たすものを指します。群を形成する集合の要素は、まさに先ほどの「操作」に対応しています。つまり、群の要素として ”30度の回転” や "x方向に+10 平行移動する" といったものが考えられます。群の"積"とはこれら操作の合成に対応し、"30度の回転" と "60度の回転" の積は "90度の回転" に対応します。
群は、それぞれの要素の積も群の要素となるように構成します。つまり群 について
が成り立ちます。回転を例に考えれば、逆操作("-30度の回転")や恒等操作("0度の回転")も群の要素に含まれる必要がありそうです。また回転の場合は、操作の度合い(回転角度)が連続の数値であるため、群も連続した無限の要素から構成されていそうです。このような群は特別にLie群(連続群)と呼ばれています。
不変性
Lie群を用いて不変性とは何かを考えましょう。例えば、"球面"は重心におけるあらゆる回転操作に対して不変です。つまり、変換前と変換後で見た目が全く変わりません。これは、3次元の回転に対応するLie群(具体的には、SO(3)と呼ばれる群)のあらゆる要素を、球面という対象に「作用」させても、対象が変化しない、ということに対応します。
同様に、原点からの距離にしか依存しないモノ、例えば、原点に電荷が置かれたときの静電ポテンシャルも、回転操作に対して不変であり、このようなものは回転不変あるいは球対称と言います。
では、不変性という性質を、「見た目」というレベルを超えて考えてみましょう。
不変性を抽象的に捉えるには、「球面」が「あらゆる回転操作」に対して「同じ見た目である」と考えるように、
- 操作の対象(入力)
- どのような操作を考えるか
- 「見る」に相当する対象の捉え方
- 「見た目が区別できない」と呼ぶための性質
の、4種類の要素が必要になります。
今回の対象である入力は、例えば球面のような何かしらの空間図形(多様体と呼ばれます)が該当します。静電ポテンシャルの例は空間上の各点に数値を割り振ったものであり、より一般にタンパク質立体構造のような具体的なモノを記述することを踏まえると、一旦は入力を3次元空間上のベクトルとしてしまいます。二つ目の「操作」には、回転等が対応しそうです。
「見る」とは、入力された物体に対して、何らかの関数(写像)を適用し、その結果を得ることだと考えられます。例えば、ヒトの目が行う「見る」という現象は、3次元の物体を網膜に投影する(そしてその内容を脳が2次元の入力として計算する)動作と等しく、「見た目」はその2次元表現と言えます。これは、3次元の情報を2次元にマッピングすることであり、ある種の関数(写像)として考えられます。一方で、「見た目が区別できない」とは、異なる二つの物体(例えば、元の物体とそれに回転操作を施した物体)に対して、関数を適用した結果が同じであることを意味します。
タンパク質立体構造予測の場合、モデルが予測した構造と正解の構造との「ズレ」を評価する必要があります。この「ズレ」は、二つの構造を適切に動かして可能な限り一致するように重ねた場合に、対応する原子同士の相対位置の差になります。
このとき、重ね合わせた二つの立体構造の両方を、剛体として形状そのままに適当に動かしたとしても、「ズレ」を表す数値は同じであると考えたいです。つまり、予測した構造をどのように回転・平行移動させても、最適な重ね合わせに基づく「ズレ」の値は変わりません。このとき、「ズレ」を表す数値は、物理学的には、回転などに対する不変量にあたります。AIモデルでは、3次元のタンパク質立体構造情報を、「ズレ」を表す1次元の数値(目的関数)を最小化するよう推定しますが、この過程(深層学習が行う計算)もやはり写像として捉えられます。
以上を踏まえて、可能な限り抽象化した不変性の定義をまとめます。写像 がある操作
に対して 不変(invariant) であるとは、あらゆる入力
に対して、写像
で変換した結果
と、操作を施した後に変換した結果
が同じ値であることを指します。
ここで、操作は具体的なベクトルの変換 に対応しており、操作を受けた入力は
としています。
同変性
ところで、「同じ物体である」と考える際に、必ずしも「見た目が完全に一致する」必要はあるのでしょうか。球体の場合、どのように回転させても見た目は変わりませんが、複雑な形状を持つ物体ではそうとは限りません。しかし、例えば正方形や円形の平面図形を考えると、それらを3次元空間で回転させたとき、見た目(2次元投影像)は異なっても、それらが同じ図形であると認識できます。つまり、物体に回転操作を施した後、その結果を2次元に投影した場合でも、適切な変換(例えば回転や拡大縮小)を施すことで、元の投影像と対応付けられる場合があります。このような状況では、見た目が完全に一致しなくても「同じ物体である」と考えることができます。
これを数式に落とし込みます。写像 の出力であるベクトル
に対し、何か操作
と"同等"の変換
が可能であり、それが
という性質を満たす場合、写像 は操作
に対し同変(equivalent)である、と呼びます。具体例として、
を入力画像の回転とし、
を画像から特徴量の情報を抽出する関数(例えば"見た目")とします。このとき、出力後の空間における操作
は特徴量の空間に対する回転操作に対応します。つまり、入力画像を回転させた場合と同様に、特徴量を回転させることになります。
この定義から、不変性は同変性の特別な場合であることが分かります。つまり、
の場合に相当します。
不変性と同変性についてもう一つ、機械学習を例に考えてみましょう。テーブルの上に乗ったリンゴを撮影し、カメラの位置を少し変えてもう一枚撮影したとします。
このとき、不変性は画像分類のタスクにおいて重要です。つまり、写像 は画像を入力として、リンゴかどうかを判定する関数(分類器)に対応します。この場合、カメラの位置が変わったとしても画像に映っている物体はリンゴであるため、カメラ位置の変化という操作
に対して
が成り立ちます。したがって、分類器 はカメラの位置変化
に対して不変であることが望まれます。
一方、同変性はセグメンテーションのタスクで重要となります。写像 は画像の中からリンゴを表す領域を抽出する関数とします。カメラの位置が変化すれば、リンゴの位置や形状も画像上では変化し、これを操作
に対応させます。一方、出力であるリンゴを表す領域も対応した同等の変化を受けます。そのような変換を
と表せれば
が成り立ちます。つまり、セグメンテーションのモデル はカメラの位置変化に対して同変であることが望まれます。
また、同変な写像二つの合成写像は同変性を持ちます。不変な写像同士の合成はもちろん不変性を持ちますが、同変な写像と不変な写像の合成も不変性を持ちます。これにより、同変な写像を繰り返し利用したのち、最後に不変な写像を使うことで、全体も不変性を持たせることができます。
今回は、群論を導入し、不変性と同変性の数学的な定義と具体的な意味について調べました。次回は、これらをタンパク質の立体構造に適用するためのLie群 SE(3)、およびそれを機械学習モデル上で動かすための数学について紹介します。
