ステアラブルニューラルネットワーク(パート1)への優しい紹介
魅力的な美容とファッションの世界への優しい案内:ステアラブルニューラルネットワーク(パート1)
ステアラブルニューラルネットワークとコンテキストとは
はじめに
幾何学的ディープラーニングは、3Dまたは2Dの幾何学的オブジェクトをグラフ、多様体、または点群として表現する伝統的なAIフレームワーク(畳み込みニューラルネットワークなど)を拡張することを目指しています。幾何学的な関係と空間的な依存関係を学習フレームワークに直接組み込むことで、幾何学的ディープラーニングはデータの固有の構造的特性を利用し、メモリを消費するデータ拡張テクニックの必要性を排除することができます。これらの理由から、幾何学的ディープラーニングはコンピュータビジョンや自然言語処理などの領域における複雑なデータシナリオに取り組むための価値のあるツールとして見なされています。タスクの種類と変換の種類に関しては、これまでに多くの新しいCNNアーキテクチャが提案されています。例えば、”スフィリカルニューラルネットワーク”(リンク)、”グラフニューラルネットワーク”(インク)、および“ステアラブルニューラルネットワーク”などです。
ステアラブルニューラルネットワークは、通常の畳み込みニューラルネットワーク(CNN)の機能を拡張するユニークな能力を持つため、大きな関心を集めています。これらのネットワークは、カーネルが特定の制約を満たすように条件付けられるCNNの進化版と見なすことができます。CNNは変換に対して同変性を有することで優れていますが、ステアラブルニューラルネットワークはさらに進んで柔軟性を提供し、回転などのより広範な変換をキャプチャする能力を持っています。
このチュートリアルでは、「ステアラブルニューラルネットワーク」(S-CNN)の紹介を行い、それらの数学的な概念の直感的な理解と、これらのネットワークの設計方法のステップバイステップの説明を試みます。本チュートリアルは2つの記事で構成されています。この最初の記事は、ステアラブルニューラルネットワーク(NN)の紹介であり、S-CNNの基礎概念や形式主義について深く掘り下げたり説明したりしています。 2番目の記事(ここで)では、ステアブルフィルタとステアブルネットワークのデザインについて高いレベルで議論しています。
この作業は、現在の科学文献と広範なデータサイエンスの読者とのギャップを埋めることを目的としています。この新しい機械学習の分野における技術的な専門家だけでなく、研究者にとっても理想的です。
以下の論文を参考にしました:
[1] “3D Steerable CNNs: Learning Rotationally Equivariant Features in Volumetric Data”(Weilier et al.、リンク);
[2] “Steerable CNNs”(Cohen et al. リンク);
[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.、リンク)
ステアラブルニューラルネットワークとは何か:
ステアラブルニューラルネットワークは、使用する特定のタイプのフィルタに由来しています。このようなフィルタはg-ステアブルフィルタと呼ばれ、90年代初頭の画像認識の分野でエッジ検出や方向性テクスチャ解析において人気を博したステアブルフィルタに着想を得ています。ステアブルは一般的に操作可能、制御可能、制御できる能力を持つことを意味します。この慣習に従えば、ステアブルフィルタの応答は方向性があり、特定の方向の入力(例えば画像)に適応することができます。ステアブル性は同変性と呼ばれる非常に重要な特性と関連しています。同変フィルタでは、フィルタへの入力が明確で定義された幾何学的変換g(変換、回転、シフトなど)に従って変換される場合、フィルタとの畳み込みから結果として得られる出力も同じ変換gによって変換されます。一般に、同変性は変換(入力と出力の2つ)が同じであることを要求しません。この概念は次の段落で詳しく説明されますが、まずはステアブルフィルタとステアブルCNNの最初の定義を提供することができます。
Steerable CNNフィルターは、カーネルが異なるステアラブルフィルターの連結として構造化されるフィルターと定義されます。これらのフィルターは、明確に定義された幾何学的変換に関連して畳み込み操作に対する同等性のプロパティを示します。
後で見るように、畳み込み操作における等方性の条件は、カーネルの構造とその重みに特定の制約を課すことを意味します。この定義から、ステアラブルCNNが何であるかを定義することができます。ステアリングニューラルネットワークは、ステアラブルフィルターの系列から構成されるニューラルネットワークです。
S-CNNはどのように使用されますか:
通常のCNNの強みは、平行移動に対する等位性にあります。しかし、ステアラブルNNはより柔軟で、他の種類の変換、回転を示すことができます。回転に対応性のある問題では、未加工のCNNは同じフィルターの回転バージョンを学習する必要があり、冗長な自由度を導入し、過学習のリスクを高めます。このため、ステアラブルCNNネットワークは、入力で作用する幾何学的変換に関する情報を直接組み込むことにより、古典的なCNNを凌駕することができます。この特性により、S-CNNは画像、多様体、またはベクトルフィールドなどの幾何学的な説明と表現を持つ入力を処理する必要があるいくつかの難しいタスクに特に有用です。
可能な実用的なアプリケーションの例:
- 難解な2D画像セグメンテーション:入力顕微鏡画像から細胞の境界を予測する。
- 3Dモデル分類:3Dオブジェクトの分類と認識。
- 3D化学構造分類:化学構造から分子の3D化学構造を予測する。例としては、セクション5.4の論文[2]で説明されているように、アミノ酸のグループの空間的な嗜好の予測が挙げられます。
![3Dステアラブルニューラルネットワークを使用した3Dオブジェクト認識の応用例。入力オブジェクト(上部)と2つの異なる隠れ層の特徴マップの表現。リンクから引用](https://ai.miximages.com/miro.medium.com/v2/resize:fit:640/format:webp/1*0GRDq8ALiM0vorSH7K7l_w.png)
予備的な定義と文脈
ステアラブルニューラルネットワークとその応用を紹介した後、それらの背後にある理論について詳しく見ていきましょう。このセクションでは、同等性とステアリング性のより形式的な説明を提供し、後の記事でのステアリングフィルターの構築を理解するのに重要な定義と形式的なフレームワークを提供します。この記事では、マップと幾何学的な変換の理解に基づいています。詳細は、この他の記事を参照してください。
1. 同等性:
同等性は対称的な問題において特に興味深い性質です。前述のように、同等性モデルでは、入力に変換が作用すると、変換はモデルの適用の前後で適用され、全体の振る舞いに変化はありません。日常の設定では、同等性の多くの例があります。たとえば、運転中に車のハンドルを回すと車がどの方向に向いているかに応じて車がどの方向にハンドルを切るかが同位性を持っています。形式的には、𝛙: X → Yとするマップ𝛙(X⊂ℝᵈ、Y⊂ℝᵈ¹)と、グループGに属する幾何学的変換gがある場合、𝛙がGに対して同等の場合、以下の条件を満たします:
Π₀(g):X → X’、Π₁(g):Y → Y’ は2つの線形写像であり(例えば行列の乗算によって適用されることが多いです)、g を x に適用することによって決定されます。下の図からの視覚的な例は、論文[2]より引用されています。画像では、g は回転であり、具体的には「-90°回転」です。そのため、r と呼ばれます。Π₀(r)は𝛙の定義域で動作し(=X)、Π₁(r)は𝛙のコドメインで動作します(=Y)。
X=ℝ²、2次元デカルト空間であり、r が「時計回りの90°回転」変換である場合、行列Π₀(r)はθ=π/2である2×2オイラー行列と等しいです。
𝛙が G に関して同変性を持っている場合、変換を適用してから写像を計算することと、写像を計算してから変換を適用することは同じ結果をもたらすことに注意が必要です。これは、交換として以前から知られている特性です。
ここで特筆すべきは特殊なケースです。特殊性、X=X’ および Y=Y’ という特定の同変性の種類です。いかなる方法で入力が変換されたとしても、出力は常に同じままです。ディープラーニングの観点からは、不変フィルターは例えばオブジェクト認識に有用であります。どのように入力画像が回転されても、フィルターの出力は同じです。X と Y の空間は、次元が同じである必要はなく、例えば私たちが写真(2次元ピクセルの2次元配列 X)中の車の姿勢(2次元ベクトル Y)を決定しようとしている場合、Π₁(g) と Π₀(g) は異なる空間に適用されるため、同じ g を共有していても異なるとなります。
2. ステアラブルフィルタ:
車の操作性とは異なり、ステアラブルフィルタは少し直感的に理解するのが難しいです。しかし、どちらもフィルタ自体の固有の変換と密接に関連する、特定のパラメータに対して一貫かつ予測可能な応答を達成するという共通の目的を共有しています。
直感的な例としては、屋根の上にある風見があります。これは風向きを示します。風の各方向の独自のセンサーを設置する代わりに、現在の風向きに合わせて回転する風見があります。 ステアラブルフィルタは風見のようなものです。入力信号にエンコードされた方向に適応し、各可能な方向ごとに独自のフィルタを必要としません。同様に、画像処理の中でのステアラブルフィルタは、入力の異なる特徴や方向に適応し、各可能な入力方向のために独立のフィルタが必要なくなります。このアプローチは、システムのモデリングにおいてスマートかつ効果的な方法を提供します。機械学習の文脈では、異なる方向を処理するために拡張や追加の重み付けを考えずに、価値のあるモデルの構築に集中することができます。
ステアリング可能性は一般的にいかなる変換の集合にも適用することができますが、ここではより形式的にアイデアを紹介するために回転を使用します。𝛙:ℝᵈ →ℝᵈ¹ で、カーネル関数がkである畳み込みマップとします。x∈ℝⁿ 、x に依存する入力信号 f(x) ∈ ℝᵈ 、および出力信号 f ₁(x) ∈ ℝᵈ¹ が与えられた場合、 f ₁(x)= 𝛙( f(x)) と書くことができます。つまり、 f ₁(x)= k(x) ∗ f(x) です。
このフィルタは、次の条件に従って回転に対してステアリング可能であると定義されます:
(1) 各出力要素の畳み込みカーネル k(x) を基底関数 ψⱼ(x), j=1,..M の和として表すことができます。
(2) フィルタの回転による任意の角度 θ、g_θ は、各個別の基底関数への回転を適用したものとして表現することができます(これは各 θ について適用されます)。数学的には以下のようになります:
この性質のおかげで、wⱼの値を変更することで、フィルタの応答を入力に一意に向かせることが可能です。例を挙げましょう。単一のステアリング可能フィルタの最も簡単な例は、2次元空間のフィルタであり、カーネル関数が2次元ガウスの方向導数であるものです。この場合、k: ℝ² →ℝとし、x = (x₁,x₂) ∈ ℝ²とします:
次の行では、このフィルタが前述の意味でステアリング可能であることを示します。理論からわかるように、kのコドメインがℝである場合、回転したフィルタはEq.3と書くことができます(詳細については、次のセッションのEq.3を参照)。
この式を展開することで、ステアリング可能性を示すことができます:
この場合、変換g_θ: ℝ²→ℝ²を適用し、これは2Dオイラー行列によって表されます(後に導かれる表現を参照)。k(g_θ ⁻¹(x₁,x₂))を計算すると、いくつかの代数の手法を経て、この衝撃応答フィルタの一般的な回転バージョンが、θによってパラメータ化された2つの基底関数ψ₁(x₁,x₂)とψ₂(x₁,x₂)の線形結合として表現されることがわかります。
下記の式(Eq.6)に示されているように、畳み込みの線形性から、入力関数fとθ-回転衝撃応答g_θ(k(x,y))=k_θとの畳み込みは、kの単一基底関数ψ₁,ψ₂との畳み込みの線形結合として常に表現できます。
この式は、ステアリング可能フィルタのパワーをニューラルネットワークで強調しています。これらのフィルタを組み込むことで、入力の方向に応答を“ステアする”ステアリング可能カーネルを構築する可能性があります。各基底関数は、学習された重み’w₁’と’w₂’を使用してこれらの関数を効果的にブレンドし、様々な方向に正確に応答するためのネットワークへの柔軟なツールとして機能します。たとえば、ネットワークが画像の回転したオブジェクトなど、さまざまな方向のデータに出会った場合、これらの重みを調整してカーネルの応答を入力データの方向に合わせることができます。この適応性により、パラメータの数が少なくても同じまたはより良い結果が得られ、効率と有効性が向上します。この理由により、ステアリング特性を利用した多様な入力方向を処理するためのより強力なCNNの基盤としてこのアプローチを使用することができます。具体的には、次の記事ではこれについてさらに探求し、ステアリング可能フィルタの概念を使って等変性フィルタを構築する方法を見ていきます。
しかしその前に、この文脈でのいくつかの定義が明確さを提供し、議論を支援します。このため、次の段落では畳み込みに関連するいくつかの形式主義を紹介します。
3. 形式主義:
この部分では、分析に考慮されるすべての要素の概略説明を読者に提供します。この形式主義により、CNNと入力レベルで行われる幾何学的変換をより形式的に定義することができます。次の記事では、ステアラブルCNNの動作原理を理解することができます。
要素:
- 空間S:分析が行われる空間。Sは任意の次元数に拡張することができますが、2次元または3次元の空間を視覚化するのが最も簡単です。例えば、画像を考慮する場合、初期の空間は二次元であり、ピクセルの座標平面に対応します(ℤ²)。代わりに「3Dオブジェクト」を考慮する場合、空間Sは三次元であり、ℤ³です。したがって、点x∈Sは位置を示します。
- 入力関数f:関数f:S → F₀ = ℝ ͨは、幾何学的空間上の入力を記述することです(多様体またはベクトル場であることがあります)。これは、各位置xが「特徴」f(x)、またはfのファイバーに接続されていると見なすことができます。例を挙げましょう。グレースケールの画像は関数f:ℝ² → ℝと見なすことができます。ここで、S=ℝ²、c=1です。色付きの3D多様体を考慮する場合、関数はf:ℝ³→ ℝ³であり、各位置にRGBカラーが割り当てられます。ここで、S=ℝ³、c=3です。実際のところ、関数fは通常、いくつかのサンプリング空間上のファイバーのパック構造として表現されます。標準フォーマットの画像の場合、ファイバーは水平および垂直に均等に配置されます(つまり、ピクセル)。関数fはニューラルネットワークの入力層を構成します(図2A、図2Bを参照)。以降、この開始レイヤーはF₀と呼ばれます。
- 一連の変換G:分析対象のオブジェクトが適切に定義された後、ネットワークが合同であるべき変換の集合を定義することができます。単一の変換g∈Gは、適用される数学的空間に関連した関数として常に記述することができます。入力関数f:S→ℝ ͨが与えられた場合、gの引き起こす変換を「ℝ ͨでのgの誘導変換」として特性づけることが可能です。関数fはℝ ͨ上に存在しますが、変換gはS空間で動作します。π(g)は、f(ℝ ͨ内)がg(S内)の適用下でどのように変換されるかを記述します。gを回転(r)と移動(t)の2つの成分から成る回転・平行移動と見なす場合、一般的には入力関数f(x)はEq.7で示すように変換gの下で変換されます。以下のイメージでは、fがベクトル場の場合、π(g)は次元cxcの行列です。もしfがスカラー場である場合(f:ℝ² → ℝ)はπ(r) = 1です。考慮される変換のグループGは通常、回転(この場合、SO(2)ネットワークについて説明します)または回転+平行移動(この場合、SE(2)ネットワークについて説明します)です。同様に、三次元空間では3次元剛体運動が考慮されます(SO(3)またはSE(3))。
- 特徴マップ:2番目のポイントで定義されたfに従って、ニューラルネットワークのすべてのレイヤーの出力は、初期空間S上に関数fₙの適用結果として見なすことができます。形式的には、これはSからコドメイン空間Fₙへの関数として表されます(f:S→Fₙ)。ここで、Fₙ=ℝͨʿⁿʾであり、cⁿはレイヤーnの特徴の数です。例として、fig. 2Bを見ると、初期信号(入力)は関数f:S=ℝ²→F₀=ℝ³、f₁:S=ℝ²→F₁=ℝ²として表されます。
- NNフィルターφn:フィルターは、連続した2つのレイヤー間のマップとして定義することができます。φ:Fₙ→Fₙ₊₁。レイヤーにこのようなフィルターを適用すると、対応するカーネルkとの畳み込みが行われます。この場合の畳み込みがどのように定義されるかは、ステアラブルNNの理解に重要です。そのため、以下で1パラグラフを割いて説明します。
NNフィルタと畳み込み
この場合、カーネルは関数k:S→ℝͨʿⁿʾ˟ͨʿⁿ⁺¹ʾと見ることができます。ここで、Sの各位置はcʿⁿʾ˟cʿⁿ⁺¹ʾの次元を持つ行列に接続されています。明確にするために、cⁿとcⁿ⁺¹はそれぞれFₙとFₙ₊₁の次元(特徴の数)です。
畳み込みは次のように定義できます:
上の式Eq.8は、レイヤーnとn+1を結びつける関数を表しています。下の式はn次元空間Sにおける畳み込みの定義です。関数σ(x)は、畳み込みの出力に適用される非線形関数を表します。Fig 2Bでは、離散領域でのカーネルと入力レイヤーの畳み込みがどのように計算されるかを見ることができます。
ここで、f₀:ℝ²→ℝと表されるグレースケール画像を考えてみましょう。セクション2で議論されたステアラブルフィルターを適用できます。このフィルターは、k(x₁, x₂)がk:ℝ²→ℝ¹˟¹=ℝと定義される2次元ガウシアンフィルターである場合です。この場合、フィルターkをf₀に適用することは、古典的な2次元畳み込みであり、次のように書くことができます:
一方、Fig. 2Bでは別の例を見ることができます。f₀:ℝ²→ℝ³(例えばRGBイメージ)、f₁:ℝ²→ℝ²、およびk₀:ℝ²→ℝ³˟²です。
これまでに議論してきたすべてのポイントを組み合わせると、ニューラルネットワークをこの形式で視覚化することができます。個々の特徴マップは関数f:S→Fₙとして解釈され、ここでFₙ= ℝʿⁿ ʾ、f₀(x)はネットワークの入力を表します。フィルタの適用は、Eq.8で定義されたカーネル関数との畳み込みによって行われます。ここで注目すべき重要な点は、fを位置空間Sで作用する関数としての幾何学的な表現、およびこの空間内の畳み込みの定義にあります。
以下に、この文脈でのニューラルネットワークの表現を提供します:
次の記事では、この形式の定義がどのようにステアラブルCNNフィルターの設計に役立つのかを説明します。
結論
このステアラブルニューラルネットワークチュートリアルの最初のセグメントで、ステアラブルニューラルネットワーク、等変性、およびステアラブルフィルターの基本的な概念を確立しました。これらの概念を理解するための厳密な基盤を提供する数学的なフレームワークも紹介されました。等変性は変換の下での振る舞いを保持し、ステアラブルフィルターは入力の方向に適応的に対応します。この基盤は、エッジ検出や方向に基づいた認識を向上させるために、等変性を持ったCNNフィルターを設計する道を開拓します。次の記事では、これらの概念を活用して、ステアラブルCNNフィルターの仕組みにさらに深く潜っていきます。これにより、この強力なニューラルネットワークのパラダイムについての旅が完成します。
✍️ 📄 著者について:
1️⃣ Matteo Ciprian、機械学習エンジニア/研究者
- パドヴァ大学でテレコミュニケーション工学の修士号取得。現在、センサフュージョン、信号処理、および応用AIの分野で研究開発に従事しています。eHealthやウェアラブルテクノロジーに関連するプロジェクトの経験があります(学術研究および企業領域)。異常検出アルゴリズムの開発や、ディープラーニングやセンサフュージョンの技術の発展に特化しています。哲学に情熱を持っています。YouTubeのコンテンツクリエイターです。🔗 リンク: 💼 Linkedin 📹 Youtube 👨💻Instagram
2️⃣ Robert Schoonmaker、信号処理/機械学習研究者
- ダラム大学で計算コンデンスドマターフィジックスの博士号取得。応用機械学習と非線形統計の専門家であり、現在は合成開口レーダーや類似システムにおける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