17.5 Unsupervised EdgeWiseアルゴリズムの使用
UnsupervisedEdgeWise
は、頂点およびエッジの特徴情報を利用できる、帰納的なエッジ表現学習アルゴリズムです。エッジ分類のためのエッジ埋込みの教師なし学習など、様々なタスクに適用できます。
Unsupervised EdgeWiseは、GraphWise
モデルの上部に基づいており、GraphWise
モデルによって生成されたソース頂点埋込みと宛先頂点埋込みを利用して、帰納的なエッジ埋込みを生成します。
トレーニングは、VelickovicらによるDeep Graph Infomax (DGI)に基づいています。
モデル体系
UnsupervisedEdgeWise
モデルは、グラフの畳込み層とそれに続く埋込み層で構成され、デフォルトはDGI層になります。
まず、ターゲット・エッジのソース頂点と宛先頂点が畳込み層を介して処理されます。頂点の畳込み層を通過する前方パスは、次のように処理されます。
- 頂点の近隣のセットがサンプリングされます。
- 近隣の前の層表現は平均集約され、集約された特徴は頂点の前の層表現と連結されます。
- この連結されたベクトルに重みが乗算され、バイアス・ベクトルが追加されます。
- 結果は、層出力が単位ノルムを持つように正規化されます。
エッジ埋込み層は、ソース頂点埋込み、エッジの特徴および宛先頂点埋込みを連結し、線形層を介して転送してエッジ埋込みを取得します。
DGI層は3つの部分で構成され、畳込み層によって生成された埋込みを使用することで、教師なし学習が可能になります。
- Corruption関数: グラフ構造を保持しながらノードの特徴をシャッフルし、畳込み層を使用して負の埋込みサンプルを生成します。
- Readout関数: グラフのサマリーとして使用される、シグモイドによって活性化された埋込みの平均。
- 識別器: 損失関数の計算元となるサマリーとの負のサンプルの類似性に加えて、サマリーとの正の(シャッフルされていない)埋込みの類似性を測定します。
これらのいずれにも可変のハイパーパラメータが含まれていないため、デフォルトのDGI層が常に使用され、これを調整することはできません。
2番目の埋込み層は、Ding、KaizeらによるDeep Anomaly Detection on Attributed Networks (Dominant)に基づくDominant層です。
Dominantは、フィーチャと近接の構造に基づいて異常を検出するモデルです。GCNを使用してオートエンコーダの設定のフィーチャ、および埋込みの内積のあるマスクを再構築します。
損失関数は、フィーチャ再構築の損失と構造再構築の損失から計算します。フィーチャまたは構造に対する重要性は、alphaハイパーパラメータを使用して調整できます。
次に、Movielensグラフを例として使用して、PGXでのUnsupervisedEdgeWise
の主な機能の使用方法を示します。
- グラフのロード
- 最小限のUnsupervised EdgeWiseモデルの作成
- 高度なハイパーパラメータ・カスタマイズ
- Unsupervised EdgeWiseモデルのサポートされているプロパティ・タイプ
- パーティション化されたグラフへのUnsupervised EdgeWiseの適用
- エッジ組合せ生成方法の設定
- Unsupervised EdgeWiseモデルのトレーニング
- Unsupervised EdgeWiseモデルのloss値の取得
- Unsupervised EdgeWiseモデルのトレーニング・ログの取得
- Unsupervised EdgeWiseモデルの埋込みの推測
- 取得した埋込みを使用したエッジの分類
- Unsupervised EdgeWiseモデルの格納
- 事前トレーニング済Unsupervised EdgeWiseモデルのロード
- Unsupervised Anomaly Detection GraphWiseモデルの破棄
- 例: Movielensデータセットへのエッジ埋込みの計算
親トピック: グラフ用の機械学習ライブラリ(PgxML)の使用