Skip to main content

エンベディングのフィールドへの抽出の仕組み

ArcGIS Pro のワークフローでは、画像、テキスト、その他の高次元データといった複雑な空間フィーチャを記述するために、エンベディングと呼ばれる数値表現を生成する基盤モデルが組み込まれることが多くなっています。 これらのエンベディングはモデルによって学習された潜在的なパターンを捉えており、一般的に類似性解析、クラスタリング、分類、探索的解析に使用されます。

AI モデルを使用したエンベディングの生成 ツールを使用して ArcGIS Pro でエンベディングを生成する場合、デフォルトでは BLOB (Binary Large Object) フィールドにパッケージ化されます。 この形式により、高次元の数値ベクターの効率的な保存と転送が可能になりますが、多くのジオプロセシング ツールでは直接利用することができません。 エンベディングのフィールドへの抽出 ツールは、これらのバイナリー表現を個々の数値フィールドに変換するため、エンベディング ディメンションを ArcGIS Pro のワークフローで直接使用できるようになります。

適用例

エンベディングのフィールドへの抽出 ツールは、次のようなシナリオで使用できます:

  • 抽出されたフィールドに対して主成分分析やその他の削減手法を実行し、ディメンションの削減 ツールを使用して、より小さく安定した予測子セットを前提としたツールに適した、コンパクトで非相関化されたフィーチャを作成します。 これは、クラスタリングや回帰を行う前の一般的な準備手順です。

  • 多変量クラスター分析空間的に制限された多変量クラスター分析、または 類似検索 などのツールに対して、ディープ ラーニングによって生成されたフィーチャ エンベディングを準備する。

  • チャート、統計、またはシンボルを使用して、エンベディング ディメンションの探索的解析を有効化する。

  • バイナリー フィールドではなく数値属性を必要とする、回帰分析や分類などの下流のモデリング ワークフローをサポートする。 たとえば、フォレスト ベースの分類と回帰分析GWR (地理空間加重回帰分析)空間的自己回帰 ツールです。

  • バイナリー形式や直列化された形式に慣れていない他のユーザーがエンベディング データにアクセスできるようにする。

たとえば、データ サイエンティストが視覚基盤モデルを使用して衛星画像からエンベディングを生成したとします。 これらのエンベディングは、モデルによって学習されたテクスチャー、シェープ、コンテキスト情報をエンコードします。 エンベディングを展開することで、GIS アナリストは使い慣れた ArcGIS Pro ツールを使用して、画像フットプリントをクラスタリングしたり、空間パターンを特定したりできるようになります。

エンベディング フィールド

基盤モデルによって生成されたエンベディングは、BLOB に保存されます。 ArcGIS Pro でのエンベディングの表現方法の詳細については、BLOB フィールドとしてのエンベディングをご参照ください。

BLOB としてのエンベディング

このアプローチは、特に高次元のエンベディングを持つ大規模なデータセットで、ストレージのオーバーヘッドを最小限に抑え、読み取りおよび書き込みのパフォーマンスを向上させます。 効率的ではありますが、このバイナリー形式では、数値フィールドを必要とするツールでエンベディング値を直接使用することはできません。

出力フィールドの接頭辞

エンベディングのフィールドへの抽出 ツールは、エンベディングのパッケージ化プロセスを逆転させ、各エンベディング ディメンションを数値属性として表示します。

このツールでは、次の操作を行うことができます:

  • 入力フィーチャを読み取り、選択された Embedding フィールドを検証します。

  • 入力フィーチャ パラメーター値を、出力フィーチャ パラメーター値にコピーします。

  • 最初の有効な BLOB レコードを非直列化して、エンベディングのディメンションを決定します。

  • 出力フィールドの接頭辞 パラメーター値を使用して、エンベディング ディメンションあたり 1 つの Float32 フィールドを作成します。

  • すべてのフィーチャを反復処理し、バイナリー データを展開して、各浮動小数点値を対応するフィールドに書き込みます。

たとえば、embed という 出力フィールドの接頭辞 パラメーター値を使用すると、256 次元のエンベディングは、非直列化された BLOB レコードを持つ 256 個の新しい数値フィールドになります。 出力の属性テーブルは、次のようになります:

展開された結果

ベスト プラクティス

解析、可視化、結合、またはコンパクトな (BLOB/ベクター) エンベディングをサポートしていないツールでエンベディング ディメンションを数値フィールドとして使用する必要がある場合は、エンベディングのフィールドへの抽出 ツールを使用します。 安定した効率的なワークフローを確保するため、エンベディングを個々のディメンションに抽出する際は、以下の点を考慮します。

  • 一部のデータベースには厳密な列制限があります (例: PostgreSQL はテーブルあたり最大約 1600 フィールドまでサポートしています)。 大規模なエンベディングを展開すると、これらの制限を超過したり、システム テーブルの肥大化によりパフォーマンスが低下したりする可能性があります。 エンタープライズ データベースで作業する場合は、抽出されるフィールドの数を減らします。

  • テーブルの幅が非常に広い場合、メモリー容量の大きいコンピューターであっても、処理時間が長くなったり、メモリー不足が発生したりする可能性があります。 小さなサブセットでワークフローをテストし、必要に応じてディメンションを減らし、非常に高次元のエンベディングを不必要に展開することは避けてください。

  • 多くの回帰分析およびクラスタリング ツール (一般化線形回帰分析 ツールなど) は、高次元の入力に適していません。 下流の解析を行う前に、ディメンションの削減 ツールを使用してエンベディングをより小さなコンポーネント セットに圧縮します。 これによりパフォーマンスが向上し、多重共線性を回避し、解釈可能性が高まります。

  • 高次元のエンベディングによって、膨大な数のフィールドが作成される可能性があります。 解析結果を解釈しやすくするため、明確で簡潔な出力フィールドの接頭辞を使用し、元のデータセットから識別子フィールドやカテゴリー フィールドを保持します。

  • 出力フィーチャクラスは、抽出された数値フィールドとともに、元の BLOB Embedding フィールドを保持します。 これにより、ArcGIS Pro 内での数値解析ワークフローを可能にしつつ、元の直列化されたエンベディングを維持できます。 また、直列化されたエンベディング フィールドは、エンベディングに基づく解析ツール (エンベディングを使用した類似フィーチャの検索 など) に使用されます。