同変性(equivariance)と不変性(invariance)の定義と具体例に基づく解釈

点群(point clouds)の取り扱いやCNN(Convolutional Neural Network)を用いた画像処理の理解にあたって、同変性(equivariance)と不変性(invariance)を抑えておくと良いです。当記事では同変性と不変性の定義や具体的な処理例に基づく解釈について取りまとめを行いました。
当記事の作成にあたっては、「深層学習 第$2$版」の$5.7.1$「同変性と不変性」の内容などを参考にしました。

・用語/公式解説
https://www.hello-statisticians.com/explain-terms

同変性と不変性の定義

同変性(equivariance)の定義

DeepLearningの学習結果に基づく推論は基本的に「入力$\mathbf{x}$に関数$f$を作用させて特徴量$\mathbf{x}’=f(\mathbf{x})$を得る」という流れで処理が行われる。このとき変換の$g$に対し、「関数$f$が同変である」場合、下記の式が成立するように変換$g’$が存在する。
$$
\large
\begin{align}
f(g(\mathbf{x})) = g'(f(\mathbf{x}))
\end{align}
$$

上記の変換$g’$は$g$に一致する場合もある。たとえば「畳み込み演算$f$」における「並進移動」を$g$とおくと、$f$がプーリングのようなダウンサンプリングを伴わない場合、$g’$は$g$に一致する。

不変性(invariance)の定義

$\mathbf{x}’=f(\mathbf{x})$に基づく特徴量の取得にあたって、変換$g$について下記が成立する場合、「$g$について$f$が不変である」という。
$$
\large
\begin{align}
f(\mathbf{x}) = f(g(\mathbf{x}))
\end{align}
$$

たとえば点群のような集合データにおける並び替えを$g$、PointNetやSet TransformerのようなDeepLearningに対応する関数を$f$とする場合、並び替えによって結果は変わらないので$f$は$g$について不変(invariant)である。

同変性と不変性の解釈

同変性(equivariance)は「畳み込み演算$f$」における「平行移動$g$」のように入力も出力も一定の順序で配置される場合に出てくると理解しておくとよい。一方、不変性(invariance)は「点群などの集合データ」に対して「Set Transformerのような演算$f$」を行う際の「並び変え$g$」や、「GAP(Global Average Pooling)を伴うCNNに対応する関数$f$」と「平行移動$g$」について成立するので、最終的に和を計算する場合などに成立しやすいと解釈しておくと良い。

「点群」などの処理に用いられるSet Transformerは下記で取り扱った。

「同変性(equivariance)と不変性(invariance)の定義と具体例に基づく解釈」への1件の返信

コメントは受け付けていません。