「ステアリング可能なニューラルネットワークへの優しい入門(パート2)」
『ステアリング可能なニューラルネットワークへの優しい入門(パート2)』
ステアラブルフィルタとステアラブルCNNの作成方法
1)導入
この記事は、チュートリアル「ステアラブルニューラルネットワークへの優しい導入」の第2部および最終部です。第1部(こちら)に続くものです。第1部は、ステアラブルニューラルネットワーク(S-CNN)のアクセス可能な概要を提供し、その目的と応用について説明しています。また、対応変換性とステアラブルフィルタの定義を含む基本的な形式とキーポイントも掘り下げています。次のパラグラフでは形式の要点を簡単に復習しますが、完全に理解するためには第1部をお読みいただくことをお勧めします。
このチュートリアルの最後の部分では、ステアラブルフィルタの作成方法と、最終的にステアラブルニューラルネットワークを構成する方法についてガイドします。
用語の簡単な復習:
図3A:形式に従ったニューラルネットワークの表現。
- S:オブジェクトが存在する入力領域。通常はℝ³またはℝ²。
- f ₙ: マップ/関数、f ₙ: S → ℝ ͨ ʿⁿ ʾ ( Fₙ)、これはNNのn番目の特徴マップを記述します。f ⁰は入力(入力層)を記述する関数であり、n>0の場合はn番目の特徴マップを記述します。
- Fₙ= ℝ ͨ ʿⁿ ʾ、これはマップf ₙのコドメインです。
- Φₙ: Fₙ→ F ₙ₊₁, NNのn番目のフィルタで、カーネル関数kⁿ: S → ℝ ͨ ʿⁿ ʾ ˟ ͨ ʿⁿ⁺ ¹ ʾによって特徴づけられるフィルタです。畳み込みの定義は上記の2番目の式で示されています。
- G:変換のグループ(単一の要素g)。
これらの概念すべてを考慮すると、畳み込みを次のように定義できます:
2)ステアラブルCNNフィルタの設計
2.1)問題の形式化
あるn層のCNNが変換のグループGに関して対応変換性を持つとすると、すべてのgについて、0:入力関数f ₀がΠ₀(g)に変換されると、n番目の層の出力関数は変換Πn(g)に変換されます。
この文が真であるための十分な条件は、各連続層が即時の入力に対して変換に対して対応性を持つことです(図3Aを参照)。ネットワークの対応変換性は帰納的になります。第2の記事で与えられた定義に従って、フィルタΦは次の条件を満たす場合に対応変換性を持ちます:
今やステアラブルニューラルネットワーク理論の主要な結果を主張することが可能です。
層fₙとfを接続するカーネルkを kとし、fₙ₊₁ = k* f ₙ とする。
カーネル k* f ₙは、変換gに対して等変性を持っている場合、次の条件を満たします:
または、より簡単に
広範な文献 [2,3] では、この制約を満たすカーネルはg-ステアリングカーネルと呼ばれています。カーネル制約は線形に働くため、生成される解は通常のCNNで使用される制約のないカーネルのベクトル空間内の線形部分空間を構成します。より詳細に調査すると、この定義は、前の記事の2章で紹介されたステアラブルフィルタのコンセプトと密接に一致しています。実際の意味では、この作業を行うには、Eq.1に従うカーネル部分空間の基底が必要です。これを {k_1, …k_D} と表記し、Eq.1に従う必要があります。この基底のサイズは、D = cʿⁿ ʾ ˟ cʿⁿ⁺¹ʾ と計算することができます。 カーネル k(x) は、この基底の線形結合を通じて導出され、ネットワークはその過程で重みを学習します:
訓練シナリオでは、入力層と出力層のサイズを特定の値に設定し、cʿⁿ ʾ と cʿⁿ⁺¹に等変性を求める変換に基づいて方程式を解き、カーネルの基底を決定します。その後、訓練プロセス中に、これらのカーネルに関連する重みを学習します。
2.2 方程式の解決
Eq.1 で示される制約の解は単純ではありません。それは3つの主要な要素に依存します:
- 空間S、S= ℝ³ または S= ℝ² であるかどうか。
- グループG。
- レイヤーの入力および出力の次元:cʿⁿ ʾ と cʿⁿ⁺ ¹ ʾ。
より具体的には、グループGの選択によってネットワークのタイプが定義されます。具体的には、次のタイプのネットワークに主に興味があります:
- SOネットワーク:特殊直交群(SO)における回転に等変性を持つ。
- SEネットワーク:特殊ユークリッド群(SE)内での回転および平行移動に等変性を持つ。
- Eネットワーク:ユークリッド群(E)内での回転、平行移動、反射に等変性を持つ。
2D入力領域で操作する場合、SO(2)、SE(2)、E(2)ネットワークを使用します[4]。対照的に、3D入力領域ではSO(3)、SE(3)、E(3)ネットワーク[1]を使用し、実際にはこれは任意のE(n)空間に拡張できます[6]。
この研究を他の空間や対称性に拡張することは、現在の研究の領域であり、興味を持った読者は数学的研究の分野であるヒルベルト空間やグリーン関数について調査することをおすすめします。しかし、SE(n)ネットワークの場合、方程式1の一般的な解はS=ℝⁿでの調和基底関数です。上の図(図3B)では、左側にℝ²の調和関数、右側にℝ³の調和関数があります。
よりフィルターデザインのシナリオを考えると、下の図(図3C)では、SO2回転可能性のあるカーネルが入力層f₀:ℝ²→ℝ³と出力層f₁:ℝ²→ℝ²に対して構築されていることがわかります。このカーネルは関数k:ℝ²→ℝ³ˣ²です。行列の各要素は、位置(x₁、x₂)でサンプリングされたD基底の線形重み付き組み合わせから得られます。上記の例では位置x=(1,2)で示されます。
次に、S=ℝ²でGを回転変換のグループとする場合のこの方程式のいくつかの単純な解を示します。
2.3 実用的な解
– Case1A: SO2ネットワーク、k: S=ℝ² → ℝ
入力としてグレースケール画像があり、それを処理するための方向性変換フィルターを作成したいとします。まず、出力層の次元(特徴の数)を決定する必要があります。単純化のために次元を1とします。このセットアップでは、入力関数f: ℝ²→ℝおよび同様の出力関数f₁: ℝ²→ℝがあります。したがって、カーネル関数はk: ℝ²→ℝです。CNN層をGという変換のグループに対して等変であるようにしたい場合(SOネットワーク)、カーネル関数の基底では方程式1を使用する必要があります。fとf¹がスカラーであるため、Pi_out = 1およびPi_in = 1です。これにより、Eq.3に示すようにk[g_θ(x)] = k[x]となります。x = (x₁、x₂)がℝ²にある場合、g(θ)は2Dオイラー行列と一致します。
明らかに、これは(x₁、x₂)の各等方関数で解決されます。具体的には、1次元の等方(回転不変)カーネルの基底で解決されます(つまり、k(x₁、x₂) = x₁² + x₂²)。
ケース2:SO2フィルター、k:ℝ² → ℝ²
今度はより複雑なケースを考えてみましょう。入力関数はf:ℝ² → ℝ²であり、出力層は関数f₁:ℝ² → ℝ²です。したがって、カーネルは関数k:S=ℝ² → ℝ²ˣ²として書くことができます。つまり、ℝ²内の各位置xに対して2×2の二次元行列があります(以下の式を参照)。私たちはSO₂フィルターを構築したいので、考慮する変換のグループは再びG={g(θ)}={r(θ)} , θ ∈ [0,2Π[です。fとf₁の共変域がℝ²であり、Π_out=Π_θおよびΠ_in=Π_θであることを考慮すると、上記の式(Eq.1)は以下のように書き直すことができます。
この方程式の解法と追加の洞察については、論文[4]の付録セクションを参照してください。
2.4 ネットワークの非線形性
これまでは畳み込み演算に関する共変性のみを考慮しており、関数σ(f(x))による非線形部分を考慮していませんでした。論文[1]のセッション4.3および論文[4]のセッション2.6でこれについて詳しく取り扱われています。関数f(x)が与えられた場合、共変性の条件は以下のようにまとめられます:
関連するYouTube講義でも言及されているように、ノルムベースの活性化関数(例:σ(u) = σ(||u||))を利用することで、この基準を満たす活性化関数を作成することが可能です。モチベーションは、スカラーのノルムは透過的に不変であり、それに対して任意の非線形関数を適用すると不変な出力が得られるためです。これを証明するために、前述の条件を式Eq.(5)に適用すると、以下の式が得られます:
‘g’がEの変換のグループに属する場合、ノルムは一定です。したがって、Π’(g)がIdentityに等しいとき、この式は普遍的に成立します。つまり、特別に設計された活性化関数は一貫して回転不変です。Norm-ReLUs(η(|f(x)|) = ReLU(|f(x)| − b))はその一例です。
研究論文や講義では、他にも非閾値型の活性化関数など、さまざまな非線形活性化関数が提案されています。詳しい説明については、これらの情報源を参照してください。
3)ステアラブルなCNNを設計する
前回のセッションで、単一の可変フィルタの構築の基礎を理解しました。この結論的なセグメントでは、これらのフィルタを一貫して統合する手法について詳しく説明します。完全な機能を備えた可変ニューラルネットワークを確立するために。
上の図では、論文「[3]」で取られた例が見えます。私たちは特に可変フィルタが使用されるレイヤー2に興味があります。ここでは、各水平表現が可変フィルタであり、加重調和関数の複合体であることがわかります。これにより、単一のfⁿとして示される異なる出力が得られます。構造を観察すると、調和関数はフィルタ間で一貫している一方で、方向が異なることが明らかです。これはG-畳み込み技術の象徴であり、変換に対して不変なネットワークの構築に貢献する洗練された方法です(この技術についての詳細情報はこちらで見つけることができます)。ネットワークは、ステアリングフィルタの配列から最も堅牢な応答のみをマックスプーリングして、次のレイヤーに集約します。この選択的伝送の原則により、最も強力な特徴が保持され、ネットワークを進行するにつれて強化されます。このアプローチは、他の作品においても実装された手法と類似しており、例えば参考文献[5]では、スケール不変な可変ネットワークが成功裏に作成されています。このような可変CNNのアーキテクチャは、スケールと回転不変性を自然に組み込むことで、パターンと特徴をより抽象的かつ堅牢な方法で認識する能力を豊かにします。いずれにせよ、図から分かるように、最終的な結果は回転に対して均一になるネットワークです。
ステアリングニューラルネットワークの設計については、このリンクで詳細なステップバイステップの説明を見つけることができます。それはGithubリポジトリ「e2cn」(リンク)に含まれています。このリポジトリでは、SE2可変ネットワークの設計のためのPyTorchコードを見つけることができます。代わりにSE3ネットワークの開発に役立つコードは、このリンクで見つけることができます。また、3D均一ネットワークのクイックコースもこちらで公開されています。
参考文献:
[1] “3D Steerable CNNs: Learning Rotationally Equivariant Features in Volumetric Data”, Weilier et al.、(リンク);
[2] “Steerable CNNs”, Cohen et al. ( link);
[3] “Learning Steerable Filters for Rotation Equivariant CNNs”,Weilier et al.、(リンク)
[4] “General E(2)-Equivariant Steerable CNNs” Weilier et al.、(リンク)
[5] “Scale Steerable Filters for the Locally Scale-Invariant Convolutional Neural Network”, Ghosh et al. (リンク)
[6] “A program to build E(n)-equivariant steerable CNNs.” Cesa et al. (リンク)
✍️ 📄. 著者について:
1️⃣ Matteo Ciprian, 機械学習エンジニア/研究者
- パドヴァ大学での通信工学の修士号。現在はセンサーフュージョン、信号処理、および応用AIの分野で働いています。eHealthやウェアラブルテクノロジーのAI応用に関連するプロジェクトの経験(学術研究および企業領域)。異常検知アルゴリズムの開発や、ディープラーニングとセンサーフュージョンの技術の進歩に関する専門知識を持っています。哲学に情熱を持つ。YouTubeのコンテンツクリエイター。 🔗 リンク: 💼 LinkedIn 📹 YouTube 👨💻Instagram
2️⃣ ロバート・スクーマーカー、信号処理/機械学習の研究者
- デュラム大学で計算物性物理学の博士号を取得。応用機械学習と非線形統計学に専門特化しており、現在は合成開口レーダーや類似のシステムにおけるGPU計算手法の活用について研究中。経験は、センサーフュージョンと位置決め技術において対称的な機械学習手法の開発などを含む。🔗 リンク: 💼 Linkedin
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles