17.4 Unsupervised GraphWiseアルゴリズムの使用(頂点埋込み)
Unsupervised GraphWise
は、頂点情報を利用できる、教師なしの帰納的な頂点表現学習アルゴリズムです。学習した埋込みは、頂点分類、頂点クラスタリング、類似の頂点検索など、様々なダウンストリーム・タスクで使用できます。
Unsupervised GraphWiseは、VelickovicらによるDeep Graph Infomax (DGI)に基づいています。
モデル体系
Unsupervised GraphWiseモデルは、グラフの畳込み層とそれに続く埋込み層で構成され、デフォルトはDGI層になります。
頂点の畳込み層を通過する前方パスは、次のように処理されます。
- 頂点の近隣のセットがサンプリングされます。
- 近隣の前の層表現は平均集約され、集約された特徴は頂点の前の層表現と連結されます。
- この連結されたベクトルに重みが乗算され、バイアス・ベクトルが追加されます。
- 結果は、層出力が単位ノルムを持つように正規化されます。
DGI層は3つの部分で構成され、畳込み層によって生成された埋込みを使用することで、教師なし学習が可能になります。
- Corruption関数: グラフ構造を保持しながらノードの特徴をシャッフルし、畳込み層を使用して負の埋込みサンプルを生成します。
- Readout関数: グラフのサマリーとして使用される、シグモイドによって活性化された埋込みの平均。
- 識別器: 損失関数の計算元となるサマリーとの負のサンプルの類似性に加えて、サマリーとの正の(シャッフルされていない)埋込みの類似性を測定します。
これらのいずれにも可変のハイパーパラメータが含まれていないため、デフォルトのDGI層が常に使用され、これを調整することはできません。
使用可能な2番目の埋込み層は、Dominant層です。
Dominantは、フィーチャと近接の構造に基づいて異常を検出するモデルです。GCNを使用してオートエンコーダの設定のフィーチャ、および埋込みの内積のあるマスクを再構築します。
損失関数は、フィーチャ再構築の損失と構造再構築の損失から計算します。フィーチャまたは構造に対する重要性は、alphaハイパーパラメータを使用して調整できます。
次に、UnsupervisedGraphWise
アルゴリズムを適用できるユースケースをいくつか説明します:
- 金融取引での不正検出: 取引ネットワークを分析し、口座や取引について埋込みを生成することで、不正アクティビティのクラスタを特定します。これは、未知の詐欺パターンを検出するために役立ちます。
- ネットワークの最適化: トラフィック・パターンに基づいてネットワーク・ノード(ルーターや携帯電話基地局など)をクラスタ化することで、通信におけるネットワーク・パフォーマンスを最適化します。これは、データ・フローを改善し、待機時間を短縮するために役立ちます。
- バイオインフォマティクス: タンパク質とタンパク質の相互作用ネットワークを分析し、同様の機能を共有している可能性があるタンパク質の新しいクラスタまたはコミュニティを発見します。これは、創薬、および生物学的過程の理解に役立ちます。
次に、Coraグラフを例として使用して、PGXでのDGI
の実装における主な機能の使用方法を示します。
- グラフのロード
- 最小限のUnsupervised GraphWiseモデルの作成
- 高度なハイパーパラメータ・カスタマイズ
- Unsupervised GraphWiseモデルのサポート対象のプロパティ・タイプ
- パーティション化されたグラフを使用したUnsupervised GraphWiseモデルの作成
- Unsupervised GraphWiseモデルのトレーニング
- Unsupervised GraphWiseモデルのLoss値の取得
- Unsupervised GraphWiseモデルのトレーニング・ログの取得
- Unsupervised GraphWiseモデルの埋込みの推測
- 取得した埋込みを使用した頂点の分類
- Unsupervised GraphWiseモデルの格納
- 事前トレーニング済Unsupervised GraphWiseモデルのロード
- Unsupervised GraphWiseモデルの破棄
- Unsupervised GraphWiseモデルの予測の説明
親トピック: グラフ用の機械学習ライブラリ(PgxML)の使用